Bagaimana cara mengurangi ukuran gambar disk mesin virtual KVM?

11

Bagaimana Anda mengurangi atau mengecilkan ukuran disk mesin virtual KVM?

Saya mengalokasikan disk virtual sebesar 500GB (disimpan di /var/lib/libvirt/images/vm1.img), dan saya menemukan hal itu berlebihan, jadi sekarang saya ingin membebaskan sebagian dari ruang itu untuk digunakan dengan virtual lain mesin. Tampaknya ada banyak jawaban tentang cara meningkatkan penyimpanan gambar, tetapi tidak menguranginya. Saya menemukan alat virt-resize , tetapi sepertinya hanya berfungsi dengan partisi disk mentah, bukan gambar disk.

Sunting: Saya menggunakan LVM dengan partisi yang diformat Ext4.

Sunting: tangkapan layar GParted yang memperlihatkan tata letak parit LVM saya. Saya perlu melakukan lebih dari sekadar mengubah ukuran sistem file. Saya tahu tidak ada cara aman untuk mengubah ukuran LVM. Dan tolong jangan katakan padaku untuk menggunakannya pvresize. Meskipun namanya, itu tidak mendukung mengubah ukuran LVM.

Tangkapan layar GParted

Saya sudah mencoba sudo pvresize /dev/vda5, tetapi hanya mengatakan physical volume "/dev/vda5" changedtetapi sebenarnya tidak mengurangi ukuran.

Saya mencoba mulai partedsecara manual mengatur ukuran partisi (sangat berbahaya), tetapi melakukan print allhanya memberi saya kesalahan "/ dev / sr0 label disk yang tidak dikenal".

Sunting: Dengan mengikuti petunjuk ini , saya berhasil mengecilkan volume logis dan fisik saya (walaupun saya harus ingat untuk mengaktifkan dan menonaktifkan lvm sebelum dan sesudah perintah tertentu, yang dihilangkan oleh instruksi.

Sekarang GParted menunjukkan 250G ruang kosong yang tidak terisi. Bagaimana cara menghapus ini dari gambar disk KVM dan mengembalikannya ke hypervisor yang mendasarinya?

Cerin
sumber
Apakah Anda benar-benar perlu memperkecil ukuran disk virtual, atau cukup memadatkannya? Anda bisa melakukan yang terakhir dengan sesuatu seperti qemu-img -O qcow2 vm1.img vm1-compact.qcow2.
Ansgar Wiechers
@AnsgarWiechers, Ya, saya masih perlu menggunakan disk, dan saya telah mengalokasikan lebih banyak ruang daripada yang pernah saya butuhkan.
Cerin

Jawaban:

10

Terima kasih kepada mereka yang memposting, tetapi jawaban Anda terlalu samar untuk bisa membantu.

Setelah berjam-jam Googling, saya akhirnya menemukan panduan ( tautan yang disunting ) yang menyediakan petunjuk langkah demi langkah tentang cara mengecilkan sistem file, volume logis, dan volume fisik saya. Trik yang dilewatkan oleh kebanyakan pemandu adalah kebutuhan untuk benar-benar menghapus partisi fisik, dan membuatnya kembali dengan ukuran yang benar, karena parted tidak dapat mengubah ukuran partisi lvm.

Saya kemudian menemukan dokumentasi ini di qemu-img, yang menjelaskan cara mengecilkan image disk virtual yang diformat dengan menjalankan:

sudo qemu-img resize /var/lib/libvirt/images/myvm.img 255G
Cerin
sumber
qemu-img adalah alat yang hebat untuk bekerja dengan gambar disk untuk kvm. 3 tahun kemudian tautan Anda tampaknya rusak, di sini halaman manual dari die.net linux.die.net/man/1/qemu-img
Louis Loudog Trottier
Dan jika ada yang menginginkan kemudahan ini, dan terjebak dengan (tidak ingin) VM .qcow2, konversikan terlebih dahulu qemu-img convert -f qcow2 -O raw image.qcow2 image.imgdan kemudian Anda dapat menjalankan perintah di atas.
oemb1905
4

Apa yang kamu butuhkan,

  • Ambil cadangan
  • Kecilkan sistem file * jangan lakukan ini pada sistem live, saya sarankan menggunakan live cd.
  • Buat disk image baru dengan ukuran yang diinginkan.
  • Jalankan live os, dengan gambar baru dan lama dilampirkan sebagai hard disk (virtual) (tidak dipasang)
  • Buat partisi baru dengan ukuran yang sama dengan partisi yang diubah ukurannya pada disk lama
  • Gunakan dd untuk mencerminkan data ke partisi baru.
  • Anda mungkin perlu membersihkan / membuat ulang grub (2) agar berhasil boot.

Ini dapat dicapai melalui GUI dan CLI

Sumber daya

Alat

  • gparted (tautan dihilangkan karena Spam, tidak cukup perwakilan)
daxroc
sumber
Bagian yang sulit adalah "Kecilkan sistem file". Saya menggunakan LVM, yang tidak ada alat yang saya temukan ukurannya mendukung. Bahkan CD Langsung GParted.
Cerin
Saya pikir ini mencakupnya, saya belum menggunakannya jadi tolong laporkan baik atau buruk tcpdump.com/kb/os/linux/lvm-resizing-guide/shrink.html
daxroc
Ada 2 poin utama yang perlu diperhatikan: 1) Lakukan hal-hal secara berurutan ( pertama menyusutkan sistem file, kemudian mengecilkan partisi, lalu mengecilkan disk). 2) Prosedur / alat untuk mengubah ukuran sistem file sangat bergantung pada sistem file yang sebenarnya (yang OP tidak ingin ungkapkan). Artikel @daxroc yang diposting tidak akan berfungsi untuk sistem file selain ext [234].
Ansgar Wiechers
@ Daxroc, saya perlu mengurangi volume logis dan fisik. Tautan Anda hanya mencakup pengurangan volume logis.
Cerin
sepakat. backup, disk baru, restore paling aman dan termudah
dyasny
0

