Chapitre 3. Création de machines virtuelles


Pour créer une machine virtuelle (VM) dans RHEL 9, utilisez l'interface de ligne de commande ou la console web RHEL 9.

3.1. Création de machines virtuelles à l'aide de l'interface de ligne de commande

Pour créer une machine virtuelle (VM) sur votre hôte RHEL 9 à l'aide de l'utilitaire virt-install, suivez les instructions ci-dessous.

Conditions préalables

  • La virtualisation est activée sur votre système hôte.
  • Vous disposez d'une quantité suffisante de ressources système à allouer à vos machines virtuelles, telles que l'espace disque, la mémoire vive ou les processeurs. Les valeurs recommandées peuvent varier de manière significative en fonction des tâches prévues et de la charge de travail des VM.
  • Une source d'installation du système d'exploitation (OS) est disponible localement ou sur un réseau. Il peut s'agir de l'une des sources suivantes

    • Une image ISO d'un support d'installation
    • Une image disque d'une installation VM existante

      Avertissement

      L'installation à partir d'un CD-ROM ou d'un DVD-ROM hôte n'est pas possible dans RHEL 9. Si vous sélectionnez un CD-ROM ou un DVD-ROM comme source d'installation lors de l'utilisation d'une méthode d'installation de VM disponible dans RHEL 9, l'installation échouera. Pour plus d'informations, consultez la base de connaissances de Red Hat.

      Notez également que Red Hat ne prend en charge qu'un nombre limité de systèmes d'exploitation invités.

  • Facultatif : Un fichier Kickstart peut être fourni pour faciliter et accélérer la configuration de l'installation.

Procédure

Pour créer une VM et lancer l'installation de son système d'exploitation, utilisez la commande virt-install, avec les arguments obligatoires suivants :

  • --namele nom de la nouvelle machine
  • --memoryla quantité de mémoire allouée
  • --vcpusle nombre d'unités centrales virtuelles allouées
  • --diskle type et la taille de l'espace de stockage alloué
  • --cdrom ou --location: le type et l'emplacement de la source d'installation du système d'exploitation

En fonction de la méthode d'installation choisie, les options et valeurs nécessaires peuvent varier. Voir les commandes ci-dessous pour des exemples :

  • La commande suivante crée une VM nommée demo-guest1 qui installe le système d'exploitation Windows 10 à partir d'une image ISO stockée localement dans le fichier /home/username/Downloads/Win10install.iso. Cette VM est également dotée de 2048 MiB de RAM et de 2 vCPU, et un disque virtuel qcow2 de 80 GiB est automatiquement configuré pour la VM.

    Copy to Clipboard Toggle word wrap
    # virt-install \
        --name demo-guest1 --memory 2048 \
        --vcpus 2 --disk size=80 --os-variant win10 \
        --cdrom /home/username/Downloads/Win10install.iso
  • La commande suivante crée une VM nommée demo-guest2 qui utilise l'image /home/username/Downloads/rhel9.iso pour exécuter un système d'exploitation RHEL 9 à partir d'un CD live. Aucun espace disque n'est attribué à cette VM, de sorte que les modifications apportées pendant la session ne seront pas conservées. En outre, la VM se voit attribuer 4096 MiB de RAM et 4 vCPU.

    Copy to Clipboard Toggle word wrap
    # virt-install \
        --name demo-guest2 --memory 4096 --vcpus 4 \
        --disk none --livecd --os-variant rhel9.0 \
        --cdrom /home/username/Downloads/rhel9.iso
  • La commande suivante crée une VM RHEL 9 nommée demo-guest3 qui se connecte à une image disque existante, /home/username/backup/disk.qcow2. Cela revient à déplacer physiquement un disque dur d'une machine à l'autre, de sorte que le système d'exploitation et les données disponibles pour demo-guest3 sont déterminés par la manière dont l'image a été gérée précédemment. En outre, cette VM est dotée de 2048 MiB de RAM et de 2 vCPU.

    Copy to Clipboard Toggle word wrap
    # virt-install \
        --name demo-guest3 --memory 2048 --vcpus 2 \
        --os-variant rhel9.0 --import \
        --disk /home/username/backup/disk.qcow2

    Notez que l'option --os-variant est fortement recommandée lors de l'importation d'une image disque. Si elle n'est pas fournie, les performances de la VM créée seront affectées négativement.

  • La commande suivante crée une VM nommée demo-guest4 qui s'installe à partir de l'URL http://example.com/OS-install. Pour que l'installation démarre avec succès, l'URL doit contenir une arborescence d'installation du système d'exploitation qui fonctionne. En outre, le système d'exploitation est automatiquement configuré à l'aide du fichier kickstart de /home/username/ks.cfg. Cette VM est également dotée de 2048 MiB de RAM, de 2 vCPU et d'un disque virtuel qcow2 de 160 GiB.

    Copy to Clipboard Toggle word wrap
    # virt-install \
        --name demo-guest4 --memory 2048 --vcpus 2 --disk size=160 \
        --os-variant rhel9.0 --location http://example.com/OS-install \
        --initrd-inject /home/username/ks.cfg --extra-args="inst.ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"

    En outre, si vous souhaitez héberger demo-guest4 sur un hôte RHEL 9 on an ARM 64, incluez les lignes suivantes pour vous assurer que le fichier kickstart installe le paquetage kernel-64k:

    Copy to Clipboard Toggle word wrap
    %packages
    -kernel
    kernel-64k
    %end
  • La commande suivante crée une VM nommée demo-guest5 qui s'installe à partir d'un fichier image RHEL9.iso en mode texte uniquement, sans graphiques. Elle connecte la console invitée à la console série. La VM a 16384 MiB de mémoire, 16 vCPU, et 280 GiB de disque. Ce type d'installation est utile pour se connecter à un hôte sur un réseau lent.

    Copy to Clipboard Toggle word wrap
    # virt-install \
        --name demo-guest5 --memory 16384 --vcpus 16 --disk size=280 \
        --os-variant rhel9.0 --location RHEL9.iso \
        --graphics none --extra-args='console=ttyS0'
  • La commande suivante crée une VM nommée demo-guest6, qui a la même configuration que demo-guest5, mais qui réside sur l'hôte distant 192.0.2.1.

    Copy to Clipboard Toggle word wrap
    # virt-install \
        --connect qemu+ssh://root@192.0.2.1/system --name demo-guest6 --memory 16384 \
        --vcpus 16 --disk size=280 --os-variant rhel9.0 --location RHEL9.iso \
        --graphics none --extra-args='console=ttyS0'
  • La commande suivante crée une VM nommée demo-guest-7, qui a la même configuration que demo-guest5, mais pour son stockage, elle utilise un périphérique DASD médiatisé mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8, et lui attribue le numéro de périphérique 1111.

    Copy to Clipboard Toggle word wrap
    # virt-install \
        --name demo-guest7 --memory 16384 --vcpus 16 --disk size=280 \
        --os-variant rhel9.0 --location RHEL9.iso --graphics none \
        --disk none --hostdev mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8,address.type=ccw,address.cssid=0xfe,address.ssid=0x0,address.devno=0x1111,boot-order=1 \
        --extra-args 'rd.dasd=0.0.1111'

    Notez que le nom du dispositif médiatisé disponible pour l'installation peut être récupéré à l'aide de la commande virsh nodedev-list --cap mdev.

