VMware/Server

End of Life
WARNING: VMware Server is End of Life (EOF) and has been replaced with vSphere (http://www.vmware.com/products/vsphere)

VMware Server
"VMware Server (formerly VMware GSX Server) is a free-of-charge virtualization-software server suite developed and supplied by VMware, Inc." 

http://vmware.com/products/server/

CLI Commands
$ vmrun

COMMAND         PARAMETERS                  DESCRIPTION list                                        List all running VMs start           Path to vmx file            Start a VM stop             Path to vmx file            Stop a VM reset            Path to vmx file            Reset a VM suspend          Path to vmx file            Suspend a VM upgradevm        Path to vmx file            Upgrade VM file format, virtual hw installtools     Path to vmx file            Install Tools in Guest OS snapshot         Path to vmx file            Create a snapshot of a VM deleteSnapshot   Path to vmx file            Remove a snapshot from a VM revertToSnapshot Path to vmx file            Set VM state to a snapshot

Prototyping with VMware Server

VMware Server Installation
VMware Server Download

Latest Version: 1.0.8 | 2008/11/06 | Build 126538

RPM
Download VMware Server - RPM Binary for Linux (101MB) - Free wget http://download3.vmware.com/software/vmserver/VMware-server-1.0.8-126538.i386.rpm

Install VMware: rpm -Uvh VMware-server-1.0.8-126538.i386.rpm

TAR
Download VMware Server - Tar for Linux (101MB) - Free wget http://download3.vmware.com/software/vmserver/VMware-server-1.0.8-126538.tar.gz

Install: tar -zvxf VMware-server-1.0.8-126538.tar.gz cd vmware-server-distrib ./vmware-install.pl

Configure VMware
Packages needed: xinetd gcc kernel kernel-devel *libXt libX11 *libXtst libXext libICE libSM *libXrender yum install kernel kernel-devel yum install xinetd gcc libXt libX11 libXtst libXext libICE libSM libXrender yum install gcc make

Configure VMware (auto executed by TAR install's vmware-install.pl): /usr/bin/vmware-config.pl Note: I use defaults for all questions except I like to disable NAT networking and host based networking.

Building the vmmon module for your kernel should result in a: The module loads perfectly in the running kernel.

Building the vmnet module for your kernel should result in a: The module loads perfectly in the running kernel.

The default port for the remote VMware management is 902. If there is a warning that it is not free, simply ignore this and specify port 902 as the port regardless.

Serial Number
Please enter your 20-character serial number. Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:

Directories
Default virtual machine path: /var/lib/vmware/Virtual Machines

To make this folder simple to get to: ln -s /var/lib/vmware/Virtual\ Machines /vm

VMware Service
The VMware service should have auto started after the install. service vmware status

Start/Stop/Restart vmware: service vmware [start|stop|restart]

Uninstall VMware
To uninstall VMware: /usr/bin/vmware-uninstall.pl

Serial Numbers
Register for a serial number: http://register.vmware.com/content/registration.html

Guest Installation
Download the Windows Server Client (20MB): http://download3.vmware.com/software/vmserver/VMware-server-win32-client-1.0.4-56528.zip

Using the Windows or Linux Server Client you do not need to use a "prebuilt" image found on the internet.

To release control:
 * of the Server Client press Ctrl-Alt

To send a Ctrl-Alt-Delete:
 * use Ctrl-Alt-Insert.
 * if that doesn't work try Ctrl-Alt-End
 * or use the Server Client menu - VM - Send Ctrl-Alt-End

Install VMware Tools:
 * See VMware Tools

VMware Tools
To install VMware Tools:
 * Right click on the virtual machine and select "Install VMware Tools..."

References:
 * Installing VMware Tools in a Linux Virtual Machine

Auto start toolbox
CurrentWS=`wmctrl -d | grep "*" | cut -f 1 -d " "` Application="vmware-toolbox"
 * 1) !/bin/sh

wmctrl -s 3 $Application --minimize & for i in `seq 1 10` do sleep .1 Process=`pgrep -f "$Application"` #WindowID=`wmctrl -l -p | grep $Process | cut -f 1 -d " "` WindowID=`wmctrl -l -p | grep "VMware Tools Properties" | cut -f 1 -d " "` if  "$WindowID" != "" then break fi done wmctrl -s $CurrentWS
 * 1) Wait up to ten seconds for the Application to load

