Search This Blog

Saturday, February 18, 2012

Virtualization with Microsoft (Virtual Server 2005 R2 SP1)


Talk about server virtualization, you go on talking about Virtuozzo, Xen, VMWare Server etc. This article aims to present another virtualization application offered by Microsoft - Microsoft Virtual Server 2005 R2 SP1.
A couple of attractive features about Microsoft Virtual Server 2005 R2 SP1 are: it is available free of cost and also it supports the usage of Microsoft Windows as well as Linux distributions as guest operating systems.

Where to get it?

Virtual Server 2005 R2 SP1 is offered as a free download by Microsoft. It can be freely downloaded by visiting the following URL:
In this article, we will deal with the 32-bit edition of this application.

System Requirements

The minimum system requirements for the physical computer are given below:
  1. An x86-based computer with a 550 megahertz (MHz) or faster (1 GHz recommended) processor with L2 cache, such as processors from any of the following families:
    • Intel-Xeon or Pentium families.
    • AMD-AMD64 or Athlon families.
  2. CD-ROM or DVD drive
  3. Super VGA (800 x 600) or higher resolution monitor recommended
  4. Host operating system: The 32-bit version of any of the following operating systems:
    • Microsoft Windows Server 2003, Standard Edition.
    • Microsoft Windows Server 2003, Enterprise Edition.
    • Microsoft Windows Server 2003, Datacenter Edition.
    • Microsoft Windows Small Business Server 2003.
    • Microsoft Windows XP Professional
By using Microsoft Virtual Server 2005 R2 SP1, it is possible to setup a virtual server, under which one or more virtual machines can be deployed. Let us first examine the components of a virtual server, before getting to the installation of it.

Virtual Server Components

A virtual server is an application that runs as a system service. Each virtual machine runs as a separate thread of this application. The host operating system provides two core functions to the virtual server:
  1. The host operating system kernel schedules CPU resources.
  2. Its device drivers enable virtual machines to access devices attached to the system
