Ceci est une ancienne révision du document !


Xen

Cette page me sert d'aide-mémoire, une doc plus complète est dispo sur le Wikhan.

Si on veut jouer avec Xen (et en sélectionnant les recommandés utiles, donc pas “tout”) :

sudo apt install xen-tools xen-system-amd64 grub-xen-host qemu-utils gnupg arch-test bridge-utils qemu-system-xen shared-mime-info xdg-user-dirs

On fait un reboot et on voit si la commande “xl list” fonctionne, sinon faut bidouiller grub.

Réseau en local derrière un routeur

Le routeur gère déjà pas mal de choses, ça va être assez simple. Pour une version chez un hébergeur externe, voir la doc du Wikhan.

Donc on gère surtout surtout ce qui entre (input) et sort (output). On peut oublier les trucs genre forward, nat, etc.

Par contre il faut que chaque VM aie une ip interne sur le réseau local, pour ça on va configurer xen en mode bridge (mode par défaut).

On commence par voir quelle est le nom de nos interfaces réseaux :

ip a

Chez moi c'est enp2s0.

On vérifie aussi l'ip interne donnée par la box (192.168.1.X dans l'exemple) et l'ip de la box (192.168.1.254 chez OVH, attention ça change suivant les opérateurs).

Ensuite on modifie /etc/network/interfaces. On ajoute ceci (sans les commentaires) :

iface enp2s0 inet manual

iface xenbr0 inet static
        bridge_ports enp2s0
# L'adresse locale donnée par le routeur        
        address 192.168.1.X
        netmask 255.255.255.0
# L'adresse locale du routeur        
        gateway 192.168.1.254

et on va commenter d'autres parties mais pas tout, et puis ajouter le pont à lo, ce qui au final donne ça chez moi :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
#source /etc/network/interfaces.d/*
# The loopback network interface
auto lo xenbr0
iface lo inet loopback
# The primary network interface
#allow-hotplug enp2s0
#iface enp2s0 inet dhcp
iface enp2s0 inet manual

iface xenbr0 inet static
        bridge_ports enp2s0
        address 192.168.1.68
        broadcast 192.168.1.255
        netmask 255.255.255.0
        gateway 192.168.1.254

Un petit reboot et tout devrait aller.

Au 30/06/2024 il y a toujours un bug présent, où l'interface eth0 est codé en dur dans la création des VM, alors que c'est enX0 qui est attendu.

La solution (en attendant le vrai patch) consiste à remplacer l'occurence de eth0 par enX0 dans /usr/share/xen-tools/common/40-setup-networking-deb.

Sources/tickets :

Paramètres par défaut des VM

/etc/xen-tools/xen-tools.conf
### Paramètres par défaut des VM
# Groupe de volumes où le script va créer des volumes logiques 
lvm = VgPoste
install-method = debootstrap
# Spécifier le mot de passe root à la création 
passwd = 1
# Les tailles sont définie en octet comme suit : G=Giga, M=Mega, k=Kilo
# Taille de la partition root où seront stockées les données
size = 20G
# RAM allouée à la machine
memory = 1G
# Taille de la partition swap
swap = 1G
# Système de fichiers
fs = ext4
# Distribution installée
# `xt-guess-suite-and-mirror --suite` : même distribution que le Dom0 
dist = `xt-guess-suite-and-mirror --suite`
 
# Les paramètres réseau
gateway = 192.168.1.254
netmask = 255.255.255.0
broadcast = 192.168.1.255
# préciser le nom du bridge
bridge = xenbr0
 
# On lance les VM via pygrub
pygrub = 1
# Exécuter immédiatement après création.
boot = 1
# copier les comptes utilisateur de l'hyperviseur sur les vms
accounts = 1

Ajout de la clé ssh personnelle dans le squelette des VM nouvellement créées :

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

Et création d'une vm avec les paramètres par défaut et en laissant dhcp gérer les ip ?

sudo xen-create-image --hostname=vm1test --dhcp

Pare-feu etc

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