Apakah Anda memutuskan untuk beralih dari Oracle VirtualBox ke Mesin Virtual berbasis Kernel? Besar! Panduan langkah demi langkah ini menjelaskan cara memigrasikan VM Virtualbox ke VM KVM di Linux.
Anda mungkin telah menjalankan beberapa mesin tamu penting di VirtualBox. Daripada membuat tamu KVM baru dengan konfigurasi yang sama, Anda dapat dengan mudah mengonversi mesin Virtualbox yang ada ke KVM seperti yang dijelaskan di sini.
Migrasikan VM Virtualbox ke VM KVM di Linux
Pertama, matikan semua mesin virtual yang berjalan di VirtualBox.
Untuk tujuan panduan ini, saya akan menggunakan CentOS dan FreeBSD mesin virtual yang di-host di VirtualBox.
Seperti yang mungkin sudah Anda ketahui, format gambar disk default dari mesin virtual KVM adalah .qcow2
dan Virtualbox VM adalah .vdi
.
Kita dapat mengonversi file image disk vdi ke qcow2 dengan dua cara. Kita dapat langsung mengonversi vdi
gambar ke qcow2
format.
Jika tidak berhasil karena alasan apa pun, pertama-tama kita dapat mengonversi vdi
format ke format mentah lalu ubah format mentah menjadi qcow2
.
1. Konversi format gambar vdi ke format gambar qcow2
Izinkan saya menunjukkan kepada Anda jenis gambar disk dari CentOS VM saya yang dibuat menggunakan VirtualBox.
$ ls CentOS\ 8\ Server/
Contoh keluaran:
CentOS 8 Server.vbox CentOS 8 Server.vbox-prev CentOS 8 Server.vdi Logs
Seperti yang mungkin Anda perhatikan, jenis file image disk CentOS VM adalah .vdi . Bagi mereka yang bertanya-tanya, VDI adalah format asli VirtualBox. VirtualBox menggunakan format ini secara default saat kita membuat mesin virtual baru.
Dan berikut ini adalah jenis file image disk FreeBSD:
$ ls FreeBSD\ 12/ FreeBSD-12.0-RELEASE-amd64.vhd freebsd12.qcow2 FreeBSD 12.vbox FreeBSD 12.vbox-prev Logs
Di sini, jenis file gambar disk freebsd adalah .vhd . VHD adalah format asli dari Microsoft Virtual PC.
Saya membuat kedua mesin virtual di VirtualBox. Tapi Virtualbox menggunakan .vdi
format untuk CentOS dan .vhd
format untuk FreeBSD.
Format VDI dan VHD didukung dengan sangat baik oleh VirtualBox. Dan kedua jenis gambar tersebut dapat dengan mudah dikonversi ke format qcow2.
Sekarang mari kita kembali ke topik - cara mengonversi image disk mesin Virtualbox ke tipe image disk yang didukung KVM menggunakan "qemu-img"
memerintah?
Nah, itu mudah! qemu-img
perintah digunakan untuk mengonversi image disk mesin virtual ke berbagai format berbeda, termasuk qcow2
, raw
, vdi
, vhd
, dan vmdk
.
Untuk mengonversi vdi
gambar ke qcow2
gambar menggunakan qemu-img
perintah, jalankan:
$ qemu-img convert CentOS\ 8\ Server/CentOS\ 8\ Server.vdi -O qcow2 centos8.qcow2
Perintah di atas akan mengonversi vdi
yang diberikan file ke qcow2
formatnya.
Di sini, kami menggunakan -O qcow2
untuk secara eksplisit menentukan format output. Tentu saja, Anda tidak perlu secara eksplisit menentukan format output dan cukup menentukan format input dan output seperti di bawah ini:
$ qemu-img convert CentOS\ 8\ Server/CentOS\ 8\ Server.vdi centos8.qcow2
Tapi, itu akan membuat gambar berukuran lebih besar.
Demikian pula, Anda dapat mengonversi vhd
file gambar ke qcow2
gambar menggunakan perintah berikut:
$ qemu-img convert FreeBSD\ 12/FreeBSD-12.0-RELEASE-amd64.vhd -O qcow2 freebsd12.qcow2
Inilah cara kami memigrasikan mesin Virtualbox Virtual ke mesin virtual KVM.
Sekarang buka "Buat mesin virtual KVM dari gambar Qcow2 " yang diberikan di bawah ini untuk mengetahui cara membuat mesin virtual KVM baru menggunakan gambar Qcow2.
Untuk berjaga-jaga jika metode di atas tidak berhasil (yang sangat tidak mungkin), Anda dapat menggunakan metode berikut untuk mengonversi vdi
gambar ke qcow2
gambar.
2. Konversikan vdi ke format gambar mentah dan kemudian ke format gambar qcow2
Pertama, temukan daftar daftar image disk virtualbox yang tersedia dan lokasinya menggunakan perintah:
$ vboxmanage list hdds
Atau,
$ VBoxManage list hdds
Contoh keluaran:
UUID: ecfb6d5c-aa10-4ffc-b40c-b871f0404da8 Parent UUID: base State: created Type: normal (base) Location: /home/sk/VirtualBox VMs/CentOS 8 Server/CentOS 8 Server.vdi Storage format: VDI Capacity: 20480 MBytes Encryption: disabled UUID: 34a5709f-188c-4040-98f9-6093628c3d88 Parent UUID: base State: created Type: normal (base) Location: /home/sk/VirtualBox VMs/Ubuntu 20.04 Server/Ubuntu 20.04 Server.vdi Storage format: VDI Capacity: 20480 MBytes Encryption: disabled
Seperti yang Anda lihat, saya memiliki dua VM virtualbox.
Sekarang saya akan mengonversi gambar disk mesin CentOS 8 ke format disk mentah menggunakan vboxmanage
perintah:
$ vboxmanage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img
Atau,
$ VBoxManage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img
Contoh keluaran:
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone medium created in format 'RAW'. UUID: afff3db8-b460-4f68-9c02-0f5d0d766c8e
Gambar RAW terlalu besar menggunakan. Dalam kasus saya, gambar RAW sepuluh kali lebih besar dari gambar Qcow2.
$ du -h CentOS_8_Server.img 21G CentOS_8_Server.img
Jadi mari kita ubah format gambar RAW menjadi format disk KVM yaitu qcow2 terkompresi menggunakan perintah qemu-img:
$ qemu-img convert -f raw CentOS_8_Server.img -O qcow2 CentOS_8_Server.qcow2
Selesai! Kami telah mengonversi format gambar disk Virtualbox VDI menjadi format gambar KVM qcow2.
Periksa ukuran gambar Qcow2:
$ du -h CentOS_8_Server.qcow2 2.1G CentOS_8_Server.qcow2
Lihat? Qcow2 jauh lebih kecil dari gambar RAW.
3. Buat mesin virtual KVM dari gambar Qcow2
Anda sekarang dapat membuat instance KVM baru dengan mengimpor file image disk virtual dari baris perintah atau menggunakan aplikasi manajemen KVM grafis seperti Virt-manager atau Kokpit konsol web.
Lihat panduan berikut untuk lebih jelasnya:
- Cara Membuat Mesin Virtual KVM Menggunakan Gambar Qcow2
Pemecahan Masalah
Terkadang Anda mungkin telah menghapus disk virtual tanpa melepaskannya dengan benar dari manajer media Virtualbox.
Saat Anda mencoba membuat image RAM baru dari file VDI yang sama, Anda akan mendapatkan kesalahan seperti - "hard disk with UUID already exists"
.
Untuk memperbaiki masalah ini, Anda harus melepaskan disk virtual dari Virtualbox dan mencoba lagi untuk mengonversi gambar. Lihat panduan berikut untuk mengetahui cara melakukannya:
- Perbaiki "hard disk dengan UUID sudah ada" Masalah Di VirtualBox
Kesimpulan
Dalam panduan ini, kita telah melihat cara memigrasikan VM Virtualbox ke VM KVM di Linux. Kami juga melihat cara membuat instance KVM baru dengan mengimpor file gambar Qcow2.