Remarque :
- Ce tutoriel est disponible dans un environnement d'atelier gratuit fourni par Oracle.
- Il utilise des exemples de valeur pour les informations d'identification Oracle Cloud Infrastructure, la location et les compartiments. A la fin de votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Créer des machines virtuelles avec KVM sur Oracle Linux
Introduction
La machine virtuelle basée sur le noyau est un hyperviseur type-1 (bare-metal) open source. Cette fonctionnalité permet à un système hôte, tel qu'Oracle Linux 8, d'héberger plusieurs machines virtuelles ou invités lors de l'exécution sur du matériel pris en charge.
Ce tutoriel déploie Oracle Linux Kernel Virtualization Manager (KVM) pour créer une machine virtuelle.
Objectifs
- Déployer KVM
- Déployer le cockpit pour les machines virtuelles
- Créer une machine virtuelle à partir d'une image ISO
- Création d'une machine virtuelle à l'aide d'images Oracle Cloud
Prérequis
Tout système Oracle Linux 8 ou version ultérieure avec les configurations suivantes :
- un utilisateur non root avec des droits d'accès sudo
Validation de la prise en charge de la virtualisation par l'environnement
Remarque : lorsque vous utilisez l'environnement d'atelier gratuit, reportez-vous à Oracle Linux Lab Basics pour obtenir des instructions de connexion et d'utilisation.
-
S'il n'est pas déjà connecté, ouvrez un terminal et connectez-vous via SSH à votre instance.
ssh oracle@<ip_address_of_instance>
-
Exécutez la commande suivante pour déterminer le type de CPU.
grep -e 'vendor_id' /proc/cpuinfo
Exemple de sortie :
[oracle@ol-node01 ~]$ grep -e 'vendor_id' /proc/cpuinfo vendor_id : GenuineIntel vendor_id : GenuineIntel vendor_id : GenuineIntel vendor_id : GenuineIntel vendor_id : GenuineIntel vendor_id : GenuineIntel
Ce système est basé sur Intel, illustré par la sortie de GenuineIntel.
-
Pour les systèmes Intel, saisissez la commande suivante.
grep -e 'vmx' /proc/cpuinfo
L'existence de l'indicateur vmx dans la sortie de commande indique que ce système prend en charge la virtualisation.
-
Recherchez les modules KVM chargés.
lsmod | grep kvm
Exemple de sortie :
[oracle@ol-node01 ~]$ lsmod |grep kvm kvm_intel 262144 0 kvm 696320 1 kvm_intel irqbypass 16384 1 kvm
La sortie affiche le module de noyau KVM et le module de processeur kvm_intel en fonction du matériel de ce système. Ces modules doivent être chargés par défaut sur les systèmes Linux modernes.
Installer et démarrer KVM
-
Installez les packages logiciels associés au module de virtualisation Oracle Linux.
sudo dnf module install virt -y
Cette commande installe l'ensemble des packages de virtualisation, notamment libvirt, qemu-kvm et d'autres dépendances.
-
Installez
virt-install
etvirt-viewer
.sudo dnf install virt-install virt-viewer -y
L'installation du jeu de packages requis est alors terminée.
-
Vérifiez que la machine hôte est prête et configurée pour exécuter les machines virtuelles libvirt.
virt-host-validate
Exemple de sortie :
[oracle@ol-node01 ~]$ virt-host-validate QEMU: Checking for hardware virtualization : PASS QEMU: Checking if device /dev/kvm exists : PASS QEMU: Checking if device /dev/kvm is accessible : PASS QEMU: Checking if device /dev/vhost-net exists : PASS QEMU: Checking if device /dev/net/tun exists : PASS QEMU: Checking for cgroup 'cpu' controller support : PASS QEMU: Checking for cgroup 'cpuacct' controller support : PASS QEMU: Checking for cgroup 'cpuset' controller support : PASS QEMU: Checking for cgroup 'memory' controller support : PASS QEMU: Checking for cgroup 'devices' controller support : PASS QEMU: Checking for cgroup 'blkio' controller support : PASS QEMU: Checking for device assignment IOMMU support : WARN (No ACPI DMAR table found, IOMMU either disabled in BIOS or not supported by this hardware platform) QEMU: Checking for secure guest support : WARN (Unknown if this platform has Secure Guest support)
Si tous vérifie PASS, le système est préparé pour les machines virtuelles créées. Si des vérifications échouent, suivez les instructions pour corriger le problème. Si une vérification renvoie la valeur de WARN, pensez à suivre les instructions pour améliorer les capacités de virtualisation.
-
Démarrez le démon
libvirtd
et activez-le pour qu'il démarre automatiquement à chaque initialisation. Vérifiez ensuite son statut pour vérifier qu'il est en fonctionnement.sudo systemctl enable --now libvirtd.service sudo systemctl status libvirtd.service
Exemple de sortie :
[oracle@ol-node01 ~]$ sudo systemctl enable --now libvirtd.service [oracle@ol-node01 ~]$ sudo systemctl status libvirtd.service * libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor pr> Active: active (running) since Mon 2022-06-13 21:28:19 GMT; 8s ago Docs: man:libvirtd(8) https://libvirt.org ...
La sortie indique que le service est activé et en cours d'exécution.
Configurer la console Web Cockpit pour gérer KVM sur Oracle Linux
-
Installez l'extension cockpit-machines pour gérer les machines virtuelles en fonction de Libvirt.
sudo dnf install cockpit cockpit-machines –y
-
Démarrez la prise du cockpit et activez-la pour démarrer automatiquement à l'initialisation du système.
sudo systemctl enable --now cockpit.socket sudo systemctl status cockpit.socket
Exemple de sortie :
[oracle@ol-node01 ~]$ sudo systemctl enable --now cockpit.socket Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket -> /usr/lib/systemd/system/cockpit.socket. [oracle@ol-node01 ~]$ sudo systemctl status cockpit.socket * cockpit.socket - Cockpit Web Service Socket Loaded: loaded (/usr/lib/systemd/system/cockpit.socket; enabled; vendor pres> Active: active (listening) since Mon 2022-06-13 21:39:24 GMT; 10s ago Docs: man:cockpit-ws(8) Listen: [::]:9090 (Stream) ...
La sortie indique que le service est activé et à l'écoute.
-
Pour accéder à ce site à distance, activez le port du pare-feu pour le service de cockpit et rechargez la configuration du pare-feu pour appliquer les nouvelles modifications.
sudo firewall-cmd --add-service=cockpit --permanent sudo firewall-cmd --reload
Remarque : exécutez cette commande suivante à partir d'un 2e terminal sur le bureau lunabox.
-
Ouvrez un 2e terminal sur le bureau lunabox et entrez la commande suivante pour créer un port local avant pour Cockpit à l'aide de ssh.
ssh -L 9090:localhost:9090 oracle@<instance_ip_address>
-
Ouvrez un navigateur Web sur votre bureau et accédez à https://localhost:9090.
La console Web Cockpit utilise un certificat autosigné pour activer HTTPS.
Cliquez sur Avancé et acceptez la connexion lorsque vous recevez un avertissement du navigateur.
-
Connectez-vous en tant qu'utilisateur
oracle
avec le mot de passeoracle
.Le tableau de bord Cockpit s'affiche.
-
Cliquez sur le bouton "Limited Access" pour obtenir les privilèges d'administration.
-
Fermez la fenêtre d'accès Administratif.
Créer une machine virtuelle à partir d'une image ISO
-
Cliquez sur l'option Machines virtuelles dans le panneau de navigation de gauche.
-
Cliquez sur le bouton "Create VM".
-
Entrez les informations suivantes :
Name: OL-demo Connection: System Installation type: URL (ISO image or distro install tree) Installation source: https://yum.oracle.com/ISOS/OracleLinux/OL8/u6/x86_64/OracleLinux-R8-U6-x86_64-dvd.iso Operating system: Oracle Linux 8.6 Storage: Create new volume Size: 20 GiB Memory: 16 GiB Immediately start VM: check
-
Cliquez sur Create pour commencer.
-
Dans la liste des machines virtuelles, cliquez sur le lien OL-demo.
-
Faites défiler l'écran vers le bas pour afficher la console VNC.
Si vous êtes assez rapide, vous verrez un menu contenant les options d'installation d'Oracle Linux ou de test de ce média et d'installation. L'option Test est sélectionnée par défaut après quelques secondes. Le programme d'installation validera le contenu sur le média et démarrera le programme d'installation.
-
Une fois le programme d'installation initialisé, l'écran Welcome to Oracle Linux s'affiche. Pour commencer l'installation, sélectionnez votre langue pour le processus d'installation.
Cet exercice ne poursuit pas le processus d'installation.
Remarque : vous pouvez regarder une vidéo gratuite illustrant le processus d'installation d'Oracle Linux sur ce lien vidéo : Installation d'Oracle Linux 8
-
Fermez le navigateur Web en cliquant sur la croix (" X ") dans le coin supérieur droit de la fenêtre.
Création d'une machine virtuelle à l'aide d'images Oracle Cloud
Remarque : saisissez les commandes suivantes dans la fenêtre de terminal de l'instance cloud (ol-node01).
-
Accédez à l'emplacement de stockage de l'image KVM.
cd /var/lib/libvirt/images
-
Téléchargez le modèle de machine virtuelle Oracle Linux.
sudo curl -O https://yum.oracle.com/templates/OracleLinux/OL8/u6/x86_64/OL8U6_x86_64-kvm-b126.qcow
-
Créez un fichier de métadonnées.
cat << 'EOF' | sudo tee ~/meta-data > /dev/null instance-id: iid-local01 local-hostname: vm-01 EOF
-
Créez un fichier de données utilisateur.
cat << 'EOF' | sudo tee ~/user-data > /dev/null #cloud-config system_info: default_user: name: opc ssh_authorized_keys: - <paste_public_key_here> EOF
-
Générer une paire de clés SSH
ssh-keygen -t rsa -b 4096
Cliquez sur
Enter
pour accepter chacune des valeurs par défaut. La paire de clés est écrite dans le répertoire.ssh
du répertoire de base des utilisateurs. -
Copiez la clé publique dans le fichier de données utilisateur.
SSHKEY=$(cat ~/.ssh/id_rsa.pub) sed -i "s|<paste_public_key_here>|${SSHKEY}|g" ~/user-data
-
Générez l'image ISO.
sudo genisoimage -output /var/lib/libvirt/images/vm-01.iso -volid cidata -joliet -rock ~/user-data ~/meta-data
-
Créez l'instance.
sudo cp /var/lib/libvirt/images/OL8U6_x86_64-kvm-b126.qcow /var/lib/libvirt/images/vm-01.qcow sudo virt-install --name vm-01 \ --memory 2048 \ --vcpus 2 \ --disk /var/lib/libvirt/images/vm-01.qcow,device=disk,bus=virtio \ --disk /var/lib/libvirt/images/vm-01.iso,device=cdrom \ --os-type linux --os-variant ol8.6 \ --virt-type kvm --graphics none \ --network network=default,model=virtio \ --noautoconsole \ --import
-
Répertoriez les machines virtuelles.
sudo virsh list
-
Récupérez l'adresse IP de la machine virtuelle
vm-01
.sudo virsh net-dhcp-leases --network default
Remarque : selon la vitesse de démarrage de la machine virtuelle, vous devrez peut-être réexécuter la commande pour afficher l'adresse IP.
-
Vous pouvez également filtrer en fonction de l'adresse MAC.
sudo virsh domiflist vm-01
-
Copiez l'adresse MAC de la sortie précédente et fournissez la commande suivante.
sudo virsh net-dhcp-leases --network default --mac <MAC_address>
-
Vérifiez que la machine virtuelle fonctionne en vous connectant à
ssh
.ssh opc@<vm-01-ip_address>
Exemple de sortie :
[oracle@ol-node01 images]$ ssh opc@192.168.122.46 The authenticity of host '192.168.122.46 (192.168.122.46)' can't be established. ECDSA key fingerprint is SHA256:xcuVfQdoFDCC72i7plD0OfqDTSBG6QWhOm5ti4HIKEs. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.122.46' (ECDSA) to the list of known hosts. [opc@vm-01 ~]$ uname -a Linux vm-01 5.4.17-2136.307.3.1.el8uek.x86_64 #2 SMP Mon May 9 17:29:47 PDT 2022 x86_64 x86_64 x86_64 GNU/Linux
[Facultatif] Afficher la machine virtuelle à partir du tableau de bord du poste de travail
Remarque : exécutez cette commande suivante à partir d'un terminal sur le bureau lunabox.
-
Entrez la commande suivante dans la fenêtre de terminal lunabox Desktop pour créer un port local avant pour Cockpit à l'aide de ssh.
ssh -L 9090:localhost:9090 oracle@<instance_ip_address>
-
Ouvrez un navigateur Web sur votre bureau et accédez à https://localhost:9090.
-
Connectez-vous en tant qu'utilisateur
oracle
avec le mot de passeoracle
.Le tableau de bord Cockpit s'affiche.
-
Si nécessaire, cliquez sur le bouton "Limited Access" pour obtenir les privilèges d'administration.
-
Cliquez sur l'option Machines virtuelles dans le panneau de navigation de gauche.
-
Dans la liste des machines virtuelles, cliquez sur le lien vm-01.
-
Explorez la section Overview, la section Disks, les interfaces réseau, etc. selon vos besoins.
Remarque : la console n'est pas active dans Cockpit car la machine virtuelle
vm-01
a été créée à l'aide de l'option--graphical none
avecvirt-install
.
Cet exercice est terminé.
Pour plus d'informations:
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir explorateur Oracle Learning.
Pour consulter la documentation du produit, consultez Oracle Help Center.
Create VMs with KVM on Oracle Linux
F58823-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.