You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 4
Next »
- Database
- Web Components
- Management Node Components
-
- If you have not already done so, download and the Apache VCL source to the database server:
- Extract the files:
Install MySQL Server
- Install MySQL Server 5.x:
- Configure the MySQL daemon (mysqld) to start automatically:
- Start the MySQL daemon:
- Make sure the firewall on the database server is configured to allow traffic from the web server and management node servers to connect to the MySQL daemon TCP port: 3306. See the firewall documentation for more information.
Create the VCL Database
- Run the MySQL command-line client:
- Create a database:
- Create a user with SELECT, INSERT, UPDATE, DELETE, and CREATE TEMPORARY TABLES privileges on the database you just created:
- Exit the MySQL command-line client:
- Import the vcl.sql file into the database:
-
phpMyAdmin is a free and optional tool which allows MySQL to be administered using a web browser. It makes administering the VCL database easier. This tool can be installed on the VCL web server.
To install phpMyAdmin, follow the instructions on: VCL 2.2.1 phpMyAdmin Installation & Configuration
Next step: VCL 2.2.1 Web Code Installation
Prerequisites
The following instructions assume these tasks have previously been completed:
Web Server:
- Apache HTTP Server v1.3 or v2.x with SSL enabled
- PHP 5.0 or later
Required Linux Packages:
- httpd - Apache HTTP Server
- mod_ssl - SSL/TLS module for the Apache HTTP server
- php - The PHP HTML-embedded scripting language
- libmcrypt - Encryption algorithms library (this requirement can be removed with a patch)
Required PHP Modules:
(Some of these may already be included with your PHP distribution)
- php-gd
- php-json (required if your PHP version is 5.2 or later)
- php-mcrypt (this requirement can be removed with a patch)
- php-mysql
- php-openssl
- php-sysvsem
- php-xml
- php-xmlrpc
- php-ldap (if you will be using LDAP authentication)
Install the Required Linux Packages & PHP Modules
- If your web server is running a Red Hat-based OS, the required components can be installed with:
- If you will be using a self-signed certificate for SSL, this is a great HOWTO explaining how to set it up on CentOS
- It is useful to configure the server to be able to send debugging emails
- Configure the web server daemon (httpd) to start automatically:
- Start the web server daemon:
- If SELinux is enabled, run the following command to allow the web server to connect to the database:
- If the iptables firewall is being used, port 80 and 443 should be opened up:
Install the VCL Frontend Web Code
- If you have not already done so, download and extract the source files on the web server:
- Copy the web directory to a location under the web root of your web server and navigate to the destination .ht-inc subdirectory:
- apply patch to fix editing reservations
- apply patch to fix processing of block allocations
- Copy secrets-default.php to secrets.php:
- Edit the secrets.php file:
- Set the following variables to match your database configuration:
- $vclhost
- $vcldb
- $vclusername
- $vclpassword
- Create random passwords for the following variables:
- $mcryptkey
- $mcryptiv (must be 8 hex characters)
- $pemkey
- Save the secrets.php file
- Run the genkeys.sh script. Enter the value you set for $pemkey in secrets.php as the passphrase (3 times, copy/paste is a good idea)
- Copy conf-default.php to conf.php:
- Modify conf.php to match your site
- COOKIEDOMAIN - set this to the domain name your web server is using or leave it blank if you are only accessing the web server by its IP address
- Set the owner of the .ht-inc/maintenance directory to the web server user (normally 'apache'):
- Optionally, you can install phpseclib and apply a patch to remove the requirement of having mcrypt installed
- Open the testsetup.php page in a web browser:
Log In to the VCL Website
- Open the index.php page in your browser (https://my.server.org/vcl/index.php)
- Select Local Account
- Username: admin
- Password: adminVc1passw0rd
- Set the admin user password (optional):
- Click User Preferences
- Enter the current password: adminVc1passw0rd
- Enter a new password
- Click Submit Changes
Add a Management Node to the Database
- Click the Management Nodes link
- Click Add
- Fill in these required fields:
- Hostname - The name of the management node server. This value doesn't necessarily need to be a name registered in DNS nor does it need to be the value displayed by the Linux hostname command. For example, if you are installing all of the VCL components on the same machine you can set this value to localhost.
- IP address - the public IP address of the management node
- SysAdmin Email Address - error emails will be sent to this address
- Install Path - this is parent directory under which image files will be stored - only required if doing bare metal installs or using VMWare with local disks
- End Node SSH Identity Key Files - enter /etc/vcl/vcl.key unless you know you are using a different SSH identity key file
- Optionally, fill in these fields:
- Address for Shadow Emails - End users are sent various emails about the status of their reservations. If this field is configured, copies of all of those emails will be sent to this address.
- Public NIC configuration method - this defaults to Dynamic DHCP - if DHCP is not available for the public interface of your nodes, you can set this to Static. Then, the IP configuration on the nodes will be manually set using Public Netmask, Public Gateway, Public DNS Server, and the IP address set for the computer under Manage Computers
- Click Confirm Management Node
- Click Submit
- Click the Management Nodes link
- Select Edit Management Node Grouping
- Click Submit
- Select the checkbox for your management node
- Click Submit Changes
Further steps if using only VMWare
Further steps if using xCAT
Adding Local VCL Accounts
Local VCL accounts are contained within the VCL database. The admin account is a local VCL account. Additional local accounts can be added via the backend management node code. After you have finished the backend management node installation, run:
- Select VCL Base Module
- Select Add Local VCL User Account
- Enter the requested information
Adding LDAP Authentication
Follow the instruction on the Adding LDAP Authentication page.
Previous Step: VCL 2.2.1 Database Installation
Next Step: VCL 2.2.1 Management Node Installation
Prerequisites
The following management node installation instructions assume the instructions on the following pages have previously been completed:
Supported Operating Systems:
The VCL management node daemon (vcld) has been developed to run on an operating system based on Red Hat Enterprise Linux (RHEL). It has been tested on the following:
- Red Hat Enterprise Linux 4.x
- Red Hat Enterprise Linux 5.x
- CentOS 5.x
Required Linux Packages:
The VCL management node daemon (vcld) requires the following Linux packages and Perl modules in order to run (see step 2 below for installation instructions):
- expat - A library for parsing XML
- expat-devel - Libraries and include files to develop XML applications with expat
- gcc - Various compilers (C, C++, Objective-C, Java, ...)
- krb5-libs - The shared libraries used by Kerberos 5
- krb5-devel - Development files needed to compile Kerberos 5 programs
- libxml2 - Library providing XML and HTML support
- libxml2-devel - Libraries, includes, etc. to develop XML and HTML applications
- mysql - MySQL client programs and shared libraries
- nmap - Network exploration tool and security scanner
- openssh - The OpenSSH implementation of SSH protocol versions 1 and 2
- openssl - The OpenSSL toolkit
- openssl-devel - Files for development of applications which will use OpenSSL
- perl - The Perl programming language
- perl-DBD-MySQL - A MySQL interface for perl
- xmlsec1-openssl - OpenSSL crypto plugin for XML Security Library
Required Perl Modules:
The VCL management node daemon (vcld) is written in Perl and has been tested on Perl 5.8.x. The following Perl modules available from CPAN are also required (see step 2 below for installation instructions):
- DBI - Generic Database Interface
- Digest::SHA1 - NIST SHA message digest algorithm
- Mail::Mailer - Simple mail agent interface
- Object::InsideOut - Comprehensive inside-out object support
- RPC::XML - A set of classes for core data, message and XML handling
- YAML - YAML Ain't Markup Language
Install the VCL Management Node Code - Perl Daemon
- If you have not already done so, download and extract the VCL source files to the management node:
- Copy the managementnode directory to the location where you want it to reside (typically /usr/local):
Install the Required Linux Packages & Perl Modules
Run the install_perl_libs.pl script:
The last line of the install_perl_libs.pl script output should be:
Note: 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.
Note: RPC::XML may not install correctly on CentOS 5.6. The CPAN install of RPC::XML fails because RPC::XML needs 'XML::LibXML' for it's 'self tests' - even though - it's NOT configured as a dependency, and the 'self tests' are suppose to skip tests involving 'XML::LibXML' if it's not installed. You may need to install the module manually before running the 'install_perl_libs.pl' script.
(i.e. cpan -i XML::LibXML )
The install_perl_libs.pl script included in the VCL distribution will attempt to download and install the required Linux packages and Perl modules. It uses the yum utility to install the required Linux packages. 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.
The yum utility should exist on any modern Red Hat-based Linux distribution (Red Hat, CentOS, Fedora, etc). If yum isn't available on your management node OS, you will need to download and install the required Linux packages manually or by using another package management utility. After installing the required Linux packages, attempt to run the install_perl_libs.pl script again.
-
- Create the */etc/vcl* directory:
- Copy the stock *vcld.conf* file to */etc/vcl*:
- Edit */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
- Save the vcld.conf file
-
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_config file:
Locate the UserKnownHostsFile and StrictHostKeyChecking lines and change them to the following:
Note: 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.
Install and Start the VCL Daemon (vcld) Service
- Copy the vcld service script to /etc/init.d and name it vcld:
- Add the vcld service using chkconfig:
- Configure the vcld service to automatically run at runtime levels 3-5:
- Start the vcld service:
You should see output similar to the following:
- Check the vcld service by monitoring the vcld.log file:
You should see the following being added to the log file every few seconds if the management node is checking in with the database:
-
- Install dhcp if it is not already installed:
- The DHCP daemon should only listen on the virtual private network (eth0) to avoid conflicts with other networks. Configure the dhcpd service startup script to only listen on the private interface:
Add eth0 the to the DHCPDARGS line:
- Configure the dhcpd service to automatically start at runlevels 3-5:
- Configure the dhcpd.conf file.
You will add host definitions to the dhcpd.conf file after you add computers to VCL using the website. The website will display the dhcpd.conf host definitions after the computers have been added to VCL, which can be copied and pasted into the dhcpd.conf file.
- Start the dhcpd service:
-
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:
Select "Windows OS Module" and follow the prompts.
Download Windows Sysprep Utility (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.
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.
The Sysprep files need to be downloaded, extracted, and then copied to the management node. The format of the file available for download is 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.
- Windows XP
- Download Sysprep for Windows XP: Windows XP Service Pack 3 Deployment Tools
- Extract the Windows XP Sysprep Files
- Copy the extracted Windows XP Sysprep files to the following directory the management node:
- Windows Server 2003
- Download Sysprep for Windows Server 2003: System Preparation tool for Windows Server 2003 Service Pack 2 Deployment
- Extract the Windows Server 2003 Sysprep Files
- Copy the extracted Windows Server 2003 Sysprep files to the following directory the management node:
Download Windows Drivers (Optional)
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 7) 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.
Examples:
If a chipset driver works for all versions of Windows it should be saved in:
/var/lib/vcl/tools/Windows/Drivers/Chipset
If Windows XP and Windows Server 2003 both use the same network driver it can be saved in:
/var/lib/vcl/tools/Windows_Version_5/Drivers/Network
If a storage driver only works for Windows XP it should be saved in:
/var/lib/vcl/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:
/var/lib/vcl/tools/Windows/*
/var/lib/vcl/tools/Windows_Version_5/*
/var/lib/vcl/tools/Windows_XP/*
The following list shows which driver files should be saved in the driver directories:
/var/lib/vcl/tools/Windows/Drivers - drivers common to all versions of Windows
/var/lib/vcl/tools/Windows_Version_5/Drivers - drivers used by Windows XP and Server 2003
/var/lib/vcl/tools/Windows_XP/Drivers - drivers only used by Windows XP
/var/lib/vcl/tools/Windows_Server_2003/Drivers - drivers only used by Windows Server 2003
/var/lib/vcl/tools/Windows_Version_6/Drivers - drivers used by Windows Vista and Server 2008
/var/lib/vcl/tools/Windows_7/Drivers - drivers only used by Windows 7
/var/lib/vcl/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:
/var/lib/vcl/tools/Windows_Version_XP/Drivers/Chipset
/var/lib/vcl/tools/Windows_Version_XP/Drivers/Network
/var/lib/vcl/tools/Windows_Version_XP/Drivers/Storage
/var/lib/vcl/tools/Windows_Version_XP/Drivers/Video
-
VCL supports the following, please see the related websites for installation and configuration instructions:
- xCAT - Extreme Cluster Administration Toolkit
- VMware
- See the VMware website for installation & configuration information: http://www.vmware.com
- See the following pages for additional VCL VMware configuration information:
- VCL 2.2.1 - Further steps if using only VMware
- VMware Configuration