Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
pratique:informatique:xen [30/06/2024 09:09] – créée Zatalyzpratique:informatique:xen [26/10/2024 13:11] (Version actuelle) – [Pare-feu etc] Zatalyz
Ligne 107: Ligne 107:
  
 </code> </code>
 +
 +===== Modifications de base sur les VM =====
 +
 +==== Squelette ====
 +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.
 +
 +Tout ça en root (sudo ou vraiment avec root). 
  
 Ajout de la clé ssh personnelle dans le squelette des VM nouvellement créées : Ajout de la clé ssh personnelle dans le squelette des VM nouvellement créées :
-<code>sudo mkdir -p /etc/xen-tools/skel/root/.ssh +<code>mkdir -p /etc/xen-tools/skel/root/.ssh 
-sudo chmod -R 700 /etc/xen-tools/skel/root+chmod -R 700 /etc/xen-tools/skel/root
 nano /etc/xen-tools/skel/root/.ssh/authorized_keys</code> nano /etc/xen-tools/skel/root/.ssh/authorized_keys</code>
  
-Et création d'une vm avec les paramètres par défaut et en laissant dhcp gérer les ip ? +Copie du home, ce qui permettra à nos users d'avoir leurs préférences : 
-  sudo xen-create-image --hostname=vm1test --dhcp+<code> 
 +cp -R /home /etc/xen-tools/skel/ 
 +</code> 
 + 
 +Copie de la config SSH 
 +<code>mkdir -p /etc/xen-tools/skel/etc/ssh 
 +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 ==== 
 +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...).  
 + 
 +<WRAP center round todo 60%> 
 +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> 
 +</WRAP> 
 + 
 +<code bash /etc/xen-tools/role.d/zatxen> 
 +#!/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 
 +    . /usr/share/xen-tools/common.sh 
 +else 
 +    echo "Installation problem" 
 +fi 
 +# Log our start 
 +
 +logMessage Script $0 starting 
 + 
 + 
 +# Installation des paquets par défaut 
 +chroot ${prefix} /usr/bin/apt-get update 
 +chroot ${prefix} /usr/bin/apt-get -y -f upgrade 
 +installDebianPackage ${prefix} nano  
 +installDebianPackage ${prefix} bash-completion  
 +installDebianPackage ${prefix} cron logrotate  
 +installDebianPackage ${prefix} apt-listbugs  
 +installDebianPackage ${prefix} debsums  
 +installDebianPackage ${prefix} apt-listchanges  
 +installDebianPackage ${prefix} sudo  
 +installDebianPackage ${prefix} rsyslog  
 +installDebianPackage ${prefix} net-tools  
 +installDebianPackage ${prefix} htop  
 +installDebianPackage ${prefix} iotop-c 
 +installDebianPackage ${prefix} nload  
 +installDebianPackage ${prefix} binutils  
 +installDebianPackage ${prefix} dnsutils 
 +installDebianPackage ${prefix} minisign 
 + 
 +# 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  
 +chmod 0700 ${prefix}/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> 
 + 
 +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) : 
 +  xen-create-image --hostname=vm5 --dhcp --role=zatxen 
 + 
 +===== 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 -c /etc/xen/myvm.cfg 
 +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
  
 ===== 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}}
CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki
pratique/informatique/xen.1719731363.txt.gz · Dernière modification : 30/06/2024 09:09 de Zatalyz