Basically, a virtual server setup using Virtual Server 2005 will have the following components:
  1. Virtual Machine Monitor (VMM) - It is a kernel mode driver and acts as a firewall between the host operating system and virtual machines. It has access to the physical computer processor and manages resources between the two environments preventing application on a guest operating system from requesting excessive hardware resources from the host operating system.
  2. Virtual Server Service (Vssrvc.exe) - It creates virtual machines and projects the emulated hardware into the virtual environment. This service should be running to be able to create and run virtual machines using the virtual server.
  3. Virtual Machine Helper Service (Vmh.exe)- This allows the running of a virtual machine in the context of a specified user account. Specifying a user account is optional and if not specified the virtual machine runs under the account of the user that started it.
  4. Virtual Networks- A virtual network will consist of one or more virtual machines. It can be of two types:
    • Virtual network configured to use a network adapter in the physical computer- If a virtual network is attached to a physical adapter it can access the networks attached to that adapter. This configuration can be used to provide access for the virtual machines to external machines and networks.
    • Virtual network configured not to use a physical network adapter- If no physical network adapter is selected then the virtual machines attached to that network can communicate only to other virtual machines within that same internal virtual network.
  5. Administration Website - It is a browser based tool for configuring and managing the virtual server and its associated virtual machines and virtual networks.
  6. Virtual Machine Remote Control Client- It is used for remote management of virtual machines. It communicates with the VMRC server component of virtual server service using VMRC protocol developed by Microsoft for communication between VMRC clients and VMRC server.
  7. Virtual Machine Additions- This component adds enhancements to guest operating systems like:
    • Improved mouse cursor tracking and control.
    • Greatly improved overall performance.
    • Virtual machine heartbeat generator.
    • Optional time synchronization with the clock of the physical computer.
    Virtual Machine Additions are included for the following supported operating systems:
    • Microsoft Windows Server 2003 (all versions)
    • Microsoft Windows 2000 Server
    • Microsoft Windows NT Server 4.0 with Service Pack 6a (SP6a)
    • Microsoft Windows XP (all versions)
    • Microsoft Windows 2000 Professional
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 98
    • Microsoft Windows 95
  8. Virtual Machines- Within the Virtual Server one or more virtual machines running their own operating systems can be created. The virtual machine emulates a standard x86-based computer including basic hardware except the processor. Using emulated hardware and the processor of the physical computer each virtual machine operates similar to a physical computer.The Virtual Machine Monitor (VMM) manages virtual machines, providing the software infrastructure for hardware emulation. Each virtual machine consists of a set of virtualized devices. The guest operating system and applications run on the virtual machine as if they were running on physical hardware, rather than emulated hardware. All software code running within the virtual machine runs in a separate VMM context.A virtual server can support upto 64 virtual machines. The number of virtual machines that can be run simultaneously is limited primarily by, the amount of RAM and hard drive space available in the physical computer. A single virtual machine can have a maximum RAM size of 3.6 GB. Also even if the physical computer has multiple processors installed in it virtual machines created will emulate only one processor. Each virtual machine requires at-least the following files to function properly:
    • A virtual machine configuration (.vmc) file in XML format that contains the virtual machine configuration information.
    • One or more virtual hard disk (.vhd) files to store the guest operating system, applications and data for the virtual machine.
  9. Virtual Hard Disks- A virtual hard disk provides storage for a virtual machine. Within the virtual machine it is visible as a physical disk, but actually it is file that resides on a physical disk that only the host operating system can access. The virtual machine does not have direct access to the physical disk that stores the .vhd file.There are four types of virtual hard disks that can be created:
    • Fixed-size disk- This is a .vhd file whose size is designated when the file is created. For example, if a fixed-size virtual hard disk of 10 GB size is created the virtual server creates a 10 GB .vhd file. All the storage space that is required by the virtual hard disk is reserved when it is created. During creation, it utilizes as much contiguous space as is available on the physical disk storing it.
    • Dynamically expanding disk- In this type of virtual hard disk the size of a .vhd file grows as data is written to the virtual hard disk. A maximum size however, has to be specified at the time of its creation and the .vhd file cannot expand beyond this size limit set.
    • Linked disk- A linked disk points to an entire physical disk attached to the physical computer. It is used for converting a physical disk to a virtual disk. These disks cannot be used to start a virtual machine.
    • Undo and Differencing disks- These disks store changes made to the virtual machine operating system configuration as well as the virtual hard disk to a separate file. This can be used to keep the original virtual hard disk unchanged when testing configuration changes or applications. A single undo disk is configured for all virtual hard disks associated with a virtual machine, while differencing disks have to be configured for individual virtual hard disks.

Setting up a Virtual Server

