Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:centos:8:avance:l104 [2021/08/23 10:41] – removed admin | elearning:workbooks:centos:8:avance:l104 [2022/02/22 15:15] (Version actuelle) – created admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ~~PDF: | ||
+ | Version : **2022.01** | ||
+ | |||
+ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
+ | |||
+ | ======LCF604 - Présentation, | ||
+ | |||
+ | =====Contenu du Module===== | ||
+ | |||
+ | * **LCF604 - Présentation, | ||
+ | * Contenu du Module | ||
+ | * Présentation | ||
+ | * LAB #1 - Installation de KVM | ||
+ | * 1.1 - Installation des Paquets Requis | ||
+ | * 1.2 - Activation et Démarrage du Service libvirtd | ||
+ | * 1.3 - Modules du Noyau | ||
+ | * LAB #2 - Configuration de KVM | ||
+ | * 2.1 - Configuration du Pare-feu | ||
+ | * 2.2 - Configuration du Réseau des VMs | ||
+ | * 2.3 - Configuration du Stockage | ||
+ | |||
+ | =====Présentation===== | ||
+ | |||
+ | ====La Virtualisation==== | ||
+ | |||
+ | Le système de base hébergeant les machines virtuelles est appelé l' | ||
+ | |||
+ | Il existe différentes méthodes de virtualisation : | ||
+ | |||
+ | * **Virtualisation au niveau du système d' | ||
+ | * **Description** : Les systèmes invités utilisent le même noyau et une partie du système de fichiers de l' | ||
+ | * **L' | ||
+ | * **L' | ||
+ | * **Logiciels concernés** : %%OpenVZ%%, Linux %%VServer%%, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * **Paravirtualisation ou // | ||
+ | * **Description** : Le système hôte met à disposition une machine virtuelle dans laquelle les autres invités s' | ||
+ | * **L' | ||
+ | * **L' | ||
+ | * **Logiciels concernés** : Xen, VMWare(tm) ESX, Microsoft(tm) Hyper-V. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * **Virtualisation complète ou // | ||
+ | * **Description** : Le programme simule du matériel virtuel qui apparaît du point de vue de l' | ||
+ | * **L' | ||
+ | * **L' | ||
+ | * **Logiciels concernés** : VMWare(tm) Fusion, VMWare(tm) Player, VMWare(tm) Server, VMWare(tm) Fusion, Parallels Desktop, Parallels Server, Sun/Oracle %%VirtualBox%%, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * **Paravirtualisation avec prise en charge de matériel** | ||
+ | * **Description** : Les processeurs Intel-VT et AMD-V contiennent des instructions matérielles pour faciliter la virtualisation. Pour déterminer si le processeur dispose des fonctionnalités de virtualisation matérielles, | ||
+ | * **L' | ||
+ | * **L' | ||
+ | * **Logiciels concernés** : Xen, KVM | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ====Xen==== | ||
+ | |||
+ | * **[[http:// | ||
+ | * Xen est un produit en licence GPL, | ||
+ | * Il existe des systèmes de virtualisation commerciaux à base de Xen dont le plus connu est actuellement **Citrix %%XenServer%%**, | ||
+ | * Xen est un système de virtualisation principalement destiné à la virtualisation de serveurs, | ||
+ | * Xen est un système de **paravirtualisation** qui nécessite un noyau Linux modifié, | ||
+ | * Xen ne peut pas lancé donc un système non-modifié tel Windows(tm) en mode paravirtualisation, | ||
+ | * Xen peut lancer des systèmes non modifiés dans des **HVM** ( //Hardware Virtual Machine// ) depuis sa version 3 en utilisant une partie du code de QEMU combinée avec l' | ||
+ | |||
+ | ====KVM==== | ||
+ | |||
+ | **[[http:// | ||
+ | |||
+ | * est un hyperviseur libre sous Linux, | ||
+ | * ne fonctionne que sur les architectures x86 disposant des extensions Intel-VT ou AMD-V, | ||
+ | * est un projet issu de QEMU. | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Important : Le module KVM est intégré dans le noyau Linux depuis la version 2.6.20 et permet la paravirtualisation depuis le noyau **2.6.25**. | ||
+ | </ | ||
+ | |||
+ | **KVM** appartient à la société **Red Hat**. | ||
+ | |||
+ | KVM permet de virtualiser : | ||
+ | |||
+ | * Windows(tm) à partir de Windows(tm) 2000, | ||
+ | * Toutes les distributions Linux, | ||
+ | * La majorité des Unix BSD, | ||
+ | * Solaris(tm) et openSolaris, | ||
+ | * Minux, Hurd, QNX, | ||
+ | * MSDOS. | ||
+ | |||
+ | KVM offre un support du matériel suivant : | ||
+ | |||
+ | * USB, | ||
+ | * Ethernet, | ||
+ | * PCI Hotplug, | ||
+ | * Carte Son, | ||
+ | * **Virtuo** - un périphérique disque paravirtualisé. | ||
+ | |||
+ | Les avantages de KVM par rapport à Xen sont : | ||
+ | |||
+ | * l’utilisation de noyaux non-modifiés au niveaux des invités, | ||
+ | * l' | ||
+ | |||
+ | =====LAB #1 - Installation de KVM===== | ||
+ | |||
+ | ====1.1 - Installation des Paquets Requis==== | ||
+ | |||
+ | Avant d' | ||
+ | | ||
+ | < | ||
+ | [root@centos8 ~]# egrep ' | ||
+ | 8 | ||
+ | </ | ||
+ | |||
+ | La majorité des paquets necéssaires pour la virtualisation sous KVM ont été regroupés dans un **module** dénommé **virt**. Il convient donc de l' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# dnf module install virt -y | ||
+ | </ | ||
+ | |||
+ | Si vous souhaitez utiliser l' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# dnf install virt-install virt-viewer -y | ||
+ | </ | ||
+ | |||
+ | Le paquet **bridge-utils** est requis pour la gestion des bridges réseau. Installez donc celui-ci : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# dnf install epel-release -y | ||
+ | [root@centos8 ~]# dnf install bridge-utils -y | ||
+ | </ | ||
+ | |||
+ | Dernièrement, | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# dnf install virt-top libguestfs-tools -y | ||
+ | </ | ||
+ | |||
+ | ====1.2 - Activation et Démarrage du Service libvirtd==== | ||
+ | |||
+ | Activez et démarrez le service **libvirtd** pour démarrer KVM. Notez l' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# systemctl enable --now libvirtd | ||
+ | </ | ||
+ | |||
+ | Vérifiez le statut du service avant de poursuivre : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# systemctl status libvirtd | ||
+ | ● libvirtd.service - Virtualization daemon | ||
+ | | ||
+ | | ||
+ | Docs: man: | ||
+ | | ||
+ | Main PID: 7502 (libvirtd) | ||
+ | Tasks: 19 (limit: 32768) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Sep 01 10:19:05 centos8.ittraining.loc systemd[1]: Starting Virtualization daemon... | ||
+ | Sep 01 10:19:05 centos8.ittraining.loc systemd[1]: Started Virtualization daemon. | ||
+ | Sep 01 10:19:06 centos8.ittraining.loc dnsmasq[1942]: | ||
+ | Sep 01 10:19:06 centos8.ittraining.loc dnsmasq[1942]: | ||
+ | Sep 01 10:19:06 centos8.ittraining.loc dnsmasq-dhcp[1942]: | ||
+ | </ | ||
+ | |||
+ | ====1.3 - Modules du Noyau==== | ||
+ | |||
+ | Votre VM présente aux système hôte un processeur de type Intel(tm). Pour que KVM puisse fonctionner dans cet environnement il a besoin que deux modules soient chargés : | ||
+ | |||
+ | * **kvm** | ||
+ | * **kvm-intel** | ||
+ | | ||
+ | Vérifiez donc le bon chargement des modules concernés : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# modinfo kvm | ||
+ | filename: | ||
+ | license: | ||
+ | author: | ||
+ | rhelversion: | ||
+ | srcversion: | ||
+ | depends: | ||
+ | intree: | ||
+ | name: kvm | ||
+ | vermagic: | ||
+ | sig_id: | ||
+ | signer: | ||
+ | sig_key: | ||
+ | sig_hashalgo: | ||
+ | signature: | ||
+ | 8D: | ||
+ | 16: | ||
+ | B1: | ||
+ | FF: | ||
+ | BD: | ||
+ | CF: | ||
+ | A9: | ||
+ | CD: | ||
+ | FB: | ||
+ | 19: | ||
+ | 90: | ||
+ | D9: | ||
+ | 50: | ||
+ | FE: | ||
+ | 40: | ||
+ | 60: | ||
+ | D0: | ||
+ | EC: | ||
+ | 7F:CC:6E:6E | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# modinfo kvm_intel | ||
+ | filename: | ||
+ | license: | ||
+ | author: | ||
+ | rhelversion: | ||
+ | srcversion: | ||
+ | alias: | ||
+ | depends: | ||
+ | intree: | ||
+ | name: | ||
+ | vermagic: | ||
+ | sig_id: | ||
+ | signer: | ||
+ | sig_key: | ||
+ | sig_hashalgo: | ||
+ | signature: | ||
+ | 11: | ||
+ | 91: | ||
+ | BB: | ||
+ | E4: | ||
+ | 2B: | ||
+ | 56: | ||
+ | 3B: | ||
+ | 6C: | ||
+ | 51: | ||
+ | D0: | ||
+ | 25: | ||
+ | 97: | ||
+ | 7D: | ||
+ | AC: | ||
+ | 2E: | ||
+ | 8D: | ||
+ | D7: | ||
+ | A3: | ||
+ | E6:C7:D9:84 | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | parm: | ||
+ | </ | ||
+ | |||
+ | =====LAB #2 - Configuration de KVM====== | ||
+ | |||
+ | ====2.1 - Configuration du Pare-feu==== | ||
+ | |||
+ | Si vous souhaitez vous connecter aux machines virtuelles créées sous KVM en utilisant le protocole VNC, vous devez ouvrir le port **5900/ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# firewall-cmd --permanent --add-port=5901/ | ||
+ | success | ||
+ | |||
+ | [root@centos8 ~]# firewall-cmd --reload | ||
+ | success | ||
+ | </ | ||
+ | |||
+ | ====2.2 - Configuration du Réseau des VMs==== | ||
+ | |||
+ | Lors de l' | ||
+ | |||
+ | * La plage des adresses IP disponible pour les machines virtuelles KVM va de **192.168.122.2/ | ||
+ | * Ce pont met en place une connectivité de type **NAT** pour les machines virtuelles, | ||
+ | * Une interface réseau fictive, **virbr0-nic** et appelée une esclave, a été ajoutée à ce pont principalement pour fournir une adresse MAC stable, | ||
+ | * Normalement au fur et au mesure que d' | ||
+ | | ||
+ | Les configurations ci-dessus peuvent être visualisées grâce à la commande **ip a ** : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ip a | ||
+ | ... | ||
+ | 4: virbr0: < | ||
+ | link/ether 52: | ||
+ | inet 192.168.122.1/ | ||
+ | | ||
+ | 5: virbr0-nic: < | ||
+ | link/ether 52: | ||
+ | </ | ||
+ | | ||
+ | Dans le cas où on ne souhaite pas ou on ne peut pas utiliser le pont créé par défaut, il convient de créer un autre pont. Dans notre cas, l' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ip a show ens19 | ||
+ | 3: ens19: < | ||
+ | link/ether 46: | ||
+ | </ | ||
+ | |||
+ | Elle n'est pas visible dans la sortie de la commande **nmcli c show** : | ||
+ | | ||
+ | < | ||
+ | [root@centos8 ~]# nmcli c show | ||
+ | NAME | ||
+ | ip_fixe | ||
+ | virbr0 | ||
+ | ens18 fc4a4d23-b15e-47a7-bcfa-b2e08f49553e | ||
+ | </ | ||
+ | |||
+ | Créez donc une adresse IP de 192.168.56.2/ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# nmcli connection add con-name ip_kvm ifname ens19 type ethernet ip4 192.168.56.2/ | ||
+ | Connection ' | ||
+ | [root@centos8 ~]# nmcli c show | ||
+ | NAME | ||
+ | ip_fixe | ||
+ | ip_kvm | ||
+ | virbr0 | ||
+ | ens18 fc4a4d23-b15e-47a7-bcfa-b2e08f49553e | ||
+ | </ | ||
+ | |||
+ | Utilisez la commande **ip** pour vérifier la prise en compte de la configuration : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ip a show ens19 | ||
+ | 3: ens19: < | ||
+ | link/ether 46: | ||
+ | inet 192.168.56.2/ | ||
+ | | ||
+ | inet6 fe80:: | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Notez que cette configuration a été stockée dans le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# cat / | ||
+ | TYPE=Ethernet | ||
+ | PROXY_METHOD=none | ||
+ | BROWSER_ONLY=no | ||
+ | BOOTPROTO=none | ||
+ | IPADDR=192.168.56.2 | ||
+ | PREFIX=24 | ||
+ | GATEWAY=192.168.56.1 | ||
+ | DEFROUTE=yes | ||
+ | IPV4_FAILURE_FATAL=no | ||
+ | IPV6INIT=yes | ||
+ | IPV6_AUTOCONF=yes | ||
+ | IPV6_DEFROUTE=yes | ||
+ | IPV6_FAILURE_FATAL=no | ||
+ | IPV6_ADDR_GEN_MODE=stable-privacy | ||
+ | NAME=ip_kvm | ||
+ | UUID=afc8b175-f2cb-47b2-baca-66454058c36f | ||
+ | DEVICE=ens19 | ||
+ | ONBOOT=yes | ||
+ | </ | ||
+ | |||
+ | Vérifiez maintenant que vous pouvez communiquer avec la passerelle par défaut **192.168.56.1/ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ping 192.168.56.1 | ||
+ | PING 192.168.56.1 (192.168.56.1) 56(84) bytes of data. | ||
+ | 64 bytes from 192.168.56.1: | ||
+ | 64 bytes from 192.168.56.1: | ||
+ | 64 bytes from 192.168.56.1: | ||
+ | ^C | ||
+ | --- 192.168.56.1 ping statistics --- | ||
+ | 3 packets transmitted, | ||
+ | rtt min/ | ||
+ | </ | ||
+ | |||
+ | Pour pouvoir gérer l' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# vi / | ||
+ | [root@centos8 ~]# cat / | ||
+ | TYPE=Ethernet | ||
+ | BOOTPROTO=none | ||
+ | NAME=ip_kvm | ||
+ | UUID=afc8b175-f2cb-47b2-baca-66454058c36f | ||
+ | DEVICE=ens19 | ||
+ | ONBOOT=yes | ||
+ | BRIDGE=virbr0 | ||
+ | </ | ||
+ | |||
+ | Pour créer le pont, il convient de créer le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ls -l / | ||
+ | ls: cannot access '/ | ||
+ | |||
+ | [root@centos8 ~]# vi / | ||
+ | [root@centos8 ~]# cat / | ||
+ | TYPE=BRIDGE | ||
+ | DEVICE=virbr0 | ||
+ | BOOTPROTO=non | ||
+ | ONBOOT=yes | ||
+ | IPADDR=192.168.56.2 | ||
+ | NETMASK=255.255.255.0 | ||
+ | GATEWAY=192.168.56.1 | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** : Notez que le nom du pont est identique au pont existant. Ceci n'a pas d' | ||
+ | </ | ||
+ | |||
+ | Pour que la configuration puisse fonctionner, | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# echo net.ipv4.ip_forward = 1 >> / | ||
+ | [root@centos8 ~]# cat / | ||
+ | # The kernel allocates aio memory on demand, and this number limits the | ||
+ | # number of parallel aio requests; the only drawback of a larger limit is | ||
+ | # that a malicious guest could issue parallel requests to cause the kernel | ||
+ | # to set aside memory. | ||
+ | # 128 * (number of virtual disks on the host) | ||
+ | # Libvirt uses a default of 1M requests to allow 8k disks, with at most | ||
+ | # 64M of kernel memory if all disks hit an aio request at the same time. | ||
+ | fs.aio-max-nr = 1048576 | ||
+ | net.ipv4.ip_forward = 1 | ||
+ | </ | ||
+ | |||
+ | En utilisant la commande **sysctl**, appliquez la nouvelle configuration : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# / | ||
+ | fs.aio-max-nr = 1048576 | ||
+ | net.ipv4.ip_forward = 1 | ||
+ | </ | ||
+ | |||
+ | Dernièrement, | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -o virbr0 -j ACCEPT | ||
+ | success | ||
+ | [root@centos8 ~]# firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -i virbr0 -j ACCEPT | ||
+ | success | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# firewall-cmd --reload | ||
+ | success | ||
+ | </ | ||
+ | |||
+ | La configuration faite, vérifiez la prise en charge en utilisant la commande **ip** : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ip a | ||
+ | 1: lo: < | ||
+ | link/ | ||
+ | inet 127.0.0.1/8 scope host lo | ||
+ | | ||
+ | inet6 ::1/128 scope host | ||
+ | | ||
+ | 2: ens18: < | ||
+ | link/ether 4e: | ||
+ | inet 10.0.2.46/ | ||
+ | | ||
+ | inet 192.168.1.2/ | ||
+ | | ||
+ | inet6 fe80:: | ||
+ | | ||
+ | 3: ens19: < | ||
+ | link/ether 46: | ||
+ | inet 192.168.56.2/ | ||
+ | | ||
+ | inet6 fe80:: | ||
+ | | ||
+ | 4: virbr0: < | ||
+ | link/ether 52: | ||
+ | inet 192.168.122.1/ | ||
+ | | ||
+ | 5: virbr0-nic: < | ||
+ | link/ether 52: | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** : Notez que la configuration n'as **pas** été prise en compte. En effet, l' | ||
+ | </ | ||
+ | |||
+ | Consultez maintenant la list des réseaux configurés pour KVM : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh net-list | ||
+ | | ||
+ | -------------------------------------------- | ||
+ | | ||
+ | </ | ||
+ | |||
+ | En utilisant la commande **virsh net-dumpxml**, | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh net-dumpxml default | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <forward mode=' | ||
+ | <nat> | ||
+ | <port start=' | ||
+ | </ | ||
+ | </ | ||
+ | <bridge name=' | ||
+ | <mac address=' | ||
+ | <ip address=' | ||
+ | < | ||
+ | <range start=' | ||
+ | </ | ||
+ | </ip> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Il est donc nécessaire d' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh net-edit default | ||
+ | </ | ||
+ | |||
+ | A l'issu de votre édition, votre fichier doit correspondre à l' | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <forward mode=' | ||
+ | <bridge name=' | ||
+ | <mac address=' | ||
+ | <ip address=' | ||
+ | < | ||
+ | <range start=' | ||
+ | </ | ||
+ | </ip> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Sortez du mode édition. Vous noterez que la commande vous indique que le fichier a été modifié : | ||
+ | |||
+ | < | ||
+ | [ESC]:q | ||
+ | [root@centos8 ~]# virsh net-edit default | ||
+ | Network default XML configuration edited. | ||
+ | </ | ||
+ | |||
+ | Par contre, la simple édition du fichier n'a pas modifiée la configuration en cours : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh net-dumpxml default | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <forward mode=' | ||
+ | <nat> | ||
+ | <port start=' | ||
+ | </ | ||
+ | </ | ||
+ | <bridge name=' | ||
+ | <mac address=' | ||
+ | <ip address=' | ||
+ | < | ||
+ | <range start=' | ||
+ | </ | ||
+ | </ip> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Notez que même en cas de re-démarrage du service, la configuration actuelle est persistante : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# systemctl restart libvirtd | ||
+ | [root@centos8 ~]# systemctl status libvirtd | ||
+ | ● libvirtd.service - Virtualization daemon | ||
+ | | ||
+ | | ||
+ | Docs: man: | ||
+ | | ||
+ | Main PID: 4037 (libvirtd) | ||
+ | Tasks: 19 (limit: 32768) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Sep 02 10:27:41 centos8.ittraining.loc systemd[1]: Starting Virtualization daemon... | ||
+ | Sep 02 10:27:41 centos8.ittraining.loc systemd[1]: Started Virtualization daemon. | ||
+ | Sep 02 10:27:41 centos8.ittraining.loc dnsmasq[1950]: | ||
+ | Sep 02 10:27:41 centos8.ittraining.loc dnsmasq[1950]: | ||
+ | Sep 02 10:27:41 centos8.ittraining.loc dnsmasq-dhcp[1950]: | ||
+ | |||
+ | [root@centos8 ~]# virsh net-dumpxml default | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <forward mode=' | ||
+ | <nat> | ||
+ | <port start=' | ||
+ | </ | ||
+ | </ | ||
+ | <bridge name=' | ||
+ | <mac address=' | ||
+ | <ip address=' | ||
+ | < | ||
+ | <range start=' | ||
+ | </ | ||
+ | </ip> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Re-démarrez donc votre VM : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# reboot | ||
+ | </ | ||
+ | |||
+ | Connectez-vous de nouveau à votre VM et contrôler la sortie de la commande **nmcli c show** : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# nmcli c show | ||
+ | NAME | ||
+ | ip_fixe | ||
+ | virbr0 | ||
+ | ip_kvm | ||
+ | ens18 fc4a4d23-b15e-47a7-bcfa-b2e08f49553e | ||
+ | </ | ||
+ | |||
+ | Utilisez ensuite la commande **ip** pour vérifier l' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ip a | ||
+ | 1: lo: < | ||
+ | link/ | ||
+ | inet 127.0.0.1/8 scope host lo | ||
+ | | ||
+ | inet6 ::1/128 scope host | ||
+ | | ||
+ | 2: ens18: < | ||
+ | link/ether 4e: | ||
+ | inet 10.0.2.46/ | ||
+ | | ||
+ | inet 192.168.1.2/ | ||
+ | | ||
+ | inet6 fe80:: | ||
+ | | ||
+ | 3: ens19: < | ||
+ | link/ether 46: | ||
+ | 4: virbr0: < | ||
+ | link/ether 52: | ||
+ | inet 192.168.56.10/ | ||
+ | | ||
+ | 5: virbr0-nic: < | ||
+ | link/ether 52: | ||
+ | </ | ||
+ | |||
+ | Dernièrement, | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ping 192.168.56.1 | ||
+ | PING 192.168.56.1 (192.168.56.1) 56(84) bytes of data. | ||
+ | 64 bytes from 192.168.56.1: | ||
+ | 64 bytes from 192.168.56.1: | ||
+ | 64 bytes from 192.168.56.1: | ||
+ | ^C | ||
+ | --- 192.168.56.1 ping statistics --- | ||
+ | 3 packets transmitted, | ||
+ | rtt min/ | ||
+ | </ | ||
+ | |||
+ | ====2.3 - Configuration du Stockage==== | ||
+ | |||
+ | KVM a besoin d'un emplacement pour stocker les VMs créées. L' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# lsblk | ||
+ | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||
+ | sda | ||
+ | ├─sda1 | ||
+ | └─sda2 | ||
+ | ├─cl_centos8-root 253:0 0 27.8G 0 lvm / | ||
+ | └─cl_centos8-swap 253:1 0 3.2G 0 lvm [SWAP] | ||
+ | sdb | ||
+ | sdc | ||
+ | └─sdc1 | ||
+ | sdd | ||
+ | sr0 11:0 1 1024M 0 rom | ||
+ | </ | ||
+ | |||
+ | Créez donc sur **/ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# pvcreate /dev/sdd | ||
+ | Physical volume "/ | ||
+ | [root@centos8 ~]# vgcreate kvm_storage /dev/sdd | ||
+ | Volume group " | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# vgs | ||
+ | VG #PV #LV #SN Attr | ||
+ | cl_centos8 | ||
+ | kvm_storage | ||
+ | </ | ||
+ | |||
+ | Créez ensuite un volume logique, dénommé **kvm_lv**, occupant toute l' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# lvcreate -l +100%FREE -n kvm_lv kvm_storage | ||
+ | Logical volume " | ||
+ | | ||
+ | [root@centos8 ~]# lvs | ||
+ | LV | ||
+ | root | ||
+ | swap | ||
+ | kvm_lv kvm_storage -wi-a----- <32.00g | ||
+ | </ | ||
+ | |||
+ | Créez ensuite un système de fichiers de type **xfs** sur le volume logique **kvm_lv** : | ||
+ | | ||
+ | < | ||
+ | [root@centos8 ~]# mkfs.xfs / | ||
+ | meta-data=/ | ||
+ | | ||
+ | | ||
+ | | ||
+ | data | ||
+ | | ||
+ | naming | ||
+ | log =internal log | ||
+ | | ||
+ | realtime =none | ||
+ | Discarding blocks...Done. | ||
+ | </ | ||
+ | |||
+ | Éditez ensuite le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# vi /etc/fstab | ||
+ | [root@centos8 ~]# cat /etc/fstab | ||
+ | |||
+ | # | ||
+ | # /etc/fstab | ||
+ | # Created by anaconda on Wed Jun 16 06:21:32 2021 | ||
+ | # | ||
+ | # Accessible filesystems, | ||
+ | # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. | ||
+ | # | ||
+ | # After editing this file, run ' | ||
+ | # units generated from this file. | ||
+ | # | ||
+ | / | ||
+ | UUID=1c04981e-5317-4b73-9695-3ce25246835d /boot | ||
+ | / | ||
+ | UUID=f76d6b66-985b-4a91-af9c-4987e8c1443c /home | ||
+ | |||
+ | ## KVM Guest Image Store | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Montez ensuite le volume logique : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# df -h | ||
+ | Filesystem | ||
+ | devtmpfs | ||
+ | tmpfs 1.9G | ||
+ | tmpfs 1.9G 9.5M 1.9G 1% /run | ||
+ | tmpfs 1.9G | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | tmpfs 374M | ||
+ | tmpfs 374M 1.2M 373M 1% / | ||
+ | |||
+ | [root@centos8 ~]# mount -a | ||
+ | |||
+ | [root@centos8 ~]# df -h | ||
+ | Filesystem | ||
+ | devtmpfs | ||
+ | tmpfs | ||
+ | tmpfs | ||
+ | tmpfs | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | tmpfs | ||
+ | tmpfs | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Notez que ce volume est actuellement vide : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# ls -l / | ||
+ | total 0 | ||
+ | </ | ||
+ | |||
+ | Utilisez la commande **virsh pool-list** pour voir les pools de stockage déjà configurés. Cette liste devrait être vide : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh pool-list | ||
+ | | ||
+ | --------------------------- | ||
+ | |||
+ | </ | ||
+ | |||
+ | Définissez le pool de stockage **kvm-storagepool** dans KVM grâce à la commande **virsh pool-define-as** : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh pool-define-as kvm-storagepool --type=dir --target / | ||
+ | Pool kvm-storagepool defined | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** : Consultez **[[https:// | ||
+ | </ | ||
+ | |||
+ | Consultez **[[https:// | ||
+ | |||
+ | Démarrez maintenant le pool **kvm-storagepool** : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh pool-start kvm-storagepool | ||
+ | Pool kvm-storagepool started | ||
+ | </ | ||
+ | |||
+ | Contrôlez l' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh pool-list | ||
+ | | ||
+ | --------------------------------------- | ||
+ | | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** : Notez que le pool ne sera pas démarré automatiquement parce que la valeur d**' | ||
+ | </ | ||
+ | |||
+ | Fixez la valeur d' | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh pool-autostart kvm-storagepool | ||
+ | Pool kvm-storagepool marked as autostarted | ||
+ | |||
+ | [root@centos8 ~]# virsh pool-list | ||
+ | | ||
+ | --------------------------------------- | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Dernièrement, | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# virsh pool-list --all --details | ||
+ | | ||
+ | ------------------------------------------------------------------------------------------ | ||
+ | | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# df -h / | ||
+ | Filesystem | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | Copyright © 2022 Hugh Norris. |