Linux in Government: VMware Workstation 5

A look at the new VMware Workstation release--what it can and cannot do.

So What Does It Actually Do?

VMware Workstation 5 allows multiple operating systems and applications to
run at the same time on a single physical computer. If you have a lot of
RAM, a large hard drive and a serious CPU, VMware performs okay. In this
way, it is more of a developer's product than an end-user one.

The guest operating systems live in isolated virtualized machines. VMware
maps a hosts computer's hardware resources to the virtual machine's
resources, so each virtual machine has its own CPU, memory, disks and I/O
devices, so to speak. Each virtual machine appears to the guest operating
systems as a standard x86 computer.

Once VMware Workstation installs a guest operating system on the host,
you can install and run unmodified versions of Windows, Linux, Novell
NetWare and Sun Solaris x86, as well as applications written for those
platforms, on one machine. VMware says users can see the benefit of using multiple PCs
without the expense, physical setup and maintenance of various hardware
platforms. By the time you build a machine with enough resources for the
guests to operate at acceptable level, you could have saved money buying
separate PCs. But VMware has other advantages at which we should look.

Figure 2 provides a look at VMware Workstation running on NLD 9 with
Windows XP Home Edition installed. This should give you an idea of what
you can expect to see if you use this product. Notice on the top of the
tool bar that an icon lets you select a full-screen mode. By selecting
this option, the guest occupies all of your monitor's pixels. It's
still not going to give you the benefit of a great visual experience,
however.

Figure 2. Windows XP Home Edition Running on NLD
9

What's New?

The virtual hardware of VMware 5 runs better than previous versions. With a single
Pentium IV or an equivalent AMD processor and 512MB of RAM, one should
be able to run two virtual machines simultaneously. The previous versions
would grind to a halt in such a scenario.

I wouldn't recommend running your system that way, however. If you have a
need to run more than one virtual machine, you should run dual high-end
processors and 3GB of memory. Otherwise, you cannot use
your host machine and the two virtual machines with any efficiency.

Snapshots of an OS

Version 5 provides for multiple snapshots so a user can take a snapshot
at any point and revert to its original or another state when a guest is
powered down. Users can configure a virtual machine to take a snapshot
when a guest is powered off and preserve an audit trail. If you need
to examining a virus, for example, you can take a snapshot before you
introducing the malware. If you the virus does damage, a user can restore
the virtual machine to the state preserved in that snapshot. The same
goes for testing new code or a patch.

Previous versions of VMware allowed for the taking of snapshots.
However, once you created a second one, it would overwrite the original
snapshot. So, for testing purposes, version 5 provides a significant upgrade.

Virtual Networks

Workstation teams allow users to set up a virtual network or lab on a host
computer. You can power up multiple virtual machines as mentioned above.
You then can configure networking the way you would on any local area
network, however, this network would run on a single computer.

Users can work together in what VMware calls a LAN segment. They are
invisible to the host computer's network, which creates the possibility
of doing development in a virtual safe house.

Cloning

The new VMware Workstation provides interesting deployment capabilities
with what the company calls clones. In VMware workstation terms, two
types of clones exist. One it called a full clone, which we might
consider to be similar to a ghosted image used to provision another computer.
The second type of clone is called a linked clone. It remains dependent on the
original image.

VMware's full clone functions as an independent copy of a virtual
machine. Once a user makes the clone, it runs separate from the parent. It
then can go off and become a unique instance that you can use to make
changes or deploy for whatever purpose you see fit.

VMware's linked clone shares virtual disks with the original or parent,
conserving disk space. This permits multiple virtual machines to use
the same software installation. Also, linked clones take less time to
create than a full clone does.

Labs might want to create linked clones to provision to developers, quality
assurance engineers, testers or maintenance programmers--literally
for different tasks. By storing a linked virtual machine on your local
network, other users quickly can make a linked clone. A support team
can reproduce a bug in a virtual machine, and an engineer quickly can
make a linked clone of that virtual machine to work on the bug.

The files on the parent of a linked clone continue to exist at the time
one creates a snapshot and continue to remain available to the linked
clone. Changes to the parent don't affect the linked clone, and changes
to the disk of the linked clone do not affect the parent.

VMware may not officially support all Linux distro's, but this only means that VMware is shipped with modules matching the default kernel for those Linux versions. What VMware needs to run is vmmon & vmnet modules that match the hosts kernel. Just make sure that there are matching kernel headers and kernel image. Run the ~/vmware-install.pl and it will compile the needed modules. Runs on all version of Debian I have used.
Greg

> I never found anything like that and used an earlier version
> to get it to work.

