header

Software Development
Services

We offer offshore software development, e business consulting and web design services. We specialize in PHP/Perl Development as well as LAMP technologies...

Read More...
customisation

Creative Arts

Bring life to your imagination and dreams. Our innovative creative arts team transforms your ideas and visions to inspirational and unique Graphics design. We focus on HTML and full Flash/Flex based site design. We follow international standards in design and coding, to ensure multi browser compatibility.

Read More...

Moneyback Guarentee

Moneyback Guarantee on all support plans incase you're not satisfied with our service.

Read More...

Affiliate Programme

Start making money from advertising. Partner with us and earn upto 20% in every recurring payment made by your referral. Partner with us to make your every dream a reality...

Read More...

Virtualization Using XEN

 

Virtualization

Virtualization is the creation of a virtual (not actual) version of an operating system, a server, a storage device or network resources. Virtualization technology had its beginnings on mainframes decades ago.

Virtualization on a server allows partitioning one physical server into multiple “virtual” servers, giving each the appearance and capabilities of running on its own dedicated machine. Each virtual server functions as a full-fledged independant server which can even be independently rebooted.

Operating system virtualization is the use of software to allow a hardware to run multiple operating system simultaneously.

Advantages


• to fully utilize CPU and resource capacity of a server system.
• providing stability ie if one virtualized guest system crashes, the host and any other guest systems continue to run.
• Can try out different operating systems without having to configure dual boot environments.

There are two types of virtualization:

  1. Full Virtualization
  2. Para-virtualization

Full virtualization

It uses a special kind of software called a hypervisor. The hypervisor interacts directly with the physical server's CPU and disk space. The hypervisor keeps each virtual server completely independent and unaware of the other virtual servers running on the physical machine. Each guest server runs on its own OS This means we can have one guest OS running on Linux and another on Windows.

The hypervisor monitors the physical server's resources. As virtual servers run applications, the hypervisor relays resources from the physical machine to the appropriate virtual server. Hypervisors have their own processing needs, which means that the physical server must reserve some processing power and resources to run the hypervisor application. This can impact overall server performance and slow down applications.

Para-virtualization

The para-virtualization approach is a little different. Unlike the full virtualization technique, the guest servers in a para-virtualization system are aware of one another. A para-virtualization hypervisor doesn't need as much processing power to manage the guest operating systems, because each OS is already aware of the demands the other operating systems are placing on the physical server. The entire system works together as a cohesive unit.

There are a number of ways to implement virtualization. One of the most popular technologies on Fedora is called Xen.

XEN

XEN is a server virtualisation solution that works on the principle of para-virtualisation. Paravirtualisation requires modifying the operating system to run on XEN. This is achieved by modifying the kernel.

XEN requirements

• A pre-existing linux running on kernel-2.6 and having grub as bootloader
• x86-compatable system with 500MB RAM
• 5GB of spare disk space in addition to the disk space you need to install the required OS
• CPU that has PAE (Personal Adress Extension) support

Software and Applications

• Understand Patches
• Understand VoIP
• Risks of File-sharing Technology.
• Review End-User License Agreements

grep pae /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm

The above output shows a CPU that has PAE support. If the command returns nothing, then the CPU does not have PAE support.

Installing XEN

There are mainly three packages needed to install XEN

1. xen
2. kernel-xen
3. virt-manager

The above packages can be installed using yum.

yum install xen virt-manager kernel-xen
After the installation we need to edit the grub.conf to boot to the xen kernel.

