Apakah ada cara untuk mengubah ukuran disk mesin virtual? Katakanlah meningkatkan ukuran disk dari 32GB menjadi 64GB. Saya menjalankan KVM / Qemu di server Ubuntu 11.10 64bit. Terima kasih.
sumber
Apakah ada cara untuk mengubah ukuran disk mesin virtual? Katakanlah meningkatkan ukuran disk dari 32GB menjadi 64GB. Saya menjalankan KVM / Qemu di server Ubuntu 11.10 64bit. Terima kasih.
Pada distro berbasis Debian Anda harus menggunakannya virt-resize
. Ini menangani hampir semua segalanya di bawah tenda sekarang. Anggap saja gambar Anda disebut Win7 (mengapa tidak?). Hal pertama yang memastikan VM Anda dimatikan:
Instal alat:
# apt-get install libguestfs-tools
Dapatkan lokasi disk VM Anda:
# virsh dumpxml Win7 | xpath -e /domain/devices/disk/source
Found 2 nodes in stdin:
-- NODE --
<source file="/var/lib/libvirt/images/Win7.img" />
-- NODE --
<source file="/var/lib/libvirt/images/Win7.iso" />
Anda mungkin perlu beradaptasi /var/lib/libvirt/images/Win7.img
dalam hal berikut:
# virt-filesystems --long --parts --blkdevs -h -a /var/lib/libvirt/images/Win7.img
Name Type MBR Size Parent
/dev/sda1 partition 07 100M /dev/sda
/dev/sda2 partition 07 32G /dev/sda
/dev/sda device - 32G -
Buat disk 64G Anda:
# truncate -s 64G /var/lib/libvirt/images/outdisk
Anda harus memperluas / dev / sda2 (bukan partisi boot):
# virt-resize --expand /dev/sda2 /var/lib/libvirt/images/Win7.img /var/lib/libvirt/images/outdisk
Examining /var/lib/libvirt/images/Win7.img ...
100% [progress bar] --:--
**********
Summary of changes:
/dev/sda1: This partition will be left alone.
/dev/sda2: This partition will be resized from 32G to 64G. The
filesystem ntfs on /dev/sda2 will be expanded using the
'ntfsresize' method.
**********
Setting up initial partition table on outdisk ...
Copying /dev/sda1 ...
Copying /dev/sda2 ...
100% [progress bar] 00:00
100% [progress bar] 00:00
Expanding /dev/sda2 using the 'ntfsresize' method ...
Resize operation completed with no errors. Before deleting the old
disk, carefully check that the resized disk boots and works correctly.
Buat cadangan untuk berjaga-jaga (atau gunakan mv
jika Anda tidak ingin cadangan):
# cp /var/lib/libvirt/images/Win7.img /var/lib/libvirt/images/Win7.img.old
# mv /var/lib/libvirt/images/outdisk /var/lib/libvirt/images/Win7.img
Sekarang boot!
Untuk info lebih lanjut: man virt-resize
virsh edit virt_name
dan mengubah jalur ke sumber disk ke yang baru. Lalu jika itu tidak berhasil, ubah saja kembali dan coba lagi. Tidak banyak gunanya memiliki 3 gambar ketika Anda bisa melakukannya dengan 2.raw
tipe. jika Anda ingin mempertahankanqcow2
jenis contoh , Anda harus menerapkan konversi seperti:qemu-img convert -O qcow2 /var/lib/libvirt/images/outdisk /var/lib/libvirt/images/outdisk.qcow2
Saya sarankan sebelum melakukan semua ini Anda mengambil salinan lengkap dari disk image seperti apa adanya, maka ketika semuanya rusak Anda dapat menyalinnya kembali untuk memulai dari awal.
Ada 3 hal yang perlu Anda lakukan:
1) Buat disk image lebih besar. Di inang Anda:
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 rasa nyaman - Anda akan 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:
sumber
Saya pikir jawaban Caesium baik-baik saja, saya hanya ingin menuliskan beberapa perintah lain untuk mencapai hal yang sama.
Asumsikan Anda memiliki file
disk.img
dengan gambar disk, yaitu memiliki tabel partisi dan satu atau lebih partisi, dan katakan Anda ingin membuat partisi terakhir lebih besar. Yang harus Anda lakukan adalah1) membuat seluruh file lebih besar, katakanlah 4GiB. Cara cepat untuk melakukannya adalah menggunakan
dd
2) membuat partisi lebih besar menggunakan fdisk (saya berharap saya bisa melakukan ini di bagian atau beberapa alat yang lebih baik ... Ada orang?)
Ketik
p
untuk mencetak tabel partisi dan mencari sektor awal partisi Anda, misalnya partisi 2 dimulai pada sektor 106496.Apa yang akan Anda lakukan adalah menghapus partisi itu dari tabel partisi dan membuat partisi baru yang dimulai pada sektor yang sama persis tetapi berakhir di yang kemudian. Kemudian partisi tersebut akan berisi sistem file yang valid.
Ketik
d
dan berikan nomor partisi untuk dihapus. (Teguk!)Ketik
n
dan berikan nomor partisi yang diinginkan, lalu sektor awal. Anda HARUS menggunakan sektor awal yang sama seperti yang digunakan sebelumnya. Terakhir berikan sektor akhir atau biarkan fdisk memilih sektor tertinggi yang dapat Anda gunakan.Ketik
w
untuk menulis perubahan kembali ke file gambar disk, dan keluar dari fdisk.3) Sekarang Anda perlu mengubah ukuran sistem file. Untuk ini, Anda perlu offset ke (= posisi) sistem file di dalam gambar disk. Anda dapat menghitung ini dari nomor sektor jika Anda mengetahui ukuran sektor (yang biasanya 512), atau Anda dapat menggunakannya
parted
(
parted
dapat mengambil perintah sebagai argumen baris perintah, jadi ini berarti 'satuan byte' dan 'cetak', sehingga ia mencetak tabel partisi dan menggunakan byte sebagai ukuran uint.)Ini mencetak partisi dimulai dan berakhir. Katakanlah bahwa partisi Anda dimulai pada 54525952, maka Anda membuat loopback block devices
losetup
.losetup
memberitahu Anda dev mana yang dipilihnya, misalnya/dev/loop0
. Sekarang Anda dapat menggunakanresize2fs
:dan akhirnya lepaskan perangkat loop
sumber
Solusi terbaik ditemukan di sini:
http://www.linux-kvm.com/content/how-resize-your-kvm-virtual-disk
Saya pikir apa yang dikatakan @Caesium diberikan dari tautan resmi di atas
Saya harap ini akan membantu.
3 Langkah:
sumber
Program sederhana ini menambahkan N byte ke akhir gambar virtual. Saya menggunakan gambar partisi Paragon untuk Windows XP untuk menggabungkan gambar yang baru dibuat. Bekerja dengan baik di sini.
sumber
dd
atautruncate
...