GNU/Linux >> Belajar Linux >  >> Linux

Apakah ukuran disk online dapat diubah dengan KVM?

Solusi 1:

Saya tahu itu pertanyaan lama, tetapi saya menemukannya saat mencari solusi di Google dan berharap dapat membantu orang lain.

Untuk hari ini adalah mungkin untuk mengubah ukuran hard drive pada mesin. Saya telah menemukan cara kerja di sini:

https://bugzilla.redhat.com/show_bug.cgi?id=648594

Langkah-langkah berikut harus dilakukan:

  1. Temukan nama file dan nama perangkat KVM dari hard drive yang ingin Anda ubah ukurannya:

    [email protected]:/data# virsh dumpxml test | xpath -e /domain/devices/disk
    Found 2 nodes in stdin:
    -- NODE --
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2" />
      <source file="/data/test.img" />
      <backingStore />
      <target dev="vda" bus="virtio" />
      <alias name="virtio-disk0" />
      <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0" />
    </disk>
    -- NODE --
    <disk type="file" device="cdrom">
      <driver name="qemu" type="raw" />
      <source file="/data/images/debian-8.2.0-amd64-netinst.iso" />
      <backingStore />
      <target dev="hda" bus="ide" />
      <readonly />
      <alias name="ide0-1-1" />
      <address type="drive" controller="0" bus="1" target="0" unit="1" />
    </disk>
    

Yang menarik bagi kami adalah disk. Anda harus mencari source dan alias blok. Bagi saya nama file adalah test.img dan nama aliasnya adalah virtio-disk0 . Untuk nama ini, Anda perlu menambahkan drive- untuk mendapatkan nama drive qemu.

  1. Sekarang kami benar-benar mengubah ukuran drive menggunakan qemu monitor:

    virsh qemu-monitor-command test block_resize  drive-virtio-disk0  100G --hmp
    

Perhatikan bahwa nama file digunakan tanpa ekstensi .img dan drive- ditambahkan ke alias disk. 100G adalah hasil ukuran drive yang ingin kita miliki

  1. Masuk ke mesin dan periksa apakah ukuran sebenarnya telah diubah:

    [email protected]:~# fdisk -l
    
    Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x7e6e7f71
    
    Device     Boot  Start       End   Sectors  Size Id Type
    /dev/vda1  *      2048    499711    497664  243M 83 Linux
    /dev/vda2       501758 167770111 167268354 79.8G  5 Extended
    /dev/vda5       501760 167770111 167268352 79.8G 8e Linux LVM
    

Itu dia! Sekarang Anda dapat membuat partisi baru atau mengubah ukuran partisi yang sudah ada.

Solusi 2:

AFAIK, ini tidak mungkin - Anda dapat menambahkan gambar disk baru, dan seperti yang Anda tunjukkan, Anda juga dapat menambahkan gambar baru ke volume LVM, tetapi untuk mengubah ukuran gambar disk aktif yang dapat di-boot, Anda harus dapat menutupnya bawah dan edit partisi.

Inilah penjelasan yang bagus untuk memperluas gambar. Meskipun memerlukan shutdown, Anda mungkin dapat lolos hanya dengan beberapa menit waktu henti, terutama jika Anda menghindari opsi gambar --nonsparse dan menambahkan disk gparted ke file iso dan memasang tamu KVM Anda terlebih dahulu. Semoga ini bisa membantu.

Solusi 3:

Saya pikir Anda terjebak melakukan apa yang Anda sebutkan jika Anda ingin melakukannya tanpa mematikan mesin.

Mengapa tidak memberikan LUN mesin virtual langsung dari SAN dan mengelola ruang di sana? Ini berfungsi lebih baik jika Anda ingin menggunakan fitur seperti migrasi langsung.

KVM didasarkan pada QEMU sehingga semua dukungan format gambarnya berasal dari proyek itu. Inilah cara yang bagus untuk mengubah ukuran berbagai format yang didukung Qemu/KVM. Namun forum Qemu akan menjadi tempat yang baik untuk menanyakan pertanyaan ini jika Anda tidak mendapatkan jawaban yang pasti di sini.

Opsi lain yang mungkin tidak ideal adalah menggunakan qcow2 yang sangat besar atau format gambar jarang lainnya untuk drive. Jadi Anda bisa memberi setiap mesin drive kecil untuk OS dan gambar jarang yang besar untuk data di bawah LVM. Ini setidaknya akan menjaga jumlah drive/gambar virtual yang harus Anda kelola. Namun penyediaan yang tipis ini bisa menjadi masalah jika Anda melakukan ini pada 1000 mesin dan semua orang menggunakan ruang kosong yang mereka lihat.

XEN Saya percaya memiliki batasan yang sama saat ini.

Solusi 4:

Dimungkinkan untuk memindahkan sistem Linux antar disk saat sedang berjalan. Batasannya adalah Anda tidak dapat mengubah partisi pada disk yang memiliki partisi sedang digunakan.

Untuk melakukan ini, sistem file root Anda harus menggunakan LVM, ini sering kali berarti Anda harus memiliki sistem file boot terpisah (namun, ini tidak penting, ini hanya membuat semuanya lebih mudah)

Setelah memasukkan disk baru, Anda menambahkannya ke LVM dengan vgextend, gunakan pvmove untuk memindahkan rootfs ke disk baru, gunakan lvextend dan resize2fs masing-masing untuk memperluas volume logis dan sistem file kemudian gunakan vgreduce untuk menghapus disk lama dari volume kelompok. Setelah dihapus, volume lama dapat dicabut.

Untuk kasus sederhana, Anda memiliki disk kecil untuk sistem file boot yang tidak perlu Anda sentuh. Tapi kalau sendiri itu mudah untuk melepasnya cabut, pasang yang baru dan bangun kembali boot disk tanpa menghentikan sistem. (jangan mogok saat Anda melakukannya)

Catatan:resize2fs juga dapat mengecilkan sistem file.


Linux
  1. Mengganti drive RAID 6 yang gagal dengan mdadm

  2. Apakah mungkin untuk mengubah ukuran gambar disk QEMU?

  3. Bagaimana cara mengganti disk di kumpulan ZFS yang tidak berlebihan?

  1. Meniru disk besar di Linux dengan VDO

  2. Kesalahan Pada Kloning Disk Dengan Cat?

  3. Linux – Membuat Penyalinan Disk/disk Lebih Lambat?

  1. Periksa ruang disk yang digunakan di Linux dengan du

  2. Apakah Mungkin Untuk Memilih Tab Sebagai Tab Dengan Mouse Di Urxvt?

  3. Dapatkan ruang disk kosong dengan df untuk hanya menampilkan ruang kosong di kb?