Ini bekerja dengan sangat baik untuk saya. Ini kompres dan menyusut 0 blok di gambar disk. Gambar akan meluas dari waktu ke waktu karena akan ditulis lagi.

qemu-img convert -c -O qcow2 vmdisk.qcow2 vmdisk-comp.qcow2
Greg
sumber
-4

Saya sarankan sebelum melakukan semua ini, Anda mengambil salinan lengkap dari disk image seperti apa adanya, maka ketika semuanya rusak Anda hanya dapat menyalinnya kembali untuk memulai lagi.

Ada 3 hal yang perlu Anda lakukan:

1) Buat disk image lebih besar. Di inang Anda:

qemu-img mengubah ukuran foo.qcow2 + 32G

Sekarang tamu Anda dapat melihat disk yang lebih besar, tetapi masih memiliki partisi lama dan sistem file.

2) Buat partisi di dalam disk image lebih besar. Anda perlu mem-boot LiveCD di tamu Anda untuk ini, karena Anda tidak akan dapat mengacaukan dengan partisi yang dipasang. Ini cukup terlibat dan mungkin bagian paling berbahaya. Cukup banyak untuk menyalin di sini, jadi saya hanya akan menautkan untuk sekarang. Anda ingin melakukan sesuatu seperti ini:

http://www.howtoforge.com/linux_resizing_ext3_partitions_p2

ATAU 2b) membuat partisi baru akan lebih mudah (dan lebih aman) jika Anda hanya ingin lebih banyak ruang penyimpanan. Gunakan fdisk atau cfdisk, atau apa pun yang Anda merasa nyaman - Anda harus melihat sejumlah besar ruang yang tidak terisi pada disk tamu Anda sekarang.

3) Akhirnya, jika Anda mengubah ukuran partisi yang ada, buat filesystem di dalam partisi baru yang lebih besar lebih besar (ini sebenarnya ada dalam panduan yang terhubung di atas). Di dalam tamu Anda:

Ankur Dholakiya
sumber
5
Dia berusaha membuat gambar lebih kecil , bukan lebih besar.
Michael Hampton