{"id":3403,"date":"2022-03-19T17:38:02","date_gmt":"2022-03-19T16:38:02","guid":{"rendered":"http:\/\/blogperso.union31.fr\/?p=3403"},"modified":"2022-03-22T23:48:49","modified_gmt":"2022-03-22T22:48:49","slug":"kvm-installer-un-hyperviseur","status":"publish","type":"post","link":"https:\/\/blogperso.union31.fr\/?p=3403","title":{"rendered":"KVM : introduction \u00e0 la mise en oeuvre d&rsquo;un hyperviseur"},"content":{"rendered":"\n<p>En cours de r\u00e9daction &#8230;<\/p>\n\n\n\n<p>Nous allons voir comment mettre en \u0153uvre la fonction hyperviseur sur son pc sous Linux, ici Ubuntu 20.04 LTS, et \u00e9galement les divers outils qui permettent de g\u00e9rer des VM.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#I_Introduction\" >I Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#II_Installation\" >II Installation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#II1_Installation_et_explications\" >II.1 Installation et explications<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#II2_Verification\" >II.2 V\u00e9rification<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#III_Creation_de_notre_premiere_VM\" >III Cr\u00e9ation de notre premi\u00e8re VM<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#III1_Creation_via_loutil_graphique_%C2%AB_virt-manager_%C2%BB\" >III.1 Cr\u00e9ation via l&rsquo;outil graphique \u00ab\u00a0virt-manager\u00a0\u00bb<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#III2_Informations_et_constations\" >III.2 Informations et constations<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#III3_Creation_via_loutil_de_commande\" >III.3 Cr\u00e9ation via l&rsquo;outil de commande<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#III31_Introduction\" >III.3.1 Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#III32_Partie_reseau\" >III.3.2 Partie r\u00e9seau<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#III33_Creation_dune_VM\" >III.3.3 Cr\u00e9ation d&rsquo;une VM<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#IV_Management_des_VM\" >IV Management des VM<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#IV1_Introduction\" >IV.1 Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/blogperso.union31.fr\/?p=3403\/#IV2_Management_des_VM\" >IV.2 Management des VM<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"I_Introduction\"><\/span>I Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Le module KVM signifie \u00ab\u00a0Kernel-based Virtual Machine\u00a0\u00bb. Il est int\u00e9gr\u00e9 dans le noyau Linux depuis la version 2.6.20. L&rsquo;hyperviseur est dit de type \u00ab\u00a01\u00a0\u00bb car il est au plus proche du mat\u00e9riel. Les hyperviseurs de type \u00ab\u00a02\u00a0\u00bb ont une couche logicielle suppl\u00e9mentaire, comme par exemple VirtualBox.<\/p>\n\n\n\n<p>KVM va fonctionner si les processeurs physiques supportent la virtualisation et que les flags du processeurs soient activ\u00e9s. Pour les processeurs Intel on va parler de \u00ab\u00a0VT-x\u00a0\u00bb et pour les processeurs AMD de \u00ab\u00a0SVM\u00a0\u00bb. Bien regarder dans le BIOS si ces options existent et soient activ\u00e9es.<\/p>\n\n\n\n<p>Sous Linux pour v\u00e9rifier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">lscpu | grep Virtualisation\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Virtualisation<\/mark>&nbsp;:                        <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">VT-x<\/mark><\/code><\/pre>\n\n\n\n<p>ou par ce biais :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:~$ grep -c -E \"vmx|svm\" \/proc\/cpuinfo\n<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">16<\/mark><\/strong>\n<\/code><\/pre>\n\n\n\n<p>ou si KVM peut \u00eatre utilis\u00e9 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:~$ kvm-ok \n<strong>INFO: \/dev\/kvm exists<\/strong>\n<strong>KVM acceleration can be used<\/strong>\n<\/code><\/pre>\n\n\n\n<p>KVM n&rsquo;est pas utilisable en l&rsquo;\u00e9tat. Il faudra passer des outils tiers tels que libvirt et QEMU.<\/p>\n\n\n\n<p>\u00ab\u00a0libvirt\u00a0\u00bb est un ensemble d&rsquo;outils  (API, deamon, outils) qui permet de manager diff\u00e9rents hyperviseurs tels que KVM, QUEMU, Xen, VMWARE, LXC et d&rsquo;autres.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/Libvirt_support.svg_.png\" alt=\"\" class=\"wp-image-3411\" width=\"505\" height=\"284\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/Libvirt_support.svg_.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/Libvirt_support.svg_-300x169.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/Libvirt_support.svg_-768x432.png 768w\" sizes=\"auto, (max-width: 505px) 100vw, 505px\" \/><figcaption>Image provenant de Wikipedia<\/figcaption><\/figure>\n\n\n\n<p>QEMU est quant \u00e0 lui un \u00e9mulateur par d\u00e9faut. Il permet ainsi d&rsquo;\u00e9muler une architecture processeur diff\u00e9rente que le type de processeur de l&rsquo;ordinateur physique. Il peut \u00eatre consid\u00e9r\u00e9 comme un hyperviseur de type \u00ab\u00a022. En revanche, si les types de processeurs sont identiques, QEMU utilisera alors KVM et obientra de ce fait de meilleures performances. Dans ce mode il bascule dans le monde des hyperviseurs de type \u00ab\u00a01\u00a0\u00bb.<\/p>\n\n\n\n<p>Le sch\u00e9ma ci-dessous permet de mieux comprendre les interactions entre les outils, modules et logiciels :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/VirshVirt-toolsVirt-managerX86HardwareIntel_AMD.jpg\" alt=\"\" class=\"wp-image-3419\" width=\"625\" height=\"505\"\/><\/figure>\n\n\n\n<p>Ainsi on pourrait r\u00e9sumer de la mani\u00e8re suivante :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>KVM fait office d&rsquo;hyperviseur ;<\/li><li>QUEMU peut \u00eatre consid\u00e9r\u00e9 comme un client pour manager les VM ;<\/li><li>Libvirt qui lie KVM et QEMU.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"II_Installation\"><\/span>II Installation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"II1_Installation_et_explications\"><\/span>II.1 Installation et explications<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Apr\u00e8s avoir v\u00e9rifi\u00e9 que le processeur du PC supporte les instructions de virtualisation et qu&rsquo;elle soient activ\u00e9es dans le bios, nous allons pouvoir commencer l&rsquo;installation des diff\u00e9rents outils.<\/p>\n\n\n\n<p>Pour installer les premi\u00e8res bases de l&rsquo;hyperviseur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">sudo install -y qemu qemu-kvm libvirt-daemon bridge-utils virt-manager virtinst<\/code><\/pre>\n\n\n\n<p>Les packages install\u00e9s sont :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>qemu : le logiciel d&rsquo;\u00e9mulation ;<\/li><li>qemu-kvm : la possibilit\u00e9 \u00e0 quemu d&rsquo;utiliser KVM ;<\/li><li>libvirt-deamon : le service libvirt ;<\/li><li>bridge-utils : un outil permettant de g\u00e9rer la partie r\u00e9seau pour les VM ;<\/li><li>virt-manager : un outil graphique permettant de voir et de g\u00e9rer (cr\u00e9ation\/modification\/suppression) les VM ;<\/li><li>virtinst : un outil en ligne de commande permettant de cr\u00e9er des VM \u00e0 partir de mod\u00e8les, de cloner des VM, de cr\u00e9er des VM \u00e0 partir de fichiers xml ou de convertir des formats de VM.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"II2_Verification\"><\/span>II.2 V\u00e9rification<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La premi\u00e8re v\u00e9rification \u00e0 effectuer est que l&rsquo;utilisateur soit dans le groupe \u00ab\u00a0libvirt\u00a0\u00bb :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:~$ id\nuid=1000(xavior) gid=1000(xavior) groupes=1000(xavior),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare),139(ubridge),<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">140(libvirt)<\/mark><\/strong>\n<\/code><\/pre>\n\n\n\n<p>Si ce n&rsquo;est pas le cas, il faudra ajouter l&rsquo;utilisateur dans ce groupe.<\/p>\n\n\n\n<p>Si pas d\u00e9j\u00e0 fait, on va d\u00e9marrer et inscrire le service au d\u00e9marrage :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">sudo systemctl start libvirtd\nsudo systemctl enable libvirtd<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"III_Creation_de_notre_premiere_VM\"><\/span>III Cr\u00e9ation de notre premi\u00e8re VM<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"III1_Creation_via_loutil_graphique_%C2%AB_virt-manager_%C2%BB\"><\/span>III.1 Cr\u00e9ation via l&rsquo;outil graphique \u00ab\u00a0virt-manager\u00a0\u00bb<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Nous allons cr\u00e9er notre premi\u00e8re VM avec l&rsquo;outil graphique \u00ab\u00a0virt-manager\u00a0\u00bb. Au pr\u00e9alable il faut disposer d&rsquo;image ISO des syst\u00e8mes que l&rsquo;on veut installer.<\/p>\n\n\n\n<p>Pour lancer l&rsquo;outil :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">virt-manager<\/code><\/pre>\n\n\n\n<p>Ce qui fait appara\u00eetre l&rsquo;outil graphique suivant :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager-1-1024x567.png\" alt=\"\" class=\"wp-image-3439\" width=\"679\" height=\"376\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager-1-1024x567.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager-1-300x166.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager-1-768x425.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager-1.png 1131w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/figure>\n\n\n\n<p>Cliquer sur fichier puis sur \u00ab\u00a0Nouvelle machine virtuelle\u00a0\u00bb :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"363\" height=\"177\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM1.png\" alt=\"\" class=\"wp-image-3441\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM1.png 363w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM1-300x146.png 300w\" sizes=\"auto, (max-width: 363px) 100vw, 363px\" \/><\/figure>\n\n\n\n<p>L&rsquo;\u00e9cran suivant appara\u00eet :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"563\" height=\"545\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM2.png\" alt=\"\" class=\"wp-image-3443\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM2.png 563w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM2-300x290.png 300w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><\/figure>\n\n\n\n<p>S\u00e9lectionner \u00ab\u00a0M\u00e9dia d&rsquo;installation local\u00a0\u00bb puis cliquer sur \u00ab\u00a0Suivant\u00a0\u00bb :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"973\" height=\"551\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM3.png\" alt=\"\" class=\"wp-image-3444\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM3.png 973w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM3-300x170.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM3-768x435.png 768w\" sizes=\"auto, (max-width: 973px) 100vw, 973px\" \/><\/figure>\n\n\n\n<p>Renseigner \u00e0 la main le chemin de l&rsquo;image ISO puis taper sur \u00ab\u00a0Entr\u00e9e\u00a0\u00bb. Le syst\u00e8me d&rsquo;exploitation devrait \u00eatre reconnu et renseign\u00e9 (bas de la fen\u00eatre). Cliquer sur \u00a0\u00bb Suivant\u00a0\u00bb :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"513\" height=\"548\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM4.png\" alt=\"\" class=\"wp-image-3445\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM4.png 513w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM4-281x300.png 281w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/figure>\n\n\n\n<p>D\u00e9finir la quantit\u00e9 de RAM et le nombre de CPU, puis cliquer sur \u00ab\u00a0Suivant\u00a0\u00bb :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"516\" height=\"550\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM5.png\" alt=\"\" class=\"wp-image-3446\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM5.png 516w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM5-281x300.png 281w\" sizes=\"auto, (max-width: 516px) 100vw, 516px\" \/><\/figure>\n\n\n\n<p>D\u00e9finir la taille de l&rsquo;image disque pour la VM puis cliquer sur \u00ab\u00a0Suivant\u00a0\u00bb :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"657\" height=\"554\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM6.png\" alt=\"\" class=\"wp-image-3448\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM6.png 657w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM6-300x253.png 300w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\" \/><\/figure>\n\n\n\n<p>D\u00e9finir un nom pour la VM puis cliquer sur \u00ab\u00a0Terminer\u00a0\u00bb :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"591\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM7-1024x591.png\" alt=\"\" class=\"wp-image-3450\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM7-1024x591.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM7-300x173.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM7-768x443.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM7.png 1153w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>La VM est cr\u00e9\u00e9e avec les param\u00e8tres demand\u00e9s puis l&rsquo;\u00e9cran de la VM est affich\u00e9e.<\/p>\n\n\n\n<p>A chacun de d\u00e9finir ses param\u00e8tres d&rsquo;installation suivant le syst\u00e8me d&rsquo;exploitation choisi. Ce qui nous donne dans notre cas et au final la VM suivante :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"581\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM8-1024x581.png\" alt=\"\" class=\"wp-image-3453\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM8-1024x581.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM8-300x170.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM8-768x436.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_creationVM8.png 1532w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"III2_Informations_et_constations\"><\/span>III.2 Informations et constations<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Sans rien faire de particulier, la VM est fonctionnelle et a du r\u00e9seau :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>elle acc\u00e8de \u00e0 internet via la connexion du PC physique : par d\u00e9faut un r\u00e9seau virtuel de type NAT est mis en oeuvre ;<\/li><li>le syst\u00e8me d&rsquo;exploitation a une adresse IP : par d\u00e9faut un DHCP est pr\u00e9sent et il d\u00e9livre des adresses IPV4 et IPV6.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"645\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_constationVM1-1024x645.png\" alt=\"\" class=\"wp-image-3460\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_constationVM1-1024x645.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_constationVM1-300x189.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_constationVM1-768x484.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-manager_constationVM1.png 1068w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Le fichier image de la VM est positionn\u00e9 dans le r\u00e9pertoire \u00ab\u00a0\/var\/lib\/libvirt\/images\u00a0\u00bb :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">\/var\/lib\/libvirt\/images<\/mark>$ sudo ls -alh\ntotal 8,7G\ndrwx--x--x 2 root root 4,0K mars  19 20:41 .\ndrwxr-xr-x 7 root root 4,0K f\u00e9vr. 18 19:27 ..\n-rw------- 1 root root  <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-orange-color\">26G<\/mark><\/strong> mars  19 21:00 KVM_ubuntu20.04.qcow2\n<\/code><\/pre>\n\n\n\n<p>On remarque que :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>le format de l&rsquo;image est de type \u00ab\u00a0qcow2\u00a0\u00bb (QEMU Copy On Write) ;<\/li><li>la taille du fichier n&rsquo;est pas dynamique ;<\/li><li>la taille de l&rsquo;\u00e9cran du syst\u00e8me d&rsquo;exploitation n&rsquo;est pas dynamique en fonction de la taille de la fen\u00eatre de visualisation de la vm ;<\/li><li>pas de copier\/coller traversant le VM ;<\/li><li>etc.<\/li><\/ul>\n\n\n\n<p>Oui les fonctionnalit\u00e9s \u00ab\u00a0friendly\u00a0\u00bb disponibles dans Virtualbox ou VmWare Player ne semblent pas \u00eatre disponibles (le redimensionnement est activable dans les options) . Mais l&rsquo;objectif final est avant tout d&rsquo;h\u00e9berger des serveurs et pour lesquelles ces fonctions ne seront pas utilis\u00e9es souvent. On pr\u00e9f\u00e9rera des acc\u00e8s par SSH ou via RDP sinon.<\/p>\n\n\n\n<p>Avant de continuer, il est souhaitable de parcourir et de regarder les options et pr\u00e9f\u00e9rences du \u00ab\u00a0gestionnaire de machines virtuelles\u00a0\u00bb ainsi que les propri\u00e9t\u00e9s pour commencer \u00e0 s&rsquo;approprier l&rsquo;outil : partie r\u00e9seau, disque, gestion des instantan\u00e9s, propri\u00e9t\u00e9s de la VM, ajout p\u00e9riph\u00e9riques, etc.<\/p>\n\n\n\n<p>  <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"III3_Creation_via_loutil_de_commande\"><\/span>III.3 Cr\u00e9ation via l&rsquo;outil de commande<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"III31_Introduction\"><\/span>III.3.1 Introduction<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Nous allons voir comment cr\u00e9er une VM en ligne de commande. Il y a plusieurs mani\u00e8re de faire cette op\u00e9ration. Nous allons dans notre cas cr\u00e9er une machine virtuelle avec l&rsquo;outil \u00ab\u00a0virt-install\u00a0\u00bb. Mais avant nous allons nous occuper du r\u00e9seau. Pour cela nous allons utiliser l&rsquo;outil \u00ab\u00a0virsh\u00a0\u00bb.<\/p>\n\n\n\n<p>Cet outil utilise la librairie libvirt et permet de g\u00e9rer les domaines suivants :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>le domaine KVM (connexion, association disque, m\u00e9moire, config QEMU, etc.) ;<\/li><li>le monitoring de KVM ;<\/li><li>les h\u00f4tes et leh superviseur ;<\/li><li>les points d&rsquo;arr\u00eat (chekpoints) ;<\/li><li>les  interfaces r\u00e9seaux (interfaces) ;<\/li><li>les filtres r\u00e9seaux (network filter) ;<\/li><li>le type de r\u00e9seau (ex : type NAT et caract\u00e9ristiques demand\u00e9es) ;<\/li><li>les Devices ;<\/li><li>la s\u00e9curit\u00e9 (Secret) ;<\/li><li>les snapshots ;<\/li><li>les backup ;<\/li><li>les  pools ;<\/li><li>les espaces de stockage (Storage volume).<\/li><\/ul>\n\n\n\n<p>Nous n&rsquo;allons pas voir l&rsquo;ensemble des domaines mais seulement ceux qui vont nous permettre de cr\u00e9er un r\u00e9seau virtuel. Ainsi nous aborderons dans un premier temps la partie r\u00e9seau puis la cr\u00e9ation proprement dite d&rsquo;une VM. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"III32_Partie_reseau\"><\/span>III.3.2 Partie r\u00e9seau<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Il existe un contexte r\u00e9seau virtuel par d\u00e9faut qui sera utilis\u00e9 par les VM. Pour prendre connaissance de ces r\u00e9seaux, on peut utiliser la commande suivante : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:~$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\"><strong>virsh net-list<\/strong> --all<\/mark> \n Name      State    Autostart   Persistent\n--------------------------------------------\n <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">default   active   yes         yes<\/mark>\n<\/code><\/pre>\n\n\n\n<p>Ici le r\u00e9seau virtuel porte le nom de \u00ab\u00a0default\u00a0\u00bb.  Ce r\u00e9seau  est actif (state) et il s&rsquo;activera automatiquement (autostart).<\/p>\n\n\n\n<p>Pour d\u00e9finir ces \u00e9tats :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">virsh <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">net-start<\/mark> default\nvirsh <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">net-autostart<\/mark> default<\/code><\/pre>\n\n\n\n<p>Pour voir la configuration de ce r\u00e9seau et ses caract\u00e9ristiques :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">virsh net-dumpxml default<\/code><\/pre>\n\n\n\n<p>Ce qui donne :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"xml\" class=\"language-xml\">&lt;network connections='1'&gt;\n  &lt;name&gt;default&lt;\/name&gt;\n  &lt;uuid&gt;eddf420a-10ca-45c5-abbe-4812c7e1d16a&lt;\/uuid&gt;\n  &lt;forward mode='nat'&gt;\n    &lt;nat&gt;\n      &lt;port start='1024' end='65535'\/&gt;\n    &lt;\/nat&gt;\n  &lt;\/forward&gt;\n  &lt;bridge name='virbr0' stp='on' delay='0'\/&gt;\n  &lt;mac address='52:54:00:8d:5d:a7'\/&gt;\n  &lt;ip address='192.168.122.1' netmask='255.255.255.0'&gt;\n    &lt;dhcp&gt;\n      &lt;range start='192.168.122.2' end='192.168.122.254'\/&gt;\n    &lt;\/dhcp&gt;\n  &lt;\/ip&gt;\n&lt;\/network&gt;<\/code><\/pre>\n\n\n\n<p>Ainsi nous remarquons :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>qu&rsquo;un r\u00e9seau de type NAT est mont\u00e9 ;<\/li><li>que cela utilise un pont r\u00e9seau nomm\u00e9 \u00ab\u00a0virbr0\u00a0\u00bb avec un mac address sp\u00e9cifique ;<\/li><li>une classe r\u00e9seau 192.168.122.0 est utilis\u00e9e avec comme passerelle 192.168.122.1 ;<\/li><li>un DHCP est disponible est qui d\u00e9livre des adresses IP de 192.168.122.2 \u00e0 254.<\/li><\/ul>\n\n\n\n<p>Nous allons cr\u00e9er notre propre r\u00e9seau. Pour cela il faut cr\u00e9er un fichier xml et nous partirons du mod\u00e8le du r\u00e9seau \u00ab\u00a0default\u00a0\u00bb. Notre fichier xml sera :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;network connections='1'&gt;\n  &lt;name&gt;mon_reseau_nat&lt;\/name&gt;\n  &lt;forward mode='nat'&gt;\n    &lt;nat&gt;\n      &lt;port start='1024' end='65535'\/&gt;\n    &lt;\/nat&gt;\n  &lt;\/forward&gt;\n  &lt;bridge name='virbr1' stp='on' delay='0'\/&gt;\n  &lt;mac address='52:54:00:8d:5d:a8'\/&gt;\n  &lt;ip address='192.168.150.254' netmask='255.255.255.0'&gt;\n    &lt;dhcp&gt;\n      &lt;range start='192.168.150.50' end='192.168.150.220'\/&gt;\n    &lt;\/dhcp&gt;\n  &lt;\/ip&gt;\n&lt;\/network&gt;<\/code><\/pre>\n\n\n\n<p>Ce fichier, nomm\u00e9 \u00ab\u00a0mon_reseau.xml\u00a0\u00bb :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>ne prend pas en compte la balise uuid : ce sera d\u00e9finit \u00e0 la cr\u00e9ation du r\u00e9seau ;<\/li><li>porte un nom qui nous est propre ; <\/li><li>utilise un bridge propre \u00e0 lui avec une mac address diff\u00e9rente que le bridge du reseau \u00ab\u00a0default\u00a0\u00bb ;<\/li><li>d\u00e9finit une gateaway en 192.168.150.254 et un r\u00e9seau 192.168.150.0 ;<\/li><li>active le DHCP pour les adresses IP de 192.168.150.50 \u00e0 220.<\/li><\/ul>\n\n\n\n<p>Ainsi pour l&rsquo;ajouter dans KVM :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:~$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh <\/mark><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">net-define mon_reseau.xml<\/mark> <\/strong>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Network mon_reseau_nat defined from mon_reseau.xml<\/mark>\n<\/code><\/pre>\n\n\n\n<p>Pour v\u00e9rifier :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:~$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh net-list --all<\/mark>\n Name             State      Autostart   Persistent\n-----------------------------------------------------\n default          active     yes         yes\n <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">mon_reseau_nat   inactive   no          yes<\/mark>\n<\/code><\/pre>\n\n\n\n<p>Nous allons activer le r\u00e9seau et d\u00e9sactiver le \u00ab\u00a0default\u00a0\u00bb :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:~$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh net-start mon_reseau_nat<\/mark> \nNetwork mon_reseau_nat started\n\nxavior@mon_pc:~$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh net-autostart mon_reseau_nat<\/mark> \nNetwork mon_reseau_nat marked as autostarted\n\nxavior@mon_pc:~$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh net-destroy default<\/mark> \nNetwork default destroyed<\/code><\/pre>\n\n\n\n<p>Ce qui donne :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@xavior-Latitude-7490:~$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh net-list --all<\/mark>\n Name             State      Autostart   Persistent\n-----------------------------------------------------\n default          <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">inactive<\/mark>   yes         yes\n <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">mon_reseau_nat   active     yes         yes<\/mark><\/strong>\n<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"III33_Creation_dune_VM\"><\/span>III.3.3 Cr\u00e9ation d&rsquo;une VM<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Apr\u00e8s avoir cr\u00e9\u00e9 notre r\u00e9seau, nous allons maintenant cr\u00e9er la VM en utilisant la commande \u00ab\u00a0virt-install\u00a0\u00bb qui sera la suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:~$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virt-install -n ubuntu_kvm_shellcmd --description \"VM Ubuntu par commande shell\" --ram=6000 --vcpus=2 --disk=\/var\/lib\/libvirt\/images\/ubuntu_shellcmd.qcow2,bus=virtio,size=20 --network bridge=virbr1 --location \/home\/xavior\/Documents\/Dev\/Machines_virtuelles\/ISO\/ubuntu-20.04.3-desktop-amd64.iso --vnc --noautoconsole --extra-args console=ttyS0<\/mark><\/code><\/pre>\n\n\n\n<p>Explication des options :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>-n : nom de la vm<\/li><li>&#8212; description : description de la VM<\/li><li>&#8211;ram : quantit\u00e9 de m\u00e9moire vive (en Go)<\/li><li>&#8211;vcpus : nombre de cpu de la VM<\/li><li>&#8211;disk : chemin o\u00f9 sera le fichier de la VM<\/li><li>&#8211;network : choix du r\u00e9seau virtuel<\/li><li>&#8212; location : d\u00e9marer avec un iso dans le lecteur de cd-rom<\/li><li>&#8212; affichage de l&rsquo;\u00e9cran via VNC<\/li><li>&#8211;noautoconsole : ne lance pas la console de l&rsquo;h\u00f4te<\/li><\/ul>\n\n\n\n<p>Ce qui donne :<\/p>\n\n\n\n<pre id=\"block-2d5d53b5-8c32-496b-b3ed-61320d091695\" class=\"wp-block-code\"><code class=\"\">D\u00e9but d\u2019installation\u2026<br>R\u00e9cup\u00e9ration du fichier vmlinuz\u2026                                                                                                        | 9.7 MB  00:00:00     <br>R\u00e9cup\u00e9ration du fichier initrd\u2026                                                                                                         |  94 MB  00:00:00     <br>Allocation de \u00ab&nbsp;virtinst-k7z0hw7z-vmlinuz&nbsp;\u00bb                                                                                             | 9.7 MB  00:00:00     <br>Transfert de virtinst-k7z0hw7z-vmlinuz                                                                                                  | 9.7 MB  00:00:00     <br>Allocation de \u00ab&nbsp;virtinst-htw7z3d9-initrd&nbsp;\u00bb                                                                                              |  94 MB  00:00:00     <br>Transfert de virtinst-htw7z3d9-initrd                                                                                                   |  94 MB  00:00:01     <br>Allocation de \u00ab&nbsp;ubuntu_shellcmd.qcow1&nbsp;\u00bb                                                                                                 |  20 GB  00:00:00     <br>Installation du domaine encore en cours. Vous pouvez vous reconnecter \u00e0 <br>la console pour terminer le processus d\u2019installation.<\/code><\/pre>\n\n\n\n<p>A ce stade la VM est cr\u00e9\u00e9e puis a \u00e9t\u00e9 lanc\u00e9e et a boot\u00e9 sur le CD-ROM et attend les interactions utilisateur.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"553\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-install1-2-1024x553.png\" alt=\"\" class=\"wp-image-3508\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-install1-2-1024x553.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-install1-2-300x162.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-install1-2-768x415.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2022\/03\/virt-install1-2.png 1258w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Voici la fin de la premi\u00e8re installation d&rsquo;un VM.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV_Management_des_VM\"><\/span>IV Management des VM<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV1_Introduction\"><\/span>IV.1 Introduction<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Nous allons voir quelques commandes qui permettent de manager les VM en lignes de commandes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV2_Management_des_VM\"><\/span>IV.2 Management des VM<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><span style=\"text-decoration: underline;\">Lister les VM et voir leur \u00e9tat de fonctionnement :<\/span><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@xmon_pc:\/var\/lib\/libvirt$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh list --all<\/mark>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\"> Id   Name                  State\n-------------------------------------\n 8    KVM_ubuntu20.04       running\n 13   ubuntu_kvm_shellcmd   running<\/mark>\n<\/code><\/pre>\n\n\n\n<p><span style=\"text-decoration: underline;\">Actions usuelles :<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>arr\u00eat (gracieux)  : <strong>virsh shutdown ubuntu_kvm_shellcmd <\/strong><\/li><li>arret forc\u00e9  : <strong>virsh destroy ubuntu_kvm_shellcmd<\/strong><\/li><li>d\u00e9marrage  : <strong>virsh start ubuntu_kvm_shellcmd<\/strong><\/li><li>mettre en pause :<strong> virsch suspend ubuntu_kvm_shellcmd<\/strong><\/li><li>enlever la pause : <strong>virsh resume ubuntu_kvm_shellcmd<\/strong><\/li><li>supprimer une VM : <strong>virsh undefine ubuntu_kvm_shellcmd &amp;&amp; virsh destroy ubuntu_kvm_shellcmd<\/strong><\/li><\/ul>\n\n\n\n<p><span style=\"text-decoration: underline;\">Obtenir des infos sur la VM :<\/span><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:\/var\/lib\/libvirt$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh <strong>dominfo ubuntu_kvm_shellcmd<\/strong> <\/mark>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Id:             18\nName:           ubuntu_kvm_shellcmd\nUUID:           78fee9e5-c681-4d03-828d-a6bc06807b70\nOS Type:        hvm\nState:          running\nCPU(s):         2\nCPU time:       77,5s\nMax memory:     6144000 KiB\nUsed memory:    6144000 KiB\nPersistent:     yes\nAutostart:      disable\nManaged save:   no\nSecurity model: apparmor\nSecurity DOI:   0\nSecurity label: libvirt-78fee9e5-c681-4d03-828d-a6bc06807b70 (enforcing)<\/mark><\/code><\/pre>\n\n\n\n<p><span style=\"text-decoration: underline;\">Utilisation des snaphots :<\/span><\/p>\n\n\n\n<p>Cr\u00e9er un snapshot :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:\/var\/lib\/libvirt$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh snapshot-create-as ubuntu_kvm_shellcmd --name \"snapshot_avant_install\" --description \"pas encore install\u00e9\"<\/mark>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Domain snapshot snapshot_avant_install created<\/mark><\/code><\/pre>\n\n\n\n<p>Lister les snapshots :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:\/var\/lib\/libvirt$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh snapshot-list ubuntu_kvm_shellcmd<\/mark> \n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\"> Name                     Creation Time               State\n---------------------------------------------------------------\n snapshot_apres_install   2022-03-20 18:17:47 +0100   running\n snapshot_avant_install   2022-03-20 18:15:10 +0100   running<\/mark>\n\nxavior@mon_pc:\/var\/lib\/libvirt$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh snapshot-list ubuntu_kvm_shellcmd --tree<\/mark>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">snapshot_avant_install\n  |\n  +- snapshot_apres_install<\/mark>\n<\/code><\/pre>\n\n\n\n<p>Revenir sur l&rsquo;\u00e9tat d&rsquo;un snapshot :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">virsh snapshot-revert ubuntu_kvm_shellcmd snapshot_avant_install<\/code><\/pre>\n\n\n\n<p>Supprimer un snapshot<\/p>\n\n\n\n<p>Faire un clone simple (VM arr\u00e9t\u00e9e) :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:\/var\/lib\/libvirt$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virsh snapshot-delete ubuntu_kvm_shellcmd --snapshotname snapshot_apres_install <\/mark>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Domain snapshot snapshot_apres_install deleted<\/mark><\/code><\/pre>\n\n\n\n<p><span style=\"text-decoration: underline;\">Cloner des vm :<\/span><\/p>\n\n\n\n<p>Pour effectuer un clone rapidement :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:\/var\/lib\/libvirt$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virt-clone --original ubuntu_kvm_shellcmd --auto-clone<\/mark>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Allocation de \u00ab&nbsp;ubuntu_shellcmd-clone.qcow2&nbsp;\u00bb                                                                                             |  20 GB  00:00:00     \n\nLe clone \u00ab ubuntu_kvm_shellcmd-clone \u00bb a \u00e9t\u00e9 cr\u00e9\u00e9.<\/mark><\/code><\/pre>\n\n\n\n<p>Faire un clone en sp\u00e9cifiant le nom du clone final :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">xavior@mon_pc:\/var\/lib\/libvirt$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">virt-clone --original ubuntu_kvm_shellcmd --name \"ubuntu_kvm_shellcmd_clon\u00e9\" --auto-clone<\/mark>\n<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Allocation de \u00ab&nbsp;ubuntu_shellcmd-clone-1.qcow2&nbsp;\u00bb                                                                                           |  20 GB  00:00:00     \n\nLe clone \u00ab ubuntu_kvm_shellcmd_clon\u00e9 \u00bb a \u00e9t\u00e9 cr\u00e9\u00e9.<\/mark><\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>Le clone d&rsquo;une VM, et si l&rsquo;on veut l&rsquo;utiliser pour en faire une autre VM, n\u00e9cessite de revoir un certain nombre de param\u00e8tres syst\u00e8mes \u00e0 d\u00e9finir (nom machine, compte, carte r\u00e9seau, etc.). Afin d&rsquo;\u00e9viter ce travail fastidieux il existe plusieurs techniques (nin vue en d\u00e9tail) :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>installer une image Ubuntu en mode OEM ;<\/li><li>lancer l&rsquo;installation d&rsquo;une Ubuntu avec un fichier \u00ab\u00a0pressed\u00a0\u00bb (fichier permettant d&rsquo;automatiser ;<\/li><li>utiliser l&rsquo;outil \u00ab\u00a0virt-sysprep\u00a0\u00bb qui permet de reseter un clone.<\/li><\/ul>\n\n\n\n<p>C&rsquo;est ici que se termine cette introduction.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En cours de r\u00e9daction &#8230; Nous allons voir comment mettre en \u0153uvre la fonction hyperviseur sur son pc sous Linux, ici Ubuntu 20.04 LTS, et \u00e9galement les divers outils qui permettent de g\u00e9rer des VM. I Introduction Le module KVM<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-3403","post","type-post","status-publish","format-standard","hentry","category-_systeme"],"_links":{"self":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/3403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3403"}],"version-history":[{"count":82,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/3403\/revisions"}],"predecessor-version":[{"id":3537,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/3403\/revisions\/3537"}],"wp:attachment":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}