This page describes how to install and configure the backend VCL management node components including the required Perl modules, VCL daemon (vcld), and Windows utility dependencies.
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.
Move or copy the managementnode directory to /usr/local/vcl:
mv ./managementnode /usr/local/vcl
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).
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.
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
/usr/bin/make install -- OK
Module Compress::Zlib (P/PM/PMQS/IO-Compress-2.020.tar.gz)
/usr/bin/make install -- OK
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
/usr/local/vcl/tools/Windows_Server_2003/Utilities/Sysprep
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
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 Server 2003 product key in the following file:
/usr/local/vcl/tools/Windows_XP/Utilities/Sysprep/sysprep.inf
/usr/local/vcl/tools/Windows_Server_2003/Utilities/Sysprep/sysprep.inf
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:
The resulting directory structure on the Windows computer will be:
The following list shows which driver files should be saved in the driver directories:
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:
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.
Each PnP device ID should be added to the sysprep.inf file under the [SysprepMassStorage] section using the following format:
ID = "C:\Sysprep\Drivers\<driver directory>\<.inf file path>"
Example: LSI SAS drivers commonly need to be downloaded and the hardware IDs need to be added to the sysprep.inf files in order for computers with LSI SAS controllers to boot.
[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
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]:
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:
/usr/local/vcl/tools/Windows_XP/Utilities/Sysprep/sysprep.inf
/usr/local/vcl/tools/Windows_Server_2003/Utilities/Sysprep/sysprep.inf
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.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.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
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 ]
2009-06-16 16:57:15|15792|vcld:main(165)|lastcheckin time updated for management node 18: 2009-06-16 16:57:15