You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

This page describes how to install and configure the VCL management node components including the required Linux packages, Perl modules, VCL daemon (vcld), and Windows utility dependencies.

Assumptions

The following instructions assume the VCL database has been installed and configured and that the managment node information has been added to the database as described on the web code installation page

Installing VCL Management Node Code - Perl Daemon

  1. Download and extract the VCL release files to the management node:

    wget http://www.devlib.org/apache/incubator/vcl/apache-VCL-2.2-incubating.tar.bz2
    tar -jxvf apache-VCL-2.2-incubating.tar.bz2

  2. Copy the managementnode directory to the location where you want it to reside (typically /usr/local):

    cp -r apache-VCL-2.2-incubating/managementnode /usr/local/vcl

Install Required Linux Packages & Perl Modules

The VCL management node daemon (vcld) requires the following Linux packages and Perl modules in order to run:

Required Linux Packages:

  • expat
  • expat-devel
  • gcc
  • krb5-libs
  • krb5-devel
  • libxml2
  • libxml2-devel
  • nmap
  • openssl
  • openssl-devel
  • perl-DBD-MySQL
  • xmlsec1-openssl

Required Perl Modules:

  • DBI
  • Digest::SHA1
  • Mail::Mailer
  • Object::InsideOut
  • RPC::XML
  • YAML

A script is provided in the bin directory called install_perl_libs.pl which will attempt to download and install the required Linux packages and Perl modules.  The script uses the yum utility to install the required Linux packages.  The yum utility should exist on any modern Red Hat-based Linux distribution (Red Hat, CentOS, Fedora).  You will need to download and install the required Linux packages manually or by using another package management utility before running the install_perl_libs.pl script if yum isn't available on your management node OS.

The required Perl modules are available from CPAN - The Comprehensive Perl Archive Network.  The install_perl_libs.pl script attempts to download and install the required Perl modules by using the CPAN.pm module which is included with most Perl distributions.

Run the install_perl_libs.pl script:

perl /usr/local/vcl/bin/install_perl_libs.pl

The last line of the install_perl_libs.pl script output should be:

successfully installed required Perl modules

The script will hang or terminate if it encounters a problem. If this occurs, you will need to troubleshoot the problem by looking at the output.

Install and Start the VCL Daemon (vcld) Service

  1. Copy the vcld service script to /etc/init.d and name it vcld:

    cp /usr/local/vcl/bin/S99vcld.linux /etc/init.d/vcld

  2. Add the vcld service using chkconfig:

    /sbin/chkconfig --add vcld

  3. Configure the vcld service to automatically run at runtime levels 3-5:

    /sbin/chkconfig --level 345 vcld on

  4. Start the vcld service:

    /sbin/service vcld start

    You should see output similar to the following:
    Starting vcld daemon: BIN PATH: /usr/local/vcl/bin
    pre-execution: config file being used: /etc/vcl/vcld.conf
    FQDN is not listed
    pre-execution: process name is set to: vcld
    pre-execution: verbose mode is set to: 1
    pre-execution: testing mode is set to: 0
    pre-execution: log file being used: /var/log/vcld.log
    pre-execution: PID file being used: /var/run/vcld.pid
    Created process 23696 renamed to vcld ...
                                                               [  OK  ]
    Note: the vcld service can also be started by running the service script directly:

    /etc/init.d/vcld start

  5. Check the vcld service by monitoring the vcld.log file:

    tail -f /var/log/vcld.log

    You should see the following being added to the log file every few seconds if the management node is checking in with the database:
    2009-06-16 16:57:15|15792|vcld:main(165)|lastcheckin time updated for management node 18: 2009-06-16 16:57:15

Configure the SSH Client

The SSH client on the management node should be configured to prevent SSH processes spawned by the root user to the computers it controls from hanging because of missing or different entries in the known_hosts file.  Edit the SSH configuration file:

vi /etc/ssh/ssh_config

Locate the UserKnownHostsFile and StrictHostKeyChecking lines lines and change them to the following: 

UserKnownHostsFile /dev/null
StrictHostKeyChecking no

 If you do not want these settings applied universally on the management node the SSH configuration can also be configured to only apply these settings to certain hosts or only for the root user.  Consult the SSH documentation for more information.

Configure Windows Product Keys and/or KMS Server Addresses (Optional)

