Saya mengatur tamu Ubuntu pada host CentOS KVM dengan ruang disk awalnya 6GB. Bagaimana cara meningkatkan ruang disk tamu Ubuntu dari baris perintah?
EDIT # 1: Saya menggunakan file gambar disk (qemu).
Saya mengatur tamu Ubuntu pada host CentOS KVM dengan ruang disk awalnya 6GB. Bagaimana cara meningkatkan ruang disk tamu Ubuntu dari baris perintah?
EDIT # 1: Saya menggunakan file gambar disk (qemu).
Jawaban:
qemu-img resize vmdisk.img +10G
untuk meningkatkan ukuran gambar sebesar 10Gbsumber
start the VM, resize the partitions and LVM structure within it normally
Bagaimana cara melakukannya? Tolong jelaskan itu.Metode Online (menggunakan qemu, libvirt, dan virtio-block)
Untuk lebih baik atau lebih buruk, perintah di bawah ini akan berjalan bahkan jika disk virtual target dipasang. Ini dapat berguna dalam lingkungan di mana disk tidak dapat di-unmount (seperti partisi root), VM harus tetap aktif, dan pemilik sistem bersedia menanggung risiko korupsi data . Untuk menghapus risiko itu, Anda harus masuk ke VM dan melepas dahulu disk target, sesuatu yang tidak selalu mungkin.
Lakukan hal berikut dari hypervisor KVM.
Tambah ukuran file gambar disk itu sendiri (tentukan jumlah yang akan ditingkatkan):
Dapatkan nama perangkat virtio, melalui shell libvirt (
drive-virtio-disk0
dalam contoh ini):Memberi sinyal driver virtio untuk mendeteksi ukuran baru (tentukan total kapasitas baru):
Kemudian masuk ke VM. Menjalankan
dmesg
harus melaporkan bahwa disk virtio mendeteksi perubahan kapasitas. Pada titik ini, silakan ubah ukuran partisi dan struktur LVM Anda sesuai kebutuhan.sumber
Pertanyaan-pertanyaan serverfault ini serupa tetapi lebih spesifik, ukuran disk KVM online? & Centos Xen mengubah ukuran partisi DomU dan grup volume . Yang pertama menanyakan pertanyaan tentang bagaimana meningkatkan tamu KVM saat online, sedangkan yang ke-2 adalah spesifik XEN menggunakan LVM. Saya bertanya bagaimana menyelesaikan ini saat KVM sedang offline.
CATATAN: Tautan ini berguna untuk METHOD # 1, dan menunjukkan cara menyelesaikan peningkatan ruang disk KVM (berbasis ext3), HOWTO: Mengubah ukuran Gambar Mesin Virtual KVM .
Satu hal yang perlu diperhatikan dengan tamu KVM adalah bahwa partisi yang mereka gunakan di dalam dapat mempengaruhi metode mana yang dapat Anda gunakan untuk menambah ruang disk mereka.
METODE # 1: Partisi berbasis ext2 / ext3 / ext4
Kacang metode ini adalah sebagai berikut:
Sekarang dengan file mykvm.img yang lebih besar di tangan, boot gparted dan perpanjang partisi yang ada ke dalam ruang disk yang baru ditambahkan. Langkah terakhir ini pada dasarnya memperluas partisi OS sehingga dapat memanfaatkan ruang ekstra.
METODE # 2: Partisi berbasis LVM
Berikut adalah langkah-langkah yang saya ikuti secara kasar untuk mengubah ukuran tamu KVM yang menggunakan LVM secara internal.
jalankan fdisk di dalam VM dan hapus & buat kembali partisi LVM
Nyalakan ulang VM
Ubah ukuran volume fisik LVM
Ubah ukuran Volume Logika LVM
Kembangkan sistem File
Di atas adalah contoh saya, tetapi saya mengikuti langkah-langkah di situs web ini
sumber
virt-manager
dan telah menggunakan metode # 1 & # 2 secara ekstensif sebelum saya memigrasi server KVM kami ke versi KVM yang lebih baru (CentOS 5 -> CentOS 6). Saya sekarang menggunakanqemu-img resize
metode ini juga.lvextend /dev/Volgroup/lvname /dev/vda2
(semua dalam satu baris, di mana / dev / vda2 akan menjadi volume fisik Anda). Tanpa opsi lain, itu akan menggunakan ukuran maksimum dalam grup volume itu.Ubah Ukuran dan Perluas Partisi Internal dalam Satu Langkah
Saya memiliki host Ubuntu dengan gambar file tamu qcow2 dan ingin mengubah ukuran disk dan memperluas partisi yang sesuai semua dalam satu langkah. Ini mengharuskan Anda untuk mengatur utilitas sistem file guest libvirt, tetapi itu berguna untuk tetap ada.
Inspirasi dari sini: http://libguestfs.org/virt-resize.1.html
Perintah kuncinya di sini adalah:
virt-resize
Persiapan:
Sekarang lakukan hal berikut:
1) mematikan tamu:
2) Periksa ukuran saat ini dan lihat nama partisi yang ingin Anda kembangkan menggunakan utilitas libvirt:
sudo virt-filesystems --long --parts --blkdevs -h -a name-of-guest-disk-file
3) Buat disk keluaran (40G) baru:
4) Salin yang lama ke yang baru sambil memperluas partisi yang sesuai (dengan asumsi partisi disk Anda dari langkah 2 adalah / dev / sda1):
5) Ganti nama file indisk sebagai cadangan, ganti nama outdisk sebagai indisk (atau ubah XML tamu)
6) Reboot tamu dan uji file disk baru dengan hati-hati sebelum menghapus file asli
7) Untung!
sumber
-o preallocation=metadata
membuat file jarang. Dengan opsi itu, pra-mengalokasikan seluruh ukuran.-o preallocation=metadata
dan jika tidak, Anda juga harus melewatitruncate
langkah ini.virt-resize
akan tumbuh file yang sesuai pula.Jika Anda menggunakan LVM dalam VM, cara paling sederhana untuk melakukannya adalah dengan menambahkan disk virtual baru ke VM dan memperluas grup volume dan volume logis ke dalamnya.
Untuk memeriksa apakah Anda menggunakan LVM run
sudo pvs; sudo vgs; sudo lvs
, Anda akan mendapatkan sesuatu seperti ini:jika OS VM menggunakan LVM. Dalam contoh di atas VM memiliki vdisk 30Gbyte, dikonfigurasi menggunakan LVM dengan satu grup volume bernama vgWWW yang berisi dua volume logis, satu untuk swap dan satu untuk yang lainnya.
Jika LV digunakan di VM:
sudo pvcreate /dev/vdb
sudo vgextend vgWWW /dev/vdb
sudo lvextend --extents +100%FREE /dev/vgWWW/root
(atau sesuatu sepertisudo lvextend --size +8G /dev/vgWWW/root
jika Anda tidak ingin tumbuh sepanjang jalan, contoh ini akan menambah 8Gb ke volume)resize2fs /dev/vgWWW/root
Catatan: di atas mengasumsikan nama vg / lv sama dengan contoh saya yang tidak mungkin, ubah sesuai kebutuhan, juga jika VM sudah memiliki drive virtual yang disebut
vdb
yang baru akan menjadi sesuatu yang lain (vdc
, dan seterusnya)Catatan:
resize2fs
hanya akan bekerja pada sistem file ext2, ext3 dan ext4. Jika Anda menggunakan sesuatu yang lain itu akan kesalahan dan tidak melakukan apa pun.Catatan: karena Anda mengubah ukuran sistem file langsung
resize2fs
tidak akan meminta Anda untuk menjalankannyafsck
terlebih dahulu seperti halnya untuk sistem file yang tidak di-mount, itu hanya akan berjalan terus. Anda mungkin ingin menjalankan sistem file read-only memeriksa tidak ada masalah sebelum melanjutkan.sumber
Dimungkinkan untuk melakukan pengubahan ukuran online. libvirtd mendukung ini secara asli:
Temukan nama perangkat blok. Seharusnya sesuatu seperti "vda"
Ubah ukuran perangkat virtual:
Berikut adalah contoh di mana saya memperluas
vda
disk dari50GB
ke51GB
untukundercloud
VM.Sekarang lihat detail file gambar .qcow2:
Sekarang mari kita mengubah ukuran perangkat blok vda:
Dan konfirmasikan:
Kemudian Anda dapat menggunakan skrip ini di dalam VM untuk menampilkan perintah untuk mengubah ukuran perangkat blok dan fs: https://github.com/mircea-vutcovici/scripts/blob/master/vol_resize.sh .
sumber
Ada kemungkinan untuk meningkatkan ukuran disk VM Anda tanpa me-reboot VM jika Anda menggunakan virtio drive dan LVM.
(Opsional) Buat partisi utama dengan fdisk untuk mendapatkan / dev / vdb1, kemudian gunakan kpartx -a / dev / vdb untuk membaca ulang tabel partisi
Gunakan vgextend vg_name / dev / vdb1 (atau / dev / vdb jika Anda tidak membuat partisi)
Kamu sudah selesai.
sumber
Dengan cara ini Anda dapat memperluas partisi yang Anda inginkan:
Lihat lebih banyak contoh di sini .
sumber
Cara lain untuk melakukannya
pergi di make a disk scan ulang dan setelah Anda dapat melakukan ukuran lvm Anda.
sumber
Jika Anda memiliki LVM di VM Anda maka ini gila mudah dan cepat.
sudo system-config-lvm
terminal) *.Saya menemukan GUI cukup intuitif, tetapi ikuti langkah selanjutnya jika Anda memiliki masalah.
Catatan! Setidaknya pada CentOS 6 LVM GUI tidak diinstal secara default, tetapi Anda dapat menginstalnya dengan
yum install system-config-lvm
.sumber
Ubah ukuran gambar:
meningkatkan ukuran gambar sebesar 16 GB.
Jika gambar Anda memiliki GPT (GUID Partition Table) maka ukuran drive yang digunakan dalam GPT akan berbeda dari ukuran baru, Anda harus memperbaikinya dengan
gdisk
:atau dengan
parted
:Untuk beberapa alasan
parted
perbaikan tidak berfungsi ketika tidak ada tty yang disajikan (misalnya saat penyediaan dengan Vagrant) jadi saya gunakangdisk
.Tambah ukuran partisi untuk mengisi semua ruang yang tersedia:
Bagian
x a 2 <Enter>
ini opsional dan diperlukan jika Anda menggunakan BIOS lawas.MY_PARTITION_GUID=...
danc $MY_PARTITION_GUID
bagian juga opsional dan hanya diperlukan jika Anda menggunakan UUID partisi di/etc/fstab
atau di tempat lain.Reboot atau baca ulang partisi dengan
partx -u $MY_DRIVE
ataupartprobe
.Perpanjang partisi, contoh untuk
ext2
,ext3
atauext4
:sumber
Anda dapat menggunakan solus vm dengan gparted mount. Setelah digunakan dengan gparted, Anda dapat dengan mudah mem-boot sistem dan menyesuaikan ruang. Pastikan Anda memiliki prioritas boot yang benar. Sebagai referensi, silakan merujuk url di bawah ini yang bisa berguna. https://greencloudvps.com/knowledgebase/11/How-to-Extend-the-Hard-drive-on-KVM-after-upgrading-VPS.html
sumber