GNU/Linux >> Znalost Linux >  >> Linux

Jak změnit výchozí umístění fondu úložiště KVM Libvirt

Tato příručka vysvětluje, co jsou úložné fondy a svazky v Libvirt a jak změnit výchozí umístění úložného fondu KVM libvirt pomocí Virsh program Virt-manager a Kokpit v Linuxu.

Soubory úložišť a svazky v Libvirtu

Libvirt poskytuje správu úložiště na hostitelském systému KVM prostřednictvím fondů úložiště a svazků.

Úložný fond je množství úložiště přidělené na hostiteli KVM pro použití virtuálními stroji. Úložný fond je rozdělen na úložné svazky a přiřazen k virtuálním počítačům jako bloková zařízení.

Jinými slovy, úložný fond je prostředek úložiště na hostitelském systému KVM, který lze použít pro ukládání svazků. A úložný svazek je úložné zařízení, které lze přiřadit k virtuálnímu počítači.

Úložným svazkem může být blokové zařízení, například oddíl, logický svazek nebo soubor. Virtuální pevné disky, cd/dvd/disketová zařízení a obrazy ISO připojené k hostujícím počítačům jsou příklady úložných svazků.

Nemůžete mít úložný svazek bez úložného fondu. Nejprve musíte vytvořit fond úložiště a poté vytvořit svazky úložiště uvnitř fondu.

Ve výchozím nastavení jsou všechny virtuální počítače vytvořené pomocí libvirt uloženy pod /var/lib/libvirt/images/ umístění. Toto je výchozí fond úložiště pro obrazy virtuálních počítačů Libvirt.

Typy fondů úložiště

Fond úložiště může být jednoho z následujících typů:

  1. Soubor adresářů – Použijte adresář jako fond pro hostování souborů obrázků. Soubory mohou být buď jedním z platných typů formátu svazku, jako jsou raw, qcow, qcow2, dmg, vmdk, vpc nebo obrazy ISO.
  2. Soubor systému souborů – použijte blokové zařízení (např. oddíl nebo skupinu LVM) jako fond namísto adresáře using na existujícím připojeném souborovém systému.
  3. Soubor síťového souborového systému – použijte síťový souborový systém (např. cifs , glusterfs , nfs atd.) jako fond pro ukládání skladovacích objemů. Místo adresáře nebo blokového zařízení vyžaduje síťového hostitele a cestu ke sdílenému adresáři.
  4. Společnost logických svazků – Použijte skupinu svazků LVM jako fond pro ukládání svazků.
  5. Fond disků – Použijte fyzický disk jako fond. Svazky lze vytvořit přidáním oddílů na disk.
  6. fond iSCSI – K ukládání svazků použijte cíl iSCSI. Všechny svazky by měly být předem přiděleny na serveru iSCSI.
  7. Přímý fond iSCSI – Toto je varianta fondu iSCSI. Místo použití iscsiadm používá libiscsi . Vyžaduje hostitele, cestu, která je cílovým IQN, a iniciační IQN.
  8. Soubor SCSI – Použijte adaptér hostitelské sběrnice SCSI téměř stejným způsobem jako cíl iSCSI.
  9. Pool pro více cest – V současné době není podporováno více cest.
  10. Soubor RBD – Tento ovladač úložiště poskytuje fond, který obsahuje všechny obrazy RBD ve fondu RADOS. RBD (blokové zařízení RADOS) je součástí projektu distribuovaného úložiště Ceph.
  11. Soubor ovčáků – Použijte Cluster ovčáků jako fond pro ukládání svazků.
  12. Gluster pool – Použijte distribuovaný souborový systém Gluster jako fond.
  13. ZFS fond – Použijte souborový systém ZFS jako fond.
  14. Vstorage pool – Použijte distribuované softwarově definované úložiště Virtuozzo jako fond.

Pro účely této příručky budeme používat Directory pool .

1. Změnit výchozí umístění fondu úložiště KVM Libvirt

Jak již bylo řečeno, všechny obrázky KVM/Libvirt jsou uloženy v /var/lib/libvirt/images/ umístění ve výchozím nastavení. Protože toto umístění se nachází v rootfs oddílu, možná jej budete chtít přesunout na jiné místo, například $HOME adresář.

Výchozí umístění obrazů KVM Libvirt VM můžeme změnit pomocí virsh program příkazového řádku a jeho grafický front-end nazvaný Virt-manager a také Kokpit webová konzole.

Nejprve uvidíme, jak změnit výchozí cestu k fondu úložiště Libvirt pomocí virsh program.

1.1. Změňte výchozí umístění fondu úložiště KVM Libvirt pomocí programu virsh

1.1.1. Přihlaste se ke svému hostitelskému systému KVM a vypněte všechny běžící hosty.

Chcete-li najít seznam spuštěných virtuálních počítačů, jednoduše postupujte takto:

$ seznam virsh --all

