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.