Setting up a virtual server involves the following steps:
  1. Installation of IIS

  2. IIS, specifically the World Wide Web Service component of IIS, has to be installed on the host operating system. It is required by the administration website used to manage Virtual Server.
  3. Installation of Virtual Server

    1. Download the Setup.exe file from the link given in the URL above and start the setup wizard.
    2. Continue the installation till you reach the ‘Setup type’ page.
    3. On this page select the ‘Complete’ installation option and proceed.
    4. On the ‘Configure Components’ page accept the default website port or enter another one and proceed.
    5. Then, either accept the default ‘Configure the Administration Website to always run as the authenticated user’, or select ‘Configure the Administration Website to always run as the Local System account’ and proceed.
    6. Finally click ‘Install’ and to begin the installation and then ‘Finish’ when the ‘Setup Complete’ page appears.
    1. To setup Virtual Server Service:
      • Start the setup wizard and continue till you reach the ‘Setup Type’ page
      • On the computer you wish to install the Virtual Server service, select the ‘Custom’ installation option in the ‘Setup type’ page.
      • Then in the next page click on ‘Virtual Server Web Application’ and select ‘This feature will not be available’.
      • After that proceed with the installation and complete it as explained above.
    2. On the computer you wish to install the Administration Website:
      • Select the ‘Custom’ installation option in the ‘Setup type’ page and in the next page click on ‘Virtual Server Service’.
      • Select ‘This feature will not be available’ and complete the installation.
    1. Create a new virtual machine:

      • Open the Administration Website.
      • In the Virtual Machines section of the navigation pane click on Create.
      • Enter the fully qualified path to the location you want to store the virtual machine files in the ‘Virtual machine name’ textbox.For example, if you want to create the virtual machine named Virt under the C:Virt folder enter the following name’ C:VirtVirt. This will create the Virt.vmc configuration file under C:Virt.If you enter just a name instead of the fully qualified path the virtual machine files will be created in the default location, C:Documents and SettingsAll UsersShared Documents.
      • In the ‘Virtual machine memory’ text box enter the amount of RAM you want to set aside for the virtual machine.
      • In the ‘Virtual hard disk’ setting you can either select ‘Create a new virtual hard disk’ and enter the size of the virtual disk to create it or select ‘Use an existing virtual hard disk’ and enter the fully qualified path to the virtual hard disk.
      • The virtual network adapter for the virtual machine can be configured to be connected to a physical network adapter, if you wish so, using the ‘Connected to’ drop down menu.
      • After entering all these options click ‘Create’ to create the new virtual machine.
    2. Add a virtual machine from an existing configuration:

      • Open the Administration Website.
      • In the Virtual Machines section of the navigation pane click Add.
      • Enter the fully qualified path to the virtual machine configuration file and click Add.
    1. In the Administration Website go to the Virtual Disks section in the navigation pane and point to create.
    2. Click on the type of hard disk to be setup from the following options available:
      • Dynamically expanding virtual hard disk.
      • Fixed size virtual hard disk.
      • Differencing virtual hard disk.
      • Linked virtual hard disk.
    3. Enter the fully qualified file name for the virtual disk you wish to create and its size and then click ‘Create’.
    4. The only type of hard disk which requires any additional setting is the linked virtual hard disk for which the physical drive to which it has to be linked needs to be selected before clicking ‘Create’.
    1. Open the Administration Website.
    2. Under the ‘Virtual Machines’ section in the navigation’s pane, point to configure and then select the appropriate virtual machine.
    3. In the ‘Configuration’ section towards the lower part of the page, click CD/DVD, then either:
      • In the CD drive of the physical computer running the Virtual Server service, Insert the startup CD for the operating system. Click Physical CD/DVD drive. Also select the corresponding CD or DVD drive letter from the drop-down menu, if necessary.
      • Or
      • Click Known image files. The ISO image (.iso) file containing a startup CD image can be selected from the drop-down menu, if the file is located in the default folder (Documents and SettingsAll UsersDocumentsShared Virtual Machines). Else, type the image file’s complete directory path in ‘Fully qualified path to file’
    4. After that go to status, point to the virtual machine name and click Turn On.
    5. Point to the virtual machine name, once the virtual machine is turned on. Then click Remote Control to connect to it and complete the operating system installation.
    • Red Hat Enterprise Linux 2.1 update 6
    • Red Hat Enterprise Linux 3.0 update 6
    • Red Hat Enterprise Linux 4.0
    • SUSE Linux Enterprise Server 9.0
    • Red Hat Linux 7.3
    • Red Hat Linux 9.0
    • SUSE Linux 9.2
    • SUSE Linux 9.3
    • SUSE Linux 10.0
  4. The Virtual Server can be configured to have both the Virtual Server Service and Administration Website components on the same physical computer or on separate computers.
    To setup both components on the same physical computer:
    To setup both components on separate computers:
    Now let us examine the methods for adding virtual machines, virtual hard disks to the virtual server.

    Adding Virtual Machines

    Everything related to the administration of the virtual server and the virtual machines is done from the Administration website accessed as shown below,
    Start–>All Programs–>Microsoft Virtual Server–>Administration Website.
    Adding a virtual machine to the virtual server can be done in two ways:

    Setting up virtual hard disks

    The most commonly used virtual hard disks are fixed-size virtual hard disks and dynamically expanding virtual hard disks. All hard disks are setup using the same procedure as explained below:
    While creating a virtual machine, a previously created virtual hard disk of any of the above mentioned types, except linked virtual hard disk, can be used.

    Adding an operating system to the virtual hard disk

    When the virtual machine is created, a virtual version of the CD/DVD drive in the physical machine is created in it. This CD/DVD drive can be configured to either capture a physical disk inserted into the physical drive or capture an ISO image file available anywhere in the physical computer. To configure this:
    Another and a much more easier way to deploy the guest operating system would be to copy the .vhd file of another virtual machine having the same operating system and application settings as the machine you wish to setup, rename it to match that name of the new machine you are setting up and then simply specify it as the virtual hard disk for the virtual machine you create. This method can be used to setup the virtual machine and deploy the guest operating system quickly and reduce the time it takes to setup the virtual machine. However, if the virtual machine whose .vhd file is being copied, as well as the new machine being deployed, belongs to an active directory domain the Sysprep utility needs to be run to prepare the operating system for transfer before copying the virtual hard disk.

    Conclusion

    Virtual Server 2005 R2 SP1 definitely offers a cost effective and robust technology that can be used to deploy virtual servers in a production environment and presents itself as a viable alternative to the VMWare Virtual Server applications. The guest operating systems supported by it, in addition to Microsoft Windows operating systems, include the following Linux distributions as well:
    So it can be used for application development and application migration across multiple platforms and the consolidation of separate application servers under a single server bringing down administrative and operations cost, as well as improve resource utilization. It is also capable of providing efficient and quick disaster recovery solutions to enterprise as well as business users.

