Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| pratique:informatique:xen [30/06/2024 09:44] – [Rôles] Zatalyz | pratique:informatique:xen [25/10/2025 19:26] (Version actuelle) – [Rôles] Zatalyz | ||
|---|---|---|---|
| Ligne 113: | Ligne 113: | ||
| Ces fichiers seront utilisés dans les VM (si j'ai suivi). Pour SSH c'est top. Evidement à adapter suivant qui doit avoir accès aux VM. | Ces fichiers seront utilisés dans les VM (si j'ai suivi). Pour SSH c'est top. Evidement à adapter suivant qui doit avoir accès aux VM. | ||
| - | Ajout de la clé ssh personnelle dans le squelette des VM nouvellement créées : | + | Tout ça en root (sudo ou vraiment avec root). |
| - | < | + | |
| - | sudo chmod -R 700 / | + | |
| - | nano / | + | |
| Copie du home, ce qui permettra à nos users d' | Copie du home, ce qui permettra à nos users d' | ||
| Ligne 126: | Ligne 123: | ||
| < | < | ||
| cp / | cp / | ||
| + | |||
| + | On va aussi s' | ||
| + | < | ||
| + | cp / | ||
| + | mkdir -p / | ||
| + | cp / | ||
| + | </ | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Il faut par contre s' | ||
| + | </ | ||
| ==== Rôles ==== | ==== Rôles ==== | ||
| Un rôle est un script appelé à la fin de la création de la VM. Ce qui permet d' | Un rôle est un script appelé à la fin de la création de la VM. Ce qui permet d' | ||
| - | En test : | + | <WRAP center round todo 100%> |
| + | Le fichier ci-dessous marche... en partie. chown et chmod ne fonctionnent pas... faut trouver comment les écrire. | ||
| + | |||
| + | En attendant une fois la vm faite : | ||
| + | |||
| + | < | ||
| + | chmod 0700 / | ||
| + | chmod 0600 / | ||
| + | chmod 644 / | ||
| + | locale-gen | ||
| + | chmod 644 / | ||
| + | |||
| + | Et j'ai encore eu un souci de locale... Donc faire : | ||
| + | sudo dpkg-reconfigure locales | ||
| + | Puis se déco/ | ||
| + | </ | ||
| <code bash / | <code bash / | ||
| - | Vérifie que les trucs par défaut existent. Chemin valide sur Debian Bookworm. | + | #!/bin/sh |
| + | prefix=$1 | ||
| + | # Vérifie que les trucs par défaut existent. Chemin valide sur Debian Bookworm. | ||
| if [ -e / | if [ -e / | ||
| . / | . / | ||
| Ligne 138: | Ligne 164: | ||
| echo " | echo " | ||
| fi | fi | ||
| + | # Log our start | ||
| + | # | ||
| + | logMessage Script $0 starting | ||
| + | |||
| # Installation des paquets par défaut | # Installation des paquets par défaut | ||
| Ligne 143: | Ligne 173: | ||
| chroot ${prefix} / | chroot ${prefix} / | ||
| installDebianPackage ${prefix} nano | installDebianPackage ${prefix} nano | ||
| + | installDebianPackage ${prefix} tree | ||
| installDebianPackage ${prefix} bash-completion | installDebianPackage ${prefix} bash-completion | ||
| installDebianPackage ${prefix} cron logrotate | installDebianPackage ${prefix} cron logrotate | ||
| Ligne 156: | Ligne 187: | ||
| installDebianPackage ${prefix} binutils | installDebianPackage ${prefix} binutils | ||
| installDebianPackage ${prefix} dnsutils | installDebianPackage ${prefix} dnsutils | ||
| - | + | installDebianPackage ${prefix} minisign | |
| - | # Création de mon utilisateur (voir le conflit avec l' | + | # La partie suivante, uniquement si on veut msmtp |
| - | chroot ${prefix} useradd zatalyz -m -U -G sudo, | + | installDebianPackage ${prefix} msmtp |
| - | # Sinon | + | installDebianPackage ${prefix} msmtp-mta |
| - | # chroot ${prefix} usermod -a -G sudo, | + | installDebianPackage ${prefix} bsd-mailx |
| + | # Création de mon utilisateur (conflit avec l' | ||
| + | # chroot ${prefix} useradd zatalyz -m -U -G sudo, | ||
| + | # Si account à 1, préférer ceci | ||
| + | chroot ${prefix} | ||
| + | chown -R zatalyz: | ||
| # Donner les bons droits sur ssh | # Donner les bons droits sur ssh | ||
| - | chroot | + | chmod 0700 ${prefix}/ |
| - | chroot | + | chmod 0600 ${prefix}/ |
| + | |||
| + | # Mettre les locales comme il faut | ||
| + | chmod 644 ${prefix}/ | ||
| + | chroot ${prefix} / | ||
| + | chmod 644 ${prefix}/ | ||
| + | |||
| + | # Log our finish | ||
| + | # | ||
| + | logMessage Script $0 finished | ||
| </ | </ | ||
| + | |||
| + | Donner ensuite les bons droits à ce fichier sinon ça va foirer : | ||
| + | sudo chmod a+x / | ||
| Lors de la création de la VM, il faut préciser le role (pas trouvé si on peut y ajouter dans la config de xen-tool) : | Lors de la création de la VM, il faut préciser le role (pas trouvé si on peut y ajouter dans la config de xen-tool) : | ||
| xen-create-image --hostname=vm5 --dhcp --role=zatxen | xen-create-image --hostname=vm5 --dhcp --role=zatxen | ||
| - | ===== Créer une VM ===== | + | === Trixie et soucis |
| + | Sous Trixie, y'a des soucis... En attendant les maj, oublions les rôles, qui n' | ||
| - | Création d' | + | Vu que xen-tool est abandonné, cela crée aussi des soucis en pagaille, mais j'ai pas la fois de reprendre tout de zéro pour le moment. Donc ça marche (modulo des bugs) en installant |
| - | sudo xen-create-image --hostname=vm1test --dhcp | + | |
| + | sudo xen-create-image --hostname=25oct25 --dhcp --size 10g --dist=bookworm | ||
| + | |||
| + | Et il manque divers outils ; on va se concentrer sur l' | ||
| + | apt install ca-certificates | ||
| + | |||
| + | Ensuite on passe à Trixie (enlever ''/ | ||
| + | apt upgrade --without-new-pkgs | ||
| + | apt full-upgrade | ||
| + | ===== Commandes pour les VM ===== | ||
| + | |||
| + | Création d'une vm avec les paramètres par défaut et en laissant dhcp gérer les ip, et en variant la taille : | ||
| + | sudo xen-create-image --hostname=vm1test --dhcp | ||
| + | |||
| + | S'y connecter depuis l' | ||
| + | sudo xl console vm1test | ||
| + | |||
| + | Pour sortir de la VM, depuis l’hôte : | ||
| + | |||
| + | crlt + ( ou 5 | ||
| + | |||
| + | Pour démarrer la VM : | ||
| + | xl create / | ||
| + | |||
| + | Et l' | ||
| + | |||
| + | Pour éteindre une VM, depuis l' | ||
| + | |||
| + | xl shutdown myvm | ||
| + | |||
| + | Forcer violemment une VM à s' | ||
| + | |||
| + | xl destroy myvm | ||
| + | |||
| + | Faire un snapshot | ||
| + | lvcreate -L 10g -s -n NOMVM_snap_$(date --iso) / | ||
| + | |||
| + | ===== Pallier à une RAM trop basse ===== | ||
| + | Sur une machine pas très puissante, la RAM est vite un plafond limitant. Pour éviter de swapper et avoir des soucis, on modifie ''/ | ||
| + | |||
| + | < | ||
| + | memory = ' | ||
| + | # Mémoire qui peut être libéré par le Dom0 si disponible | ||
| + | maxmem = ' | ||
| + | => en temps normal la VM a très peu de ram, et même si plusieurs VM saturent, on ne dépasse pas le total de RAM physique. Et si besoin (genre quand on met à jour...) on peut remonter à 2Go de ram. | ||
| ===== Pare-feu etc ===== | ===== Pare-feu etc ===== | ||
| + | Voir [[pratique: | ||
| + | |||
| + | ===== Problèmes divers ===== | ||
| + | ==== Eth0 est utilisé à la place de enX0 ==== | ||
| + | Sur la gueste, si '' | ||
| + | < | ||
| + | # The loopback network interface | ||
| + | auto lo | ||
| + | iface lo inet loopback | ||
| + | |||
| + | # The primary network interface | ||
| + | auto enX0 | ||
| + | iface enX0 inet dhcp | ||
| + | |||
| + | </ | ||
| + | |||
| + | Alors on va ajouter une règle udev. | ||
| + | sudo nano / | ||
| + | |||
| + | < | ||
| + | |||
| + | Remplacer aa: | ||
| + | On reboot et... ça va mieux. | ||
| {{tag> | {{tag> | ||