SIPB VMWare Dialup: Cluedump

This cluedump will attempt to teach you everything you need to know to use the SIPB VMware dialup system.
  1. Overview
  2. Connecting to an existing machine
  3. Setting up a new machine
  4. Installing an operating system
  5. Other stuff

Overview

What is VMware?

VMware is an emulator for the PC architecture (aka x86) that runs under Linux and Windows.

What is GSX Server? How is it different from VMware Workstation?

GSX Server is VMware optimized for running multiple virtual machines on the same piece of physical hardware. The expectation is that the virtual machines will be servers, that will primarily be accessed over the network. You might think of a VMware virtual machine, under GSX, as comparable to a 1u 500MHz Celeron with a small disk. This makes virtual machines useful for a certain class of problems.

What are virtual machines good for?

Virtual machines are good for two primary purposes:
  • Evaluating (or even deploying) network services.
  • A spare machine running an interesting operating system (that you can use over the network or from a really slow console).
For example, I currently have three virtual machines: One running sipb-rt, one on which I am developing an IMAP mail archiving system, and one running Debian-GNU/NetBSD.

What aren't virtual machines good for?

Virtual machines aren't good for a number of things:
  • Running graphical operating systems where you want to use the console a lot (e.g., windows). Consider VMware workstation instead.
  • Computationally intensive work.
  • Debugging kernel software/device drivers. They don't expose this functionality.

Operating systems that don't run

There are some operating systems that don't run. Including:
  • Beos
  • OS/2
Most x86 OSes run though.

Connecting to an existing machine

Getting a login on steve-dallas

You need a login on steve-dallas to do anything with virtual machines. Send mail to vmdialup@mit.edu and we will set you up. Or maybe we will unlame and do the right thing (whatever that turns out to be) for everyone in SIPB.

Running vmware-console

Basically, to connect to a machine, you run vmware-console. It is in the vmdialup locker. add vmdialup; vmware-console should work. The actual vmware-console binary is vmware-console.real.

vmware-console is a script that opens up an ssh tunnel to steve-dallas to run the console over. This is done because otherwise the console will send your password and any other information in the clear. Setting up the tunnel may prompt you for a password.

When vmware-console comes up, it will ask you for a password. You should give it your steve-dallas password, which may be your Kerberos password.

After you have authenticated, you will be presented with a list of machines. Choose the machine you want, and then you will be connected to its console.

Working with the console

The most obvious way to use the console is as a console. Click into it, it will grab your mouse and keyboard, and let you type/mouse at the machine. To release focus, hit Ctrl-Alt-Esc.

The console has issues on slow networks or networks which drop packets. It also is very slow when X-forwarded.

There is no way to type Ctrl-Alt-F# to access virtual consoles on Linux. If you are at a text console, you can use Alt-F# instead. If you are in X, you lose. Sorry.

Power

The buttons at the top of the console control power to the machines. They do the obvious things.

Configuration

The configuration editor deals with manipulating all the hardware on the machine. With the editor you can:
  • Add or remove SCSI or IDE disks
  • Add or remove network interfaces and other ports.
  • Insert or remove real or virtual floppies and CDs.
  • Set the amount of memory.

Devices

Devices under VMware can be disconnected. Disconnected devices are (obviously) not seen by the operating system, etc. For example, a floppy or cdrom image can be left "inserted" as long as the floppy or CD drive is not connected.

You also must disconnect a device before you can edit it on the running machine. For example, to change floppies, you disconnect the device, edit it, and reconnect it. Or you just repoint the symlink (not guaranteed to work).

Setting up a new machine

Using the wizard

To use the wizard, log into steve-dallas on the console, or ssh with X forwarding (not recommended). Run vmware -G (G means local GUI). Click File->Wizard. Follow the instructions.

You should probably not bother booting the machine from within vmware -G, since you will have to shut it down when you exit/logout (this is the difference between -G and vmware-console).

Cloning a machine

Another thing you can do is clone a machine. Just copy all the files in its directory to another directory. Then go into the .cfg file and change all the paths to point at the new directory.

In theory GSX 2.0 added relative paths, to make cloning easier. I haven't dealt with this though, so RTFM/YMMV.

Of course, be careful of booting a cloned machine and conflicting over IP addresses. If you reinstall, this isn't a problem.

Stock installs

We don't currently have any useful stock machines. Maybe we will at some point.

Installing an operating system

Supported media

GSX Server can use cds and floppies, real and virtual. To use a real CD or floppy, point the drive at the real device. To use a virtual one, point the drive at an image (ISO images work). Images out of AFS work, though if the network sucks you may have issues, I don't know.

Remember to "remove" the disk before rebooting.

Boot order

The virtual machine has a BIOS just like a real machine. The primary thing you might want to do in it is change the boot order in the BIOS. Hit F2 while the machine is booting, as documented on the screen.

"Start connected"

Devices can be connected and unconnected. Most have a "start connected" box that does the obvious thing (i.e., the device is connected at boot). If you want the machine to boot off a device, or to see it at boot time, you need to mark it start connected.

Other stuff

Networking

Networking is a bit weird within the virtual machines. There are two main kind of network device, bridged and host-only.

A bridged network device talks out the physical net card on the machine. steve-dallas only has one net card right now, which keeps things simple. Machines using a bridged network device need a real IP address on 18.187.

A host only network device is basically connected to a virtual ethernet (virtual hub, for you young'uns). The host OS (steve-dallas) may or may not have an interface on this virtual hub. Right now, steve only has one virtual hub, and does have a device connected to it. You can get a NAT address on this ethernet thanks to nim, if you ask.

Official documentation

The official
VMWare documentation for GSX server is also available.

vmware-control

This talk hasn't said much about vmware-control. Its a command line tool for controlling virtual machines. Mostly you can set configuration options, turn them on and off, and query their state.

vmware-control really sucks, except when its good enough to do what you want. Frequently your actions with vmware-control will cause the machine to want to pop up a message dialog. Since vmware-control can't do this, the machine will wedge. You can check to see if this has happened by looking in the log file, which is probably in /var/log/vmware.

Perl API

There is this perl API. Its what vmware-control and friends are written in. Actually, vmware-control doesn't have any friends. But if it did, they would use the perl API.

I haven't done much with the perl API. If you want to, go you. Read the source, or see the official documentation listed above.


Last modified: $Id: cluedump.html,v 1.10 2002/08/05 23:15:16 tibbetts Exp $