Resources:
 * How to Specify a Gnome Workpace an Application will Launch in - LinuxQuestions.org
 * wmctrl - A command line tool to interact with an EWMH/NetWM compatible X Window Manager.

Management Interface

 * "The VMware Server Web-based management interface. Install on your VMware Server system to enable control from a Web browser. Includes downloadable VMware Server Console installation files."

Web management console (34MB): wget http://download3.vmware.com/software/vmserver/VMware-mui-1.0.4-56528.tar.gz tar -zvxf VMware-mui-1.0.4-56528.tar.gz cd vmware-mui-distrib/ ./vmware-install.pl
 * 1) Installs to /usr/lib/vmware-mui
 * 2) Configure with: /usr/bin/vmware-config-mui.pl
 * 3) Uninstall with: /usr/bin/vmware-uninstall-mui.pl
 * 4) service: httpd.vmware
 * 5) Runs on tcp port 8222 - http://server:8222

My comment: this has VERY little management and configuration options. Not required and not worth the install. The Windows or Linux Server Client is all you will need.

Remote Console
Remove console connections use TCP port 902.

CLI Commands
List running VMs: vmrun list

Start/Stop VM: vmrun start/stop .vmx

Alias vm to vmrun: alias vm="vmrun"
 * 1) /etc/bashrc

VMware 2.0
Please specify a port for remote connections to use [902] Please specify a port for standard http connections to use [8222] Please specify a port for secure http (https) connections to use [8333]

Shared Disk
For a cluster shared disk configuration, add another "Hard Disk" (Create a new virtual disk) to one of the node's VM configuration. Specify SCSI disk and under the advanced options select Independent and Persistent Mode disk option and place on a second virtual SCSI controller (ie. SCSI 1:0). After creation select the Advanced options again for the disk and disable the "write caching". Edit the .vmx to enable the shared disk options (below). Next, add the same disk to the other node's VM configurations (Use an existing virtual disk) making the same changes (independed, persistent, disable write cache) and to their .vmx files.

disk.locking = "false" diskLib.dataCacheMaxSize = "0"

scsi0.present = "TRUE" scsi0.virtualDev = "lsilogic"

scsi0:0.present = "TRUE" scsi0:0.fileName = "node-os-disk.vmdk" scsi0:0.redo = ""

scsi1.present = "TRUE" scsi1.virtualDev = "lsilogic"

scsi1:1.present = "TRUE" scsi1:1.fileName = "cluster-share.vmdk" scsi1:1.writeThrough = "TRUE" scsi1:1.shared = "TRUE" scsi1:1.mode = "independent-persistent" scsi1:1.redo = ""

scsi1:2.present = "TRUE" scsi1:2.fileName = "cluster-quorum.vmdk" scsi1:2.writeThrough = "TRUE" scsi1:2.shared = "TRUE" scsi1:2.mode = "independent-persistent" scsi1:2.redo = ""

The missing items from the install are:
 * Configuring disks on separate bus from OS disk (ie scsi1)
 * disk.locking = "false"
 * diskLib.dataCacheMaxSize = "0"
 * scsi1:2.shared = "TRUE"
 * scsi1:1.writeThrough = "TRUE"
 * scsi1:2.mode = "independent-persistent"

Time Synchronization
The ntp daemon will not be able to keep sync with an ntp server because of the extreme jitter caused by the randomly slow/fast clock.

To help reduce this time problem:


 * Install VMware Tools (keep clock from going too slow):

clocksource=pit clocksource=pit nosmp noapic nolapic
 * Append to the kernel boot options (keep clock from going too fast):

