Tuesday, February 11, 2014

How to create new Local SR in XenServer

In this blog, I will explain the process of creating an additional local SR in XenServer. In this scenario, there is an additional hard disk present in the server which I plan to add as a local SR in addition to the existing Local storage

First you need to identify which disk is being currently used for your existing local SR, so that it is not accidentally deleted

1)SSH to your server using putty

type the command xsconsole

In the console that is displayed go to Disks & Storage repositories -> Current Storage Repositories

You need to locate your current local repository and view the properties on the right pane

Note down the scsi ID

2)Type the following command

#ll /dev/disk/by-id

Note down which device the ID maps to. In this case it is sda3.So that is your present local SR

Also you need to note the SCSI id of the disk that you are planning to use for the new SR. In my case it is sdb

3)Next step is to create the new SR. You need run the following command and note down the "uuid"

#xe host-list

4) Create new SR using the following command

# xe sr-create content-type=user device-config:device=/dev/disk/by-id/<scsi-xxxxxxxxxxxxxxxxxxxxxxxxx> host-uuid=<host-uuid> name-label=”Local Storage 2” shared=false type=lvm

you need to replace the scsi id and host uuid

Now you should be able to view the new Local SR in the XenCenter!!

Friday, February 7, 2014

Install nested KVM in VMware ESXi 5.1

In this blog, I will explain the steps required to run a nested KVM hypervisor on  Vmware ESXi. The installation of KVM is done on Ubuntu 13.10(64 bit).

Note: It is assumed that you have already installed your Ubuntu 13.10 VM in ESXi, and hence we will not look into the Ubuntu installation part.

1) Upgrade VM Hardware version to 9.

In my ESXi server, the default VM hardware version was 8. So I had to shutdown my VM and upgrade the Hardware version to 9 to get the KVM hypervisor working. You can right click the VM and select the Upgrade hardware option to do this.

2)In the ESXi host In /etc/vmware edit the 'config' file and add the following setting

vhv.enable = "TRUE"

3)Edit the VM settings and go to VM settings > Options > CPU/MMU
Virtualization .
Select the Intel EPT option

4) Go to Options->CPUID mask> Advanced-> Level 1, add the following CPU mask level

ECX  ---- ---- ---- ---- ---- ---- --H- ----

5) Open the vmx file of the Ubuntu VM and add the following setting

monitor.virtual_exec = “hardware”
hypervisor.cpuid.v0 = “FALSE”

KVM installation steps

Once the above configurations are done in ESXi and the VM, hardware virtualization would be supported in the VM. Inorder to confirm that, run the following command in the Ubuntu VM.
egrep -c '(vmx|svm)' /proc/cpuinfo

You should get output as 1, which means hardware  virtualization is supported. Also you should see hvm flags in the output when you run the following command

cat /sys/hypervisor/properties/capabilities 
Or else you could also run the following command
The output should be as follows:
INFO: /dev/kvm exists

KVM acceleration can be used
 If the above command succeeds, proceed with the remaining steps below

1)Install KVM

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

2)Add user to libvirtd group

$ sudo adduser <username> libvirtd
username should be the same as the admin user that you are logged in with(the one created during Ubuntu installation)

3)Set permissions

The sock file permission should be as follows
$ sudo ls -la /var/run/libvirt/libvirt-sock

srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock

The /dev/kvm permission should be as follows

 $ ls -l /dev/kvm

crw-rw----+ 1 root libvirtd 10, 232 Jul  8 22:04 /dev/kvm

sometimes, the device group would be root, in that case change it to libvirtd

sudo chown root:libvirtd /dev/kvm

Log off and log in for the changes to take effect

4)Install GUI

In the default Ubuntu installation GUI is not installed. You could choose to install it followed by
if you plan to use the graphical user interface virt-manager to manage the VMs in KVM

First install the Ubuntu GUI

sudo apt-get install --no-install-recommends ubuntu-desktop

This will get a bare minimum installation of the GUI, that would serve our purpose of using Virt-manager

Reboot the machine after installation, and you can login to the GUI from the VM console

Now, Install the virt-manager using the following command

sudo apt-get install virt-manager

5)Access Virt-manager to create/manage VMs in KVM

Once you login to GUI, the virt manager can  be found by browing /Usr/share/applications  and select Virt-manager

If all turns out well, you should be able to see the Virt-manager connected to localhost(QEMU). Now you can start creating your VMs!!!