How to setup Network attached Storage


Network-attached storage (NAS) is a dedicated data storage technology. The NAS server provides centralized data storage, which is easily accessible to users who belong to different networks over the Internet. There are different applications that can be implemented using NAS, such as data storage and file sharing. The purpose of the NAS server that I am going to set up, is that of data storage. It is to be used to provide remote backup of the data in clients’ servers.

The Operating System
Next step I have to do is to decide on an OS to setup the NAS server, which is free and easy to use.

I came across the site http://www.openfiler.com/
Openfiler is a project for a open source Network Attached Storage (NAS) OS distribution. It was developed by Xinit Systems and provides a file-based NAS system and block-based Storage Area Networking (SAN) in a single framework. Openfiler brings together almost all storage networking protocols into a single framework.
Installation via VMware :
Openfiler is a standalone Operating System, which requires access to all system resources in order to function. I got confused on how to install it remotely. Then I came to know that it can be installed in a virtual machine environment such as VMware. I decided to try out first in a test server which had a 40GB hard disk.
A VMware Server installs on any existing server hardware . It partitions a physical server into multiple virtual machines, and provides for more hardware utilization and flexibility. So my first task was to install the VMware server.
The following packages needs to be installed in the remote server – The VMware Server itself and also the Management Interface. Also install the VMware Server Linux client package, both in the server and your local machine. The rpms for the packages can be downloaded from the VMware site and the installation steps too are documented there. The installation guide can be obtained from http://pubs.vmware.com/server1/wwhelp/wwhimpl/js/html/wwhelp.htm
Once the VMware installation is complete, you need to connect to the server remotely using the VMware Server client package. Login using the IP address of the server and root password.
Once you are connected to the VMware server, you need to create a new virtual machine. It would create a set of files that represent a new computer, with a blank, unformatted hard disk, onto which the new operating system can be installed. The virtual disk by default has its disk space preallocated at the time of creation. I created a virtual disk of about 20GB size. The virtual disks are physically located in the folder /var/lib/vmware/Virtual Machines/ .
Now I have to obtain the iso image for the Openfiler OS. I got the latest one, Openfiler 2.1, from http://sourceforge.net/ The Images of CD-ROMs are usually .ISO files. The .iso image was downloaded to the folder that was created for the virtual disk in the remote server, using wget command in SSH. Now, use the virtual machine settings editor to connect the virtual machine’s CD-ROM drive to the .ISO image file, then Power ON the virtual machine. The Openfiler OS would start installing, and you would get a graphical installation screen as per the steps given here: http://www.openfiler.com/docs/install/graphical_install.html Once the installation is complete, you can start configuring Openfiler by pointing your browser at the host name or IP address of the Openfiler system. The interface is mounted on https port 446. e.g. https://test.myserver.com:446.
Installation via Installer :
Now that everything went fine in the test server, I decided to give a try in the real server. But the actual server had a 2 TB hard disk, which made my task difficult. I was not able to use VMware, as the hard disk size was really huge to create virtual disks. So, I started thinking of other options. There was still the restriction of no physical access to the server.
Luckily, I got IPMI access to the server. The Intelligent Platform Management Interface (IPMI) specification has a set of common interfaces to computer hardware which can be used to monitor system health and to manage the system remotely. The IPMI provided a Text console, which I could make use of in the installation purposes.
But the server wasn’t configured to show the grub menu over the serial console. This would prevent us from selecting alternate kernels during the boot process. I could find that, for grub to work with IPMI, it has to be enabled for the serial console. Follow the steps given below to do this.
Find the serial port number and speed used on your server:
Code:
# grep agetty /etc/inittab
On my server the console is connected to serial port 1 with a speed of 19200:
co:2345:respawn:/sbin/agetty
ttyS1 19200 vt100-nav
Now open /boot/grub/grub.conf, and add the following lines below “hiddenmenu”:
serial --unit=1 --speed=19200
terminal --timeout=80 console serial
Replace the port number , timeout and speed if necessary.