crontab -e * * * * * /usr/sbin/ntpdate [NTP_SERVER_IP] > /dev/null
 * Add the following failsafe script to crontab:

/etc/vmware/config host.cpukHz = 1000000 host.noTSC = TRUE ptsc.noTSC = TRUE
 * If you have cpu throttling try the following (get cpukHz from /proc/cpuinfo):

ntpfix.sh
touch /opt/admin/ntpfix.sh chmod u+x /opt/admin/ntpfix.sh cat > /opt/admin/ntpfix.sh


 * 1) !/bin/sh

NTPSERVER=10.161.101.1 MAXOFFSET=10

NTPLINE=`/usr/sbin/ntpdate -q ${NTPSERVER} | /usr/bin/tail -n 1` FCHAR=`echo $NTPLINE | /usr/bin/cut -b 1` if [ "$FCHAR" = " " ] ; then OFFSET=`echo $NTPLINE | /usr/bin/cut -d " " -f 11 | /usr/bin/cut -d "." -f 1` else OFFSET=`echo $NTPLINE | /usr/bin/cut -d " " -f 10 | /usr/bin/cut -d "." -f 1` fi /usr/bin/logger "NTPFIX: localtime is $OFFSET seconds off of the NTP server"

if [ $OFFSET -gt $MAXOFFSET -o $OFFSET -lt -${MAXOFFSET} ]; then /usr/bin/logger "NTPFIX: forcing resync with NTP server" #/sbin/service ntpd stop >/dev/null 2>&1 /usr/sbin/ntpdate $NTPSERVER >/dev/null 2>&1 #/sbin/service ntpd start >/dev/null 2>&1 fi

crontab -e */2 * * * * /opt/admin/ntpfix.sh > /dev/null

Slow or Fast System Clock
See

libpng12.so.0: no version information available
Re: libpng12.so.0: no version information available: just copy the /usr/lib/libpng12.so.0 to /usr/lib/vmware/lib/libpng12.so.0/

Module Compiling Issues
Error compiling module: Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config0/vmmon-only' make -C /lib/modules/2.6.22.14-72.fc6/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.22.14-72.fc6-x86_64' CC [M] /tmp/vmware-config0/vmmon-only/linux/driver. In file included from /tmp/vmware-config0/vmmon-only/linux/driver.c:80: /tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘compat_exit’ /tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘exit_code’ /tmp/vmware-config0/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to ‘int’ in declaration of ‘_syscall1’ make[2]: *** [/tmp/vmware-config0/vmmon-only/linux/driver.o] Error 1 make[1]: *** [_module_/tmp/vmware-config0/vmmon-only] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.22.14-72.fc6-x86_64' make: *** [vmmon.ko] Error 2 make: Leaving directory `/tmp/vmware-config0/vmmon-only' Unable to build the vmmon module. cd /usr/lib/vmware/modules/source/ cp vmmon.tar vmmon.tar.old tar -xvvf vmmon.tar cd vmmon-only/include vi compat_kernel.h change: static inline _syscall1(int, compat_exit, int, exit_code); to: static inline _syscall1(int, compat_exit, int, exit_code); cd ../.. tar -cvvf vmmon.tar vmmon-only/
 * 1) My guess is it didn't like being compiled for 64bit OS
 * 2) This page references this error http://www.howtoforge.com/vmware_server_fedora_core_6
 * 3) http://www.vmware.com/community/thread.jspa?messageID=629085&#629085
 * 1) To fix:
 * 1) define __NR_compat_exit __NR_exit
 * 1) define __NR_compat_exit __NR_exit
 * 2) if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
 * 1) endif

Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config1/vmnet-only' make -C /lib/modules/2.6.22.14-72.fc6/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.22.14-72.fc6-x86_64' CC [M] /tmp/vmware-config1/vmnet-only/driver.o  CC [M]  /tmp/vmware-config1/vmnet-only/hub.o  CC [M]  /tmp/vmware-config1/vmnet-only/userif.o /tmp/vmware-config1/vmnet-only/userif.c: In function ‘VNetCopyDatagramToUser’: /tmp/vmware-config1/vmnet-only/userif.c:630: error: ‘const struct sk_buff’ has no member named ‘h’ /tmp/vmware-config1/vmnet-only/userif.c:630: error: ‘const struct sk_buff’ has no member named ‘nh’ /tmp/vmware-config1/vmnet-only/userif.c:636: error: ‘const struct sk_buff’ has no member named ‘h’ make[2]: *** [/tmp/vmware-config1/vmnet-only/userif.o] Error 1 make[1]: *** [_module_/tmp/vmware-config1/vmnet-only] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.22.14-72.fc6-x86_64' make: *** [vmnet.ko] Error 2 make: Leaving directory `/tmp/vmware-config1/vmnet-only' Unable to build the vmnet module.

