GNU/Linux >> Znalost Linux >  >> Linux

Jak rozšířit velikost disku virtuálního stroje KVM v systému Linux

Tento stručný průvodce vysvětluje, co je velikost Virt nástroj příkazového řádku a jak můžeme rozšířit nebo rozšířit velikost disku virtuálního stroje KVM pomocí nástroje Virt-resize v Linuxu.

Nedávno jsem si všiml, že na jednom z mých virtuálních strojů KVM dochází místo na disku. Nemohl jsem nainstalovat žádné nové aplikace nebo jsem nemohl ukládat soubory kvůli nedostatku místa na disku. Abych tento problém vyřešil, jednoduše jsem zvětšil velikost disku virtuálního počítače KVM pomocí virt-size příkaz. Osobně jsem testoval níže uvedené kroky ke zvětšení velikosti disku virtuálního počítače CentOS 8 KVM a fungovalo to podle očekávání.

Nástroj pro změnu velikosti Virt

Změna velikosti Virt je nástroj příkazového řádku pro změnu velikosti disku virtuálního stroje. Pomocí virt-resize můžeme zvětšit nebo zmenšit velikost disku virtuálního stroje. Můžeme také odstranit oddíly uvnitř virtuálního disku pomocí příkazu virt-resize. Vezměte prosím na vědomí, že virt-změňte velikost živých strojů. Hostující systémy by měly být před změnou velikosti diskových obrazů vypnuty.

Chcete-li zvětšit velikost disku virtuálního počítače, nejprve vytvoříme větší obraz disku, než je zdrojový obraz. A pak zkopírujeme zdrojový obrázek do cílového obrázku a nakonec změníme jeho velikost.

Virt-resize je součástí libguestfs-tools balík. Chcete-li nainstalovat balíček libguestfs-tools na Debian, Ubuntu a jeho deriváty, spusťte:

$ sudo apt install libguestfs-tools

Chcete-li nainstalovat balíček libguestfs-tools na Fedoru, RHEL a její klony, spusťte:

$ sudo dnf install libguestfs-tools

Ve Fedoře 34, guestfs-tools balíček poskytuje nástroj pro změnu velikosti virt. Pokud tedy používáte Fedoru 34, nainstalujte si guestfs-tools balíček jako níže:

$ sudo dnf install guestfs-tools

Nyní se podívejme, jak zvětšit velikost disku virtuálního počítače pomocí virt-resize příkaz.

Zvětšit nebo rozšířit velikost disku virtuálního stroje KVM v Linuxu

Pro účely této příručky budu používat obraz disku virtuálního počítače CentOS 8 s názvem centos8.qcow2 . Uložil jsem tohoto mága ve svém aktuálním pracovním adresáři. Můžete použít virsh dumpxml příkaz k vyhledání obrazu disku, jehož velikost chcete změnit.

Příklad:

$ virsh dumpxml centos8

Nahraďte centos8 svým názvem virtuálního počítače ve výše uvedeném příkazu.

Po vyhledání obrazu disku, jehož velikost chcete změnit, zkontrolujte podrobnosti oddílu uvnitř tohoto obrazu disku. Chcete-li vytisknout podrobnosti diskového oddílu a jeho velikost obrazu disku, spusťte:

$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2 

Ukázkový výstup:

 Name       Type       MBR  Size  Parent
 /dev/sda1  partition  83   1.0G  /dev/sda
 /dev/sda2  partition  8e   19G   /dev/sda
 /dev/sda   device     -    20G   -

Jak můžete vidět ve výše uvedeném výstupu, obraz mého disku má pouze dva oddíly, konkrétně /dev/sda1 s velikostí 1 GB a /dev/sda2 s 19 GB. Celková velikost obrazu disku je 20 GB.

Teď budeme,

  • zvýšit celkovou velikost obrazu disku z 20 GB na 30 GB ,
  • zvýšit velikost prvního oddílu /dev/sda1 od 1,0 GB do 1,5 GB ,
  • Rozbalte druhý oddíl /dev/sda2 k vyplnění zbývajícího prostoru.

Virt-resize nemůže změnit velikost diskových obrazů na místě. Virt-resize by se také neměla používat na živých virtuálních počítačích. Před změnou velikosti obrazu disku vypněte virtuální počítač a vytvořte zálohu původního obrazu disku.

$ mv centos8.qcow2 centos8.qcow2.backup

Výše uvedený příkaz přejmenuje aktuální obraz disku s názvem centos8.qcow2 na centos8.qcow2.backup .

Vytvořte nový obraz disku se stejným názvem a velikostí 30 GB pomocí příkazu:

$ qemu-img create -f qcow2 -o preallocation=metadata centos8.qcow2 30G

Ukázkový výstup:

Formatting 'centos8.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=32212254720 lazy_refcounts=off refcount_bits=16

Ujistěte se, že velikost nově vytvořeného disku je 30 GB:

$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2

Ukázkový výstup:

Name      Type    MBR  Size  Parent
 /dev/sda  device  -    30G   -

Nyní rozbalte/rozšiřte velikost obrazu disku virtuálního stroje KVM pomocí příkazu:

$ virt-resize --resize /dev/sda1=+500M --expand /dev/sda2 centos8.qcow2.backup centos8.qcow2

Tady,

  • --resize /dev/sda1=+500M - zvětší velikost /dev/sda1 oddíl na 500 MB.
  • --expand /dev/sda2 – změní velikost /dev/sda2 oddíl k zaplnění veškerého zbývajícího místa. V mém případě bude velikost změněna z 19,0G na 28,5G.
  • centos8.qcow2.backup - je to původní vstupní obraz disku.
  • centos8.qcow2 - je to nově vytvořený výstupní obraz disku.

Ukázkový výstup výše uvedeného příkazu je:

[   0.0] Examining centos8.qcow2.backup
 
 Summary of changes:
 /dev/sda1: This partition will be resized from 1.0G to 1.5G.  The 
 filesystem ext4 on /dev/sda1 will be expanded using the ‘resize2fs’ 
 method.
 /dev/sda2: This partition will be resized from 19.0G to 28.5G.  The LVM PV 
 on /dev/sda2 will be expanded using the ‘pvresize’ method.
 
 [   4.2] Setting up initial partition table on centos8.qcow2
 [   5.6] Copying /dev/sda1
  100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
 [   9.7] Copying /dev/sda2
  100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
 [  45.1] Expanding /dev/sda1 using the ‘resize2fs’ method
 [  45.3] Expanding /dev/sda2 using the ‘pvresize’ method
 Resize operation completed with no errors.  Before deleting the old disk, 
 carefully check that the resized disk boots and works correctly.

Zkontrolujte oddíly a jejich velikosti pomocí virt-filesystems příkaz:

$ virt-filesystems --long -h --all -a centos8.qcow2

Ukázkový výstup:

 Name          Type        VFS   Label  MBR  Size  Parent
 /dev/sda1     filesystem  ext4  -      -    1.4G  -
 /dev/cl/root  filesystem  xfs   -      -    17G   -
 /dev/cl/swap  filesystem  swap  -      -    2.0G  -
 /dev/cl/root  lv          -     -      -    17G   /dev/cl
 /dev/cl/swap  lv          -     -      -    2.0G  /dev/cl
 /dev/cl       vg          -     -      -    29G   /dev/sda2
 /dev/sda2     pv          -     -      -    29G   -
 /dev/sda1     partition   -     -      83   1.5G  /dev/sda
 /dev/sda2     partition   -     -      8e   29G   /dev/sda
 /dev/sda      device      -     -      -    30G   -

Jak vidíte na výše uvedeném výstupu, velikost obrazu mého disku CentOS8 KVM byla změněna z 20 GB na 30 GB.

Nyní spusťte virtuální počítač s novým obrazem disku. Můžete také vytvořit nový virtuální počítač pomocí obrazu Qcow2, jak je popsáno v následujícím odkazu.

  • Vytvořte virtuální počítač KVM pomocí obrazu Qcow2 v systému Linux

Pokud to funguje bez problémů, důkladně zkontrolujte, zda existují všechna vaše data. Pokud je vše v pořádku, odstraňte starý záložní disk.

Pokud se vyskytnou nějaké problémy s novým diskem, vypněte virtuální počítač a přejmenujte záložní disk na původní název. Výše uvedené kroky znovu pečlivě zopakujte. Nezapomeňte zálohovat data a obraz disku.


Linux
  1. Jak rozdělit disk v Linuxu

  2. Linux KVM na Virtualboxu

  3. Jak rozšířit linuxový PV oddíl online po růstu virtuálního disku

  1. Jak odstranit virtuální stroje založené na KVM na Redhat Linuxu

  2. Jak zkontrolovat, zda je systém Linux fyzický nebo virtuální stroj

  3. Jak zkontrolovat, zda systém Linux běží na fyzickém systému nebo virtuálním počítači?

  1. Jak vytvořit snímek virtuálního stroje KVM pomocí příkazu Virsh

  2. Jak převést VMDK (Virtual Machine Disk) na VDI pomocí VBoxManage?

  3. Jak přidat paměť, vCPU, pevný disk do virtuálního počítače Linux KVM