To test this out, reboot your server and then connect to the serial console as soon as possible using IPMIView. Eventually, after a minute or so, you should see the following message repeating:
Press any key to
continue.
Press any key to continue.
Pressing a key at
this point will launch GRUB on the serial console.
First off, you would need to download the network installation image for the Openfiler OS that you want to install. I was able to download one boot.iso for Openfiler from <A HREF=”http://www.rpath.org/rbuilder/project/openfiler/release?id=5076″http://www.rpath.org/rbuilder/project/openfiler/release?id=5076

I downloaded the boot.iso image to the server itself, using the wget command. Next, you need to create a temporary directory in which to mount the ISO image to get the files out of it:
mkdir /nas
mount -o loop
boot.iso /nas
You also need to create a directory in your /boot directory . The /boot should be on a partition of its own. Copy the boot files from the iso image to the folder created.
# mkdir /boot/nas
# cp -R /nas/* /boot/nas/
Next you need to find the appropriate initial RAM disk and kernel files amongst these boot files. These will generally be called “initrd-xxxxx” and “vmlinuz-xxxxxx” respectively. Now that you have the boot files in the boot partition, you need to configure GRUB to allow you to boot into the installation.
Add the following section to grub.conf file.
title NAS install
root (hd0,0)
 kernel
/nas/isolinux/vmlinuz console=ttyS1,19200
initrd /nas/isolinux/initrd.img
This assumes that your boot partition is /dev/sda1 (or /dev/hda1) as indicated by the “(hd0,0)” part. If your /boot partition is different, you can alter the device accordingly. The “console=ttyS1,19200″ part is very important as it tells the installation program to use the serial console accessible through the IPMI View program for the installation.
Now, you should get the iso image for the openfiler as mentioned earlier. I had a second hard disk of 50GB, in the server. I mounted that as another partition and downloaded the iso image for openfiler to that partition.
Now, reboot the server and choose the NAS install from the grub menu. The installer would start running. Fill in the details appropriately. The installer gives different options for installing the OS, such as NFS, FTP, HTTP, Hard Disk, CDRom etc. I elected the Hard Disk option as my OS image was on the second hard disk. I selected the appropriate hard disk and gave the path to the iso image. Please note that Openfiler does not exist with any other Operating System. The installer would format the entire drive on which its being installed, before installing the packages. The installer successfully completed installing the Openfiler in the 2TB drive of my server in about 4-5 hours. The installation steps are the same as given earlier, http://www.openfiler.com/docs/install/graphical_install.html. Only difference that it would be text based and not graphical in this case. You can partition the drive manually or automatically, as you prefer. Once the installation is over, Reboot the server and you would be able to get a new server with Openfiler OS installed.
Login to the Interface and configure the Openfiler as per your requirements. A very good manual is available here : http://www.openfiler.com/docs/manual/
The installation process was a Trial and Error method which took up a lot of my time . There may be other effective methods and there are other OS distributions available for NAS. The steps given above depict the way I set up my server .
References:
http://www.openfiler.com/
http://sourceforge.net/docman/?group_id=90725
http://www.vmware.com/support/pubs/server_pubs.html
http://www.znark.com/tech/serialconsole.html
http://www.cyberciti.biz/nixcraft/vivek/blogger/2004/03/how-to-mount-iso-image-under-linux.php