Vypněte, pokud jsou spuštěny nějaké virtuální počítače.

$ virsh vypnutí

1.1.2. Vypište všechny nakonfigurované oblasti úložiště na vašem hostitelském počítači KVM:

$ virsh seznam bazénů 

Ukázkový výstup:

 Název Stav Autostart výchozí aktivní ne

Jak vidíte, mám pouze jeden úložný fond, který je default . Vytvoří se automaticky, když nainstalujeme kvm/libvirt .

1.1.3. Podívejme se na podrobnosti o výchozím fondu úložiště pomocí příkazu:

Výchozí $ virsh pool-info 

Ukázkový výstup:

 Název:výchozí UUID:76f47a3c-7656-4c34-9ab5-c87e5136d532 Stav:běží Trvale:ano Autostart:ne Kapacita:369,22 GiB Alokace:65,60 GiB K dispozici:303,62 GiB

Výše uvedený výstup uvádí podrobnosti, jako je název fondu úložiště, UUID, stav, trvalé, automatické spuštění, kapacita, přidělený prostor fondu úložiště a zbývající dostupný prostor.

Protože se chystáme změnit cestu k fondu úložiště, musíme ho také najít.

1.1.4. K zobrazení cesty výchozího fondu úložiště používáme grep příkaz s virsh jako níže:

$ virsh pool-dumpxml výchozí | grep -i cesta

Ukázkový výstup:

/var/lib/libvirt/images

Jak vidíte ve výše uvedeném výstupu, výchozí fond úložiště je /var/lib/libvirt/images/ . V následujících krocích to změníme.

1.1.5. Vypište všechny existující obrazy virtuálních počítačů, které jsou uloženy ve výchozím fondu úložiště pomocí virsh jako níže:

$ virsh vol-list výchozí | grep "/var/lib/libvirt/images/"

Ukázkový výstup:

archlinux.img /var/lib/libvirt/images/archlinux.img

Mám jeden obraz virtuálního počítače Arch Linux ve výchozím fondu úložiště.

1.1.6. Zastavte a zrušte definici výchozího fondu úložiště pomocí příkazu:

Výchozí hodnota $ virsh pool-destroy
Výchozí $ virsh pool-undefine

1.1.7. Upravte výchozí fond úložiště pomocí příkazu:

$ virsh pool-edit default 

Tím se otevře soubor XML virtuálního počítače ve vašem výchozím editoru.

Najděte řádek, který zní "<path>/var/lib/libvirt/images</path>" pod target směrnici a změňte ji na novou cestu dle vašeho výběru.

V mém případě jsem změnil <path> prvek z /var/lib/libvirt/images na /home/sk/.local/share/libvirt/images .

 výchozí 76f47a3c-7656-4c34-9ab5-c87e5136d532 396452147200 71178977280 325273169920    /home/sk/.local/share/ libvirt/images  0755 1000 
1000
   

Jen se ujistěte, že nová cesta existuje. Pokud existuje, stačí jej vytvořit a přidělit dostatečné oprávnění k novému adresáři cesty. Uložte soubor a zavřete jej.

TIP:

Pokud z jakéhokoli důvodu neexistuje žádný výchozí fond úložiště, můžete jej vytvořit jako níže:

$ virsh pool-define-as --name default --type dir --target /home/sk/.local/share/libvirt/images/

Nahraďte cestu úložiště svou vlastní.

1.1.8. Nakonec spusťte výchozí fond úložiště:

$ virsh pool-start výchozí

1.1.9. Nastavení automatického spouštění fondu úložiště při spouštění systému:

$ virsh pool-autostart default

1.1.10. Ověřte, zda byla cesta k fondu úložiště libvirt změněna nebo ne pomocí příkazu:

$ virsh pool-dumpxml výchozí | grep -i cesta

Nyní byste měli vidět novou cestu.

 /home/sk/.local/share/libvirt/images

Od této chvíle budou virtuální obrazy ukládány do nového fondu úložiště.

1.1.11. Zkontrolujte stav fondu úložiště:

$ virsh pool-list Název Stav Autostart------------------------------- výchozí aktivní ano

1.1.12. Restartujte službu libvirtd:

$ sudo systemctl restart libvirtd

1.1.13. Musíme udělat poslední věc. Zkopírujte všechny obrazy virtuálních počítačů ze staré cesty úložiště do nové:

$ sudo mv /var/lib/libvirt/images/archlinux.qcow2 /home/sk/.local/share/libvirt/images/

Vše hotovo!

Takto změníme výchozí umístění úložiště KVM Libivrt na nové z příkazového řádku pomocí Virsh program. Jak můžete vidět, změna výchozí cesty úložiště pro hosty KVM/Libvirt je poměrně snadná!

Nyní se podívejme, jak změnit výchozí cestu k fondu úložiště Libvirt pomocí grafické aplikace s názvem Virt-manager .

1.2. Změňte výchozí umístění fondu úložiště KVM Libvirt pomocí správce Virt

