Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...

Download the Backend Management Node VCL Code

Install the Subversion client if it is not already installed:

No Format

yum install subversion -y

Download the management node code using the Subversion export command Move or copy the managementnode directory to /usr/local/vcl:/vcl:

No Format

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

Install Required Packages

The following packages to be installed on the OS before installing the required Perl modules.  These packages must be installed if they were not installed as part of your base Linux install.  It is easiest to use the package management utility for your OS --- yum, rpm, or other.

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

To install these packages using yum:

No Format

yum install expat expat-devel gcc krb5-libs krb5-devel libxml2 libxml2-devel openssl openssl-devel perl-DBD-MySQL xmlsecl-openssl -y
No Format
mv ./managementnode /usr/local/vcl

Install Required Perl Modules

The VCL Perl code running on a the management node requires several additional Perl modules in order to run. These Perl modules are 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).

cpan.org.

  • MailTools
  • Class-Data-Inheritable-0.08
  • Devel-StackTrace
  • Exception-Class
  • Object-InsideOut
  • YAML
  • RPC-XML
  • XML-Parser
  • Crypt-SSLeay
  • HTML-Parser
  • DBI
  • libwww-perl
  • 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 managementnode/bin directory called install_perl_libs.pl which will attempt to download and install the required perl libraries.  Run the script:

...

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:

...

No Format
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:
    No Format
    /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:
    No Format
    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:
    No Format
    /usr/bin/make install  -- OK
    

Download Required Utilities & Drivers

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.

...

Panel

-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 organizations's Windows XP product key needs to be entered into the Windows XP sysprep.inf file.  Find the ProductKey line and replace WIN_XP_PRO_KEY with your organization's Windows XP product key in the following file:

Panel

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

Your organizations's Windows Server 2003 product key needs to be entered into the Windows Server 2003 sysprep.inf file.  Find the ProductKey line and replace WIN_2003_ENT_KEY with your organization's Windows Server 2003 product key in the following file:

Panel

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

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.

...

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

Add 3rd Party Mass Storage Driver IDs to sysprep.inf

This step is complicated.  3rd party mass storage hardware IDs and driver .inf file paths must be added to the SysprepMassStorage section in sysprep.inf for Windows XP and Windows Server 2003 in order for the saved image to boot properly on different hardware.

...

  1. Download the LSI SAS driver from ibm.com: ibm_dd_mptsas_1.30.02.00_windows_32-64.exe
  2. Extract the ZIP file (it's a self-extracting zip; you can unzip it with whatever unzip tool you prefer)
  3. Copy the files from the 32 bit XP directory (image/xp-32) to the appropriate directory on the management node:
    tools/Windows/Drivers/Storage/LSI-SAS
  4. Locate the .inf file included with the driver is:
    tools/Windows/Drivers/Storage/LSI-SAS/symmpi.inf
  5. Locate the PnP ID lines in the .inf file:
    Panel

    Wiki Markup
    \[LSI\]
    %DevDesc2% = SYMMPI_Inst, PCI\VEN_1000&DEV_0622
    %DevDesc3% = SYMMPI_Inst, PCI\VEN_1000&DEV_0624
    %DevDesc4% = SYMMPI_Inst, PCI\VEN_1000&DEV_0626
    %DevDesc5% = SYMMPI_Inst, PCI\VEN_1000&DEV_0628
    %DevDesc6% = SYMMPI_Inst, PCI\VEN_1000&DEV_0030
    %DevDesc7% = SYMMPI_Inst, PCI\VEN_1000&DEV_0032
    %DevDesc8% = SYMMPI_Inst, PCI\VEN_1000&DEV_0050
    %DevDesc9% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054
    %DevDesc10% = SYMMPI_Inst, PCI\VEN_1000&DEV_0058
    %DevDesc11% = SYMMPI_Inst, PCI\VEN_1000&DEV_0056
    %DevDesc12% = SYMMPI_Inst, PCI\VEN_1000&DEV_0640
    %DevDesc13% = SYMMPI_Inst, PCI\VEN_1000&DEV_0646
    %DevDesc14% = SYMMPI_Inst, PCI\VEN_1000&DEV_0062
    \[DELL\]
    %DevDescD1% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F041028
    %DevDescD2% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F051028
    %DevDescD3% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F061028
    %DevDescD4% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F071028
    %DevDescD5% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F081028
    %DevDescD6% = SYMMPI_Inst, PCI\VEN_1000&DEV_0054&SUBSYS_1F091028
    %DevDescD7% = SYMMPI_Inst, PCI\VEN_1000&DEV_0058&SUBSYS_1F0E1028
    %DevDescD8% = SYMMPI_Inst, PCI\VEN_1000&DEV_0058&SUBSYS_1F0F1028
    %DevDescD9% = SYMMPI_Inst, PCI\VEN_1000&DEV_0058&SUBSYS_1F101028

  6. Wiki Markup
    Based on the contents of the .inf file, the following is added to the Windows XP and Windows Server 2003 sysprep.inf files under \[SysprepMassStorage\]:
    Panel

    PCI\VEN_1000&DEV_0622 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0624 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0626 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0628 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0030 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0032 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0050 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0054 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0058 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0056 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0640 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0646 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0062 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0054&SUBSYS_1F041028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0054&SUBSYS_1F051028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0054&SUBSYS_1F061028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0054&SUBSYS_1F071028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0054&SUBSYS_1F081028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0054&SUBSYS_1F091028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0058&SUBSYS_1F0E1028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0058&SUBSYS_1F0F1028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"
    PCI\VEN_1000&DEV_0058&SUBSYS_1F101028 = "C:\Sysprep\Drivers\Storage\LSI-SAS\symmpi.inf"

    If you have hardware using an LSI SAS controller (IBM HS21 blades), the section above can be copied and pasted into your sysprep.inf files:
    Panel

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

    Panel

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

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.

...

Panel

/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:

...

Panel

/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:

...

Panel

/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

...