To Read

 * http://www.howtoforge.com/vmware_server_fedora_core_6
 * http://www.howtoforge.com/vmware_server_fedora7
 * http://www.howtoforge.com/ubuntu_vmware_server
 * http://www.howtoforge.com/debian_etch_vmware_server_howto
 * http://www.howtoforge.com/ubuntu_vmware_server_p2
 * http://www.howtoforge.com/ubuntu_feisty_fawn_vmware_server_howto
 * http://blog.netnerds.net/2007/10/vmware-server-install-vmware-server-10-on-suse-102-x64/
 * http://fedorasolved.org/server-solutions/vmserver-install
 * http://ubuntuforums.org/showthread.php?t=183209
 * How to use VMware Player to create your own images
 * http://www.ethicalhacker.net/content/view/63/2/
 * http://www.ubuntugeek.com/how-to-install-vmware-server-from-canonical-commercial-repository-in-ubuntu-feisty.html
 * http://diaryproducts.net/about/operating_systems/unix/installing_vmware_server_on_gentoo_linux_part_2
 * http://polishlinux.org/howtos/vmware-server-console-introduction-to-virtualization/

Server 2008

 * "Choose your Guest Operating System. Since Windows Server 2008 Enterprise is still in BETA, it will not be listed. Choose the closest thing, Windows Server 2003 Enterprise. Also note, the operating system choice here will determine what configuration choices will follow. So if you chose Windows XP, you would see different choices than if you chose Windows Server 2003. "

Resources:
 * Svrops.com - Testing Windows Server 2008 in VMware

Host-only Networking
Disabling DHCP server.


 * "Actualy, if you change all lines in /etc/vmware/vmnet*/dhcpd/dhcpd.conf the dhcpd server will automaticaly not get started anymore. This looks cleaner to me than updating the scripts. I assume the scripts will get overwritten during an upgrade but the config files shouldn't. (Note: tested on vmware-server)"

Source: VMware Communities: How to disable DHCP server on VMware 5 ...

Installation
Download VMware Server - TAR Binary for Linux (101MB) - Free wget http://download3.vmware.com/software/vmserver/VMware-server-1.0.4-56528.tar.gz

Service: service vmware start VMware Server is installed, but it has not been (correctly) configured for the running kernel. To (re-)configure it, invoke the following command: /usr/bin/vmware-config.pl.

Install gcc, latest kernel and kernel development packages: yum -y update yum -y install gcc kernel-devel reboot
 * 1) May need to reboot if your kernel version changes
 * 1) May need to reboot if your kernel version changes

Transaction Check Error: package kernel-2.6.23.9-85.fc8.i686 (which is newer than kernel-2.6.23.8-63.fc8.i686) is already installed
 * 1) yum install kernel
 * 2) Error installing kernel... try updating system instead

Configure VMware /usr/bin/vmware-config.pl
 * 1) Use all the defaults (including compiling module for current kernel)

What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]
 * 1) This is wrong

What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.22.14-72.fc6/build/include]
 * 1) This is what you should see
 * 1) which points to /usr/src/kernels/2.6.22.14-72.fc6-x86_64/include

