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. | ||