Správce Virt , zkratka pro Virtual Machine Manager, je aplikace s grafickým uživatelským rozhraním používaná pro správu virtuálních strojů prostřednictvím libvirt . Jinými slovy, Virt-manager je pouze grafický front-end pro libvirt .

1.2.1. Otevřete aplikaci Virt-manager. Klikněte pravým tlačítkem na QEMU/KVM a klikněte na Podrobnosti možnost.

Můžete také kliknout na Upravit-> Podrobnosti připojení z rozhraní Virt-manager.

1.2.2. V části Úložiště části, uvidíte výchozí umístění fondu úložiště.

1.2.3. Klikněte na Zastavit fond a poté Smazat fond možnosti v levém dolním podokně.

Tím se deaktivuje a smaže výchozí fond.

1.2.4. Klikněte na plus (+) přihlaste se v levém dolním podokně a vytvořte nový fond úložiště pro použití virtuálními počítači.

Zadejte název fondu úložiště (např. default v mém případě). Vyberte typ bazénu. V našem případě jsem zvolil Adresář systému souborů . Zadejte cílové umístění a klikněte na Dokončit.

1.2.5. Nyní je nové úložiště aktivní. Zkontrolujte Automatické spuštění box pro automatické spuštění nového úložiště při spouštění systému.

1.2.6. Přesuňte všechny obrazy virtuálních počítačů ze starého adresáře úložiště do nového.

$ sudo mv /var/lib/libvirt/images/archlinux.qcow2 /home/sk/.local/share/libvirt/images/

1.2.7. Nakonec restartujte službu libvirtd:

$ sudo systemctl restart libvirtd

1.3. Změňte výchozí umístění fondu úložiště KVM Libvirt pomocí Cockpit

Kokpit je bezplatný webový nástroj pro správu serverů pro sledování a správu serverů Linux prostřednictvím webového prohlížeče.

1.3.1 Otevřete webový prohlížeč a přihlaste se do konzoly Cockpit přechodem na http://localhost:9090 nebo http://IP-adresa:9090 z adresního řádku.

1.3.2. Klikněte na Virtual Machines v levém panelu. Na pravé straně klikněte na Soubor úložiště možnost.

1.3.3. V části Fondy úložiště uvidíte výchozí fond úložiště. Kliknutím na malou šipku rozbalte kartu úložiště a klikněte na Deaktivovat a Smazat tlačítka.

Poznámka: Protože jsem již změnil výchozí umístění úložiště, zobrazí se nová cesta. Ve vašem systému se zobrazí stará výchozí cesta, tj. /var/lib/libvirt/images .

1.3.4. Zadejte název fondu úložiště, typ a cílovou cestu a klikněte na Vytvořit . Ujistěte se, že je zaškrtnuto políčko Startup.

1.3.5. Klikněte na Aktivovat tlačítko pro spuštění bazénu.

1.3.6. Přesuňte všechny obrazy virtuálních počítačů ze starého adresáře úložiště do nového.

$ sudo mv /var/lib/libvirt/images/archlinux.qcow2 /home/sk/.local/share/libvirt/images/

1.3.7. Restartujte službu libvirtd:

$ sudo systemctl restart libvirtd

Odstraňování problémů

Po změně cesty k fondu úložiště pravděpodobně při spouštění virtuálního počítače narazíte na následující chybu:

Chyba při spuštění domény 'Archlinux_default':Nelze získat přístup k souboru úložiště '/home/sk/.local/share/libvirt/images/Archlinux_default.img' (jako uid:107, gid:107):Oprávnění odepřeno. 

Je to proto, že qemu uživatel nemusí mít oprávnění ke čtení do adresáře úložiště. Chcete-li to opravit, přejděte na následující odkaz:

  • [Vyřešeno] Nelze získat přístup k souboru úložiště, oprávnění odepřeno Chyba v KVM Libvirt

Závěr

V této příručce jsme diskutovali o důležitém tématu KVM/Libvirt – Foly úložiště . Dozvěděli jsme se, co jsou úložné fondy a svazky, a poté, jak změnit výchozí umístění úložného fondu kvm libvirt pomocí tří programů, jmenovitě VIrsh, Virt-manager a Cockpit. Doufám, že to pro vás bude užitečné.


Linux
  1. Jak změnit výchozí umístění (/var/cache/yum) mezipaměti yum

  2. Jak změnit výchozí prostředí v Linuxu

  3. Jak změnit umístění qmake PREFIX

  1. Jak změnit výchozí správce plochy v debianu?

  2. Jak vytvořit dupe virtuálního počítače KVM/libvirt/virt-manager?

  3. Jak změním svůj výchozí shell na účtu domény

  1. Nakonfigurujte výchozí virtuální úložiště KVM v systému Redhat Linux

  2. Jak změnit výchozí adresář Apache 'DocumentRoot' v Linuxu

  3. Jak změnit výchozí aplikace Debianu