Introduction:-
VMware virtualization software is an excllent choice for x86-compatible computers. They have both commercial and free version. I received few email regarding VMWARE on 64 bit Linux. Installing VMWARE server on CentOS 5 or Red hat enterprise Linux 64 bit version is a tricky business. In this small howto I will explain vmware installation on 64 bit Linux server without facing any dependencies problem.
Following instructions are tested on both RHEL 5 and CentOS 5 running 64 bit Intel / AMD hardware and software….
Server Requirements
The server is a Windows or Linux system where you install the VMWare Server software. Virtual machines can be stored on the server host or located on a network share.Server Host Hardware VMware Server supports up to 32-way multiprocessor servers. The number of virtual machines you can run concurrently depends on the resources they require, but VMware recommends you run no more than four virtual machines concurrently per processor. You can run a maximum of 64 virtual machines concurrently on one host. The server must include the following.
• Standard x86-based server with up to 32 processors
• Hosts with 32-bit IA-32 processors, and IA-32 processors with 64-bit extensions supported
• 733MHz or faster compatible x86 processor that supports the Pentium� instruction set
Compatible processors include
• Intel: Pentium II, Pentium III, Pentium III Xeon, Pentium 4, Xeon, Xeon EM64T
• AMD™: Athlon™, Athlon XP, AMD Opteron, AMD Athlon 64
Multiprocessor systems supported
The server is a Windows or Linux system where you install the VMWare Server software. Virtual machines can be stored on the server host or located on a network share.Server Host Hardware VMware Server supports up to 32-way multiprocessor servers. The number of virtual machines you can run concurrently depends on the resources they require, but VMware recommends you run no more than four virtual machines concurrently per processor. You can run a maximum of 64 virtual machines concurrently on one host. The server must include the following.
• Standard x86-based server with up to 32 processors
• Hosts with 32-bit IA-32 processors, and IA-32 processors with 64-bit extensions supported
• 733MHz or faster compatible x86 processor that supports the Pentium� instruction set
Compatible processors include
• Intel: Pentium II, Pentium III, Pentium III Xeon, Pentium 4, Xeon, Xeon EM64T
• AMD™: Athlon™, Athlon XP, AMD Opteron, AMD Athlon 64
Multiprocessor systems supported
Memory
You need enough memory to run the Windows or Linux host operating system, plus memory required for each guest operating system and applications on the host and each guest; see your guest operating system and application documentation for their memory requirements.
• Minimum: 512MB
• Maximum: 64GB for Windows hosts and Linux hosts that support large memory or are PAE-enabled, 4GB for non-PAE-enabled Windows hosts or 2GB for Linux hosts with kernels in the 2.2.x series
Display
• 16-bit display adapter or higher
You need enough memory to run the Windows or Linux host operating system, plus memory required for each guest operating system and applications on the host and each guest; see your guest operating system and application documentation for their memory requirements.
• Minimum: 512MB
• Maximum: 64GB for Windows hosts and Linux hosts that support large memory or are PAE-enabled, 4GB for non-PAE-enabled Windows hosts or 2GB for Linux hosts with kernels in the 2.2.x series
Display
• 16-bit display adapter or higher
Host Hard Disk
• 130MB free disk space on Windows hosts required for server, VMware Management Interface, VmPerl API, VmCOM API and VMware Virtual Machine Console installation
• 130MB free disk space on Windows hosts required for server, VMware Management Interface, VmPerl API, VmCOM API and VMware Virtual Machine Console installation
• 20MB free disk space on Linux hosts required for server, VMware Management Interface, VmPerl API and VMware Virtual Machine Console installation
• IDE or SCSI hard drives, CD-ROM and DVD-ROM drives supported
• Guest operating systems can reside in virtual disk files or on physical (raw) disk partitions
Local Area Networking
• Any Ethernet controller that the host operating system supports
• Any Ethernet controller that the host operating system supports
• Non-Ethernet networks are supported using built-in network address translation (NAT) or using a combination of host-only networking plus routing software on the host operating system
• A static IP address for your host machine (recommended if you want to access the server from the internet)
Remote Client Requirements
The remote client is a Windows or Linux system from which you launch the VMware Virtual Machine Console or use VMware Scripting APIs to remotely manage virtual machines on the GSX Server host. You access the VMware Management Interface to manage virtual machines on the host using a Web browser.
Hardware Requirements
• Standard x86-based computer
• 266MHz or faster processor
• 64MB RAM minimum
• 20MB (for Windows hosts) or 10MB (for Linux hosts) free disk space is required for installation of the VMware Virtual Machine Console
• 17MB free disk space is required for VMware Scripting APIs (VmCOM and VmPerl Scripting APIs) installation on Windows remote clients; 14MB is required for VmPerl API on Linux remote clients
The remote client is a Windows or Linux system from which you launch the VMware Virtual Machine Console or use VMware Scripting APIs to remotely manage virtual machines on the GSX Server host. You access the VMware Management Interface to manage virtual machines on the host using a Web browser.
Hardware Requirements
• Standard x86-based computer
• 266MHz or faster processor
• 64MB RAM minimum
• 20MB (for Windows hosts) or 10MB (for Linux hosts) free disk space is required for installation of the VMware Virtual Machine Console
• 17MB free disk space is required for VMware Scripting APIs (VmCOM and VmPerl Scripting APIs) installation on Windows remote clients; 14MB is required for VmPerl API on Linux remote clients
Software — Linux Remote Client
• Standard Linux installation is required with glibc version 2.1 or higher and one of the following kernels:
• For single-processor systems: kernel 2.0.32 or higher in the 2.0.x series, or kernel in the 2.2.x, 2.4.x or 2.6.x series
• For SMP systems: kernel in the 2.2.x, 2.4.x or 2.6.x series
Note: Linux kernel 2.2.14-5.0 is not supported.
• Perl 5.005x or higher is required to use VmPerl API
• X server is required to run the VMware Virtual Machine Console on the client
• The VMware Management Interface requires one of these browsers:
• Firefox 1.x
• Mozilla 1.x
• Netscape Navigator 7.0
• Standard Linux installation is required with glibc version 2.1 or higher and one of the following kernels:
• For single-processor systems: kernel 2.0.32 or higher in the 2.0.x series, or kernel in the 2.2.x, 2.4.x or 2.6.x series
• For SMP systems: kernel in the 2.2.x, 2.4.x or 2.6.x series
Note: Linux kernel 2.2.14-5.0 is not supported.
• Perl 5.005x or higher is required to use VmPerl API
• X server is required to run the VMware Virtual Machine Console on the client
• The VMware Management Interface requires one of these browsers:
• Firefox 1.x
• Mozilla 1.x
• Netscape Navigator 7.0
Lets check the kernel
$ uname -mrs
Output:
Linux 2.6.18-8.1.6.el5 x86_64
My RHEL 5 release (same kernel for CentOS):
$ cat /etc/redhat-release
$ cat /etc/redhat-release
Output:
Red Hat Enterprise Linux Server release 5 (Tikanga)
Make sure you have following software installed:
* Full gcc compiler and development environment
* Kernel headers and devel packages for current kernel (i.e. kernel-headers and kernel-devel)
* Kernel headers and devel packages for current kernel (i.e. kernel-headers and kernel-devel)
Step # 1: Download vmware server
You can download VMWARE server here. Use wget command to download:
$ wget http://download3…
$ wget http://download3…
Step # 2: Install vmware server
Once downloaded use RPM command to install vmware sever, enter:
# rpm -ivh VMware-server-1.0.3-44356. i386.rpm
Step # 2: Install vmware server
Once downloaded use RPM command to install vmware sever, enter:
# rpm -ivh VMware-server-1.0.3-44356. i386.rpm
Output:
Preparing… ############################## ############# [100%]
1:VMware-server ############################## ############# [100%]
1:VMware-server ##############################
Step # 3:Install required files / libraries
You need to install following development package / files on server:
1. libXtst-devel : X.Org X11 libXtst development package
2. libXrender-devel : X.Org X11 libXrender development package
2. libXrender-devel : X.Org X11 libXrender development package
Simply use yum command to install packages:
# yum install libXtst-devel libXrender-devel
Output:
Loading “rhnplugin” plugin
Loading “installonlyn” plugin
Setting up Install Process
Setting up repositories
rhel-x86_64-server-vt-5 100% |=========================| 1.2 kB 00:00
rhel-x86_64-server-5 100% |=========================| 1.2 kB 00:00
Reading repository metadata in from local files
Parsing package install arguments
………..
….
…
Running Transaction
Installing: libXtst ######################### [1/8]
Installing: libXau-devel ######################### [2/8]
Installing: xorg-x11-proto-devel ######################### [3/8]
Installing: libX11-devel ######################### [4/8]
Installing: libXdmcp-devel ######################### [5/8]
Installing: libXtst-devel ######################### [6/8]
Installing: libXtst-devel ######################### [7/8]
Installing: mesa-libGL-devel ######################### [8/8]
Loading “installonlyn” plugin
Setting up Install Process
Setting up repositories
rhel-x86_64-server-vt-5 100% |=========================| 1.2 kB 00:00
rhel-x86_64-server-5 100% |=========================| 1.2 kB 00:00
Reading repository metadata in from local files
Parsing package install arguments
………..
….
…
Running Transaction
Installing: libXtst ######################### [1/8]
Installing: libXau-devel ######################### [2/8]
Installing: xorg-x11-proto-devel ######################### [3/8]
Installing: libX11-devel ######################### [4/8]
Installing: libXdmcp-devel ######################### [5/8]
Installing: libXtst-devel ######################### [6/8]
Installing: libXtst-devel ######################### [7/8]
Installing: mesa-libGL-devel ######################### [8/8]
Installed: libXtst-devel.x86_64 0:1.0.1-3.1 libXtst-devel.i386 0:1.0.1-3.1
Dependency Installed: libX11-devel.x86_64 0:1.0.3-8.0.1.el5 libXau-devel.x86_64 0:1.0.1-3.1 libXdmcp-devel.x86_64 0:1.0.1-2.1 libXtst.i386 0:1.0.1-3.1 mesa-libGL-devel.x86_64 0:6.5.1-7.2.el5 xorg-x11-proto-devel.x86_64 0:7.1-9.fc6
Dependency Installed: libX11-devel.x86_64 0:1.0.3-8.0.1.el5 libXau-devel.x86_64 0:1.0.1-3.1 libXdmcp-devel.x86_64 0:1.0.1-2.1 libXtst.i386 0:1.0.1-3.1 mesa-libGL-devel.x86_64 0:6.5.1-7.2.el5 xorg-x11-proto-devel.x86_64 0:7.1-9.fc6
Complete!
Step # 4: Install xinetd
Step # 4: Install xinetd
You need xinetd the extended Internet services daemon / service in order to use VMWARE console from remote computer. Use yum command to install xinetd:
# yum install xinetd
Step # 5: Configure VMWARE server
Use vmware-config.pl script to configure VMWARE networking and other aspects.
Output (make sure you setup VMWARE as per your requirments, following is just a sample output):
Making sure services for VMware Server are stopped.
Stopping VMware services:
Virtual machine monitor [ OK ]
Virtual machine monitor [ OK ]
You must read and accept the End User License Agreement to continue.
Press enter to display it.
……
……
will provide you with a copy of our
distribution agreement for your signature.
Press enter to display it.
……
……
will provide you with a copy of our
distribution agreement for your signature.
Do you accept? (yes/no) yes
Thank you.
Configuring fallback GTK+ 2.4 libraries.
In which directory do you want to install the mime type icons?
[/usr/share/icons]
[/usr/share/icons]
What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications]
In which directory do you want to install the application’s icon?
[/usr/share/pixmaps]
.desktop file extension. [/usr/share/applications]
In which directory do you want to install the application’s icon?
[/usr/share/pixmaps]
Trying to find a suitable vmmon module for your running kernel.
None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]
Using compiler “/usr/bin/gcc”. Use environment variable CC to override.
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.18-8.1.6. el5/build/include]
kernel? [/lib/modules/2.6.18-8.1.6.
Extracting the sources of the vmmon module.
Building the vmmon module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon- only’
make -C /lib/modules/2.6.18-8.1.6.el5/ build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.1. 6.el5-x86_64′
CC [M] /tmp/vmware-config0/vmmon- only/linux/driver.o
CC [M] /tmp/vmware-config0/vmmon- only/linux/hostif.o
CC [M] /tmp/vmware-config0/vmmon- only/common/cpuid.o
CC [M] /tmp/vmware-config0/vmmon- only/common/hash.o
CC [M] /tmp/vmware-config0/vmmon- only/common/memtrack.o
CC [M] /tmp/vmware-config0/vmmon- only/common/phystrack.o
CC [M] /tmp/vmware-config0/vmmon- only/common/task.o
CC [M] /tmp/vmware-config0/vmmon- only/common/vmx86.o
CC [M] /tmp/vmware-config0/vmmon- only/vmcore/moduleloop.o
LD [M] /tmp/vmware-config0/vmmon- only/vmmon.o
Building modules, stage 2.
MODPOST
CC /tmp/vmware-config0/vmmon- only/vmmon.mod.o
LD [M] /tmp/vmware-config0/vmmon- only/vmmon.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.1. 6.el5-x86_64′
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config0/vmmon- only’
The module loads perfectly in the running kernel.
make: Entering directory `/tmp/vmware-config0/vmmon-
make -C /lib/modules/2.6.18-8.1.6.el5/
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.1.
CC [M] /tmp/vmware-config0/vmmon-
CC [M] /tmp/vmware-config0/vmmon-
CC [M] /tmp/vmware-config0/vmmon-
CC [M] /tmp/vmware-config0/vmmon-
CC [M] /tmp/vmware-config0/vmmon-
CC [M] /tmp/vmware-config0/vmmon-
CC [M] /tmp/vmware-config0/vmmon-
CC [M] /tmp/vmware-config0/vmmon-
CC [M] /tmp/vmware-config0/vmmon-
LD [M] /tmp/vmware-config0/vmmon-
Building modules, stage 2.
MODPOST
CC /tmp/vmware-config0/vmmon-
LD [M] /tmp/vmware-config0/vmmon-
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.1.
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config0/vmmon-
The module loads perfectly in the running kernel.
Do you want networking for your virtual machines? (yes/no/help) [yes]
Configuring a bridged network for vmnet0.
Your computer has multiple ethernet network interfaces available: eth0, eth1.
Which one do you want to bridge to vmnet0? [eth0] eth1
Which one do you want to bridge to vmnet0? [eth0] eth1
The following bridged networks have been defined:
. vmnet0 is bridged to eth1
Do you wish to configure another bridged network? (yes/no) [no]
Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes] no
[yes] no
Do you want to be able to use host-only networking in your virtual machines?
[no]
[no]
Extracting the sources of the vmnet module.
Building the vmnet module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmnet- only’
make -C /lib/modules/2.6.18-8.1.6.el5/ build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.1. 6.el5-x86_64′
make: Entering directory `/tmp/vmware-config0/vmnet-
make -C /lib/modules/2.6.18-8.1.6.el5/
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.1.
CC [M] /tmp/vmware-config0/vmnet- only/driver.o
CC [M] /tmp/vmware-config0/vmnet- only/hub.o
CC [M] /tmp/vmware-config0/vmnet- only/userif.o
CC [M] /tmp/vmware-config0/vmnet- only/netif.o
CC [M] /tmp/vmware-config0/vmnet- only/bridge.o
CC [M] /tmp/vmware-config0/vmnet- only/procfs.o
CC [M] /tmp/vmware-config0/vmnet- only/smac_compat.o
SHIPPED /tmp/vmware-config0/vmnet- only/smac_linux.x86_64.o
LD [M] /tmp/vmware-config0/vmnet- only/vmnet.o
Building modules, stage 2.
MODPOST
WARNING: could not find /tmp/vmware-config0/vmnet- only/.smac_linux.x86_64.o.cmd for /tmp/vmware-config0/vmnet- only/smac_linux.x86_64.o
CC /tmp/vmware-config0/vmnet- only/vmnet.mod.o
LD [M] /tmp/vmware-config0/vmnet- only/vmnet.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.1. 6.el5-x86_64′
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-config0/vmnet- only’
The module loads perfectly in the running kernel.
CC [M] /tmp/vmware-config0/vmnet-
CC [M] /tmp/vmware-config0/vmnet-
CC [M] /tmp/vmware-config0/vmnet-
CC [M] /tmp/vmware-config0/vmnet-
CC [M] /tmp/vmware-config0/vmnet-
CC [M] /tmp/vmware-config0/vmnet-
SHIPPED /tmp/vmware-config0/vmnet-
LD [M] /tmp/vmware-config0/vmnet-
Building modules, stage 2.
MODPOST
WARNING: could not find /tmp/vmware-config0/vmnet-
CC /tmp/vmware-config0/vmnet-
LD [M] /tmp/vmware-config0/vmnet-
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.1.
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-config0/vmnet-
The module loads perfectly in the running kernel.
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]
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]
WARNING: VMware Server has been configured to run on a port different from the
default port. Remember to use this port when connecting to this server.
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
Configuring the VMware VmPerl Scripting API.
default port. Remember to use this port when connecting to this server.
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
Configuring the VMware VmPerl Scripting API.
Building the VMware VmPerl Scripting API.
Using compiler “/usr/bin/gcc”. Use environment variable CC to override.
Installing the VMware VmPerl Scripting API.
The installation of the VMware VmPerl Scripting API succeeded.
Generating SSL Server Certificate
In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines]
[/var/lib/vmware/Virtual Machines]
The path “/var/lib/vmware/Virtual Machines” does not exist currently. This
program is going to create it, including needed parent directories. Is this
what you want? [yes]
program is going to create it, including needed parent directories. Is this
what you want? [yes]
Please enter your 20-character serial number.
Type XXXXX-XXXXX-XXXXX-XXXXX or ‘Enter’ to cancel: XYZZZ-XYZZZ-XYZZZ-ABC91
Starting VMware services:
Virtual machine monitor [ OK ]
Virtual ethernet [ OK ]
Bridged networking on /dev/vmnet0 [ OK ]
Starting VMware services:
Virtual machine monitor [ OK ]
Virtual ethernet [ OK ]
Bridged networking on /dev/vmnet0 [ OK ]
The configuration of VMware Server 1.0.3 build-44356 for Linux for this running
kernel completed successfully.
kernel completed successfully.
How to Start/Stop/restart VMServer
/etc/init.d/vmware stop/start/restart (stop/start/restart please change the options accordingly)
How do I manage my VMWARE server remotely?
You can now connect from local computer using vmware-server-console program to:
$ vmware-server-console &
You can now connect from local computer using vmware-server-console program to:
$ vmware-server-console &
You need to enter host name ip:port, username and password to access vmware server.