17.5. Démarrer les machines virtuelles à partir d'un serveur PXE
Les machines virtuelles (VM) qui utilisent l'environnement d'exécution avant démarrage (PXE) peuvent démarrer et charger leur configuration à partir d'un réseau. Ce chapitre explique comment utiliser libvirt
pour démarrer des machines virtuelles à partir d'un serveur PXE sur un réseau virtuel ou ponté.
Ces procédures ne sont fournies qu'à titre d'exemple. Assurez-vous que vous disposez de suffisamment de sauvegardes avant de poursuivre.
17.5.1. Mise en place d'un serveur de démarrage PXE sur un réseau virtuel
Cette procédure décrit comment configurer un réseau virtuel libvirt
pour fournir un environnement d'exécution avant démarrage (PXE). Cela permet aux machines virtuelles sur votre hôte d'être configurées pour démarrer à partir d'une image de démarrage disponible sur le réseau virtuel.
Conditions préalables
Un serveur PXE local (DHCP et TFTP), tel que :
- serveur interne libvirt
- dhcpd et tftpd configurés manuellement
- dnsmasq
- Serveur de cordonnier
-
Images de démarrage PXE, telles que
PXELINUX
configurées par Cobbler ou manuellement.
Procédure
-
Placez les images de démarrage PXE et la configuration dans le dossier
/var/lib/tftpboot
. Définir les droits d'accès aux dossiers :
# chmod -R a r /var/lib/tftpboot
Définir la propriété du dossier :
# chown -R nobody: /var/lib/tftpboot
Mise à jour du contexte SELinux :
# chcon -R --reference /usr/sbin/dnsmasq /var/lib/tftpboot # chcon -R --reference /usr/libexec/libvirt_leaseshelper /var/lib/tftpboot
Arrêter le réseau virtuel :
# virsh net-destroy default
Ouvrez le fichier de configuration du réseau virtuel dans votre éditeur par défaut :
# virsh net-edit default
Modifiez l'élément
<ip>
pour inclure l'adresse, le masque de réseau, la plage d'adresses DHCP et le fichier de démarrage appropriés, où example-pxelinux est le nom du fichier de l'image de démarrage.<ip address='192.0.2.1' netmask='255.255.255.0'> <tftp root='/var/lib/tftpboot'/> <dhcp> <range start='192.0.2.2' end='192.0.2.254' /> <bootp file='example-pxelinux'/> </dhcp> </ip>
Démarrer le réseau virtuel :
# virsh net-start default
Vérification
Vérifiez que le réseau virtuel
default
est actif :# virsh net-list Name State Autostart Persistent --------------------------------------------------- default active no no
Ressources supplémentaires
17.5.2. Démarrer les machines virtuelles en utilisant PXE et un réseau virtuel
Pour démarrer les machines virtuelles (VM) à partir d'un serveur Preboot Execution Environment (PXE) disponible sur un réseau virtuel, vous devez activer le démarrage PXE.
Conditions préalables
- Un serveur d'amorçage PXE est configuré sur le réseau virtuel comme décrit dans la section Configuration d'un serveur d'amorçage PXE sur un réseau virtuel.
Procédure
Créez une nouvelle VM avec le démarrage PXE activé. Par exemple, pour installer à partir d'un PXE, disponible sur le réseau virtuel
default
, dans un nouveau fichier image qcow2 de 10 Go :# virt-install --pxe --network network=default --memory 2048 --vcpus 2 --disk size=10
Vous pouvez également modifier manuellement le fichier de configuration XML d'une VM existante :
Veiller à ce que l'élément
<os>
contienne un élément<boot dev='network'/>
:<os> <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type> <boot dev='network'/> <boot dev='hd'/> </os>
Assurez-vous que le réseau invité est configuré pour utiliser votre réseau virtuel :
<interface type='network'> <mac address='52:54:00:66:79:14'/> <source network='default'/> <target dev='vnet0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
Vérification
-
Démarrez la VM à l'aide de la commande
virsh start
. Si PXE est configuré correctement, la VM démarre à partir d'une image de démarrage disponible sur le serveur PXE.
17.5.3. Démarrer les machines virtuelles en utilisant PXE et un réseau ponté
Pour démarrer les machines virtuelles (VM) à partir d'un serveur Preboot Execution Environment (PXE) disponible sur un réseau ponté, vous devez activer le démarrage PXE.
Conditions préalables
- Le pontage réseau est activé.
- Un serveur de démarrage PXE est disponible sur le réseau ponté.
Procédure
Créez une nouvelle VM avec le démarrage PXE activé. Par exemple, pour installer à partir d'un PXE, disponible sur le réseau ponté
breth0
, dans un nouveau fichier image qcow2 de 10 Go :# virt-install --pxe --network bridge=breth0 --memory 2048 --vcpus 2 --disk size=10
Vous pouvez également modifier manuellement le fichier de configuration XML d'une VM existante :
Veiller à ce que l'élément
<os>
contienne un élément<boot dev='network'/>
:<os> <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type> <boot dev='network'/> <boot dev='hd'/> </os>
Assurez-vous que la VM est configurée pour utiliser votre réseau ponté :
<interface type='bridge'> <mac address='52:54:00:5a:ad:cb'/> <source bridge='breth0'/> <target dev='vnet0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
Vérification
-
Démarrez la VM à l'aide de la commande
virsh start
. Si PXE est configuré correctement, la VM démarre à partir d'une image de démarrage disponible sur le serveur PXE.
Ressources supplémentaires