14.3. Gérer les périphériques attachés aux machines virtuelles à l'aide de la CLI
Pour modifier les fonctionnalités de votre machine virtuelle (VM), vous pouvez gérer les périphériques connectés à votre VM à l'aide de l'interface de ligne de commande (CLI).
Vous pouvez utiliser le CLI pour
14.3.1. Attacher des périphériques aux machines virtuelles
Vous pouvez ajouter une fonctionnalité spécifique à vos machines virtuelles (VM) en attachant un nouveau dispositif virtuel.
La procédure suivante permet de créer et d'attacher des dispositifs virtuels à vos machines virtuelles (VM) à l'aide de l'interface de ligne de commande (CLI). Certains dispositifs peuvent également être attachés aux machines virtuelles à l'aide de la console Web RHEL.
Par exemple, vous pouvez augmenter la capacité de stockage d'une VM en lui attachant un nouveau disque virtuel. Cette opération est également appelée memory hot plug.
La suppression d'un périphérique de mémoire d'une VM, également connue sous le nom de memory hot unplug, n'est pas prise en charge dans RHEL 9, et Red Hat en déconseille fortement l'utilisation.
Conditions préalables
Obtenez les options requises pour le périphérique que vous avez l'intention d'attacher à une VM. Pour connaître les options disponibles pour un périphérique spécifique, utilisez la commande
virt-xml --device=?
pour afficher les options disponibles pour un périphérique spécifique. Par exemple :# virt-xml --network=? --network options: [...] address.unit boot_order clearxml driver_name [...]
Procédure
Pour attacher un périphérique à une VM, utilisez la commande
virt-xml --add-device
, y compris la définition du périphérique et les options requises :Par exemple, la commande suivante crée une image disque newdisk qcow2 de 20 Go dans le répertoire
/var/lib/libvirt/images/
et l'attache en tant que disque virtuel à la VM testguest en cours d'exécution lors du prochain démarrage de la VM :# virt-xml testguest --add-device --disk /var/lib/libvirt/images/newdisk.qcow2,format=qcow2,size=20 Domain 'testguest' defined successfully. Changes will take effect after the domain is fully powered off.
La procédure suivante permet d'attacher une clé USB, attachée en tant que périphérique 004 sur le bus 002 de l'hôte, à la VM testguest2 pendant qu'elle est en cours d'exécution :
# virt-xml testguest2 --add-device --update --hostdev 002.004 Device hotplug successful. Domain 'testguest2' defined successfully.
La combinaison bus-dispositif pour définir l'USB peut être obtenue en utilisant la commande
lsusb
.
Vérification
Pour vérifier que l'appareil a été ajouté, effectuez l'une des opérations suivantes :
Utilisez la commande
virsh dumpxml
et vérifiez si la définition XML de l'appareil a été ajoutée à la section<devices>
de la configuration XML de la VM.Par exemple, la sortie suivante montre la configuration de la VM testguest et confirme que le périphérique de disque flash USB 002.004 a été ajouté.
# virsh dumpxml testguest [...] <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x4146'/> <product id='0x902e'/> <address bus='2' device='4'/> </source> <alias name='hostdev0'/> <address type='usb' bus='0' port='3'/> </hostdev> [...]
- Exécutez la VM et vérifiez que l'appareil est présent et fonctionne correctement.
Ressources supplémentaires
-
La commande
man virt-xml
14.3.2. Modifier les périphériques attachés aux machines virtuelles
Vous pouvez modifier les fonctionnalités de vos machines virtuelles (VM) en modifiant la configuration des périphériques virtuels connectés. Par exemple, si vous souhaitez optimiser les performances de vos machines virtuelles, vous pouvez modifier leurs modèles de CPU virtuels afin qu'ils correspondent mieux aux CPU des hôtes.
La procédure suivante fournit des instructions générales pour la modification des périphériques virtuels à l'aide de l'interface de ligne de commande (CLI). Certains périphériques attachés à votre VM, tels que les disques et les cartes réseau, peuvent également être modifiés à l'aide de la console Web RHEL 9.
Conditions préalables
-
Obtenez les options requises pour le périphérique que vous avez l'intention d'attacher à une VM. Pour connaître les options disponibles pour un périphérique spécifique, utilisez la commande
virt-xml --device=?
pour afficher les options disponibles pour un périphérique spécifique. Par exemple :
# virt-xml --network=?
--network options:
[...]
address.unit
boot_order
clearxml
driver_name
[...]
-
Optional: Sauvegardez la configuration XML de votre VM en utilisant
virsh dumpxml vm-name
et en envoyant le résultat dans un fichier. Par exemple, la procédure suivante permet de sauvegarder la configuration de votre VM testguest1 dans le fichiertestguest1.xml
:
# virsh dumpxml testguest1 > testguest1.xml # cat testguest1.xml <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>testguest1</name> <uuid>ede29304-fe0c-4ca4-abcd-d246481acd18</uuid> [...] </domain>
Procédure
Utilisez la commande
virt-xml --edit
, y compris la définition de l'appareil et les options requises :Par exemple, ce qui suit efface la configuration <cpu> de l'arrêt testguest VM et la met à host-model:
# virt-xml testguest --edit --cpu host-model,clearxml=yes Domain 'testguest' defined successfully.
Vérification
Pour vérifier que l'appareil a été modifié, effectuez l'une des opérations suivantes :
- Exécutez la VM et vérifiez si le dispositif est présent et reflète les modifications.
Utilisez la commande
virsh dumpxml
et vérifiez si la définition XML de l'appareil a été modifiée dans la configuration XML de la VM.Par exemple, la sortie suivante montre la configuration de la VM testguest et confirme que le mode CPU a été configuré comme host-model.
# virsh dumpxml testguest [...] <cpu mode='host-model' check='partial'> <model fallback='allow'/> </cpu> [...]
Résolution de problèmes
Si la modification d'un périphérique rend votre VM non amorçable, utilisez l'utilitaire
virsh define
pour restaurer la configuration XML en rechargeant le fichier de configuration XML que vous avez sauvegardé précédemment.# virsh define testguest.xml
Pour apporter de petites modifications à la configuration XML de votre VM, vous pouvez utiliser la commande virsh edit
- par exemple virsh edit testguest
. Cependant, n'utilisez pas cette méthode pour des modifications plus importantes, car elle est plus susceptible de casser la configuration d'une manière qui pourrait empêcher le démarrage de la VM.
Ressources supplémentaires
-
La commande
man virt-xml
14.3.3. Suppression des périphériques des machines virtuelles
Vous pouvez modifier la fonctionnalité de vos machines virtuelles (VM) en supprimant un périphérique virtuel. Par exemple, vous pouvez supprimer un disque virtuel de l'une de vos machines virtuelles s'il n'est plus nécessaire.
La procédure suivante explique comment supprimer des périphériques virtuels de vos machines virtuelles (VM) à l'aide de l'interface de ligne de commande (CLI). Certains périphériques, tels que les disques ou les cartes d'interface réseau, peuvent également être supprimés des machines virtuelles à l'aide de la console Web RHEL 9.
Conditions préalables
-
Optional: Sauvegardez la configuration XML de votre VM en utilisant
virsh dumpxml vm-name
et en envoyant le résultat dans un fichier. Par exemple, la procédure suivante permet de sauvegarder la configuration de votre VM testguest1 dans le fichiertestguest1.xml
:
# virsh dumpxml testguest1 > testguest1.xml # cat testguest1.xml <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>testguest1</name> <uuid>ede29304-fe0c-4ca4-abcd-d246481acd18</uuid> [...] </domain>
Procédure
Utilisez la commande
virt-xml --remove-device
, en incluant une définition de l'appareil. Par exemple :La procédure suivante supprime le périphérique de stockage marqué comme vdb de la VM testguest en cours d'exécution après son arrêt :
# virt-xml testguest --remove-device --disk target=vdb Domain 'testguest' defined successfully. Changes will take effect after the domain is fully powered off.
La procédure suivante supprime immédiatement un lecteur flash USB de la VM testguest2 en cours d'exécution :
# virt-xml testguest2 --remove-device --update --hostdev type=usb Device hotunplug successful. Domain 'testguest2' defined successfully.
Résolution de problèmes
Si la suppression d'un périphérique rend votre VM non amorçable, utilisez l'utilitaire
virsh define
pour restaurer la configuration XML en rechargeant le fichier de configuration XML que vous avez sauvegardé précédemment.# virsh define testguest.xml
Ressources supplémentaires
-
La commande
man virt-xml