{"id":504,"date":"2015-02-20T22:56:49","date_gmt":"2015-02-20T22:56:49","guid":{"rendered":"http:\/\/faq.graven-ict.nl\/wordpress\/?p=504"},"modified":"2021-01-30T13:47:13","modified_gmt":"2021-01-30T13:47:13","slug":"virsh-cheat-sheet","status":"publish","type":"post","link":"https:\/\/wiki.graven-ict.nl\/wordpress\/virsh-cheat-sheet\/","title":{"rendered":"Virsh cheat sheet"},"content":{"rendered":"<p>Hoewel ik vaak gebruik maak van <b>Virtual Machine Manager<\/b> (<a class=\"external text\" href=\"http:\/\/virt-manager.et.redhat.com\/faq.html\" rel=\"nofollow\">virt-manage<\/a>) is het toch wel makkelijk om ook bekend te zijn met de command line om diverse taken uit te voeren. Vandaar deze cheat sheat.<\/p>\n<h3><span id=\"connectie_naar_de_hypervisor\" class=\"mw-headline\">connectie naar de hypervisor<\/span><\/h3>\n<p>Om lokaal te verbinden met de de hyperviser.<\/p><div id=\"grave-2725515240\" class=\"grave-content grave-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-1970734611769428\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:inline-block;width:728px;height:90px;\" \ndata-ad-client=\"ca-pub-1970734611769428\" \ndata-ad-slot=\"1820224830\"><\/ins> \n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<pre> edwin@defiant:~$ virsh -c qemu:\/\/\/system\n Connecting to uri: qemu:\/\/\/system\n Welcome to virsh, the virtualization interactive terminal.\n\n Type:  'help' for help with commands\n        'quit' to quit\n\n virsh # \n<\/pre>\n<p>Maar de meeste virtual machines beheer ik remote, je kan natuurlijk eerst met ssh inloggen op het remote systeem maar eenvoudiger is om het rechtstreeks te doen. de machine waar ik naar connect heet <b>starbase10<\/b>, je kan hier ook een <b>IP adres<\/b> in vullen.<\/p>\n<pre> edwin@defiant:~$ virsh -c qemu+ssh:\/\/starbase10\/system\n Connecting to uri: qemu+ssh:\/\/starbase10\/system\n Welcome to virsh, the virtualization interactive terminal.\n\n Type:  'help' for help with commands\n        'quit' to quit\n\n virsh #\n<\/pre>\n<h3><span id=\"List_Virtual_Machines\" class=\"mw-headline\">List Virtual Machines<\/span><\/h3>\n<p>Nu we weten hoe we verbinding kunnen maken met de Hyperviser kan je verschillende taken uitvoeren. om te zien welke virtual machines er actief zijn op je host gebruik je het commando list<\/p>\n<pre>virsh # list \n Id Name                 State\n----------------------------------\n  2 doyle                running\n  3 nash                 running\n  6 springfield          running\n  7 magellan             running\n\nvirsh # \n<\/pre>\n<p>List zonder optie laat dus alleen de actieve virtual machines zien. wil je alle virtual machines zien, dus ook de virtual machines die uit staan gebruik je de optie &#8211;all.<\/p>\n<pre>virsh # list --all\n Id Name                 State\n----------------------------------\n  2 doyle                running\n  3 nash                 running\n  6 springfield          running\n  7 magellan             running\n  - baton-rouge          shut off\n  - stargazer            shut off\n  - vico                 shut off\n\nvirsh # \n<\/pre>\n<h3><span id=\"Stop_Start_en_reboot_Virtual_machines\" class=\"mw-headline\">Stop Start en reboot Virtual machines<\/span><\/h3>\n<p>We kunnen via de command line ook eenvoudig virtual machine stoppen, starten, en rebooten. let op voor stoppen van de machine moet je gast OS dit wel ondersteunen. als het niet kan en je hebt geen andere mogelijkheid, kan je ook virtueel de power plug er uit trekken.<\/p>\n<pre> \n virsh # start baton-rouge\n Domain baton-rouge started\n\n virsh # shutdown  baton-rouge \n Domain baton-rouge is being shutdown\n<\/pre>\n<p>Als shutdown niet werkt, en je kan ook niet meer inloggen op het systeem hem je ook nog de mogelijkheid om als het ware de power van het systeem af te halen. dit doe je met het destroy commando<\/p>\n<pre> virsh # destroy baton-rouge\n Domain baton-rouge destroyed\n<\/pre>\n<h3 class=\"entry-title\">Wat is mijn Virtual Machine\u2019s IP Address<\/h3>\n<p>Je hebt net je virtual machine gestart. en deze maakt gebruik van DHCP. dan kan je eenvoudig het IP address achter halen. met virsh<\/p>\n<pre>virsh # domifaddr base1604\nName MAC address Protocol Address\n-------------------------------------------------------------------------------\nvnet0 52:54:00:ec:81:6a ipv4 192.168.123.87\/24\n<\/pre>\n<h1>Welke componenten\/resource zijn geconfigueerd aan mijn virtual machine.<\/h1>\n<p>je kan natuurlijk dumpxl &lt;domain&gt; gebruiken en door de XML code heen worstelen en de configuratie bekijken. maar er zijn ook commando&#8217;s beschikbaar die alles netjes weer geven. een kort overzicht van deze commando zie je door &#8220;help monitor&#8221; op te vragen.<\/p>\n<h3><strong>Basis info over de virtual machine<\/strong><\/h3>\n<p>met dominfo &lt;domain&gt; krijg je de basis info van de virtual machine. aantal cpu, Memory en Max Memory enz.<\/p>\n<pre>virsh # dominfo Intrepid\nId:             12\nName:           Intrepid\nUUID:           34055d36-bded-3ce5-4654-ffce437371ba\nOS Type:        hvm\nState:          running\nCPU(s):         4\nCPU time:       148.3s\nMax memory:     8388608 KiB\nUsed memory:    4194304 KiB\nPersistent:     yes\nAutostart:      disable\nManaged save:   no\nSecurity model: apparmor\nSecurity DOI:   0\nSecurity label: libvirt-34055d36-bded-3ce5-4654-ffce437371ba (enforcing)<\/pre>\n<h3>Welke disken hangen er aan de Virtual Machine<\/h3>\n<p>domblklist geeft een lijk met block device\/disken die aan je Virtual Machine hangen. aan de onderstaande machine hangen dus 4 disken<br>de 5de schijf hda is wel een device maar daar hangt geen block device das in dit geval een CD\/DVD speler.<\/p>\n<pre>virsh # domblklist Intrepid\nTarget     Source\n------------------------------------------------\nvda        \/var\/lib\/libvirt\/images\/Intrepid.img\nvdb        \/var\/lib\/libvirt\/images\/Intrepid-2.img\nvdc        \/var\/lib\/libvirt\/images\/Intrepid-3.img\nvdd        \/var\/lib\/libvirt\/images\/Intrepid-4.img\nhda        -\n<\/pre>\n<h3>Meer Info over een specifieke device<\/h3>\n<p>om meer te weten te komen over een specifieke disk kan met qume-img kijken maar ook binnen virsh kan je deze infoi bekijken. onderstaande voor beeld is een disk van een machine waar ik een aantal keer een snapshot van gemaakt heb. die ruimte word nooit meer vrij gegeven dat kan je in onderstaande voorbeeld goed zien. van uit het OS gezien is de disk 23G groot. er is een kleine 19G in gebruik. maar op de het gast systeem neem deze disk wel 45G in beslag. hoe je deze ruimte terug krijgt vind je elders op deze site.<\/p>\n<pre>virsh # domblkinfo gibraltar vda \nCapacity:       23622320128\nAllocation:     19553992704\nPhysical:       46860599296<\/pre>\n<h3>Welke netwerk interfaces zijn geconfigueerd op mijn Virtual Machine<\/h3>\n<p>om de netwerk interfaces te bekijken kan je gebruik maken van domiflist<\/p>\n<pre>virsh # domiflist Intrepid\nInterface  Type       Source     Model       MAC\n-------------------------------------------------------\nvnet8      bridge     br0        virtio      52:54:00:24:00:7\n<\/pre>\n\n\n<h2 class=\"wp-block-heading\">Verwijder\/delete een virtual machine<\/h2>\n\n\n\n<p>een virtual machine kunnen we eenvoudig verwijderen via de command line, hiervoor gebruiken we undefine. zonder opties verwijderd het alleen de virtual machine maar de disk image blijft bestaan, wil je <em>die<\/em> ook verwijderd hebben gebruik dan de optie<em><strong>&#8211;remove-all-storage<\/strong>. <\/em>een vereiste is uiteraard wel dat de betreffende vm uit staat.<\/p>\n\n\n\n\n\n<pre class=\"wp-block-code\"><code>$ cd \/var\/lib\/libvirt\n$ ls -al images\/\ntotal 6420072\ndrwxrwx--x 2 libvirt-qemu kvm         4096 Jan 29 11:05 .\ndrwxr-xr-x 9 root         root        4096 Jan 19 16:19 ..\n-rw------- 1 root         root  2176778240 Jan 29 11:03 rh8_client1.qcow2\n-rw------- 1 root         root 21478375424 Jan 29 11:03 rhel8.qcow2\n-rw------- 1 libvirt-qemu kvm   2176319488 Jan 30 13:39 rhelclone.qcow2\n\n$ virsh list --all \n Id   Name          State\n------------------------------\n 3    rhelclone     running\n -    rhel8         shut off\n -    rh8_client1   shut off\n\n$ virsh undefine rhel8\nDomain rhel8 has been undefined\n\n$ virsh undefine rh8_client1 --remove-all-storage\nDomain rh8_client1 has been undefined\nVolume 'hda'(\/var\/lib\/libvirt\/images\/rh8_client1.qcow2) removed.\n\n$ ls -al images\/\ntotal 4294144\ndrwxrwx--x 2 libvirt-qemu kvm         4096 Jan 30 13:41 .\ndrwxr-xr-x 9 root         root        4096 Jan 19 16:19 ..\n-rw------- 1 root         root 21478375424 Jan 29 11:03 rhel8.qcow2\n-rw------- 1 libvirt-qemu kvm   2176319488 Jan 30 13:41 rhelclone.qcow2<\/code><\/pre>\n\n\n\n<p>Bij het eerste command is de disk image dus niet verwijderd dat zal je dan zelf moeten doen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoewel ik vaak gebruik maak van Virtual Machine Manager (virt-manage) is het toch wel makkelijk om ook bekend te zijn met de command line om diverse taken uit te voeren. Vandaar deze cheat sheat. connectie naar de hypervisor Om lokaal te verbinden met de de hyperviser. edwin@defiant:~$ virsh -c qemu:\/\/\/system Connecting to uri: qemu:\/\/\/system Welcome ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/wiki.graven-ict.nl\/wordpress\/virsh-cheat-sheet\/\" title=\"Meer lezen...\">Lees meer<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[36],"tags":[],"class_list":["post-504","post","type-post","status-publish","format-standard","hentry","category-kvm-kernel-based-virtual-machine"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/comments?post=504"}],"version-history":[{"count":11,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/504\/revisions"}],"predecessor-version":[{"id":813,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/504\/revisions\/813"}],"wp:attachment":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/media?parent=504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/categories?post=504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/tags?post=504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}