Vérification

  • Si la VM est créée avec succès, une fenêtre virt-viewer s'ouvre avec une console graphique de la VM et démarre l'installation du système d'exploitation invité.

Résolution de problèmes

  • Si virt-install échoue avec une erreur cannot find default network:

    • Assurez-vous que le paquetage libvirt-daemon-config-network est installé :

      Copy to Clipboard Toggle word wrap
      # {PackageManagerCommand} info libvirt-daemon-config-network
      Installed Packages
      Name         : libvirt-daemon-config-network
      [...]
    • Vérifiez que le réseau par défaut libvirt est actif et configuré pour démarrer automatiquement :

      Copy to Clipboard Toggle word wrap
      # virsh net-list --all
       Name      State    Autostart   Persistent
      --------------------------------------------
       default   active   yes         yes
    • Si ce n'est pas le cas, activez le réseau par défaut et configurez-le pour qu'il démarre automatiquement :

      Copy to Clipboard Toggle word wrap
      # virsh net-autostart default
      Network default marked as autostarted
      
      # virsh net-start default
      Network default started
      • Si l'activation du réseau par défaut échoue avec l'erreur suivante, c'est que le paquet libvirt-daemon-config-network n'a pas été installé correctement.

        Copy to Clipboard Toggle word wrap
        error: failed to get network 'default'
        error: Network not found: no network with matching name 'default'

        Pour résoudre ce problème, réinstallez libvirt-daemon-config-network:

        Copy to Clipboard Toggle word wrap
        # {PackageManagerCommand} reinstall libvirt-daemon-config-network
      • Si l'activation du réseau par défaut échoue avec une erreur similaire à la suivante, un conflit s'est produit entre le sous-réseau du réseau par défaut et une interface existante sur l'hôte.

        Copy to Clipboard Toggle word wrap
        error: Failed to start network default
        error: internal error: Network is already in use by interface ens2

        Pour résoudre ce problème, utilisez la commande virsh net-edit default et modifiez les valeurs de 192.0.2.* dans la configuration pour un sous-réseau qui n'est pas déjà utilisé sur l'hôte.

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat, Inc.