Berkencan dengan KVM (Kernel Based Virtual Machine)

Pernah mencoba KVM ? KVM mempunyai cita rasa sederhana,terintegrasi dengan kernel, dan hardware intensif. Berbeda dengan VMware yang merupakan saudara tua yang lahir saat processor tidak dirancang untuk mensupport virtualisasi, maka generasi baru processor mempunyai fasilitas yang mendukung penuh system virtual seperti opsi VT-x, VT-d, dan VT-c (INTEL). VMware ditenggarai software intensif. :) Sedang XEN berada ditengah-tengah. KVM hanya terdiri dari 15 ribu baris kode. Baris code XEN adalah 150 ribu. (hampir 10x lipat).Sedang VMWare karena close souce tidak diketahui pasti.

Jika XEN merancang bangun hypervisor dari awal dan hanya memanfaatkan kernel sebagai I/O, maka bagi KVM, kernel adalah hypervisor. KVM memanfaatkan sistem scheduler,task, dan tetek bengek kernel sebagai bagian dari hypervisor.Secara politis KVM termasuk bagian UPSTREAM kernel.

Peningkatan performa pada kernel berimbas pada KVM secara otomatis. Developer KVM dapat lebih fokus ke sistem yang berkaitan dengan virtualisasi itu sendiri. Sebagai contoh : Peningkatan security pada kernel (yang digarap developer lain) akan berimbas pada security KVM.

Jika processor Anda mempunyai opsi VT-x (atau AMD-v), maka KVM layak untuk dicoba :)

Qemu-KVM
Yang dibutuhkan bagi KVM adalah qemu-kvm. Lapis atas setelah KVM ini digunakan untuk mensimulasi perangkat keras seperti processor, kartu jaringan, dan lain sebagainya. Untuk mudahnya KVM termasuk kernel space.Sedang QEMU adalah user space.

Dalam kencan kali ini, saya menggunakan Slackware64-13.0 :)

Download qemu-kvm : http://downloads.sourceforge.net/project/kvm/qemu-kvm/0.12.3/qemu-kvm-0....

Saya memanfaatkan script slackbuilds dan sedikit memodifikasi untuk slackware versi 64bit (x86_64)
http://slackbuilds.org/slackbuilds/13.0/system/qemu-kvm.tar.gz


    PRGNAM=qemu-kvm
    VERSION=${VERSION:-0.12.3}
    ARCH=${ARCH:-x86_64}
    BUILD=${BUILD:-1}
    TAG=${TAG:-_SBo}

Jangan lupa untuk menginstal setelah melakukan kompilasi dan pembentukan paket lewat Slackbuilds.
Hal selanjutnya adalah me-load modul KVM :


    #modprobe kvm
    #modprobe kvm-intel (atau kvm-amd)

Membuat Virtual Disk
Ini semacam hardisk virtual yang buat untuk guest.

    # qemu-img create -f qcow2 /home/mic/ubuntu.img 10G
    File system adalah qcow2 letak di/home/mic dan nama image :ubuntu.img. Kalau berjalan lancar, maka akan muncul baris di bawah :
    Formatting '/home/mic/ubuntu.img', fmt=qcow2 size=10737418240 encryption=off cluster_size=0
    Sekalian juga saya membuat slack13.img untuk slackware :)

Install dari ISO
Saya mempunyai file ISO ubuntu di /home/mic/ISO. Maka instruksi yang diperlukan :

    # qemu-system-x86_64 -hda /home/mic/ubuntu.img -cdrom /home/mic/ISO/ubuntu-10.04-beta1-desktop-i386.iso -m 1024
    Juga sekalian menginstal Slackware 13 dari file iso :)
    # qemu-system-x86_64 -smp 2 -hda /home/mic/slack13.img -cdrom /home/mic/ISO/slackware-13.0-install-dvd.iso -m 1024

Menjalankan Guest
Siap untuk menjalankan Guest ?

    # qemu-system-x86_64 /home/mic/ubuntu.img -m 1024 -smp 3

Catatan :
Contoh di atas mungkin Barebone, primitif ? Tapi powerfull untuk belajar dari bawah :)

Jika Anda bereksperimen dengan KVM, maka virtualbox akan 'ngambek' untuk jalan bersamaan. Jadi jangan load modul kvm jika Anda ingin bermain-main dengan virtualbox.

Site
http://www.linux-kvm.org
http://www.0fnords.net/content/virtualization-my-slackware-130-x8664-box

kvm1kvm1
kvm2kvm2