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." [1]
http://vmware.com/products/server/
CLI Commands
$ vmrun <command>
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
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:
Auto start toolbox
#!/bin/sh CurrentWS=`wmctrl -d | grep "*" | cut -f 1 -d " "` Application="vmware-toolbox" wmctrl -s 3 $Application --minimize & # Wait up to ten seconds for the Application to load 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
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 # Installs to /usr/lib/vmware-mui # Configure with: /usr/bin/vmware-config-mui.pl # Uninstall with: /usr/bin/vmware-uninstall-mui.pl # service: httpd.vmware # 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 <path to vmx file>.vmx
Alias vm to vmrun:
#/etc/bashrc alias vm="vmrun"
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]
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):
- Append to the kernel boot options (keep clock from going too fast):
clocksource=pit clocksource=pit nosmp noapic nolapic
- Add the following failsafe script to crontab:
crontab -e * * * * * /usr/sbin/ntpdate [NTP_SERVER_IP] > /dev/null
- If you have cpu throttling try the following (get cpukHz from /proc/cpuinfo):
/etc/vmware/config
host.cpukHz = 1000000 host.noTSC = TRUE ptsc.noTSC = TRUE
Notes
Clock in a Linux Guest Runs More Slowly or Quickly Than Real Time:
CentOS NTPd Problem (Mostly) Resolved Talks about taking this a step further:
- "And the time still isn’t synchronized to the level I would like, but it does stay within a minute or so of the rest of the network (well within the 5 minute gap required in order for Kerberos authentication to work)."
# Boot options noapic nosmp nolapic clock=pit acpi=no # ntpd.conf options #server 10.161.101.1 #server 127.127.1.0 #fudge 127.127.1.0 stratum 10 server W.X.Y.Z burst iburst
Kernel parameter clock is depreciated, use clocksource instead:
#reported by 'dmesg' Kernel command line: ro root=LABEL=/ clock=pit Warning! clock= boot option is deprecated. Use clocksource=xyz #So use this instead: clocksource=pit nosmp noapic nolapic
References:
- NTP and VMware
- "NTP was not designed to run inside of a virtual machine. It requires a high resolution system clock, with response times to clock interrupts that are serviced with a high level of accuracy. No known virtual machine is capable of meeting these requirements."
- Timekeeping in VMware Virtual Machines (PDF)
- Time drifting when running eDirectory on a Linux guest under VMware ESX server.
- Talks about setting the boot option "clock=pit"
- Discusses recompiling the kernel with a higher timer interrupt rate
- "Time synchronization problems are a common VMware guest configuration issue which occur when VMware Tools have not been installed on the guest and configured according to VMware's instructions."
- Install VMwareTools in the guest OS, following VMware's instructions for the target OS.
- On the HOST machine, locate the <session name>.vmx VMware session configuration file for the guest OS in question, and add a line which reads:
- tools.syncTime = "TRUE"
- Restart guest session
Follow-up on Fast clock under VMWare
- Known issue (But you can use the 100Hz-kernels offered by CentOS without problems):
- BUG: CentOS is not getting optimal performance in a virtualized environment and on slow cpus
ntpfix.sh
touch /opt/admin/ntpfix.sh chmod u+x /opt/admin/ntpfix.sh cat > /opt/admin/ntpfix.sh
#!/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
Issues
Slow or Fast System Clock
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. # My guess is it didn't like being compiled for 64bit OS # This page references this error http://www.howtoforge.com/vmware_server_fedora_core_6 # http://www.vmware.com/community/thread.jspa?messageID=629085򙥝 # To fix: 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: #define __NR_compat_exit __NR_exit static inline _syscall1(int, compat_exit, int, exit_code); to: #define __NR_compat_exit __NR_exit #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) static inline _syscall1(int, compat_exit, int, exit_code); #endif cd ../.. tar -cvvf vmmon.tar vmmon-only/
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:
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 ...
Notes
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:
# May need to reboot if your kernel version changes yum -y update yum -y install gcc kernel-devel # May need to reboot if your kernel version changes reboot
# yum install kernel # Error installing kernel... try updating system instead 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
Configure VMware
# Use all the defaults (including compiling module for current kernel) /usr/bin/vmware-config.pl
# This is wrong What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]
# This is what you should see 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] # 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 # Add these lines to the end of the file: # Turn off IPv6 alias net-pf-10 off alias ipv6 off
#/etc/sysconfig/network NETWORKING_IPV6=no
/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
- netstat -tunap | grep 902
tcp 0 0 0.0.0.0:902 0.0.0.0:* LISTEN 5139/xinetd
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 <path to vmx file>
Snapshot
NOTE: make sure to be in the folder and use "./" for path.
Create snapshot:
vmrun snapshot <path to vmx file> vmrun snapshot ./virtualmachine.vmx
Delete snapshot:
vmrun deleteSnapshot <path to vmx file>
Rever to snapshot:
vmrun revertToSnapshot <path to vmx file>
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
- "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
- "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
vmclone
My vmclone Script:
#!/bin/sh # # vmclone - written and maintained by Kenneth Burgener <email@kennethburgener.org> # 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:
#!/bin/sh # # vmrename - written and maintained by Kenneth Burgener <email@kennethburgener.org> # 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'..." # Rename Folder /bin/mv $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!"
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
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.