Anda di halaman 1dari 36

Virtualization with KVM on Ubuntu 12.

04
- on 16.27 - No comments

I.PENJELASAN

KVM (Kernel-based Virtual Machine) adalah virtualisasi infrastruktur


untuk kernel Linux yang mengubahnya menjadi sebuah hypervisor , yang
bergabung ke dalam kernel utama Linux pada Februari 2007.KVM
membutuhkan prosesor denganekstensi virtualisasi hardware . KVM juga
telah porting ke FreeBSD dan Illumos dalam bentuk modul kernel loadable.
KVM awalnya didukung x86 prosesor dan
telah porting ke S/390 , PowerPC , dan IA-64 . Sebuah ARM pelabuhan
digabungkan selama jendela merge 3.9 kernel.
Berbagai macam sistem operasi tamu bekerja dengan KVM, termasuk
banyak rasa Linux, BSD, Solaris , Windows , Haiku ,ReactOS , Plan 9 ,
dan AROS Penelitian Sistem Operasi . Selain Android 2.2, GNU /
Hurd (Debian K16), Minix 3.1.2a, Solaris 10 U3, Darwin 8.0.1 dan lebih OS
dan beberapa versi baru ini dengan keterbatasan diketahui bekerja. Sebuah
versi modifikasi dari QEMU dapat menggunakan KVM untuk menjalankan Mac
OS X .
Paravirtualization dukungan untuk perangkat tertentu yang tersedia untuk
Linux, OpenBSD, FreeBSD, NetBSD, Plan 9 dan Windows tamu
menggunakan VirtIO API. Ini mendukung kartu Ethernet paravirtual, sebuah
paravirtual disk I / O controller.Sebuah perangkat balon untuk menyesuaikan
penggunaan memori tamu, dan antarmuka grafis VGA
menggunakan SPICE atau VMware driver.

II.Langkah
1.Periksa apakah CPU-mu mendukung untuk melakukan Virtulization(Virtualisasi) .Untuk
melihat apakah CPU anda mendukung untuk membuat Virtualisasi, ketik perintah :

egrep -c '(vmx|svm)' /proc/cpuinfo

Akan muncul angka/jumlah virtulaisasi yang dapat di jalankan .

2.Dan anda juga dapat melihat apakah CPU anda mendukung untuk membuat KVM.Tapi anda
sebelumnya menginstal CPU Checker.Dengan perintah :

apt-get install cpu-checker

Setelah terinstal , baru kita ketik perintah :

kvm-ok

Perintah di atas berfungsi untuk menunjukan apakah KVM dapat di jalankan .Apabila ada
pemberitahuan seperti ini

INFO : /dev/kvm
KVM acceleration can be used

Berarti KVM dapat di jalankan.


3.Nah, setelah komputer kita mendukung.Kita harus menginstal paket-paket yang di perlukan
untuk menjalankan KVM.Dengan mengetik perintah :

apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

1.Paket libvirt-bin menyediakan libvirtd yang Anda butuhkan untuk mengelola qemu dan
KVM yang menggunakan libvirt .
2.Paket qemu-kvm digunakan untuk backend.
3.Paket ubuntu-vm-bulder adalah alat untuk membangun mesin virtual .
4.Paket bridge-utils menyediakan jembatan/penghubung antara jaringan anda ke mesin
virtual .

4.Untuk memastikan apakah username-mu di tambahkan ke group libvirtd dan kvm .Ketik
perintah :
adduser `id -un` libvirtd
adduser `id -un` kvm

5.Dan untuk mem-verify instalasi , ketik perintah :

virsh -c qemu:///system list


6.Kemudian kita harus memeriksa folder libvirt-sock , memiliki hak permisi seperti ini .
Dengan perintah :

ls -la /var/run/libvirt/libvirt-sock

7.Lalu direktori /dev/kvm .


8.Apabila perlu , kita ubah hak milik /dev/kvm kepada root di dalam group libvirt .Lalu kita
tambahkan informasi ke dalam kernel kvm dengan perintah modprobe.

9.Kemudian kita baru menginstal Virtual Machine .Dengan perintah :

apt-get install virt-manager


10.Kemudian kita jalankan Virtual Machine-nya dengan perintah :

virt-manager

11.Tampilan dari Virtual Machine .