If you will be deploying Windows environments, your institution's Windows product key and/or KMS server addresses must be entered into the VCL database.  This can be done by running the following command:

/usr/local/vcl/bin/vcld -setup

Select "Windows OS Module" and follow the prompts.

Download Sysprep Utility & Drivers (Optional)

If you will be using VCL to deploy bare-metal Windows XP or Windows Server 2003 environments via xCAT, the appropriate versions of the Microsoft Sysprep utility must be downloaded to the management node. The following steps do not need to be completed if you only intend to deploy VMware virtual machines.

Sysprep for Windows XP and Server 2003

The Sysprep utility is included in the Deployment Tools available for free from Microsoft. You do not need to download Sysprep for Windows 7 or Windows Server 2008 because it is included in the operating system.

Download: Windows XP Service Pack 3 Deployment Tools
Download: System Preparation tool for Windows Server 2003 Service Pack 2 Deployment

The Sysprep files need to be extracted from the file you download which is in Microsoft's .cab format.  It is easiest to extract the files on a Windows computer.  Windows Explorer is able to open the .cab file and then the files contained within can be copied elsewhere.  There are also some Linux utilities which claim to be able to extract .cab files.

Copy the extracted Windows XP Sysprep files to the following directory on the management node after they have been extracted:

/usr/local/vcl/tools/Windows_XP/Utilities/Sysprep

Copy the extracted Windows Server 2003 Sysprep files to the following directory on the management node after they have been extracted:

/usr/local/vcl/tools/Windows_Server_2003/Utilities/Sysprep

The Sysprep directories should already exist on the management node because they exist the Subversion repository.  The Sysprep directories should contain the following files at a minimum:

-rw-rw-r-- 1 root root 25600 Aug 18 17:32 setupcl.exe
-rw-rw-r-- 1 root root 88576 Aug 18 17:32 sysprep.exe

Download Drivers

Drivers which aren't included with Windows must be downloaded and saved to the management node. The drivers required will vary greatly depending on the hardware. The only way to know what additional drivers you need is to install Windows on a computer and check for missing drivers.

The drivers must be copied to the appropriate directory on the management node. The VCL image capture process copies the driver directories to the computer before an image is captured. Drivers from multiple directories will be copied based on the version of Windows being captured. There are driver directories under tools for each version of Windows (Windows XP, Windows Vista) and for each version group of Windows (version 5, 6). This allows drivers which are common to multiple versions of Windows to be shared in the management node tools directory structure.

For example, if a chipset driver works for all versions of Windows, it can be saved in:
tools/Windows/Drivers/Chipset

If Windows XP and Windows Server 2003 both use the same network driver, it can be saved in:
tools/Windows_Version_5/Drivers/Network

If a storage driver only works for Windows XP, it should be saved in:
tools/Windows_XP/Drivers/Storage

During the image capture process, each Windows version directory is copied to the computer under C:\Cygwin\home\root\VCL. The order in which the Windows version directories are copied goes from most general to most specific.  In the example above, the order would be:

  1. tools/Windows/Drivers/Chipset
  2. tools/Windows_Version_5/Drivers/Network
  3. tools/Windows_XP/Drivers/Storage

The resulting directory structure on the Windows computer will be:

  • C:\Cygwin\home\root\VCL\Drivers
    • \Chipset - driver works for all versions of windows
    • \Network - driver works for Windows XP and Server 2003
    • \Storage - driver only works for Windows XP

The following list shows which driver files should be saved in the driver directories:

  • tools/Windows/Drivers - drivers common to all versions of Windows
    • tools/Windows_Version_5/Drivers - drivers used by Windows XP and Server 2003
      • tools/Windows_Version_XP/Drivers - drivers only used by Windows XP
      • tools/Windows_Version_Server_2003/Drivers - drivers only used by Windows Server 2003
    • tools/Windows_Version_6/Drivers - drivers used by Windows Vista and Server 2008
      • tools/Windows_Vista/Drivers - drivers only used by Windows Vista
      • tools/Windows_Server_2008/Drivers - drivers only used by Windows Server 2008

The directory structure under each Drivers directory does not matter. It is helpful to organize each directory by driver class, and each directory should be organized using the same theme.  For example:

  • tools/Windows_Version_XP/Drivers
    • Chipset
    • Network
    • Storage
    • Video
  • No labels