How To Disable IPv6 on Fedora / Linux & Why: vi /etc/modprobe.conf alias net-pf-10 off alias ipv6 off
 * 1) Add these lines to the end of the file:
 * 1) Turn off IPv6

NETWORKING_IPV6=no
 * 1) /etc/sysconfig/network

/sbin/service ip6tables stop /sbin/chkconfig ip6tables off /sbin/service network restart

The default port : 902 is not free. We have selected a suitable alternative port for VMware Server use. You may override this value now. Remember to use this port when connecting to this server. Please specify a port for remote console connections to use [904] 902

tcp       0      0 0.0.0.0:902                 0.0.0.0:*                   LISTEN      5139/xinetd
 * 1) netstat -tunap | grep 902

Last resort fix: wget http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update115.tar.gz tar -zvxf vmware-any-any-update115.tar.gz cd vmware-any-any-update115 ./runme.pl

In which directory do you want to keep your virtual machine files? [/var/lib/vmware/Virtual Machines]

VMware Tools

 * http://www.vmware.com/support/ws55/doc/ws_newguest_tools_windows.html
 * When the guest operating system starts, select VM > Install VMware Tools
 * Installing VMware Tools
 * Installing VMware Tools in a Windows Virtual Machine
 * Installing VMware Tools in a Linux Virtual Machine
 * http://www.vmware.com/support/reference/common/vmwaretools.html
 * Installing VMware Tools with VMware Player
 * How to Install VMware Tools in your Windows Guest

Mount install CD from command line vmrun installtools

Snapshot
NOTE: make sure to be in the folder and use "./" for path.

Create snapshot: vmrun snapshot vmrun snapshot ./virtualmachine.vmx

Delete snapshot: vmrun deleteSnapshot

Rever to snapshot: vmrun revertToSnapshot

VMware Workstation: Command Line Application:

Create a snapshot of a virtual machine: snapshot [Path to .vmx file] [snapshot name] List all snapshots in a virtual machine: listSnapshots [Path to .vmx file] Remove a snapshot from a virtual machine: deleteSnapshot [Path to .vmx file] [snapshot name]

Go to a snapshot in a virtual machine: revertToSnapshot [Path to .vmx file] [snapshot name] revertToSnapshot [Path to .vmx file] [snapshot name1/snapshot name2]

Revert Notes:

If a snapshot has a unique name within a virtual machine, you can revert to that snapshot simply by specifying the path to the virtual machine's configuration file and the snapshot name: [Path to .vmx file][snapshot name]

If several snapshots have the same name, you can still specify a snapshot by including a "pathname" for the snapshot name. A pathname is a series of snapshot names, separated by forward slash characters ("/"). Each name specifies a different snapshot in the tree, and together the names in a pathname will specify a path from the root snapshot to the snapshot you are naming.

For example, suppose you include the pathname "snap1/snap2". This will identify a snapshot named "snap2" that was taken from the state of a root snapshot named "snap1".

Because the forward slash can be used in a pathname to specify a particular snapshot in the revertToSnapshot command, it is recommended that you avoid using the slash character when you name a snapshot, since this will make it difficult for you to predict which snapshot a pathname will identify.

Windows 2000 Server - Terminal Services - 256 color limitation

 * Cannot Increase the Screen Resolution to Greater Than 256 Colors in Terminal Services
 * This behavior is by design.
 * Windows 2003 Server: What's New in Terminal Server
 * "Greater Color Depth and Screen Resolution: With RDP 5.1, color depth can be selected from 256 colors (8-bit) to True Color (24-bit), and resolution can be set from 640 x 480 up to 1600 x 1200. For example, an IT administrator can use Terminal Server to support store kiosks displaying merchandise. They can be set to provide true color images for the best product image."

