Panduan singkat ini menjelaskan apa itu Virt-size alat baris perintah dan bagaimana kami dapat memperluas atau memperluas ukuran disk mesin virtual KVM menggunakan alat Virt-resize di Linux.
Suatu hari saya perhatikan bahwa salah satu mesin Virtual KVM saya kehabisan ruang disk. Saya tidak dapat menginstal aplikasi baru atau tidak dapat menyimpan file karena ruang disk yang rendah. Untuk memperbaiki masalah ini, saya cukup meningkatkan ukuran disk mesin virtual KVM menggunakan virt-size
memerintah. Saya pribadi menguji langkah-langkah yang diberikan di bawah ini untuk meningkatkan ukuran disk mesin virtual CentOS 8 KVM dan itu berfungsi seperti yang diharapkan.
Alat pengubahan ukuran virt
Ubah ukuran virt adalah alat baris perintah untuk mengubah ukuran disk mesin virtual. Menggunakan virt-resize, kita dapat menambah atau mengurangi ukuran disk mesin virtual. Kita juga dapat menghapus partisi di dalam virtual disk dengan perintah virt-resize. Harap dicatat bahwa virt-mengubah ukuran mesin hidup. Sistem tamu harus dimatikan sebelum mengubah ukuran gambar disk.
Untuk memperluas ukuran disk mesin Virtual, pertama-tama kita membuat image disk yang lebih besar daripada image sumber. Dan kemudian kita menyalin gambar sumber ke gambar tujuan dan akhirnya mengubah ukurannya.
Virt-resize adalah bagian dari libguestfs-tools
kemasan. Untuk menginstal paket libguestfs-tools di Debian, Ubuntu dan turunannya, jalankan:
$ sudo apt install libguestfs-tools
Untuk menginstal paket libguestfs-tools di Fedora, RHEL dan klonnya, jalankan:
$ sudo dnf install libguestfs-tools
Di Fedora 34, guestfs-tools
package menyediakan alat virt-resize. Jadi jika Anda menggunakan Fedora 34, instal guestfs-tools
paket seperti di bawah ini:
$ sudo dnf install guestfs-tools
Sekarang mari kita lihat bagaimana memperluas ukuran disk mesin virtual menggunakan virt-resize
memerintah.
Memperluas atau memperluas ukuran disk mesin virtual KVM di Linux
Untuk tujuan panduan ini, saya akan menggunakan disk image mesin virtual CentOS 8 bernama centos8.qcow2
. Saya telah menyimpan mage ini di direktori kerja saya saat ini. Anda dapat menggunakan virsh dumpxml
perintah untuk menemukan gambar disk yang ingin Anda ubah ukurannya.
Contoh:
$ virsh dumpxml centos8
Ganti centos8 dengan nama VM Anda pada perintah di atas.
Setelah menemukan gambar disk yang ingin Anda ubah ukurannya, periksa detail partisi di dalam gambar disk ini. Untuk mencetak detail partisi dan ukurannya dari image disk, jalankan:
$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2
Contoh keluaran:
Name Type MBR Size Parent /dev/sda1 partition 83 1.0G /dev/sda /dev/sda2 partition 8e 19G /dev/sda /dev/sda device - 20G -
Seperti yang Anda lihat pada output di atas, image disk saya hanya memiliki dua partisi, yaitu /dev/sda1
dengan ukuran 1 GB dan /dev/sda2
dengan 19GB. Ukuran total gambar disk adalah 20 GB.
Sekarang kita akan,
- menambah total ukuran gambar disk dari 20 GB menjadi 30 GB ,
- tambah ukuran partisi pertama
/dev/sda1
dari 1,0 GB hingga 1,5 GB , - Perluas partisi kedua
/dev/sda2
untuk mengisi ruang yang tersisa.
Virt-resize tidak dapat mengubah ukuran gambar disk di tempat. Juga, Virt-resize tidak boleh digunakan pada mesin virtual langsung. Sebelum mengubah ukuran disk image, matikan mesin Virtual dan ambil cadangan disk image asli.
$ mv centos8.qcow2 centos8.qcow2.backup
Perintah di atas akan mengganti nama disk image saat ini menjadi centos8.qcow2
ke centos8.qcow2.backup
.
Buat disk image baru dengan nama yang sama dan ukuran 30GB menggunakan perintah:
$ qemu-img create -f qcow2 -o preallocation=metadata centos8.qcow2 30G
Contoh keluaran:
Formatting 'centos8.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=32212254720 lazy_refcounts=off refcount_bits=16
Pastikan ukuran disk yang baru dibuat adalah 30GB:
$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2
Contoh keluaran:
Name Type MBR Size Parent /dev/sda device - 30G -
Sekarang perluas/perpanjang ukuran gambar disk mesin virtual KVM menggunakan perintah:
$ virt-resize --resize /dev/sda1=+500M --expand /dev/sda2 centos8.qcow2.backup centos8.qcow2
Di sini,
--resize /dev/sda1=+500M
- memperbesar ukuran/dev/sda1
partisi menjadi 500 MB.- --expand /dev/sda2 - mengubah ukuran
/dev/sda2
partisi ke untuk mengisi semua ruang yang tersisa. Dalam kasus saya, ukurannya akan diubah dari 19.0G menjadi 28.5G. centos8.qcow2.backup
- ini adalah gambar disk masukan asli.centos8.qcow2
- ini adalah gambar disk keluaran yang baru dibuat.
Contoh output dari perintah di atas adalah:
[ 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.
Periksa partisi dan ukurannya dengan virt-filesystems
perintah:
$ virt-filesystems --long -h --all -a centos8.qcow2
Contoh keluaran:
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 -
Seperti yang Anda lihat pada output di atas, ukuran disk image CentOS8 KVM saya telah diubah ukurannya dari 20 GB menjadi 30 GB.
Sekarang boot mesin virtual dengan image disk baru. Anda juga dapat membuat mesin virtual baru menggunakan gambar Qcow2 seperti yang dijelaskan dalam tautan berikut.
- Membuat Mesin Virtual KVM Menggunakan Gambar Qcow2 Di Linux
Jika berfungsi tanpa masalah, periksa secara menyeluruh apakah semua data Anda ada. Jika semuanya baik-baik saja, hapus disk cadangan yang lama.
Jika ada masalah dengan disk baru, matikan mesin virtual dan ganti nama disk cadangan ke nama aslinya. Ulangi langkah di atas dengan hati-hati lagi. Jangan lupa backup data dan disk image.