|
Run Multiple O/S Concurrently with VMWare
Author: Human X | Monday November 25, 2002
VMWare allows users to install and run concurrent multiple operating systems on top of an host O/S. In this article I will discuss performance issues, additional information, tips, and a real world example of Win 2k , Red Hat 7.3 Linux and Win XP.... (Updated 07-15-2002 9pm - Performance test at bottom of page
VMWare is an emulator that will allow you to install multiple operating systems and run them all concurrently on top of any Microsoft / Linux operating system. For the purpose of this discussion, the initial operating system installed on your system will be considered the host and the installed VMWare operating systems will be considered slaves / virtual machines.
VMWare is a powerful asset to any tech support agency / employee, developer or any other person who would like to test multiple operating systems without the need to completely reinstall or destroy the original O/S and cannot afford downtime. VMWare accomplishes this through running a separate Virtual Machine on top of your Host operating machine. The virtual machine contains it's own bios which can be customized just as if you were modifying the Hosts bios without effecting the actual host.
How does it work?
VMWare executes in a window just like any other GUI based application. The VMWare menu bar contains a set of tools which allows you to modify how much memory can be allotted to the slave, disk space and also allows you to control access over external devices such as CDROM's , USB, FLOPPY , and COM/LPT. VMWare supplies a set of drivers for slave operating systems, which allows for better access to devices and faster screen redraw. You will also have the option of disabling any of these devices on the slave which will help to improve overall host/slave performance.
Example:
1. Host RedHat O/S running Windows 2000, Windows XP, BSD Unix in separate windows.
2. Windows XP running RedHat, Windows XP, BSD Unix in separate windows.
Networking: What Everyone wants to know
VMWare supports your network in three different ways.
1. Bridged: Allows external access and slave contain own IP address.
a. Ex. Run a Public fully accessible webserver
2. NAT: No external access and shares Host network connection.
3. Host: No external access / no network.
Hardware Supported
VMWare will support most hardware available on your host since VMWare merely shares this hardware through drivers. The access to hardware is more like a passthru, but that does not mean it will support all devices; it means, it supports the I/O mechanism but not necessarily the actual end device. (Ex. Supports USB but maybe not the camera)
Example support but not limited to: Sound Cards (though it can be problematic on slower hosts), COM / LPT, USB SCSI (limited for CDRom Burners), Raw access to IDE devices
Memory
A set of Global Settings and Local Settings are available for VMWare. Global settings allow you to set the amount of memory allocated to all running slaves, the Local settings is the memory allocation for a particular slave.
Example: A Global setting of 256 megabytes of memory would allow you to run 2 slaves utilizing Localized memory settings of 128 megabytes each.
Hard Drives and CDRoms
VMWare will allow you to connect to a hard drive in a couple of ways.
1. Utilizing the host operating system: A file is created which contains all of the slaves files. This does not allow you access to the host operating system. Yes it is actually one big file running as if it were a File System. This is set during initial installation and cannot be changed. This is also a very secure state as VMWare is truly running within its own environment and access to the host does not exist.
2. VMWare can be set to directly access a Hard Drive. This also means the File System/Format must be supported by the slave operating system. So each slave could in effect have its own hard drive dedicated to the slave and the host would have access to the data stored there.
CDRoms can also be accessed VIA raw mode or through the driver set. CDRoms have a performance hit, read the caveats section.
Data Access
Vmware can access the host operating system through File Sharing or any other type of network protocol which will allows access to the hosts files. Since VMWare does not have direct access to files, file sharing is accomplished through the network. In Linux, if a MS-Windows slave is installed, VMWare will configure Samba if you choose.
Cut and Paste
VMWare allows Cutting and Pasting between the slave and the host, but only text.
Caveats
CDRoms: CDRom polling severly diminishes the performance of the host/slave operating system. Polling is the action of the Operating System checking for a new cdrom being inserted.
Their are numerous ways to disable polling, but you will need to check with your operating system. One quick and simple way is to disconnect the drive from the slave, which is easily done in the configuration.
This is an emulator, it does not run a fast as the host operating system especially the video. Knowing that, I will say that VMWare is fast, and I guarantee you will not complain! One example is that I used to run Freehad 10 on an 650 mhz processor on an Linux slave on an Linux Host at close to normal speeds; another example, I ran Windows 2000 Adv Server with IIS on an Linux Host which was sustaining 75,000 hits a minute (stress test) and everything continued to run very well.
Performance Enhancements
1. DISABLE CDROM or Polling.
2. Supply ample memory to the slave
3. Insure you have ample available memory for the host.
4. Disable devices you are not using. COM/LPT, USB, CDROM and so forth. Just like your host, disable devices you will not use. This only enhances the overall performance of the machine.
5. Allow VMWare to run on a Hard Drive separate from the host operating system's hard drive especially when using IDE. It would actually be better with IDE if your VMWare hard drive is installed on the second channel and not sharing the primary channel of you host. SCSI does not suffer nearly as much as IDE in this area.
6. Install the VMWare slave drivers, this improves the performace a great deal especially with video.
Documentation
I am going out of my way for this section as VMWare supplies with the *download such an incredible set of documentation that it is worth noting. *Explained Later.
Installation Note
The installation of VMWare is relatively harmless and quite simple, as a matter of fact, vmware is easier to install then most programs! The Linux installation required VMWare to compile modules for the kernel as the modules that came with VMWare were not compatible. This process was automatic and smooth.
Real World Installation and Statistics
In this installation I installed Windows 2000 Advanced Server as a slave on a host of Red Hat 7.3 Linux and Windows XP.
Hardware Used :
1. AMP XP 2000
2. 256 megabytes DDR 2100 memory
3. ATI Radeon 8500 64 meg LE with 2 monitors (Dual head mode)
4. Host installed on an older Maxter 14 gig 33 transfer (2 meg cache) on the primary controller.
5. Slaves installed on an WD400 40 gig 100 meg transfer (2 meg cache) on slave.
6. 52x IDE CDRom
My decision to install the slaves on the faster drive was because the slaves are emulators and do not execute as fast as the host, so any additional performance given to the slave could not hurt.
Virtual Information (VMWare Configuration for the slaves)
Set for 128 Megs Memory
3 Gig Virtual Drive
*Read the information after the statistics, because there is additional information as to why some severe timing differences exist.
Quick note: Add 30 seconds for reboots and other times spent interacting with the install.
Windows 2000 on Windows XP
--------------------------------------------------------------------------------
1. Initialization to initial setup : 2M 28S .7ms
CPU Utilization : 100%
2. Format Drive : 8 Secs
CPU Utilization : 100%
3. Copying Files : 3m 1sec
CPU Utilization : 100%
4. Windows 2000 Starting Setup : 1m
CPU Utilization : 100%
5. Detecting and Installing Hardare : 3:41.5
CPU Utilization : 0%-60% (40%)
6. 2000 Components & Final Setup (Standard compenents + All Web + Networking Services + terminal services)
CPU Utilization : 0%-80% (avg 50%)
TIME : 12m 21s
7. Reboot 2:00
Problems : After the installation, I received odd hesitations which were taking place about ever second or so. This effected the entire system as well as the slaves. After updating windows 2000 with all of the latest updates and disconnecting the CDROM this problem ceased to exist. I believe CDRom polling and the lack of Win2k updates was the cause of the problem.
Windows 2000 on Red Hat 7.3 updated athlon kernel
--------------------------------------------------------------------------------
1. Initialization to initial setup : 57 Sec
CPU Utilization : 100%
2. Format Drive : 8 Secs
CPU Utilization : 10-50% (avg 20%)
3. Copying Files : 6m 47sec (Believe issue with CDROM)
CPU Utilization : 100%
4. Windows 2000 Starting Setup : 1m 15s
CPU Utilization : 100%
5. Detecting and Installing Hardare : 3:20
CPU Utilization : 0%-60% (40%)
6. 2000 Components & Final Setup (Standard compenents + All Web + Networking Services + terminal services)
CPU Utilization : 0%-80% (avg 50%)
TIME : 18m 39s (CDROM ISSUE)
7. Reboot 1:25
Problems: As you can see, certain portions of the installation went smoother on Windows then on Linux and vice versa. The Windows XP host was updated with the latest VIA drivers which helped with DMA and transfer. The slave hard drive shares the same channel as the CDRom which degraded the performance of the linux installation. The linux times that were faster then XP were when the CDRom was not in use. So it would be fair to say that the Linux installation executed far faster but suffered from some O/S tweaking issues. Linux IDE devices were not tweaked with *HDPARM before the installation.
*HDParm is a utility in Linux which allows a user to directly modify the IDE settings. Example is to activate DMA, modify transfer speeds and so forth. This is a serious program with serious consequences, be careful when using, as it can improve your systems performance, it can also damage files if the settings are not accurate for your IDE devices.
Overall Test Information
Slave operating systems operate better on a Linux host. The Video on the slave in Linux was far superior then on Windows XP.
One thing I did forget to mention, is that a dormant VMWare session or one that is just kind of hanging around open with an operating system launched will use practically 0% of your cpu!
Check out this performance test
This performance test was created using PerformanceTest Version 3.5 from PassMark Software. This test will show the perfomance of the host machine versus the VMWare slave running Windows 2000. Though not a fair test since both operating systems were not the same, but, still interesting. What I actually found more interesting was that VMWare survived the performance test without problems. That just shows how durable VMWare is.
Performance Test
Download Information
VMWare offers users a free 30 day trial download from http://www.vmware.com
Pricing
Vmware is priced around $250. For some it may be expensive, but if you think about the money you may have spent on hardware, or the time spent recovering from your own expierements, well it is a small price to pay.
Author
HumanX
LinuxDig.Com
Please feel free to distribute this article, as long as the author information stays intact. If you modify the article, please send me a copy. You can contact me at the linuxdig.com from the contact navigation bar.
Copyright 2002
|