VMware Server 1.0 is now Free
VMware Server 1.0 now free:
 * "As was announced back in February, VMware is now giving away one of its flagship products, VMware Server (formerly GSX Server). The free OS virtualization server makes it possible to run multiple operating systems simultaneously on top of a host OS, which can eliminate dual-booting, make installing or testing potentially dangerous apps risk-free, or keeping around a copy of your old system when you reinstall Windows. VMware Server 1.0 is available for Windows or Linux."

VMware's GSX Server to go freeware:
 * "According to CNet, VMware has announced that it's going to start giving away its GSX Server product for free. GSW Server, which currently starts at $1,400, is "enterprise-class virtual infrastructure for departmental server consolidation and streamlining development and testing operations," which without the buzzwords means it will let you run lots of operating systems simultaneously on not a lot of hardware for a lot of users. (Take a look at VMware's GSX Server FAQ for more specifics.) VMware is making GSX Server free in hopes that free users will get hooked and upgrade to the even-higher-end ESX Server. Their consumer-grade product VMware Workstation, however, will not be experiencing a price change of its own."

7 Uses for a Virtual Machine
7 Uses for a Virtual Machine


 * "VMWare has announced the release of VMWare Server 1.0 for FREE. Formerly known as GSX server, this product allows you to take a reasonably powerful server (say a box with two processors and 4 GB of memory) and lets you serve up virtual machines."


 * Try new operating system
 * Test your software
 * Set up an office quickly
 * You could have your people on the ground go buy a server from the local computer store (or ship one, whatever), and ship them the DVD with your images on it (or a hard drive).


 * Small Biz disaster recovery
 * Build kid boxes
 * Backup your system
 * Save Legacy Systems

Clone Virtual Machine
How to clone virtual machine with VmWare Server:

Example copy "db1" to "db2" vmware files in /var/lib/vmware/Virtual Machines

copied entire db1 directory to new one: cd /var/lib/vmware/Virtual Machines cp -ax db1 db2

rename virtual machine’s disk image (maybe it is not necessary but I decided that it would be better to perform this operation): cd db2 /vmware/bin/vmware-vdiskmanager -n db1.vmdk db2.vmdk

rename virtual machine config and change disk image name in this config file: mv db1 db2 sed -i 's/db1.vmdk/db2.vmdk/' db2

Now we can start this new machine with VMware server console, it would ask as to change machine’s UUID (which is machines MAC address)

Virtual Disk tools: vmware-vdiskmanager -n sourceName.vmdk destinationName.vmdk


 * Cloning a Microsoft Windows-Based Virtual Machine
 * NewSID

vmclone
My vmclone Script:
 * 1) !/bin/sh
 * 2) vmclone - written and maintained by Kenneth Burgener 
 * 1) vmclone - written and maintained by Kenneth Burgener 

if [ "$1" = "" -o "$2" = "" ] ; then echo "usage: $0 [original_vm] [cloned_vm]" exit 1 fi

if [ ! -d "$1" ] ; then echo "Error: Original VM does not exist!" exit 1 fi

if [ -d "$2" ] ; then echo "Error: Cloned VM already exists!" exit 1 fi

vmrun list | grep "$1" &> /dev/null if [ $? = 0 ] ; then echo "Error: Original VM is running!" exit 1 fi

echo "Cloning VMware VM '$1' to '$2'..."

mkdir "$2" if [ $? -gt 0 ] ; then echo "Error - Cloned VM already exists!" exit 1 fi

