HOWTOlabs VMware
Setting up VMware ESX and virtual machines

Related

Elsewhere [ edit ]

VMware - Products, Common Terms

VMware ESX: Sort of free para-virtualization enhanced server OS and hypervisor, eliminating the need for a generic Windows or Linux OS to host a separate hypervisor (i.e. VMware Workstation).  This offers two advantages - paravirtual aware OS's (e.g. most versions of recent Linux) benefit from the lower overhead paravirtual interfaces have over hardware interfaces (e.g. storage, network, ...) and it dramatically reduces the footprint and overhead of the hypervisor OS to only the bare minimum code and services to be a hypervisor with optional virtual session management features.  A disadvantage is that ESX is somewhat picky about what hardware it will install on - typically only server class machines are supported (i.e. not laptop friendly).  A further disadvantage is that a completely separate Microsoft OS based computer is required to run the vSphere remote ESX management tools - though it seems these tools are also free. It seems VMware charges only for the advanced ESX cluster, migration, and 'cloud' management tools.
vSphere: Sort of free thick Windows application for remotely managing an ESX Server.  Typical functions include creating/editing/starting/stopping virtual machines, uploading/downloading OS images, backup/restore virtual machines images, and crude terminal window.  Also see VMware ESX.
vCenter Server: Sort of free more sophisticated virtual machine management than vSphere.  This comes in two varieties - thick Windows application and virtual machine appliance image.  The former can use an external enterprise database (i.e. Oracle) to manage thousands of virtual machine images and servers while the latter presents a slightly limited but more cross platform web friendly management portal.  Curiously, the appliance still requires install from Windows CD due some setup parameters that can't easily be handled with vSphere.
VMware Workstation: Not free, great for doing testing and basic production needs.  It allows elaborate snapshot and rollback of session state.  I prefer to run VMware Workstation under Microsoft Windows with Remote Desktop enabled which works well with Win/OS X/Linux remote clients.
VMware Server (discontinued): still a free product that provides much of the functionality of VMware Workstation, but it hasn't been updated since 2009.  Unlike VMware Workstation, it runs headless (no GUI interface). Instead it has a funky web portal interface that allows managing VM sessions.  What is Quirky is that the 'console' (i.e. desktop, ...) display for a given VM requires an exotic plug-in that seems to only work with MS Windows / IE web browser.  Ironic that if you ran VMware Server on Linux, you may find you have to use Windows / IE as only way to access a VM's console. 
vCenter Linux Appliance

Elsewhere

This virtual appliance runs as a Linux instance on am ESX Server and provides most of the features of vCenter Windows.  Unlike a typical linux instance, this requires running a peculiar installation that involves a custom VMware plug-in to Internet Explorer.  Once installed most modern browsers that also have Adobe Flash support can be used to with the vCenter web application.  This provides a web friendly alternative to Windows only vSphere for managing VM instances.

Evaluation Tips

Elsewhere

As of early 2015, Version 6 series ESX (the low level hyperviser) and vSphere (the MS Windows control panel) are free.  However, see Elsewhere links for how to get license code not to time out.

vCenter can be used for about 2 months, there is no free evaluation extension.  Note, when a evaluation ESXi server is connected/managed by vCenter, vCenter license seems to override the ESXi license, meaning lots of pesky license expiration warnings.  Detaching ESXi from vCenter allows the ESXi license to re-assert itself and the warnings stop.

Time Sync, ESX/ESXi Host

The ESX Host operating system installs directly on the server hardware, typically installed from CD media burned from a downloaded ISO file from VMware.  On a Windows's machine, the vSphere Client is used to manage the ESX Host.  Often Time Configuration on the ESX Host is not configured correctly.  Typically this means an NTP Server (e.g. pool.ntp.org) needs to be supplied in vSphere for the ESX Host.  This will greatly benefit time keeping for VMsession running on the ESX Host as well.

Linux VMware session - open-vm-tools

Elsewhere