The problem is that SuSE's 9.x kernels are full of additional patches that Novell/SuSE put there, so that most packages relying on pre-built modules will fail. Workaround: You have to re-compile the modules.

I have this problem with VMware but also with the Linux-versions of a VPN software I have to use (Nortel VPN client).

As for VMware and SuSE 9.2:

Here is how I solve the problem:

cd /usr/src/linux
make cloneconfig
make prepare
vmware-config.pl

With "make prepare" some files that are usually created during a kernel compilation are created too, but nothing more happens, ie. the actual compilation does not take place.

When you call "vmware-config.pl" it will then find all the necessary files as if a fresh kernel had been compiled. Voilà, problem solved.

I use SuSE 9.2 as main OS on my Laptop, and VMware to run other virtual installations, e.g. Windows 2000, other Linuxes, and so on.

I too run VMware workstation to use Windows programs. 1GB of RAM with a 1.4mhz Pmobile works pretty well. Mine is running on Ubuntu 5.04 with no difficulties. It is nowhere near as fast as Windows running natively but is acceptable. I have used it on Mandrake (Mandriva), Gentoo, Redhat and Debian without difficulty. It boots somewhat slowly but runs pretty well.

The biggest problem with VMware on a laptop is that the host IP changes with locations. And then the guests cannot find the host to share files without a great deal of effort, every time you change locations. It get's old real quick. I take the laptop home at night and I'm tired of changing guest IP info.

I have never made or intend to make a clone. I don't care about this capability. And I just don't have or intend to get or make the space for two or more VMware instances on my harddrive.

Someday Intuit will release a Linux version of Quicken and possibly Quickbooks and OpenOffice's .doc compatibility will improve to the point that I no longer need Windows and I will delete VMware completely. But until then....

There's a very easy way to share files between host and guest in everywhere without modifying anything when changing place.

You just have to add another ethernet interface to the guest. Then you can define that eth0 is for the outside world (using bridge mode, probably dhcp enabled for eth0) and eth1 is using host-only mode. Guest can then have a static ip address or dhcp enabled (usually gets always the same ip address). Host has a static ip address (host-only network adapter Vmnet1), so guest OS always finds the host using that ip address. No more trickies and worries about host and guest, they have created a private LAN. Now you can change the place as much as you like.

I run VMware 5 on Fedora Core 3 with no problems.
One has to update the install for each new kernel release but that is quickly done.

The guest OS is Win2K Pro and it runs fine on my
3.2GHz pentium with 1 GB RAM and 640 GB of IDE and SATA disks.
File IO runs as 15 -20 MB/sec as a GuestOS whereas under W2K
directly I get 7 - 10 MB/sec on a good day.

The virtual hardware of VMware 5 runs better than previous versions. With a single Pentium IV or an equivalent AMD processor and 512MB of RAM, one should be able to run two virtual machines simultaneously. The previous versions would grind to a halt in such a scenario.

I wouldn't recommend running your system that way, however. If you have a need to run more than one virtual machine, you should run dual high-end processors and 3GB of memory. Otherwise, you cannot use your host machine and the two virtual machines with any efficiency.

I don't agree that such a high-end machine is needed to run VMware Workstation. I've run RedHat Linux in VMware on a 600 MHz Pentium III, 512 MB RAM Windows box with almost the same performance as booting directly into RedHat Linux on the same machine.

All you need a machine that is powerful enough to run the applications you want to run in the virtual machine. The overhead of VMware is very less in terms of CPU utilization and moderate in terms of memory.
For example - If you can run applications A, B & C on an OS without VMWare, you can also run A on the original OS, B & C on two virtual machines if you have enough memory.
You can't expect VMware to triple the power of your machine by installing two virtual machines!

Don't forget that VMWare 5 also support DirectX acceleration using OpenGL under a Linux host running a guest XP. While the feature is not yet perfect it already runs a lot of recent game titles that do not work either in Cedega or Wine at more than acceptable performances.

You know that OpenGL and DirectX/Direct3D aren't the same thing, right; they're competing things. You can run DirectX 9c in vmware. you cannot run OpenGL in vmware. Almost all modern windows 3D is directX, things like Compiz on linux etc are OpenGL. important distinction as you can run windows guest games with directX if the host, vmware and guest are turned on, but you cannot run OpenGL in any virtual machine. OpenGL is seen as being at least a decade out of date, although it's making a comeback in the linux world for compositing window managers.

Short version is that QEMU is an emulator and VMware is a virtualizer. VMWARE makes an x86 look like lots of x86 systems. Qemu in theory makes and x86 look like a sparc,ppc,etc,etc it can also be used to run multiple copies but will have a higher overhead than a virtualizer. From what I have seen, VMware is way easier to setup.

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.