/bin/cp -p $1/* $2/

cd $2/

ls -1 | awk '{print "mv " $1 " " $1}' | sed "s/$1/$2/2" | sh

sed -i "s/$1/$2/g" $2.vmdk sed -i "s/$1/$2/g" $2.vmx

cd - > /dev/null

echo "Done!"

vmrename
My vmrename Script:
 * 1) !/bin/sh
 * 2) vmrename - written and maintained by Kenneth Burgener 
 * 1) vmrename - written and maintained by Kenneth Burgener 

if [ "$1" = "" -o "$2" = "" ] ; then echo "usage: $0 [original_vm] [renamed_vm]" exit 1 fi

if [ ! -d "$1" ] ; then echo "Error: Original VM does not exist!" exit 1 fi

if [ -d "$2" ] ; then echo "Error: Renamed VM already exists!" exit 1 fi

vmrun list | grep "$1" &> /dev/null if [ $? = 0 ] ; then echo "Error: Original VM is running!" exit 1 fi

echo "Renaming VMware VM '$1' to '$2'..."

/bin/mv $1 $2
 * 1) Rename Folder

cd $2/

ls -1 | awk '{print "mv " $1 " " $1}' | sed "s/$1/$2/2" | sh

sed -i "s/$1/$2/g" $2.vmdk sed -i "s/$1/$2/g" $2.vmx

cd - > /dev/null

echo "Done!"

Static MAC Address
Change: ethernet0.addressType = "generated" ethernet0.generatedAddress = "00:0c:29:XX:XX:XX" ethernet0.generatedAddressOffset = "0"

to: ethernet0.addressType = "static" ethernet[n].address = "00:50:56:xx:yy:zz" uuid.action = "keep"

Reference: VMware Communities: Hard-coding static MAC address for VM

Virtual Appliances
VMware Virtual Appliances

Tips and Tricks
VMware Server Tips & Tricks (PDF)

CentOS 5 64bit
./vmware-install.pl

/usr/bin/vmware-config.pl

The correct version of one or more libraries needed to run VMware Server may be missing. This is the output of ldd /usr/bin/vmware: linux-gate.so.1 => (0xffffe000) libm.so.6 => /lib/libm.so.6 (0xf7fb4000) libdl.so.2 => /lib/libdl.so.2 (0xf7fb0000) libpthread.so.0 => /lib/libpthread.so.0 (0xf7f99000) libX11.so.6 => /usr/lib/libX11.so.6 (0xf7e96000) libXtst.so.6 => not found libXext.so.6 => /usr/lib/libXext.so.6 (0xf7e86000) libXt.so.6 => /usr/lib/libXt.so.6 (0xf7e2e000) libICE.so.6 => /usr/lib/libICE.so.6 (0xf7e14000) libSM.so.6 => /usr/lib/libSM.so.6 (0xf7e0b000) libXrender.so.1 => not found libz.so.1 => /usr/lib/libz.so.1 (0xf7df8000) libc.so.6 => /lib/libc.so.6 (0xf7cb7000) /lib/ld-linux.so.2 (0xf7fe3000) libXau.so.6 => /usr/lib/libXau.so.6 (0xf7cb4000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xf7cae000)

This program cannot tell for sure, but you may need to upgrade libc5 to glibc before you can run VMware Server.

To solve: yum install libXtst libXrender # or yum install libXtst libXext libXt libICE libSM libXrender

BusLogic vs LSI Logic SCSI Adapters
VMware released a great whitepaper about virtual I/O architectures and performance impacts:


 * "The storage subsystem is a critical determinant of system performance. The key to good storage performance is to identify factors and system configuration settings that affect performance and understand how to set these in order to achieve the best results. The basic determinants of performance are the operating system, the data transfer size, and the access pattern. In the virtual machine environment, the drivers for the available virtual adapters are also a factor. VMware ESX Server virtual machines can use virtual BusLogic and virtual LSI Logic SCSI adapters. The default driver for a virtual machine depends on the guest operationg system. for example, Windows 2000 guests use the Microsoft-supplied BusLogic adapter by default, while Windows Server 2003 guests use the LSI Logic adapter by default. This document provides a characterization of storage performance for a VMware ESX Server system with an EMC CX500 SAN as the storage back end. The goal is to provide performance data and system resource utilization at various load levels. Throughtput, I/O rate, and response time for various data sizes and access patterns provide sizing guidelines. This baseline data is expected to help debug performance problems and facilitate server consolidation for I/O intensive workloads."

Download it here.

Source: Whitepaper: Storage Subsystem Performance in VMware ESX Server: BusLogic versus LSI Logic | virtualization.info