≡ Menu

Linux Virtualization

As a system admin, I need to use additional hard drives for to provide more storage space or to separate system data from user data. This procedure, adding physical block devices to virtualized guests, describes how to add a hard drive on the host to a virtualized guest using VMWare software running Linux as guest.

It is possible to add or remove a SCSI device explicitly, or to re-scan an entire SCSI bus without rebooting a running Linux VM guest. This how to is tested under Vmware Server and Vmware Workstation v6.0 (but should work with older version too). All instructions are tested on RHEL, Fedora, CentOS and Ubuntu Linux guest / hosts operating systems.
[click to continue…]

You can easily start / stop / pause or take a snapshot from a shell prompt under a Linux / Windows host using vmrun command. This is useful if you do not want to run web interface for starting and/or stopping VMs.

vmrun commands

vmrun -u USER -h 'https://vmware.server.com:8333/sdk' -p PASSWORD COMMAND [PARAMETERS]
vmrun -u USER -h 'https://vmware.server.com:8333/sdk' -p PASSWORD start "[storage] Path/to/.vmx"

=> -u USER : VMWare server username

=> -h 'https://vmware.server.com:8333/sdk' : Local or remote server FQDN / IP address

=> -p PASSWORD : VMWare server password

=> COMMAND [PARAMETERS] : Command can be any one of the following:

--------------           ----------           -----------
start                    Path to vmx file     Start a VM
stop                     Path to vmx file     Stop a VM
reset                    Path to vmx file     Reset a VM
suspend                  Path to vmx file     Suspend a VM
pause                    Path to vmx file     Pause a VM
unpause                  Path to vmx file     Unpause a VM

Start a VM called CentOS

To start a virtual machine with Vmware server 2.0 on a Linux host, stored on storage called iscsi:
vmrun -T server -h 'https://vms.nixcraft.in:8333/sdk' -u root -p 'secrete' start "[iSCSI] CentOS52_64/CentOS52_64.vmx"
To start a virtual machine with Workstation on a Windows host (open command prompt by visiting Start > Run > cmd > [enter] key):
vmrun -T ws start "c:\My VMs\centos\centos.vmx"

Stop a VM called CentOS

To stop a virtual machine with Vmware server 2.0 on a Linux host, stored on storage called iscsi:
vmrun -T server -h 'https://vms.nixcraft.in:8333/sdk' -u root -p 'secrete' stop "[iSCSI] CentOS52_64/CentOS52_64.vmx"

Reset a VM called Debian

To reset a virtual machine with Vmware server 2.0 on a Linux host, stored on storage called DISK3:
vmrun -T server -h 'https://sun4k.nixcraft.co.in:8333/sdk' -u root -p 'secrete' reset "[DISK3] Debian5/Debian5.vmx"

Red Hat paid approximately $107 million in cash for Qumranet, a privately held company. Now, Red Hat positioned to deliver comprehensive, reliable and open virtualization to Linux and Windows servers and desktops.

Red Hat today announced the acquisition of Qumranet, Inc. The acquisition includes Qumranet's virtualization solutions, including its KVM (Kernel Virtual Machine) platform and SolidICE offering, a virtual desktop infrastructure (VDI), which together present a comprehensive virtualization platform for enterprise customers. In addition, in connection with the deal, Qumranet's talented team of professionals that develop, test and support Qumranet solutions, and its leaders of the open source community KVM project, will join Red Hat.

According wikipedia:

Kernel-based Virtual Machine (KVM) is a Linux kernel virtualization infrastructure. KVM currently supports native virtualization using Intel VT or AMD-V. A wide variety of guest operating systems work with KVM, including many flavours of Linux, BSD, Solaris, Windows, Haiku, ReactOS and AROS Research Operating System.

Red Hat Advances Virtualization Leadership with Qumranet, Inc. Acquisition

You can easily list all running Virtual machines from a Linux shell prompt without accessing GUI. This is useful to scripts or to get status for any VM.

vmrun is a command line application for controlling various VM operations. Type the following command:
vmrun -T server -h 'https://vmserver.example.com:8333/sdk' -u VMUSERName -p 'yourVMPassword' list
=> -T server : This is VMWARE server version 2.x

=> -h 'https://vmserver.example.com:8333/sdk' : VMWare server hostname. This can be local or remote server.

=> -u VMUSERName : VMWare server username (usually it is root)

=> -p 'yourVMPassword' : VMWare server password

=> list : List all running vms

List all running VMs

vmrun -T server -h 'https://server.nixcraft.in:8333/sdk' -u root -p 'myPassword' list
Sample output:

Total running VMs: 2
[DISK315k] Debian5/Debian5.vmx
[DISK315k] CentOS52_64/CentOS52_64.vmx

Listing a virtual machine with Workstation on a Windows host (open dos prompt and type the command):
vmrun -T ws list
vmrun -T ws -gu guestUser -gp guestPassword list

Xen is one of the leading Virtualization software. You can use Xen virtualization to implement HA clusters. However, there are few issues you must be aware of while handling failures in a high-availability environment. This article explains configuration options using Xen:

The idea of using virtual machines to build high available clusters is not new. Some software companies claim that virtualization is the answer to your HA problems, off course that's not true. Yes, you can reduce downtime by migrating virtual machines to another physical machine for maintenance purposes or when you think hardware is about to fail, but if an application crashes you still need to make sure another application instance takes over the service. And by the time your hardware fails, it's usually already too late to initiate the migration.

So, for each and every application you still need to look at whether you want to have it constantly available, if you can afford the application to be down for some time, or if your users won't mind having to relogin when one server fails.

=> Using Xen for High Availability Clusters [onlamp.com]