Having worked in data centers for the last four years of my life I know that most servers are grossly under utilized. Burning the power to keep servers online that are utilized, on average, five to twenty percent.
Economics, the way they are today, constantly challenges us and pushes us to find new and creative ways to solve problems. Virtualization allows us to provide consolidation for under utilized servers and “pools” resources to allow systems to burst when they need it. Virtualization, in my opinion, is a very green initiative. In this article I will talk mainly about VMware based virtualization technologies.
So what are the benefits of virtualizing your servers?
- Instant ROI – Servers which were underutilized no longer consume power.
- Ease of Management – Restart systems from a central management location
- Dynamic Resource Scheduler (DRS) – VMware technology provides the capability to VMotion servers from one physical system to another when extra resources are needed. DRS even weighs the “cost” of moving the machine to another host machine.
- Capacity Planner – VMware also has utilities to help you plan your virtual environment based on your site’s resource needs. Simply install a utility and let it run for about 30 days. Once the utility has gathered enough data, you will be presented with suggestions
- High Availability (HA) – VMware offers highly-available services. All of your systems will now have the added benefit of HA at the virtualization layer
So, if Virtualization is so GREEN then what are the downsides?
- Initial equipment cost is high
- Use of fast centralized storage (SAN, NAS) is needed; very expensive
- Systems must match architectures (AMD, Intel) to allow VMotion/HA
- Systems must support Virtualization Technology (VT)
If you can afford the initial expense, virtualization will save you money in cooling, power and equipment maintenance costs in the long run. I believe virtualization is a great tool to help reduce datacenter costs. Please remember there are things that should not be virtualized: large database servers, exchange servers and some application servers may be too disk intensive for your environment’s abilities. Consider keeping these systems as physical servers.
As some of you already pleasantly found out today, VMware ESX/ESXi 3.5 Update 2 has a very large bug which prevents guest systems (VM’s) from powering on, restarting or vmotioning. VMware has identified this bug and is working to fix it. A release is to be posted on their download site by noon (PST) on August 13, 2008.
Here is what the error looks like:
This may seriously harm VMware’s reputation as they just recently released their enterprise hypervisor, ESXi, to the public for free use. Some free users may download the software and think that it simply does not work and could move on to other virtualization options such as Xen or Microsoft’s new HyperV.
The fix is to simply turn off time syncing between your ESX host and guests and then set the date back on the host to 8/10/08. This allows all normal VM functionality.
This article covers virturalization technology, obtaining VMware Beta 2.0, how to install VMware Beta 2.0, new key features and how to create your first virtual machine.
Virtualization technology enables you to run multiple virtual instances of a system within a single system or cluster of systems. The most popular and, in my opinion, the fastest-growing company to specialize in virtualization technology is VMware (VMW). VMware was founded in 1998 by Edouard Bugnion, Scott Devine, Diane Greene, Mendel Rosenblum, and Edward Wang.
For our tests we used very common commodity hardware. We simply used a desktop PC running Microsoft Windows XP Pro on a Pentium(R) D 3.20GHz with 2GB DDR.
New Key Features
Some new notable key features in VMware Beta 2.0 are:
- New web-interface. Yep, that’s right, no more VMware Server Console to manage your VM’s. While I see this to have multiple Pro’s and Con’s the web interface has seemingly grown on me.
- The new web access interface also comes with independent virtual machine consoles. This allows you to have multiple separate windows to view your running virtual machines.
- New (but old) methodology. The new VMware Beta uses the term "Datastores" to describe locations for data. This is very similar to its big brother VMware ESX Server.
- VMware Beta now supports USB 2.0 - transfer files faster!
Obtaining VMware Beta 2.0
- Open www.vmware.com in a browser.
- Locate "Other Products" and hover over "Find a Product" and select "VMware Server"
- Locate the link that says "VMware Server 2.0" or click here.
- Click "Download Beta"
- Fill out all information on the registration page or use the seemingly new feature at the top prompting you to enter your email if you have already registered for a VMware product.
- Agree to the EULA (End User License Agreement) by pressing "Accept" at the bottom.
- You are now presented with the download page (finally right?) Take special note of the serial numbers in red.
- Select the download link that best suits your operating system preference
(If it’s Windows I won’t be mad )
Q: Wait! Where’s the VMware Console Download?
A: We’ll cover that later in the article. Don’t worry!
Installing VMware Beta 2.0
- Locate the file you previously downloaded and execute the installer.
This article covers installing VMware Server 2.0 on Windows XP Pro.
- You are first presented with a progress bar, and then the infamous installation wizard.
- Press "Yes" to verify the MD5 sum of the downloaded package.
- After some waiting and some random screens and progress bars you are now presented with the VMware installer. Press "Next" to begin the installation process.
- Accept the license agreement once again.
- Insert your serial number as noted on the download page.
- Specify an alternate folder (if desired) and press "Next"
- You are now presented with FQDN (Fully Qualified Domain Name), Server HTTP Port, and Server HTTPS Port options for your installation. I would simply leave the defaults unless one of the ports conflicts with another application/server on your system.
- Press Next
- Select the defaults for shortcut creation and press "Next"
- Press "Install" to start the installation.
(Ahh the infamous progress bar we all have grown accustomed to. Your installation would have been faster with a WD Raptor 10,000 RPM drive!)
- Once the installation has completed press "Finish".
- Press "Yes" (after saving all important work of course!) to reboot your system.
Creating Your First VM
Creating your first virtual machine is easy! This section will outline the basic setup and installation of your virtual machine and guest OS.
I guess now is a good time to describe what it means when you read about "Guest" and "Host" Operating Systems. A Guest Operating System is an OS which runs inside of a virtualized environment. A Host Operating System is an OS which runs all virtual machines. The Host Operating System in our lab is our Windows XP Pro machine.
Follow these steps to get you on your way to your first virtualized experience:
- Press Start -> Programs -> VMware -> Web Access -> Web Access
- Accept any SSL warnings are VMware uses self-signed SSL certificates (Hey, they’re free!)
- You are now presented with a login dialog that looks like this:
- Enter your computer login information (your username and password for your machine) and press Log In.
After the initial screen loads you’re probably thinking "Woah, this is completely different!" and you couldn’t be more right. VMware is taking the whole web approach very seriously in this web-client.
- Here’s a quick snapshot of what you should see:
(We, of course, have an existing VM already for testing purposes)
- Click on the right to create a new VM.
- Configure the new VM
- Specify a name for the new VM
- Specify a location for the new VM (this standard datastore was created upon installation of VMware Server Beta.)
- Press Next
- Select your Guest Operating System.
* Note: 64-bit support can only be enabled if your host system supports 64-bit technology.
- Press Next
- Specify the memory size. The recommended is usually acceptable when running VM’s in testing mode. For our Linux VM we’re sticking to 256MB.
- Select one processor unless you explicitly need two. Choosing two may cause more contention for available resources in more heavily-loaded systems.
- Press Next
- Press Next again to create a new virtual disk
- Specify the size of your disk.
Use the virtual machine’s location for storing the disk.
- Press Next
- Press Next to add a network adaptor
- Choosing Bridged will allow the VM to have access to the same network as your host PC’s primary interface. This is a good choice for testing.
- Press Next
- Leave "Use a Physical Device" checked and press Next
- Uncheck "Connect at Power On" and press Next
- Click "Don’t Add a Floppy Drive"
- Click "Don’t Add a USB Controller"
- Press Finish to complete configuration/creation of the VM.
Installing your first guest
Installing your first guest operating system is easy. In the steps below we detail installing CentOS 4.6. The configuration of the actual guest is not important in this demonstration. Here’s how to install your first guest operating system:
- Obtain the ISO image file for your guest operating system.
- Open VMware Infrastructure Web Access
- Click once on the host system (your current machine host name) on the left.
- Click "Add Datastore" on the right to add our directory containing the installation media for our guest. You are now presented with the window shown here:
- Type in a name for the datastore, we picked "ISOS"
- Type the directory path, we used "C:\ISOS"
- Click OK at the bottom to save your changes.
- Click once on the guest we created earlier on the left
- Click once on the CD drive icon and click "EDIT"
- Click the ISO Image option and select "Browse…"
- Select the ISOS datastore and select the ISO containing your guest operating system installation media.
- Click OK then click OK again.
- Click the start arrow at the top to start your new guest
Install your guest operating system as you would on a physical machine. Use the console tab to continue your installation.
- The Beta or "experimental" version of VMware server can be a bit flaky in testing. I have often noticed times when a VM (which previously ran perfect under VMware server 1.0.x) sporadically died or quit responding.
- The Beta or "experimental" version has been known to expire. I believe they fixed this with the latest beta release (at the time of this writing). The previous versions were expiring leaving the user unable to power on VM’s and ultimately having to reinstall.
- The Beta version also runs every VM in a slower "Information Gathering" mode. This debugging mode greatly affects performance. It is recommended to disable each VM’s debugging mode under "Configure VM" on the Advanced tab. Simply unclick the "Record runtime information" check box.
- The Beta version also has not been extensively tested with Virtual Infrastructure Client but some functionality works.
The main difference between ESX and regular VMware server is that ESX runs its own VMware kernel (loaded with GRUB) and allows for the virtualization technology to live closer to the hardware. VMFS, available in ESX, allows for larger files and offers higher performance over traditional file systems like EXT3. VMFS is tuned for large files and exhibits almost raw filesystem speed.
H.A - High Availablity
VMotion - Move live guest to different hosts in real-time
DRS - Distributed Resource Scheduler - allows for distributed resource management
VMFS - Large file support, provides near raw disk speeds
The ESX console is simply another virtual machine which has access to the VMKernel (through hostd process) and allows for management of the host. This console provides SNMP monitoring and all management functions for manipulating guests and the host configuration.
- Default of 56 ports per virtual switch. Maximum of 1016 (8 reserved for trunking)
- Three types of network connections.
- Service console port (should be bonded)
- VMkernel port - access to VMotion, iSCSI and NFS traffic traverses this port or portgroup
- Virtual machine port group - access to VM networks
- Creating Virtual Switches (Very simple)
- Console command "esxcfg-nics -l" lists all NICs available on the host machine
- Three methods of load distribution
VMKernel decides which physical NIC will carry the packet to the outside world. This method does not require special switch configuration. This method
- Source MAC-Based
VMKernel maps VM to physical adaptors based on the source MAC hash. This method has low overhead but might not effectively spread the load to all physical adapters.
VMKernel routes outbound and inbound traffic based on IP address. This requires VMKernel to inspect packets at Layer-3 and can introduce more CPU overhead and might not be the best option for high-throughput applications.