Virtuální shell neboli virsh je flexibilní nástroj příkazového řádku pro správu virtuálních počítačů (VM) řízených libvirt, což je sada nástrojů a rozhraní API pro správu virtualizačních platforem. Je to výchozí nástroj pro správu virtuálních strojů založených na jádře Linuxu (KVM) a podporuje také platformy Xen, VMware a další.
virsh
umožňuje interaktivně nebo dávkově spravovat virtuální počítače. Je také užitečný pro ovládání virtuálních počítačů z prostředí Linuxu a integruje se se skripty nebo automatizačními nástroji. Pomocí virsh
, můžete se rychle připojit k serveru pomocí zabezpečeného prostředí (SSH) a provádět operace na svých virtuálních počítačích bez přístupu ke grafickému rozhraní.
Když spustíte virsh
bez jakýchkoliv možností se pokusí připojit k místnímu hypervizoru. Pro Linux výchozí připojení odkazuje na místní systém QEMU pro správu místních počítačů KVM. Můžete se také připojit ke vzdálenému hypervizoru pomocí volby -c
nebo --connect
a určení Uniform Resource Identifier (URI) vzdáleného hypervizoru pomocí syntaxe libvirt. Další informace najdete ve specifikaci URI libvirt.
Ve výchozím nastavení virsh
poskytuje stovky dílčích příkazů a možností, které vám umožní spravovat každý aspekt vaší virtualizační platformy nebo virtuálních počítačů. V tomto článku se podělím o osm virsh
dílčí příkazy, které používám nejčastěji. Vzhledem k povaze každodenní práce se většina těchto dílčích příkazů vztahuje přímo na virtuální počítače (nebo domény v terminologii libvirt), ale virsh
má také příkazy pro správu samotné platformy, jako je přidávání úložných fondů, sítí a další.
seznam virů
seznam virů
je základní příkaz, který uvádí všechny spuštěné domény (VM). Můžete také vypsat všechny nakonfigurované virtuální počítače přidáním --all
volba. To je užitečné, pokud chcete vidět všechny virtuální počítače nakonfigurované v cílovém hypervizoru, které můžete použít v následujících příkazech. Chcete-li například zobrazit seznam všech dostupných virtuálních počítačů na místním hypervisoru Linux KVM:
# virsh list --all Id Name Stat------------------------------ 3 rh8-vm01 běží - crc vypnout - rh8-tower01 vypnout
ID nebo název domény můžete použít jako vstup pro následující příkazy.
virsh start / restart / shutdown
Přestože se liší, seskupil jsem start
, restartujte
a vypnutí
dílčí příkazy, protože provádějí stejnou základní operaci správy stavu napájení virtuálního počítače.
Chcete-li vypnout virtuální počítač, rh8-vm01
(ze seznamu
příkaz výše):
# virsh shutdown rh8-vm01 Doména 'rh8-vm01' se vypíná# virsh list Id Název State--------------------
Můžete jej znovu spustit pomocí start
dílčí příkaz:
# virsh start rh8-vm01 Doména 'rh8-vm01' začala# virsh list ID Název Stav------------------------- - 4 rh8-vm01 běží
Pomocí těchto dílčích příkazů můžete rychle spustit, restartovat nebo vypnout virtuální počítač, aniž byste museli spouštět náročné grafické aplikace.
[ Také by vás mohlo zajímat, jak upravit sshd_config pomocí Bash skriptu. ]
virsh dumpxml
dumpxml
dílčí příkaz vypíše konfiguraci XML pro danou doménu. Můžete jej použít k exportu konfigurace do souboru a provést změny na existujícím virtuálním počítači nebo jej použít jako šablonu k vytvoření dalšího virtuálního počítače s podobnou konfigurací. Ve výchozím nastavení vypíše konfiguraci do STDOUT , takže jej přesměrujte do souboru pomocí shellových přesměrovacích operátorů >
pro uložení do souboru:
# Virsh Dumsxml rh8-VM01 rh8-vm01 53B92C48-FCE3-4464-95BF-6F442E94 4194304 4194304 2 ... ZKRÁCENÝ VÝSTUP ...
Výstup XML ve skriptech a automatizačních nástrojích můžete použít k automatizaci vytváření virtuálních počítačů.
virsh domifaddr
domifaddr
dílčí příkaz uvádí všechny IP adresy nakonfigurované pro všechna virtuální rozhraní v daném virtuálním počítači. Je užitečné, pokud virtuální počítač používá dynamické adresy IP, protože vám umožňuje zobrazit přiřazenou adresu IP a připojit se k virtuálnímu počítači:
# virsh domifaddr rh8-vm01 Název MAC adresa Protokol Adresa--------------------------------- ---------------------------------------------- vnet6 52:54 :00:c8:17:6e ipv4 192.168.122.19/24 vnet7 52:54:00:04:4d:ac ipv4 4 194.210/68.
Ve výchozím nastavení uvádí IP adresu pronajatou serverem DHCP. Pokud hypervizor tyto informace neposkytuje, můžete také použít volbu --source agent
dotaz na hostovaný operační systém (OS) přímo prostřednictvím virtualizačního agenta. To vyžaduje virtualizačního agenta nainstalovaného v hostujícím OS.
virsh edit
upravit
dílčí příkaz otevře aktuální konfiguraci XML ve vašem výchozím $EDITOR
, což vám umožní provádět živé úpravy ve virtuálním počítači:
# virsh upravit rh8-vm01 rh8-vm01 53b92c48-fce3-4464-95bf-6f442e988c94 . .. ZKRÁCENÝ VÝSTUP ...
Po provedení úprav uložte soubor, abyste je mohli použít. Některé úpravy se mohou projevit až po restartu.
virsh net-edit
net-edit
dílčí příkaz umožňuje provádět živé úpravy konfigurace virtuální sítě. Je to užitečné pro změnu možností virtuální sítě, jako je přidružení dané MAC adresy k IP adrese pomocí standardního libvirt
Konfigurace DHCP. Je to pokročilejší příkaz, který používám pravidelně. Stejně jako upravit
dílčí příkaz, otevře konfigurační soubor ve vašem výchozím $EDITOR
pro provádění změn. Chcete-li použít změny, uložte soubor:
# virsh net-edit --network hostonly hostonly eddd03ff-5825-42ef-bc99-968bddf773c2
Můžete také použít další dílčí příkazy související se sítí začínající net-
ke správě různých aspektů virtuálních sítí hypervizoru.
[ Stáhnout nyní:Průvodce systémového administrátora skriptováním Bash. ]
Co bude dál?
virsh je výkonný a flexibilní nástroj, který vám umožní spravovat každý aspekt virtualizace Linuxu a dalších platforem. Další informace o něm naleznete v manuálových stránkách nebo v online dokumentaci.