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

Compare with Current View Page History

« Previous Version 32 Next »

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. This also assumes that the perl-DBD-MySQL-3.x and the mysql client (mysql-5.x) packages are installed, for database communications.

Install Subversion Client

Check if a Subversion client is already installed on the management node by running the svn command.  If not already installed, you can try to install it using yum with the following command:

yum install subversion

If yum is not available, visit http://subversion.tigris.org and follow the instructions for downloading and installing a Subversion client.

Download the Backend VCL Code

Download VCL backend code from the Apache Subversion repository and save it to /usr/local/vcl.

svn export https://svn.apache.org/repos/asf/incubator/vcl/trunk/managementnode/ /usr/local/vcl/

Install Required Perl Modules

The VCL Perl code running on a management node requires several additional Perl modules available from CPAN - The Comprehensive Perl Archive Network. A search engine for CPAN modules is available at search.cpan.org.

Some of the package prerequisites for the required Perl modules include the following. If they weren't installed as part of your base Linux install, you may need to add them (using yum or rpm or whatever package management tool).

  • krb5-libs
  • krb5-devel
  • expat
  • expat-devel
  • openssl
  • openssl-devel
  • xmlsecl-openssl
  • libxml2
  • libxml2-devel

Run install_perl_libs.pl Script

A script is provided in the VCL repository called install_perl_libs.pl which will attempt to download and install the required perl libraries.  Run the script:

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

A large amount of output will be displayed on the console the first time the script is run.  It will pause if any of the module installations ask for configuration information. Accept all of the defaults by pressing enter when this happens.

Run the script a 2nd time to check if all of the modules the script is configured to install were successfully installed. Output similar to the following should be displayed for each module:

============================================================================== URL: http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.609.tar.gz Module filename: DBI-1.609.tar.gz Module name: DBI-1.609 Module package: DBI Checking if DBI is installed Module is already installed: DBI ==============================================================================

Additional output will be displayed if a module has not been successfully installed.  You will need to troubleshoot if any modules were not installed successfully.

How to Test if Required Perl Modules are Installed

Run the following command to execute the utils.pm file:

perl /usr/local/vcl/lib/VCL/utils.pm

Executing utils.pm does not actually do anything but this will tell you if VCL will be able to run.  If any Perl modules are missing you will see "Can't locate" lines:

Can't locate HTTP/Headers.pm in @INC (@INC contains:...)

Once all of the required modules are installed, you should see output similar to the following:

BIN PATH: /usr/local/vcl/lib/VCL pre-execution: config file being used: /etc/vcl/vcld.conf Uncaught exception from user code:         VCLD : /etc/vcl/vcld.conf does not exist, exiting --  No such file or directory BEGIN failed--compilation aborted at /usr/local/vcl/lib/VCL/utils.pm line 616.  at /usr/local/vcl/lib/VCL/utils.pm line 616

What to do if a Module is Missing

  1. Determine the name of the missing module by looking at the "Can't locate" line
  2. Search for the missing module on search.cpan.org and install it manually

How to Install a Perl Module Manually

  1. Change directories to /tmp:
    cd /tmp 
  2. Download the module's source package using wget:
    wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.827.tar.gz
  3. Unpack the source package using tar:
    tar xzf libwww-perl-5.827.tar.gz
  4. The previous command should have created a libwww-perl-5.827 directory, change to this directory:
    cd libwww-perl-5.827
  5. Create a makefile with the following command:
    perl Makefile.PL
  6. Compile the module:
    make
  7. Test the module:
    make test
  8. Install the module:
    make install
    The last line you should see should be:
    /usr/bin/make install  -- OK
    