Tomorrow’s Virtualization hopes


 Sometimes, one is just not enough. When you’ve got one server with rocketing performance, you could very well make the maximum utilization of it. Obviously, I’m talking about Virtualization. We’ve had quite a lot of products out there in the market. Many of them proprietary and a few, free. I have read once, “A nice product which is free is better than a great product which costs.” But today, my choice is one awesome product which is free, and is absolutely fabulous. I’m going to talk about my own favorite Virtualization Solution- KVM.

KVM, Kernel-based Virtual Machine is a complete and perfect virtualization solution for Linux. With KVM, you can have multiple machines running anything they want, may it be Linux or Windows. To make things brighter, from 2.6.20, the mainline linux will have a kernel component of KVM. That means faster and more stable workloads.
One thing which grabbed our attention was, during the migration the KVM gave almost negligible down-time and completed the migration perfectly well. And guess what, the KVM reminded me of those days in college when we learned about the ACID properties of database. Upon success of migration, the whole set-up will continue to run on the new host. Upon failure, everything remains as it ever were. That is, it will continue to work on the source host, again without down-time.
Now, we’ve got plenty of Management tools available for working our way around up in here. One such tool is Virtual Machine Manager. This one is also known as virt-manager. It acts as desktop user interface for managing virtual machines. It is sweet, and acts as a complete tool kit for managing our resource. Virt-manager contains many tools like
  • Virt Install- a cli interface for provisioning the various OS’s

  • Virt Clone- a cli tool for cloning existing inactive guests

  • Virt Image- a tool for installing guest operating systems based on a pre-defined master image.

  • Virtual Machine Viewer- s a lightweight interface for interacting with the graphical display of virtualized guest OS.
KVM can very well be proclaimed as the immediate future of Virtualization, and rightfully so. With the kind of tools available for managing it, I feel the “immediate future” is going to extend for quite some time.

vyga rolls out Remote Infrastructure Management Service


Vyga, the largest outsourced web hosting support & service provider, has rolled out their Remote Infrastructure Management Services.
Remote Infrastructure Management  service overview


The Remote Infrastructure Management service model(RIMsm) offers customers an “one stop shop” for all their IT infrastructure management and customer care needs. RIMsm features round the clock e-mail, helpdesk, chat & phone support services, along with IT infrastructure provisioning/management, proactive and reactive server monitoring; and lots more…
The highlight of RIMsm, apart from it being a complete solution, is the level of customization a customer gets within this service model. RIMsm enables you to map its service deliverables against a standard set of acceptable service levels. Customer sets these service levels and the RIM team is built around such custom requirements specified by each customer. In short, RIMsm delivers results that a customer needs, at a service level he specifies!
RIMsm model suits small, medium and large enterprises, in need of IT infrastructure management, product support or customer care services. Some of the highlights of RIMsm are:


=> 24×7 e-mail, helpdesk, chat & phone support
=> Infrastructure provisioning and management
=> Customized service levels
=> Proactive and reactive server monitoring
=> Dedicated manager and QA to oversee operations


Panel less migrations

As we all know, server migration is the process of moving websites hosted on legacy systems to more robust and feature-rich systems. In most cases both the source and destination servers are installed with some control panels and many of these control panels provide tools in order to do this migration automatically. But there are times when we come across situations where both the source and destination servers are not installed with any control panels. Hmm, getting worried? No fear. I’ll guide you through this process and it will be as easy as breeze (well, literally!).