title CentOS (2.6.18-8.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-8.el5
module /vmlinuz-2.6.18-8.el5xen ro root=LABEL=/ rhgb quiet
module /initrd-2.6.18-8.el5xen.img

The xend daemon handles the management of the virtual machines.

chkconfig xend on
Then reboot the system. You can check if the kernel booted is xen or not using

uname -r
The main OS on which xen is installed is called the Host OS and the others are called guest OS's.

Create a guest using virt-manager
virt-manager is a Xen Management consoles software. It can perform the common tasks of administering a Xen host such as configuring, starting, monitoring and stopping of Xen guests oses.

To start virt-manager execute the following as root in your shell:

virt-manager &

1. You will see a dialog box. Select the Connect button and the main virt-manager window will appear

2. The next window provides a summary of the information you will need to provide in order to create a virtual machine. You can enter a name for your virtual machine here.

3. Depending on whether your system has Intel® VT or AMD-V capable processors the next window will either display a single choice to create a para-virtualized guest or two choices. Where one choice will be para-virtualized (modified and optimized operating system for virtualization) guest creation and the second will be for a fully virtualized (unmodified operating system) guest creation.

4. The next screen will ask for the installation media for the type of installation you selected. The para-virtualized installation will require an installation tree accessible either via HTTP, FTP or NFS. You can easily create an installation by either mounting the installation media DVD to a local directory and exporting it via NFS or making it available via FTP or HTTP. If your media is an .iso file you can loopback mount the file and extract the files onto a local directory.

5. This screen is for selecting storage for the guest. Choose a disk partition, or a file based image for the location of the guest image. You must choose a size for file based guest image storage. The size of your guest image should be larger than the size of the installation, any additional packages and applications, and the size of the guests swap file. The installation process will choose the size of the guest's swap file based on size of the RAM allocated to the guest.

6. The last configuration information to enter is the memory size of the guest you are installing and the number of virtual CPUs you would like to assign to your guest. You must ensure your system is configured with sufficient memory in order to accommodate the guest you may like to run and configure. A good practice for virtual CPU assignments is to not configure more virtual CPUs in a single guest then available physical processors in the host. Choose 500 for your VM Max and Startup Memory, and click Forward.

7. At this step you will be presented with a summary screen of all configuration information you entered. Review the information presented and use the Back button to make changes. Once you are satisfied with the data entered click the Finish button and the installation process will commence.

8. Press the Finish button in virt-manager to conclude the installation and automatically launch a VNC based window for the installation process. From this point on, simply follow the installation instructions to install the guest OS.

9. After the installation is complete you can start the new guest OS using xm command, which is a command line tool to manage the xen host

xm create <guestosname>

The status of the host and guest systems may be viewed at any time using the list option of the xm tool.
To run commands in the xm shell, run the following command:

xm shell
The Xen Master. Type "help" for a list of functions.
xm>

The state column uses a single character to specify the current state of the corresponding guest. These are as follows:

1. r - running - The domain is currently running and healthy

2. b - blocked - The domain is blocked, and not running or runnable. This can be caused because the domain is waiting on IO (a traditional wait state) or has gone to sleep because there was nothing else for it to do.

3. p - paused - The domain has been paused, typically as a result of the administrator running the xm pause command. When in a paused state the domain will still consume allocated resources like memory, but will not be eligible for scheduling by the Xen hypervisor.

4. s - shutdown - The guest has requested to be shutdown, rebooted or suspended, and the domain is in the process of being destroyed in response.

5. c - crashed - The domain has crashed. Usually this state can only occur if the domain has been configured not to restart on crash.

5. d - dying - The domain is in process of dying, but hasn't completely

shutdown or crashed.

1. A guest operating system can be started using
#xm start <GuestOS>

2. The shutdown option of the xm tool is used to shutdown a guest operating system
#xm shutdown <GuestOS>

3. To instantly stop a guest operating system the destroy option may be used
#xm destroy <GuestOS>

4. A guest system can be paused and resumed using the xm tool's pause and restore options
#xm pause <guestOS-id>
#xm unpause <guestOS-id>

5. A running guest operating system can be suspended and resumed using the xm utility
#xm suspend <GuestOS>
#xm resume <GuestOS>

6. Saving and restoring of a Xen guest operating system
To save a guest:
#xm save <GuestOS> <path_to_save_file>

To restore a saved guest operating system session:
#xm restore <path_to_save_file>

7. To reboot a guest operating system
#xm reboot <GuestOS>

8. To configure the memory assigned to a guest OS, use the mem-set option
#xm mem-set <GuestOS> <say 256>

9. The migrate option allows a Xen managed domain to be migrated to a different physical server.
#xm migrate <domainName> <host>

In order to use migrate, xend must already be running on other host machine, and must be running the same version of Xen as the local host system. In addition, the remote host system must have the migration TCP port open and accepting connections from the source host. Finally, there must be sufficient resources for the domain to run.

Changing Xen Guest Operating System Settings

During the initial configuration of the guest OS in virt-manager a number of resources such as memory allocation and CPU usage were defined.

To modify the settings for a specific guest operating system, start virt-manager (Applications->System Tools->Virtual Machine Manager), select the desired guest operating system and click on the Details button. When the Virtual Machine Details dialog appears, click on the Hardware tap to view the current settings.

The hardware screen initially displays the CPU settings, allowing the number of CPUs used by the virtual machine to modified. The panel on the left allows the current displayed category to be changed. For example, to change the memory assigned to the guest system, select the Memory option and change the settings as required.

Additional disks may be added by clicking on the Add button at the bottom of the hardware category list, selecting Storage device from the Hardware type menu and clicking on Forward. Specify either a disk partition, or a file location to act as the new disk.

Monitoring Virtual Machine Performance

The virt-manager tool provides information on CPU and memory usage for each guest operating system. To view the performance graphs, select the desired guest OS in the virt-manager main window and click on Details. The Virtual Machine Details screen will display two real-time graphs showing the Memory and CPU usage for the selected guest.

In addition, the virt-manager main window displays smaller CPU graph and Memory scale next to each guest OS together with a bar indicating the percentage of overall available memory used by each operating system.

References:

Managing and Monitoring Fedora based Xen Guest Systems Managing Xen using the xm Command line Tool Installing and Configuring Fedora Xen Virtualization Full virtualization using XEN Server Virtualization Create a guest using virt-manage