How to Install a Perl Module Using CPAN

  1. Enter the CPAN shell:
    perl -MCPAN -e shell
  2. You will need to configure CPAN if it's the first time it is being run. Enter No at the first prompt to auto-configure the CPAN module.
  3. Search for a module using the "m" command:
    m /Zlib/
    You should find the module you were looking for on a line like this:
    Module          Compress::Zlib  (P/PM/PMQS/IO-Compress-2.020.tar.gz)
    
  4. Install the module:
    install Compress::Zlib
  5. Answer yes if asked to install any prerequisite modules
    The last line you should see should be:
    /usr/bin/make install  -- OK
    

Download Required Utilities

Windows XP and Server 2003 Deployment Tools (Sysprep)

The Windows XP and Server 2003 Deployment Tools are available for free from Microsoft and are required in order for the capture of Windows XP and Server 2003 VCL images to work.  The Sysprep utility is included in the Deployment Tools.  You do not need to download Sysprep for Windows Vista or Server 2008 because it is included in the operating system.

Links to the downloads are below.  You should be able to use the XP SP2 or SP3 version assuming the image you are capturing contains Windows XP Service Pack 3.  We have seen problems with drivers not being installed correctly using the SP3 version of the deployment tools so the SP2 version is recommended.

Download: Windows XP Service Pack 2 Deployment Tools
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.  There should already be a sysprep.inf file in each Sysprep directory.  This is the base Sysprep template file for VCL included in 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
-rw-rw-r-- 1 root root  2574 Aug 18 17:32 sysprep.inf

Configure sysprep.inf

Your Windows XP product key needs to be entered into the sysprep.inf file.  Edit the following file:

/usr/local/vcl/tools/Windows_XP/Utilities/Sysprep/sysprep.inf

Find the ProductKey line and replace WIN_XP_PRO_KEY with your product key.

WSName - Workstation Name Changing Utility

NOTICE: The WSName.exe utility is no longer available.  The set_computer_name.vbs script which calls WSName.exe will be rewritten for the 2.2 release of VCL. In the meantime, this script is being left intact in case you have a previously released version of WSName.exe or are able to obtain it from another source.

The wsname.exe utility is used by VCL to name Windows computers.  It does a reverse DNS lookup so that the computer name is set to the name registered for its public IP address.  The utility is called by set_computer_name.vbs when a Windows image is loaded.  The utility is not vital for the load process to work.  However, the computer will receive a random name if the script is missing or fails to run.

If you do have a previously released version of WSName.exe or are able to locate it from another souce, save WSName.exe in the following location on the management node:

 
/usr/local/vcl/tools/Windows/Utilities/WSName/wsname.exe

NewSID - Windows SID Changing Utility

NewSID.exe is used to change the SID of a Windows computer if Sysprep is not used.  Download the NewSID.exe utility:

Download: NewSID.exe

Save the NewSID.exe utility in the following location on the management node:

/usr/local/vcl/tools/Windows/Utilities/NewSID/newsid.exe

SPDrvScn - Windows Driver Scanning Utility

SPDrvScn.exe is used before an image is captured to enter the paths of drivers to the Windows registry so that they are loaded when Sysprep attempts to install devices.  Download the SPDrvScn.exe utility:

Download: SPDrvScn.exe

Save the SPDrvScn.exe utility in the following location on the management node:

/usr/local/vcl/tools/Windows/Utilities/SPDrvScn/spdrvscn.exe

Configure vcld.conf

  1. Create the /etc/vcl directory:
    mkdir /etc/vcl 
  2. Copy the generic vcld.conf file to /etc/vcl:
    cp /usr/local/vcl/etc/vcl/vcld.conf /etc/vcl
  3. Edit the /etc/vcl/vcld.conf file:
    vi /etc/vcl/vcld.conf
    The following lines must be configured in order to start the VCL daemon (vcld) and allow it to check in to the database:
    • FQDN - the fully qualified name of the management node, this should match the name that was configured for the management node in the database
    • server - the IP address or FQDN of the database server
    • LockerWrtUser - database user account with write privileges
    • wrtPass - database user password
  4. Save the vcld.conf file

Install 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

Start and Check the vcld Service

  1. 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
  2. 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
    
  • No labels