Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pratique:informatique:xen [30/06/2024 09:44] – [Rôles] Zatalyzpratique: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)
-<code>sudo mkdir -p /etc/xen-tools/skel/root/.ssh +
-sudo chmod -R 700 /etc/xen-tools/skel/root +
-nano /etc/xen-tools/skel/root/.ssh/authorized_keys</code>+
  
 Copie du home, ce qui permettra à nos users d'avoir leurs préférences : Copie du home, ce qui permettra à nos users d'avoir leurs préférences :
Ligne 126: Ligne 123:
 <code>mkdir -p /etc/xen-tools/skel/etc/ssh <code>mkdir -p /etc/xen-tools/skel/etc/ssh
 cp /etc/ssh/sshd_config /etc/xen-tools/skel/etc/ssh/</code> cp /etc/ssh/sshd_config /etc/xen-tools/skel/etc/ssh/</code>
 +
 +On va aussi s'occuper des locales :
 +<code>
 +cp /etc/locale.gen /etc/xen-tools/skel/etc/locale.gen
 +mkdir -p /etc/xen-tools/skel/etc/default/
 +cp /etc/default/locale /etc/xen-tools/skel/etc/default/locale
 +</code>
 +
 +<WRAP center round tip 60%>
 +Il faut par contre s'assurer avec les rôles que les bons droits seront donnés dans les vm à ces fichiers.
 +</WRAP>
  
 ==== Rôles ==== ==== Rôles ====
 Un rôle est un script appelé à la fin de la création de la VM. Ce qui permet d'installer certains paquets et d'adapter ce que le squelette ne permet pas (dont les droits...).  Un rôle est un script appelé à la fin de la création de la VM. Ce qui permet d'installer certains paquets et d'adapter ce que le squelette ne permet pas (dont les droits...). 
  
-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 : 
 + 
 +<code>chown -R zatalyz:zatalyz /home/zatalyz 
 +chmod 0700 /home/zatalyz/.ssh 
 +chmod 0600 /home/zatalyz/.ssh/authorized_keys 
 +chmod 644 /etc/locale.gen 
 +locale-gen 
 +chmod 644 /etc/default/locale</code> 
 + 
 +Et j'ai encore eu un souci de locale... Donc faire :  
 +  sudo dpkg-reconfigure locales 
 +Puis se déco/reco. 
 +</WRAP> 
 <code bash /etc/xen-tools/role.d/zatxen> <code bash /etc/xen-tools/role.d/zatxen>
- 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 /usr/share/xen-tools/common.sh ]; then if [ -e /usr/share/xen-tools/common.sh ]; then
     . /usr/share/xen-tools/common.sh     . /usr/share/xen-tools/common.sh
Ligne 138: Ligne 164:
     echo "Installation problem"     echo "Installation problem"
 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} /usr/bin/apt-get -y -f upgrade chroot ${prefix} /usr/bin/apt-get -y -f upgrade
 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'option xen-tool "accounts"+# La partie suivante, uniquement si on veut msmtp 
-chroot ${prefix} useradd zatalyz -m -U -G sudo,www-data -s /bin/bash +installDebianPackage ${prefix} msmtp  
-Sinon +installDebianPackage ${prefix} msmtp-mta  
-chroot ${prefix} usermod -a -G sudo,www-data zatalyz -d /home/zatalyz -s /bin/bash+installDebianPackage ${prefix} bsd-mailx 
 +# Création de mon utilisateur (conflit avec l'option xen-tool "accounts"
 +chroot ${prefix} useradd zatalyz -m -U -G sudo,www-data -s /bin/bash 
 +Si account à 1, préférer ceci 
 +chroot ${prefix} /sbin/usermod -a -G sudo,www-data zatalyz -d /home/zatalyz -s /bin/bash 
 +chown -R zatalyz:zatalyz ${prefix}/home/zatalyz
  
 # Donner les bons droits sur ssh  # Donner les bons droits sur ssh 
-chroot ${prefix} chmod 0700 /home/zatalyz/.ssh +chmod 0700 ${prefix}/home/zatalyz/.ssh 
-chroot ${prefix} chmod 0600 /home/zatalyz/.ssh+chmod 0600 ${prefix}/home/zatalyz/.ssh/authorized_keys 
 + 
 +# Mettre les locales comme il faut  
 +chmod 644 ${prefix}/etc/locale.gen 
 +chroot ${prefix} /usr/sbin/locale-gen 
 +chmod 644 ${prefix}/etc/default/locale 
 + 
 +#  Log our finish 
 +
 +logMessage Script $0 finished
  
 </code> </code>
 +
 +Donner ensuite les bons droits à ce fichier sinon ça va foirer :
 +  sudo chmod a+x /etc/xen-tools/role.d/zatxen
  
 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'aident pas. 
  
-Création d'une vm avec les paramètres par défaut et en laissant dhcp gérer les ip : +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 une version bookworm. 
-  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'update surtout, et pour ça : 
 +  apt install ca-certificates
 +
 +Ensuite on passe à Trixie (enlever ''/etc/apt/sources.list'' et mettre ''/etc/apt/sources.list.d/debian.sources'') :
 +  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  --role=zatxen --size 50g
 +
 +S'y connecter depuis l'hyperviseur :
 +  sudo xl console vm1test
 +
 +Pour sortir de la VM, depuis l’hôte :
 +
 +  crlt + ( ou 5
 +
 +Pour démarrer la VM :
 +  xl create /etc/xen/myvm.cfg
 +
 +Et l'option ''-c'' pour la démarrer en s'y connectant directement (et donc, voir ce qui s'y passe au démarrage).
 +
 +Pour éteindre une VM, depuis l'hôte :
 +
 +  xl shutdown myvm
 +
 +Forcer violemment une VM à s'éteindre (à éviter) :
 +
 +  xl destroy myvm
 +
 +Faire un snapshot
 +  lvcreate -L 10g -s -n NOMVM_snap_$(date --iso) /dev/VgNOM/NOMVM
 +
 +===== 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 ''/etc/xen/myvm.cfg'' avec ces deux valeurs :
 +
 +<code># Mémoire pour le démarrage (en Mo)
 +memory = '512'
 +# Mémoire qui peut être libéré par le Dom0 si disponible
 +maxmem = '2048'</code>
 +=> 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:informatique:parefeu:start]].
 +
 +===== Problèmes divers =====
 +==== Eth0 est utilisé à la place de enX0 ====
 +Sur la gueste, si ''ip a'' indique eth0, et que ''/etc/network/interfaces'' est bien paramétré sur ceci : 
 +<code>
 +# The loopback network interface
 +auto lo
 +iface lo inet loopback
 +
 +# The primary network interface
 +auto enX0
 +iface enX0 inet dhcp
 +
 +</code>
 +
 +Alors on va ajouter une règle udev. 
 +  sudo nano /etc/udev/rules.d/70-persistent-net.rules
 +
 +<code>SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="enX0"</code>
 +
 +Remplacer aa:bb:cc:dd:ee:ff par l’adresse MAC réelle de eth0.
  
 +On reboot et... ça va mieux.
  
 {{tag>Informatique Serveur Xen Sysadmin}} {{tag>Informatique Serveur Xen Sysadmin}}
pratique/informatique/xen.1719733484.txt.gz · Dernière modification : 30/06/2024 09:44 de Zatalyz