12.Kemudian kita klik icon Monitor.Untuk membuat Virtual Machine baru.Muncul tampilan
seperti ini,
Tuliskan nama dari virtual manager .Kemudian klik Forward .
13.Kemudian muncul tampilan pilihan jenis media instalasi .Disini saya memilih instal media
dari ISO-image .Kemudian pilih ISO image yang akan di gunakan.Selesai klik Forward .
14.Atur ukuran Memory yang akan di gunakan .Dan tentukan jumlah CPU-nya juga.Selesai klik
Forward.
15.Lalu buatlah storage untuk Vrtual Machine-nya .Atur ukuran harddisk yang akan di
gunakan.Klik Forward.

16.Settingan akhir dari membuat Virtual Machine .


Klik Finish .
17.Disini saya menggunakan Elementary OS, dan inilah tampilan dari Virtual Machine
Elementary OS .
=====================================================================
TROUBLESHOOTING

NB : Apabila pada tahap ke 5(terdapat tombol Finish) atau sebelum kita membuat Virtual
Machine.Terdapat notifikasi seperti ini.

Tidak usah bingung , kita cukup buka Terminal dan mengetikan perintah seperti ini .

1.Ubah hak akses dari direktori /var/lib/libvirt/images.


chmod go+rx /var/lib/libvirt/images
chmod o-rwx /var/lib/libvirt/images/*

2. setfactl -m g::rw /dev/kvm


3. Kemudian ubah hak permisi dari /dev/kvm .

chown root:kvm /dev/kvm


Lalu reboot atau klik Close dari tampilan error tadi .
Virtualisasi Dengan KVM Linux
Posted on May 6, 2014 by Tedy Tirtawidjaja

Sekilas Tentang Virtualisasi


Saya sudah cukup lama menggunakan Virtualbox untuk melakukan virtualisasi OS. Virtualisasi
gampangnya dapat diartikan menjalankan suatu OS di dalam OS. Dengan virtualisasi kita bisa
punya beberapa komputer virtual (virtual machine=VM) sekaligus. Misalnya di Mac saya bisa
memasang OS Windows 7 dalam sebuah VM. Saya juga bisa punya beberapa VM berisi Linux,
dan aneka macam OS lainnya. Dulu sebelum kenal Virtualbox, bila saya menggunakan sebuah
notebook pasti saya pasang 2 OS di dalamnya. Saya perlu menentukan akan boot ke OS Linux
atau Windows. Sistem dual boot seperti itu memang lebih powerful karena OS langsung
berinteraksi dengan hardware komputer. Akan tetapi memasang beberapa OS dalam satu
komputer seperti itu sangat tidak praktis.

Dalam dunia virtulisasi komputer (physical computer) disebut sebagai host sementara semua
virtual machine akan disebut sebagai guest. Virtualbox membantu saya untuk melakukan
beberapa hal seperti misalnya :

mengakses aplikasi yang hanya tersedia di Windows tanpa harus punya komputer/laptop
dengan OS Windows.

mencoba varian distro Linux baru tanpa perlu melakukan instal ulang atau dual boot.

bereksperimen dengan Linux server, Solaris server, dsb.

melakukan eksperimen networking (routing, load balancing, firewall) dengan beberapa


VM sekaligus.

Bayangkan bila saya tidak punya VM, berapa banyak komputer (komputer dalam arti fisik
sebenarnya) yang harus saya miliki untuk melakukan eksperimen-eksperimen tadi. Dengan
menggunakan VM, saya jadi bisa melakukan testing yang memerlukan beberapa komputer
sekaligus. Selama komputer saya punya kapasitas memori dan kapasitas harddisk yang cukup,
saya bisa membuat banyak VM & menjalankannya sekaligus.

Ada beberapa macam aplikasi virtualisasi seperti misalnya :

Virtualbox

VMware

KVM
Xen Hypervisor

Oracle VM

Proxmox

Aplikasi-aplikasi tersebut biasanya dikenal sebagai hypervisor. Hypervisor menurut Wikipedia


didefinisikan sebagai berikut :

A hypervisor or virtual machine monitor (VMM) is a piece of computer software, firmware or


hardware that creates and runs virtual machines.

Teknologi virtualisasi sendiri dapat digolongkan menjadi 3 macam :

Full Virtualization, yang termasuk dalam kategori ini adalah Virtualbox, KVM. Full
Virtualization maksudnya adalah komputer host akan melakukan emulasi perangkat keras
(hardware) yang digunakan oleh guest. Guest tidak tahu kalau mesin yang digunakannya
adalah virtual machine. Full virtualization ini adalah tipe virtualisasi yang paling
fleksibel. Kita tidak perlu menggunakan OS dengan kernel khusus. Kita bisa langsung
menginstal sistem operasi layaknya kita menginstal OS pada komputer fisik. Kelemahan
full virtualization adalah guest tidak bisa mendapat kecepatan akses penuh saat
mengakses hardware (misalnya menulis/membaca data dari dalam harddisk atau bertukar
data lewat network interface). Lambatnya akses Input/Output ini akibat dari emulasi
hardware yang dilakukan oleh host.

Paravirtualization (PV), yang termasuk dalam kategori ini contohnya adalah Xen
Hypervisor. PV mengatasi kendala yang dimiliki oleh full virtualisation. OS yang
dipasang pada VM adalah versi termodifikasi dari sistem operasi (operating system/OS)
aslinya. Misalnya, RedHat Linux menyediakan kernel-xen untuk PV guest. Guest VM
sadar kalau mesin yang dipakainya adalah virtual machine. Sistem ini memiliki
throughtput yang jauh lebih baik daripada full virtualization & boleh dibilang yang paling
baik di antara 3 tipe virtualisasi. Sayangnya kita terikat pada pemilihan OS. Guest hanya
bisa menggunakan OS yang memang sudah disiapkan untuk berjalan di atas
paravirtualized VM.

Para-virtualized driver : sistem ini adalah kombinasi dari kedua sistem sebelumnya. OS
yang dipasang pada guest adalah OS biasa (native OS). Hanya saja ada tambahan driver
khusus yang perlu dipasang di komputer guest. Meskipun Virtualbox termasuk dalam
kategori Full virtualization, Virtualbox bisa termasuk juga dalam kategori ini. Virtualbox
menyediakan Virtualbox Guest Addition. Virtualbox Guest Addition menyediakan
driver-driver khusus untuk perangkat seperti network interface, video card, dsb. Sistem
ini menawarkan fleksibilitas dalam pemilihan OS sekaligus menawarkan performa I/O
yang lebih baik daripada full virtualization.
Menginstal KVM
Tulisan ini akan jadi catatan pribadi saya tentang langkah-langkah menginstal KVM pada
CentOS Linux 6.5. KVM adalah teknologi virtualisasi yang terintegrasi dengan kernel Linux.
KVM pertama kali diintegrasikan ke dalam kernel linux sejak versi kernel 2.6.20.

Dalam percobaan ini saya menggunakan notebook Fujitsu S6140 dengan spesifikasi seperti
berikut ini :

CPU Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz

3GB RAM

Harddisk 160GB

CentOS 6.5 (@base packages)

Untuk bisa menggunakan KVM, komputer host harus memiliki CPU dengan fitur hardware
virtualization extension. Pada CPU Intel fitur ini dikenal dengan nama vmx (Intel VT
Extention). Sementara pada CPU AMD, fitur tadi dikenal dengan nama svm (AMD-V
Extention).

Notebook Fujitsu yang saya gunakan sudah dilengkapi dengan vmx. Untuk memastikan saya bisa
menggunakan perintah berikut ini :

root@centosdev02:~# egrep "svm|vmx" /proc/cpuinfo


flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm
constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor
1ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm ida dts tpr_shadow
2vnmi flexpriority
3flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm
4
constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor
ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm ida dts tpr_shadow
vnmi flexpriority
root@centosdev02:~#

Berikut ini adalah langkah-langkah yang perlu dilakukan untuk menyiapkan KVM :

1. Hal pertama yang perlu saya lakukan adalah memasang beberapa paket berikut :

root@centosdev02:~# yum install kvm qemu-kvm python-virtinst libvirt


1 libvirt-python virt-manager libguestfs-tools

2. Selanjutnya saya perlu mengaktifkan servis libvirtd supaya otomatis aktif saat proses
booting. libvirtd adalah aplikasi manajemen virtualisasi.
1 root@centosdev02:~# chkconfig libvirtd on
2 root@centosdev02:~# service libvirtd start
3 Starting libvirtd daemon: [ OK ]
4 root@centosdev02:~# service libvirtd status
5 libvirtd (pid 5870) is running...
root@centosdev02:~#
6

3. Supaya VM dapat beruinteraksi dengan dunia luar, saya perlu menyiapkan network
bridge. Bridge akan menjembatani komunikasi antara VM dengan LAN. Semua
komunikasi data dari setiap VM akan melewati bridge (virtual switch) menuju physical
network interface yang dimiliki oleh host.

1 root@centosdev02:~# yum install bridge-utils

4. Dalam contoh ini, bridge akan bertindak sebagai virtual switch menghubungkan VM
dengan port Ethernet notebook saya.

5. Biasanya IP dipegang langsung oleh port Ethernet. Saat menggunakan bridge, IP tidak
lagi dialokasikan ke Ethernet tetapi dialokasikan ke bridge interface (pada contoh ini
bridge interface-nya adalah br0. Berikut adalah beberapa konfigurasi yang harus dibuat
untuk mengalokasikan IP ke bridge interface

1 root@centosdev02:~# vi /etc/sysconfig/network
2 NETWORKING=yes
HOSTNAME=centosdev02.gbt733.net
3 GATEWAY=192.168.10.2
4 GATEWAYDEV=br0
5 root@centosdev02:~#
6
7 root@centosdev02:~# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
8 TYPE=Ethernet
9 UUID=9d32baec-21ee-4157-a8d9-b85b5c231444
10 ONBOOT=yes
11 HWADDR=00:17:42:BD:FC:F8
12 BRIDGE=br0
root@centosdev02:~#
13
14 root@centosdev02:~# vi /etc/sysconfig/network-scripts/ifcfg-br0
15 DEVICE=br0
16 TYPE=Bridge
17 ONBOOT=yes
18 BOOTPROTO=none
IPADDR=192.168.10.40
19 PREFIX=24
20 GATEWAY=192.168.10.2
21 DNS1=8.8.8.8
22 STP=on
DELAY=0
23 root@centosdev02:~#
24
25
26
27
28

6. Pada contoh diatas bridge akan menggunakan IP 192.168.10.40. Interface br0 akan
menggunakan port Ethernet eth0 sebagai physical interface-nya.

7. Setelah konfigurasi network sudah selesai, saya tinggal merestart servis network :

1 root@centosdev02:~# service network restart


2 Shutting down interface br0: [ OK ]
3 Shutting down interface eth0: [ OK ]
4 Shutting down interface wlan0: [ OK ]
Shutting down loopback interface: [ OK ]
5 Bringing up loopback interface: [ OK ]
6 Bringing up interface eth0: [ OK ]
7 Bringing up interface br0: Determining if ip address 192.168.10.40 is
8 already in use for device br0...
9 [ OK ]
root@centosdev02:~#
10

8. Untuk melihat status bridge saya bisa gunakan perintah seperti berikut ini :

1 root@centosdev02:~# brctl show


2 bridge name bridge id STP enabled interfaces
3 br0 8000.001742bdfcf8 yes eth0
4 virbr0 8000.525400f30c3b yes virbr0-nic
5 root@centosdev02:~#

Sampai tahap ini saya sudah siap untuk membuat sebuah VM. Ada beberapa cara yang bisa
digunakan untuk membuat & mengatur VM dalam KVM. Pertama kita bisa menggunakan
perintah virsh, virsh adalah aplikasi manajemen VM berbasis teks. Kedua kita bisa
menggunakan aplikasi virt-manager. Aplikasi virt-manager berbasis GUI sehingga jauh lebih
mudah digunakan. Pada contoh ini saya akan menggunakan virt-manager. Supaya bisa
menggunakan virt-manager saya perlu mengakses desktop mesin centosdev02. Saya akses
desktop centosdev02 melalui VNC. Cara memasang VNC pada CentOS 6.5 pernah saya tulis
pada posting sebelumnya. Mari kita lanjutkan langkah-langkah membuat VM dengan virt-
manager.

1. Aplikasi virt-manager dapat diaktifkan melalui Terminal. Perlu hak akses root untuk
bisa menjalankan virt-manager.
Bila autentikasi root sukses, virt-manager akan membuka jendela baru dengan nama
Virtual Machine Manager.
2. Untuk membuat VM baru, saya tinggal klik kanan pada jendela virt-manager lalu klik
pilihan New.
3. Akan muncul jendela baru yang membimbing kita untuk mulai membuat VM. Yang
pertama perlu diset adalah nama VM yang akan kita buat :

Saya juga perlu menentukan media sumber instalasi, saya pilih untuk menggunakan ISO
Image.
4. Saya akan menggunakan Ubuntu 14.04 sebagai guest OS. Klik tombol Forward bila
sudah selesai pada langkah ini

5. Selanjutnya saya perlu menentukan ISO image mana yang akan digunakan sebagai
sumber instalasi. Saya juga diminta untuk menentukan tipe OS yang akan dipasang ada
VM ini.
6. Saat pertama kali mencoba saya mendapati error seperti ini :

Ini adalah masalah permission untuk membaca ISO image Ubuntu. virt-manager bisa
memperbaiki sendiri masalah permission ini. Saya tinggal klik Yes untuk mengijinkan
virt-manager mengatur ulang permission ISO Ubuntu tersebut.

7. Berikutnya saya akan diminta untuk menentukan jumlah memori yang akan dialokasikan
untuk VM Ubuntu. Pada contoh ini saya set memori 512MB & mengalokasikan hanya 1
CPU untuk Ubuntu.

Klik Forward untuk melanjutkan proses.

8. Berikutnya saya perlu menentukan seberapa besar storage yang akan digunakan oleh VM
ini. Boleh dibilang kita akan membuat virtual harddisk bagi komputer guest. Saya pilih
untuk mengalokasikan ruang sebesar 8GB.
9. Pada contoh ini saya mendapati error seperti ini.

virt-manager mengatakan tidak cukup ruang sebesar 8GB pada komputer centosdev02
ini. Sebenarnya saya masih punya banyak ruang kosong pada harddisk Fujitsu. Error ini
karena virt-manager masih menggunakan lokasi default untuk menyimpan virtual
harddisk. Lokasi default ini ada di : /var/lib/libvirt/images. Dalam kasus saya,
partisi root notebook Fujitsu ini hanya sebesar 8GB sehingga tidak mungkin menyimpan
file berukuran besar.

10. Saya batalkan dulu menu wizard membuat VM ini untuk memperbaiki lokasi tempat
penyimpanan virtual harddisk. Pengaturan lokasi images ini dapat ditemukan pada
menu Connection Details Virtual Machine Manager seperti pada contoh di bawah ini :
Saya memilih untuk membiarkan setting lokasi seperti itu. Yang saya lakukan adalah
membuat soft link ke partisi lain yang punya ruang cukup besar (saya pilih untuk
menggunakan partisi /home):

1 root@centosdev02:~# mkdir /home/ttirtawi/iso-images


2 root@centosdev02:~# ln -sr /home/ttirtawi/iso-images /var/lib/libvirt/images

Setelah mengganti lokasi tersebut, saya tinggal klik tombol Refresh. Virtual Machine
Manager sekarang sudah melihat ruang sebesar 131.97GB, cukup untuk meletakkan
virtual harddisk VM.
11. Saya bisa mengulang kembali (dari langkah #2 di atas) untuk membuat VM baru. Setelah
selesai menentukan ukuran & lokasi penyimpanan virtual harddisk, virt-manager akan
menampilkan pilihan pengaturan jaringan. Saya memilih untuk menggunakan br0.
Artinya Ubuntu VM ini akan berkomunikasi dengan dunia luar melalui interface br0
milik centosdev01 sebagai komputer host-nya.

Untuk mengakhiri saya tinggal klik tombol Finish.


12. Begitu tombol Finish diklik, Virtual Machine Manager akan memunculkan jendela baru
seperti pada contoh di bawah ini :

Jendela tersebut adalah console dari Virtual Machine yang baru saya buat. Anggap saja
itu adalah layar monitor dari virtual machine tersebut. Virtual Machine baru ini langsung
aktif & saya bisa segera menginstal Ubuntu ke dalam VM ini.
Tentu dalam tulisan ini, saya tidak akan merinci langkah-langkah instalasi Ubuntunya.

13. Pada jendela VM tadi ada tombol i yang bisa diklik untuk menampilkan informasi
tentang virtual machine itu sendiri. Di sini saya bisa melihat beberapa pengaturan virtual
hardware yang dipakai oleh Ubuntu sebagai komputer guest.
Dari menu inilah saya bisa mengatur kembali hardware yang digunakan oleh guest VM
ini. Misalnya saya bisa memasang tambahan virtual harddisk atau memasangkan
tambahan network interface, dsb.

Kira-kira seperti itu catatan saya mencoba mempelajari virtualisasi dengan KVM. Ada banyak
topik lain yang masih saya pelajari berkaitan dengan KVM ini. Mungkin lain waktu saya akan
tuliskan di posting selanjutnya.

Anda mungkin juga menyukai