VMware Tips

I’ve been experimenting with a variety of virtual machines running under VMware’s Server product, and hosted on my home linux computer. Along the way I’ve run into a number of fairly standard issues, which I resolved fairly quickly. Then were a few issues that were tricky enough to resolve that I decided to note them for future reference.

VMware Console Startup

One of the first problems I encountered was that my VMware installation had a problem starting correctly after each reboot. It prompted me to rerun the configuration script, vmware-config.pl, every time I started the server console. Obviously not a good long term plan, and after a bit of research I came up with the solution, described at Jeremy Coates site.

I’ve put a copy of the steps in the extended entry area, just in case the primary site goes offline. In addition to the steps noted above, I found it necessary to add the following line to my rc.local file:
rm /etc/vmware/not_configured

Starting a Stored Image

One of my experiments is to compare the speed of actual machines versus their virtual counterparts. I do that by creating a Norton Save and Restore image on the original computer, and then restore that image to a virtual machine under VMware Server.

One of the restored images booted part way and then halted with a STOP error, similar to this:

*** STOP: 0x0000007B (0xF9DA0528, 0xC0000034, 0x00000000, 0x00000000)”

The fix turned out to be fairly straightforward. One simply needs to set “scsi0.present” to “FALSE” in the appropriate VMware config file:

/var/lib/vmware/Virtual Machines/*.vmx”

The original tip came from the VMTN site; search for SCSI on that page.

Solaris Networking Config

Over the years I’ve had ample opportunity to hone my HP-UX sys admin skills, but have only ever seen or touched a Sun computer running Solaris maybe once or twice in my whole life. Sun has a very solid reputation and with the advent of their free X86 port of Solaris, and a virtual machine environment where it’s easy to setup new machines, I couldn’t resist satisfying my curiousity. I downloaded and installed Solaris 10 with no problems, but the auto config of my network didn’t work. I quickly found exactly the right recipe to get on the air at this cuddletech site.

I’ve copied key segments of the aforementioned code/instructions in the extended entry area in case the source sites become unavailable.


VMware Console Startup
Here’s the code needed to fix the VMware console startup problem.

Jeremy Coates site

Add the following just under the start) line in /etc/init.d/vmware

start)
# Start insert
if [ ! -e "/dev/vmmon" ]; then
mknod /dev/vmmon c 10 165
chmod 600 /dev/vmmon
fi
for a in `seq 0 9`; do
if [ ! -e "/dev/vmnet$a" ]; then
mknod /dev/vmnet$a c 119 $a
chmod 600 /dev/vmnet$a
fi
done
# End insert
if [ -e "$vmware_etc_dir"/not_configured ]; then

In rc.local, add the following:

rm /etc/vmware/not_configured

Solaris Networking Config

Please refer to the cuddletech site for more details.

1. Add the name of the system to /etc/nodename. It will be the only thing in this file. This is the common name of the system reguardless of how many hostnames the system really has.

root@anysystem devices$ cat /etc/nodename
anysystem

2. Add the hostname and IP address to /etc/hosts.

3. Add any appropriate subnet masks to /etc/netmasks. These netmasks are based on the various networks your system might be part of. For 192.168.100.0/24 you’d add the line: “192.168.100.0 255.255.255.0”

4. Add the hostname that you added to /etc/hosts to /etc/hostname.(interface). That is, if you wanted to add a new IP to the “nge0” (nVidia Gigabit Ethernet) interface, I’d put “192.168.100.42 cuddlistic1” in /etc/hosts and “cuddlistic1” in /etc/hostname.nge0. The hostname is the only thing that goes in that file.

5. Add DNS information to /etc/resolv.conf

6. Add the default router address to /etc/defaultrouter. If your gateway was 192.168.1.254 you’d “echo 192.168.1.254 > /etc/defaultrouter”. Again, the IP of the router is the only thing that goes in that file.

7. Now either reboot or, preferably, svcadm restart svc:/network/physical.