virsh je rozhraní nebo příkaz pro správu virtuálních strojů založených na hypervizoru KVM. Na rozhraní virsh jsou virtuální stroje identifikovány svými názvy domén, takže virsh se obecně používá k výpisu aktuálních domén, k vytváření, pozastavení a vypnutí domén. Virsh spadá pod GNU Lesser General Public License a podporuje Xen, QEmu, KVM, LXC, OpenVZ, VirtualBox a VMware ESX.
V tomto tutoriálu probíráme praktické příklady příkazu virsh:
Příklad 1 :Nainstalujte verzi KVM na hostitelský počítač.
# virsh version Compiled against library: libvir 0.9.4 Using library: libvir 0.9.4 Using API: QEMU 0.9.4 Running hypervisor: QEMU 0.12.1
Příklad 2 :Získejte informace o paměti KVM Hypervisor (Host).
# virsh nodememstats total : 65979984 kB free : 44783040 kB buffers: 604388 kB cached : 16473328 kB
Příklad 3 :Získejte informace o CPU KVM Hypervisor.
# virsh nodecpustats user: 122779270000000 system: 1304262720000000 idle: 470011564690000000 iowait: 110371800000000
Příklad 4 :Získejte několik hostovaných virtuálních počítačů bez ohledu na stav, jako je běh, uložení, vypnutí atd.
# virsh list --all Id Name State ---------------------------------- 3 test running
Příklad 5 :Získejte všechny sítě dostupné pro hypervizor KVM.
# virsh net-list Name State Autostart ----------------------------------------- default active yes
Příklad 6 :Získejte informace o hardwaru hostujícího počítače KVM.
Syntaxe:
# virsh dominfo BaseMachine
Příklad:
# virsh dominfo test Id: 3 Name: test UUID: 9ae96029-6c3d-8bd1-6e19-926183f89074 OS Type: hvm State: running CPU(s): 4 CPU time: 26862.0s Max memory: 4194304 kB Used memory: 4194304 kB Persistent: yes Autostart: disable Managed save: no
Příklad 7 :Vypnutí virtuálního počítače.
# virsh shutdown machine_name
Příklad 8 :Restartujte virtuální počítač.
# virsh reboot machine_name
Příklad 9 :Vypnutí nebo zničení stroje.
# virsh destroy machine_name
Příklad 10 :Spusťte virtuální počítač.
# virsh start machine_name
Příklad 11 :Připojte se ke konkrétnímu virtuálnímu počítači pomocí virt-viewer.
syntaxe:
# virt-viewer -c qemu:///system machine_name
Příklad:
# virt-viewer -c qemu:///system test
Příklad 12 :Vytvořte nový virtuální počítač pomocí virt-install.
Předpokládejme, že chci nainstalovat Centos 6.X na 10 GB prostoru a poté nejprve vytvořit soubor img pomocí níže uvedeného příkazu:
# dd if=/dev/zero of=/var/lib/libvirt/images/centos-linux.img bs=1M count=10240
poté spusťte příkaz virt-install:
# virt-install --virt-type kvm --name CentOS-Linux --ram 2048 --vcpus=2 --disk path=/var/lib/libvirt/images/centos-linux.img --network bridge=br0 --graphics vnc --cdrom /root/CentOS-6.2-x86_64-bin-DVD1.iso --os-variant=RHEL6
Po spuštění výše uvedeného příkazu se zobrazí obrazovka níže:
Příklad 13 :Živá migrace virtuálního počítače z jednoho hypervizoru na druhý pomocí příkazu virsh.
Základní požadavky živé migrace:
- Obrázek hosta musí být umístěn na sdíleném úložišti a musí být přístupný pomocí iSCSI, NFS, GFS2 nebo Fibre Channel.
- Sdílené úložiště musí být připojeno ke stejné cestě na obou hostitelích.
- Oba hosté musí používat stejnou verzi KVM.
- Oba hosté musí mít stejnou konfiguraci sítě a přemostění (jejich adresy IP se musí lišit)
# virsh migrate --live machine_name qemu+ssh://destination_server/system