This document provides instuctions for configuring a standalone VCL environment running on a single computer which is able to provision VCL reservations using VMware. It is only provided to help you understand how the various components of VCL operate. This document DOES NOT describe how to configure a production VCL environment. The environment described in this document can however be used to learn, test, and help develop VCL.
Begin by completing the installation instructions for the VCL components:
You will need the following:
The following instructions assume the following locations on the management node:
These instructions assume you have root access and are using a bash shell:
sudo bash
yum groupremove "Virtualization" -y
VMWare Server cannot be installed on a computer running a Xen kernel. To determine if a Xen kernel is being used:
uname -a
Linux blade1g6-4 2.6.18-92.el5xen #1 SMP Tue Jun 10 19:20:18 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
yum update ecryptfs-utils -y
yum install kernel kernel-devel -y
yum remove xen kernel-xen -y
less /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.el5
module /vmlinuz-2.6.18-92.el5xen ro root=LABEL=/ pci=nommconf
module /initrd-2.6.18-92.el5xen.img
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-128.1.14.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-128.1.14.el5 ro root=LABEL=/1 pci=nommconf
initrd /initrd-2.6.18-128.1.14.el5.img
reboot
Download the latest VMware Server 1.x RPM from http://www.vmware.com
(Note: these instructions assume you saved the RPM into /install)
Install the VMware Server RPM:
rpm -ivh /install/VMware-server-1.0.8-126538.i386.rpm
vmware-config.pl
yum install glibc-devel -y
yum install glibc -y
yum install libXtst-devel -y
The following lists the sequence of answers to be entered after issuing the vmware-config.pl command:
In which directory do you want to install the mime type icons?
[/usr/share/icons] ENTER
What directory contains your desktop menu entry files?
These files have a .desktop file extension. [/usr/share/applications] ENTER
In which directory do you want to install the application's icon?
[/usr/share/pixmaps] ENTER
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] ENTER
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.18-128.1.14.el5/build/include] ENTER
Do you want networking for your virtual machines? (yes/no/help) [yes] ENTER
Your computer has multiple ethernet network interfaces available: eth0, eth1,
virbr0. Which one do you want to bridge to vmnet0? [eth0] eth1
Do you wish to configure another bridged network? (yes/no) [no] ENTER
Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes] no
Do you want to be able to use host-only networking in your virtual machines?
[no] yes
Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes] no
Do you wish to configure another host-only network? (yes/no) [no] ENTER
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] ENTER
In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines] ENTER
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] ENTER
Verify the host-only network was configured correctly:
/sbin/ifconfig
vmnet1 Link encap:Ethernet HWaddr 00:50:56:C0:00:01
inet addr:192.168.0.1 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Starting VMware services:
Virtual machine monitor [ OK ]
Virtual ethernet [ OK ]
Bridged networking on /dev/vmnet0 [ OK ]
Host-only networking on /dev/vmnet1 (background) [ OK ]
Starting VMware virtual machines... [ OK ]
Modify the /etc/hosts file to include entries for the VM host and guest computers:
vi /etc/hosts
127.0.0.1 localhost
192.168.0.1 localvmhost
192.168.1.1 vmguest-1
vi /etc/ssh/sshd_config
ListenAddress 192.168.0.1
/sbin/service sshd restart
Add the VM host's public key to its own authorized_keys file to allow it to SSH to itself without a password prompt:
cat /etc/vcl/vcl.key.pub >> /root/.ssh/authorized_keys
ssh localvmhost 'ls /'
Configure the keys column in the managementnode table in the VCL database
Configure the vcld.conf file to use vcl.key:
vi /etc/vcl/vcld.conf
IDENTITY_blade_linux=/etc/vcl/vcl.key
IDENTITY_solaris_lab=/etc/vcl/vcl.key
IDENTITY_linux_lab=/etc/vcl/vcl.key
IDENTITY_blade_win=/etc/vcl/vcl.key
Save a copy of the original dhcpd.conf file:
mv /etc/dhcpd.conf /etc/dhcpd.conf.orig
vi /etc/dhcpd.conf
ddns-update-style none; shared-network vmnet1 { subnet 192.168.0.0 netmask 255.255.0.0 { ignore unknown-clients; option routers 192.168.0.1; host vmguest-1 { option host-name "vmguest-1"; hardware ethernet 00:50:56:1a:01:01; fixed-address 192.168.1.1; filename "/tftpboot/pxelinux.0"; option dhcp-server-identifier 192.168.0.1; next-server 192.168.0.1; } } }
The DHCP daemon should only listen on the virtual private network (vmnet1) to avoid conflicts with other production VCL networks. Configure the dhcpd service startup script to only listen on the vmnet1 interface:
vi /etc/init.d/dhcpd
start() { [ -x $dhcpd ] || return 5 [ -f $conf ] || return 6 pidofproc $prog >/dev/null 2>&1 RETVAL=$? [ $RETVAL -eq 0 ] && return $RETVAL echo -n $"Starting $prog: " daemon $dhcpd vmnet1 $DHCPDARGS 2>/dev/null RETVAL=$? echo [ $RETVAL = 0 ] && touch $lockfile return $RETVAL }
Configure the dhcpd service to automatically start at runlevels 3-5:
/sbin/chkconfig --level 345 dhcpd on
/sbin/service dhcpd start