To allow hypervisors like VMware to more efficiently interact with active virtual machine instances, it has been a tradition to install VMware Tools.  At some point Linux 3.x kernel and major distros started including open source open-vm-tools support.  As of RHEL 7.2 and its downstream variants (I'm looking at you CentOS), VMware actually ceased supporting their original commercial solution. 

Instead of attempting to spawn a process from VMware's vSphere to install these tools, root user can perform the package install, reboot, and check that the tools are working.

  # yum install open-vm-tools
    ...
  [reboot]

  vSphere: VMware Tools: Running (Guest managed) 

Linux VMware session - adding vmtools

If you have a CD-rom mounted, unmount it.  From VM Workstation menu, use install VMware tools, from VMware Server there is a similar button that does the same thing.  All this does it is 'enable' virtual CD which contains VM tools installer/source.  As of at least 2014, this can now be done remotely from within vSphere.

# mount /dev/cdrom /media

  ... or similar mount command ... 

Usually there is are .gz and a .rpm installer files.  Do this from DIRECT console, not from a remote login!  Note, after install vmware-config-tools.pl needs to be run (requires perl, install it first if needed).

# rpm -qi VMwareTools

# vmware-config-tools.pl

Often vmware-config-tools.pl will not complete successfully, then ask if you want to build correct version of tools from source. This means you need to have compiler and kernel headers installed. Sometimes current running kernel headers are not available, instead a newer kernel and headers is available - so upgrade both kernel and headers to new version.

# yum install gcc

# yum install kernel-devel

It may ask you to restart networking with some additional kernel module directives.  You will probably have to restart.  After VM session is restarted, the Install VMware Tools menu will still be enabled.  Remember, for Linux anyway, that only allows mounting the virtual installer CD.  So even after you have the tools installed and running VM Workstation will continue to present that menu.  Better I think would be for it to say 'enable Tools install disk'.

# vmware-config-tools.pl

# service vmware-tools status 

RHEL/CentOS 5.4 / VMware Server 2.X - Web Console Crashes

Elsewhere

Apparently, VMware Server works well with RHEL/CentOS 5.3 and earlier versions of Red Hat and CentOS operating systems.  However something in RHEL 5.4/CentOS 5.4 causes the underlying Tomcat service which powers the Web Console to crash - VMsessions continue to run afterwards.  This issues seems to be outstanding at least through VMware Server 2.0.2.  Until VMware provides an updated version that resolves this, best practice then is to limited operating system to RHEL/CentOS 5.3 and block updates to glibc.

# diff -r1.1 /etc/yum.conf

  19a20,23
  > # Until VMware fixes RHEL/CentOS 5.4 Tomcat issues - Rick
  > exclude=glibc* nscd gcc gcc-c++ cpp libstdc++* nss_ldap 

Time sync

Elsewhere
On the system running VM Workstation, find the folder that your VM session files are contained in. Under Windows it might be something like C:\vmsessions\testmv\RHAT4.vmx
There should already be a directive like
tools.timeSync = "FALSE"
Stop the VM Session, close the session.

Change the directive to TRUE.  Load and start the VM Session.

It may ask you to restart networking with some additional kernel module directives.

Time sync, Linux 2.6 kernels

Before Linux 2.6 kernel, 100 interrupts/second was typical.  With newer kernels, 1000 interrupts/second is typical.  However, this higher interrtupt frequency presents and undue burden for the virtualized system.  Typical symtoms are the virtualized session clock lags far behind real time.  Recently some kernel parameters have been integrated in to 2.6 and later kernels to reduce interrupts/second.  This allows newer kernels to be virtualized without subjecting hosting operating system to unnecessarily frequent interrupts.  For for RedHat and CentOS 5.2, use divider=10 as kernel parameter (see elsewhere for links with specific details).  Note: Simplying doing a shutdown -r now 'restart' may cause subsequent time to be wonky.  Better to do a shutdown -h now, then wait for the operating system to truly be shutdown, then manually start the VM session - somehow this helps the clock run better.