Rabu, 27 Maret 2013

Ubuntu 12.04 VM Paravirtualized (PV) on Citrix XenServer 6

Sebuah hypervisor adalah program yang mendukung menjalankan beberapa sistem operasi secara bersamaan pada satu host komputer. Sebuah hypervisor juga dikenal sebagai Virtual Machine Monitor (VMM).

Kebanyakan orang berpikir tentang Virtual Machine adalah virtualisasi hardware atau Hardware Virtualized Machine (HVM), di mana VM guest terisolasi  dalam sebuah container. Pada mode HVM Xen Hypervisor ini yang juga dikenal sebagai Dom0 – tidak memiliki akses pada VM guest didalamnya yang juga  dikenal sebagai Domu.
Paravirtualization (PV)  berbeda dari HVM dalam menyediakan hubungan  khusus  untuk berbagi informasi antara VM Guest dan Host hypervisor. Dengan PV, Dom0 (XenServer) berbagi sumber daya dengan  Domu (VM) dengan cara yang lebih baik.

XenServer tidak mendukung mode Ubuntu 12.04 untuk dijalankan dengan mode Paravirtualization (PV) secara default. Walaupun Ubuntu 12.04 tetap bisa dijalankan dengan mode HVM di Xenserver, namun Xentools tidak akan mampu berjalan maksimal pada mode ini.

Untuk itu kita perlu mengubah Ubuntu12.04 dapat dijalankan dengan mode PV pada XenServer.


Step 1 . Install Ubuntu 12.04 dengan mode HVM


Pertama sekali kita install Ubuntu 12.04 dengan mode HVM, pada saat instalasi anda dapat memisahkan partisi /boot dengan /root. Untuk partisi /boot buatkan tipe partisinya Linux ext3 dan untuk /root buat tipenya Linux ext4. Jika anda hanya menggunakan satu partisi /  saja, maka tipe partisinya harus di set ke ext3. Alasannya karena pygrub, boot loadernya xenserver untuk mode PV belum support ext4.

Setelah selesai install pastikan ip address ubuntu telah diset dengan baik, dan juga openssh server terinstall, karena setelah mode PV console untuk Ubuntu12.04 yang ada di Xenserver ada kemungkinan tidak dapat diakses, sehingga koneksi ke VM dapat dilakukan dengan ssh client (putty jika pake windows).

Step 2 Buat console baru dengan nama hvc0


Kita buatkan console baru yang akan digunakan oleh XenServer, yaitu console hvc0 dengan meng-copy file tty1.conf

sudo cp /etc/init/tty1.conf /etc/init/hvc0.conf

Kemudian edit file /etc/init/hvc0.conf, pada baris terakhir gantikan tty1 dengan hvc0

exec /sbin/getty -8 38400 tty1  diubah menjadi exec /sbin/getty -8 38400 hvc0

Step 3 Kumpulkan informasi dari grub.cfg


Sekarang kita lihat informasi yang ada di grub.cfg-nya Ubuntu 12.04 dengan perintah
 vi /boot/grub/grub.cfg

menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {        recordfail        
gfxmode 
$linux_gfx_mode        
insmod gzio        
insmod part_msdos        
insmod ext2        
set root='(hd0,msdos1)'        
search --no-floppy --fs-uuid --set=root f7489e9f-90b8-4e6b-a4d6-31076cd79fe0        
linux   /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=f7489e9f-90b8-4e6b-a4d6-31076cd79fe0 ro   nosplash debug  --verbose        
initrd  /boot/initrd.img-3.2.0-23-generic-pae

}

Dari tampilan konfigurasi boot.cfg yang perlu dicatat adalah parameter kernel yang di-boot oleh bootloader dan UUID partisi rootnya. Pada konfigurasi diatas ditampilkan seperti ini,

linux   /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=f7489e9f-90b8-4e6b-a4d6-31076cd79fe0


Step 4 Konfigurasi XenServer


Setelah tahapan persiapan sudah kita lakukan, sekarang kita akan masuk ke konsole Citrix Xenserver untuk mengubah mode HVM Ubuntu 12.04 menjadi mode PV.

xe vm-list

Untu menampilkan daftar virtual machine yang ada di xenserver berikut UUID -nya.

uuid ( RO)           : ac2330ce-4418-b29d-2c49-b1fca124dcd9
name-label ( RW): Ubuntu12.04
power-state ( RO): halted

Kita akan mengubah VM menjadi mode PV, gantikan <UUID> dengan UUID VM yang dihasilkan pada perintah xe vm-list

xe vm-param-set uuid=<UUID> HVM-boot-policy=
xe vm-param-set uuid=<UUID> PV-bootloader=pygrub

Sekarang kita lihat hard disk milik VM,

xe vm-disk-list uuid=<UUID>

Tampilannya kira-kira seperti dibawah ini.

 Disk 0 VBD:
 uuid ( RO)             : 0d1aeff1-3f23-0760-36b2-4b9480400a5a
 vm-name-label ( RO): Ubuntu12.04
 userdevice ( RW): 0

Berikan flag bootable pada pada disk VBD

xe vbd-param-set uuid=<VBD-UUID> bootable=true

Masukkan parameter kernel dan ramdisk  pada boot loader, parameter kernel dan ramdisk ini diambil dari konfigurasi boot.cfg diatas.

xe vm-param-set uuid=<UUID> PV-bootloader-args="--kernel=/boot/vmlinuz-3.2.0-23-generic-pae --ramdisk=/boot/initrd.img-3.2.0-23-generic-pae"

Parameter –kernel=/boot/vmlinuz-3.2.0-23-generic-pae diambil dari  parameter kernel dari grub.cfg dan parameter –ramdisk=/boot/initrd.img-3.2.0-23-generic-pae diambil dari  parameter initrd dari grub.cfg

xe vm-param-set uuid=<UUID> PV-args=" root=UUID=f7489e9f-90b8-4e6b-a4d6-31076cd79fe0 ro nosplash debug console=hvc0 xencons=hvc0"

Parameter root=UUID=f7489e9f-90b8-4e6b-a4d6-31076cd79fe0 juga diambil dari parameter root=UUID yang ada di konfigurasi grub.cfg

Semuanya telah diset, sekarang start VM.

xe vm-start  uuid=<UUID>

Install xen-tools di VM yang sudah kita start, kemudian kita kan melihat bahwa xenserver sekarang sudah memiliki akses yang lebih baik terhadap VM.


Informasi yang ditampilkan XenCenter lebih lengkap jika xentools diinstall dengan baik. Xentools hanya jalan dengan baik pada VM dengan PV mode.

Troubleshooting


Jika step-step diatas tidak berhasil, kita hanya perlu mengembalikan VM ke HVM mode dengan perintah :

xe vm-param-set uuid=<UUID> HVM-boot-policy="BIOS order"

Untuk kembali ke HVM mode ketikkan perintah berikut ini.

xe vm-param-set uuid=<UUID> HVM-boot-policy="BIOS order"

Tidak ada komentar:

Posting Komentar