HP Integrity Servers with Microsoft Windows Server 2003 and Windows Server 2008 SmartSetup Scripting Toolkit Administrator's Guide HP Part Number: 5992-4493 Published: September 2008
© Copyright 2008 Hewlett-Packard Development Company, L.P Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice.
Table of Contents About This Document.........................................................................................................9 Intended Audience.................................................................................................................................9 Typographic Conventions......................................................................................................................9 HP Encourages Your Comments..................................................
Booting from the network...............................................................................................................33 SSTK log file..........................................................................................................................................34 Log file format.................................................................................................................................34 Monitoring the Deployment................................................
Options............................................................................................................................................58 Format..............................................................................................................................................58 Error Codes......................................................................................................................................58 hpsetacpi......................................................
List of Figures 1-1 1-2 1-3 2-1 2-2 3-1 3-2 3-3 3-4 4-1 6 Simple SSTK Deployment Scenario..............................................................................................12 HP Package Setup screen..............................................................................................................13 SSTK repository folder..................................................................................................................
List of Tables 3-1 3-2 5-1 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 A-1 A-2 A-3 A-4 A-5 A-6 A-7 A-8 Read Hardware Configuration Tasks and Configuration Files....................................................23 Apply Hardware Configuration Tasks and Configuration Files..................................................24 SSTK Repository Permissions.......................................................................................................39 conrep Return Codes.............................................
List of Examples 6-1 6-2 6-3 8 Sample conrep.dat file...................................................................................................................44 Sample conrep.xml file..................................................................................................................44 Sample hpia64info utility output according to server type..........................................................
About This Document This document describes how to use the SmartSetup Scripting Toolkit (SSTK) to develop custom scripts that simplify server deployments by automating various hardware configuration and software installation operations. Intended Audience This document is for system administrators who need to deploy a large number of HP Integrity® servers rapidly and efficiently.
1 Overview The SmartSetup Scripting Toolkit (SSTK) provides utilities and scripts that simplify the tasks of deploying Windows on HP Integrity® servers by automating hardware configuration and software installation. Using the SSTK, you can deploy a large number of servers efficiently by replicating a server configuration and performing a Windows unattended installation. This reduces the time, effort, and errors involved in these high-volume server deployments.
Figure 1-1 Simple SSTK Deployment Scenario CommandPrompt ReadHWConf ApplyHWConf, ApplySASConf and Deploy SSTK repository (Workstation) SSTK boot image (Target Server) You use a workstation to unpack the toolkit, edit the configuration files, and set up the boot mechanism. The workstation typically hosts the SSTK repository, which holds the configuration files, scripts, utilities, and Windows installation files.
Typically, you perform steps 1 and 2 only once. Steps 3 and 4 are performed multiple times, depending on the number of target servers you need to deploy. The following section describes how to extract the SSTK package. The remaining chapters describe the other steps. Extracting the SSTK package The SSTK software package is a self-extracting package component. You can extract files by double-clicking the SSTK package component cp009335.exe. Figure 1-2 shows the Package Setup screen.
hwdisc.dat hba-qlogic.ini hba-emulex.ini logs drivers os scripts 14 Overview The hwdiscovery output file that contains a system inventory to be used with the ifhw and hwquery utilities. The hpqlarep configuration file, used to enable or disable boot devices on QLogic host bus adapters (HBAs). The hplpcfg configuration file, used to enable or disable the boot devices on Emulex HBAs. This folder stores log files that are created during SSTK execution.
SetWS2003.cmd, SetWS2008.cmd Optional scripts for configuring a deploy action manually from the command prompt. If you use these scripts, you do not need to reconfigure the SSTKConfig.cmd file. These scripts set the os_deploy variable to WS2003 or WS2008, and the default_action variable to deploy. You can run them after running SSTKStart.cmd from the command prompt. Then, run either DeployWS2003.cmd or DeployWS2008.cmd to begin the deployment process. ApplyArrayConfiguration, Run the hpacubin utility.
2 Creating an SSTK boot image After you set up the workstation, you create an SSTK boot image. The boot image starts the target server in order to execute an SSTK action. NOTE: The network location of the SSTK repository share is configured in the boot image. If you want to change or access a different repository share, you must edit the SSTKStart.cmd file and create the boot image again. Creating a boot image consists of the following tasks: 1. Editing the SSTKStart.cmd file. 2.
?, ,, and .. In addition, blank spaces are also valid. If you use any of the previous non-alphanumeric characters or blank spaces, you must enclose the password in quotation marks. Installing OEM drivers in the boot image Installing OEM drivers in the SSTK boot image does the following: • Guarantees that the SSTK utilities operate on WinPE. • Provides hardware support during Windows Server 2008 setup. Appendix A (page 71) shows the hardware that require you to install an OEM driver in the SSTK boot image.
• • • Creating a bootable CD or DVD Creating a bootable USB device Setting up a network boot environment Creating a bootable CD/DVD or virtual media To create a bootable CD or DVD to launch the SSTK, enter the following: cd Your SSTK root folder\boot\ "\Program Files\Windows AIK\Tools\x86\oscdimg" -n -bsstksys.bin winpe\iso bootimg.iso Where: sstksys.bin bootimg.iso The El Torito boot sector created by the SSTK when the mkbootimg.cmd script is invoked. The image file.
For HP Virtual Machine (HPVM) systems, you can use the following command line to add a virtual DVD: % hpvmmodify –P vm_name -a dvd:scsi::file:/bootimg.iso When the EFI Shell starts at the target server, a virtual file system is available with the SSTK boot files. You can add a new boot entry using the EFI Boot Manager. Creating a Bootable USB flash device To create a bootable USB flash device, use the xcopy command to copy the appropriate files from your workstation to the USB flash device.
Figure 2-2 Sample SSTK Network Environment CORPNET Gateway/VPN Isolated network 10.51.201.0/24 Target / dynamic IP Active Directory / DHCP / SSTK Repository Windows Deployment Server Windows Deployment Services (WDS) is included in Windows Server 2003 SP2. You can integrate the SSTK with the WDS Server Components, which include a Pre-Boot Execution Environment (PXE) server and Trivial File Transfer Protocol (TFTP) server for network booting of the target server.
3. 4. 5. 6. Right-click the Boot Image node, then click Add Boot Image. On the Image File page, browse to the location of the image created by the mkbootimg.cmd script. Click Open to continue. Enter the name and description of the boot image or accept the defaults. When the image copy has completed successfully, click Finish to exit the wizard. To add another image, repeat the preceding steps. WDS now displays a boot menu. NOTE: WDS.
3 Configuring an SSTK action After you create the boot image, you must configure an SSTK action. When the target server boots up, the SSTK boot image initiates the deployment process. Then, an SSTK action (ReadHWConf, ApplyHWConf, ApplySASConf, or Deploy) runs without user intervention. You set the SSTK action in the SSTKConfig.cmd file located under the scripts folder. The default_action variable specifies one of the following actions to be performed by SSTK: Boots the SSTK and waits for user interaction.
Table 3-1 Read Hardware Configuration Tasks and Configuration Files (continued) Task Description Configuration File hpqlarep Reads the QLogic HBA configuration. hba-qlogic.ini1 hwdiscovery Inventories the server to be configured. hwdisc.dat2 1 2 This configuration file is saved only if the target server contains the corresponding hardware: Smart Array, Qlogic, and Emulex controllers, respectively. Not used for server replication.
ensure you are choosing the correct installation disk. See “Choosing the installation disk” (page 25). IMPORTANT: Always use the –internal switch when applying the RAID configuration with ACU. This prevents overwriting the Emulex or Qlogic HBA configuration in the Storage Area Network (SAN) environment. applysasconf action When the default_action variable is set to applysasconf, the ApplySASConf.cmd script executes.
diskpart\ default_layout_2003.txt diskpart\ default_layout_2008.txt For installing Windows Server 2003 For installing Windows Server 2008 For Windows Server 2008, you must also edit the os\unattended_files\2008-server\ unattended.xml file and set the disk ID of the installation disk. For example: 1 Edit the file with a text editor or by using SIM as explained in “Modifying the answer file” (page 30).
Figure 3-1 Destination Folder for Windows Installation Files boot data_files drivers os unattended_files 2003-enterprise 2008-server windows 2003-enterprise 2008-server scripts software utilities If more than one Windows version is available for installation, you must uniquely identify each in the repository.
Copy all files from contents\isp folder on the ISP installation CD to the windows\ISP\ 2003-enterprise SSTK folder, the windows\ISP\2008-server SSTK folder, or both. You can keep other versions of ISP in the SSTK repository, but only the files under ISP\ 2003-enterprise or ISP\2008-server are installed on the target server. The SSTK ISP installation scripts, Postinstall2003.cmd and Postinstall2008.cmd, are compatible with ISP 6.1.
Figure 3-3 Structure of the drivers Folder drivers network AD3xx windows 2003-enterprise broadcom intelNIC neterion others storage emulex windows 2003-enterprise lsi_sas lsi_ultra160 lsi_ultra320 qlogic smart_array_53xx_64xx smart_array_sas The SSTK is configured to work with OEM drivers from ISP 6.1. If you need to use another ISP version, ensure that the drivers\storage\model\model.
Editing the SSTKConfig.cmd file The SSTKConfig.cmd file is located in the scripts folder. For Windows Server 2003, you must set the following variables: default_action Set to deploy. Directs the SSTK to perform a deploy action. os_deploy Set to 2003-enterprise. Specifies to deploy Windows Server 2003 Enterprise. This is the name of the folder in which the Windows installation files in the repository are stored. controller Specifies the OEM driver to the boot controller.
OnError xxxxx-xxxxx-xxxxx-xxxxx-xxxxx . . . your password true To open WSIM, click Program Files→Microsoft Windows AIK→Windows System Image Manager. Then, click File→Open Answer File. A Warning message is displayed because the Windows 2008 installation image is not found in the default folder.
Editing the SSTKConfig.cmd file The SSTKConfig.cmd file is located in the scripts folder, and is responsible for setting the SSTK environment variables. You must set the following variables: default_action Set to deploy. Directs the SSTK to perform a deploy action. os_deploy Set to 2008-server. Specifies to deploy Windows Server 2008. This is the name of the folder in which the Windows installation files in the repository are stored. unattend_file By default, set to unattend.xml.
4 Booting the server After configuring an SSTK action, you are ready to boot the target server. This chapter describes how to boot the server (model and target), how to monitor the deployment process, and provides some troubleshooting information. Boot instructions This section describes how to boot from the CD/DVD, USB device, and from the network Booting from the CD/DVD 1. 2. 3. Insert the CD in the CD drive Integrity server. Reboot the machine.
SSTK log file When the SSTK scripts run, SSTK records event messages and errors in a log file. Each time you boot the target server, a new log file is created with the proper time stamp. SSTK creates a file with the following name: SystemName-SerialNumber-yyyymmdd-hhmmss.log Where: SystemName SerialNumber yyyymmdd hhmmss The system name. The system serial number. The current date (yyyy = year, mm = month, and dd = day). The current time (hh = hour, mm = minute, and ss = second).
1. 2. Connect to the target server through either telnet or SSH in order to access the MP. At any time, type Ctrl+B to return to the MP. Enter the command menu as follows: servernameMP> CM 3. Reset the system. Enter: servernameMP> RS Troubleshooting Preventing error 0x07B during installation (Windows Server 2003 Enterprise only) To prevent the error 0x07B from occurring during installation, follow these steps: 1. 2. 3.
5 Advanced topics This chapter describes the following advanced topics: • Customizing the SSTK boot image • Enabling a boot device on a SAN • Increasing security in SSTK • Checking the CLM mode • Enabling the maximum payload size Customizing the SSTK boot image This section shows the steps executed by the mkbootimg.cmd script.
10. Replace the default boot.wim under the iso\sources directory with the new customized image. The image file name must be boot.wim. move sstkwinpe.wim iso\sources\boot.wim Enabling a boot device on a SAN In a Storage Area Network (SAN) environment, a disk is uniquely identified by the HBA port (WWID or WWPN), the Array port (BootDeviceWWID or WWN), and its Logical number (BootDeviceLUN). Some disks connected through Emulex or Qlogic HBAs might not be available at EFI.
After the applyhwconf action executes, the HBA configuration file is loaded; the device must be available for booting. Increasing security in SSTK You can increase security in the SSTK by performing the following tasks: • Encrypting the repository password • Setting permissions for repository access Encrypting the repository password The sstkencrypt utility encrypts the repository password. It is a 32-bit command-line tool designed to run on the repository system.
Checking the CLM mode On mid-range and high end systems, the available system memory can be accessed using the following methods: Interleaved memory The average memory latency is constant for all processes in the system. Non-interleaved memory Also called cell local memory (CLM) or global non-interleaved (GNI) memory. This provides lower memory latency for processes running in the same cell as the memory. Microsoft Windows has better performance when the memory is configured with maximum CLM.
6 Utilities reference This chapter contains reference information and usage examples for the utilities provided in the toolkit. You can get online help for each utility by using the -h or -? option. cfggen Synopsis cfggen controller # command parameters ... Description The cfggen utility is a RAID configuration utility for LSI controllers, and a counterpart of the Array Configuration Utility (ACU). In SSTK, this utility is used to apply RAID 1 in LSI 1068 controllers.
SCSI ID | Encl:Bay qsync prompt A list of SCSI IDs or Enclosure:Bay pairs, identifying the disk drives you want to include in the created volume. If the volume type is IM, the first drive is selected as the primary and the second as the secondary drive. For an IM volume, specify exactly two disks. For an IME volume, specify three to six disks. For an IS volume, specify a minimum of two disks. Specifies a quick synchronization of the two drives in an IM volume. This parameter is optional.
------------------------------------------------------------------------------------------------------------------------- cfggen 43
conrep Synopsis conrep { -s | -l | -c | -d } [-F] [-v] [-f data file] [-x XML file] [-- ] [--version ] [-h ] Description The conrep utility replicates the configuration data stored in the EFI variables. It reads the EFI variables from the NVRAM of a server and writes the results to a data file. It also reads the data file and writes the data into the NVRAM of the target server. The conrep utility uses the conrep.xml configuration file to determine the data to retrieve from the server.
Timeout To read variables from the configuration file and write them to the conrep.dat file in verbose mode, enter: conrep -s -x conrep.xml -f y:\data_files\conrep.dat –v To write the contents of the conrep.dat file to NVRAM in verbose mode, enter: conrep –l –f y:\data_files\conrep.
Table 6-1 conrep Return Codes (continued) 46 Value Meaning Cause 12 Digest processing error An error occurred when calculating No action. This error occurs if conrep the hash (digest) for the data file. cannot allocate memory to calculate the digest for the data file. 13 Data writing error An error occurred while writing data to the data file. 14 Variables listing error An error occurred while listing the EFI variables.
hpacubin Synopsis hpacubin [-v] [-help] [-c | -i] [-internal | -external] [-reset] filename Description The Array Configuration Utility (ACU) enables you to configure and manage your storage devices. The ACU has several modes of execution. For the SSTK, ACU runs from the command line in Scripting Mode. You can capture script files to get the current configuration and used as input to modify the configuration. Options -c -i -internal Captures information from a script file.
; Controller Specifications ; Controller HP Smart Array P600 Controller= Slot 0 ReadCache= 50 WriteCache= 50 RebuildPriority= Low ExpandPriority= Low SurfaceScanDelay= 15 ; Array Specifications Array= A ; Array Drive Type is SAS ; 1E:1:1 (36 GB),1E:1:2 (36 GB),1E:1:3 (36 GB) Drive= 1E:1:1,1E:1:2,1E:1:3 OnlineSpare= No ReadCache= 50 WriteCache= 50 RebuildPriority= Low ExpandPriority= Low SurfaceScanDelay= 15 ; Array Specifications Array= A ; Array Drive Type is SAS ; 1E:1:1 (36 GB),1E:1:2 (36 GB),1E:1:3 (36
Table 6-2 hpacubin Error Codes (continued) Code Error Reason 290 Error communicating with Controller There is a problem communicating with one or more controllers. 516 Internal Error An internal ACU error occurred. This error rarely occurs. If it does, there is a problem with ACU, and some error is not being identified properly.
Table 6-2 hpacubin Error Codes (continued) 50 Code Error Reason 2824 Invalid Expand Priority The specified Expand Priority is not supported. Also, this error occurs if the controller does not allow expansion and therefore does not support Expand Priority. 2825 Invalid Array The Array ID is invalid. 2826 Array not specified The array command is missing from the script file. Some commands were found that require an array to work on.
Table 6-2 hpacubin Error Codes (continued) Code Error Reason 2841 Cannot extend Logical Drive The controller does not support extension, or the current configuration of the controller does not allow extension to occur. For example, there might be no free space on an array, so extension is not supported for the logical drive. 2842 Invalid Raid The specified RAID is invalid or is not possible with the current configuration.
Table 6-2 hpacubin Error Codes (continued) 52 Code Error Reason 2859 Invalid Resource Volume Owner The specified Resource Volume Owner is not valid. The Resource Volume Owner should be a valid existing logical drive ID. 2860 Cannot change Resource Volume Owner The Resource Volume owner cannot be changed if it is a configured logical drive. 2861 Controller does not support The controller is not redundant or does not support redundancy settings.
hpchkclm Synopsis hpchkclm [-y] [-n] Description The hpchkclm utility is a command-line tool that checks for the Cell Local Memory mode on HP Integrity server platforms. On mid-range and high end systems, the available system memory can be accessed using two different methods: Interleaved memory The average memory latency is constant for all processes in the system. Non-interleaved memory Provides lower memory latency for processes running in the same cell as the memory.
hpia64info Synopsis hpia64info [-v] Description The hpia64info utility displays information about management processor and system firmware. Options -v Displays the version of the hpia64info utility. Output The hpia64info output varies with the server system type: Foundation, Blade, or Mid-range and high end. Example 6-3 Sample hpia64info utility output according to server type Format: 4 MP Version: F.01.55 MP Lan Status: Enabled / Disabled MP Host Name: superbird MP IP Address: 16.89.144.
Tag1: Tag2: . . . • • • data1 data2 The tag field is not localized. If the[platform_type] tag is missing (for example, [Blade]), the system is not a platform_type system. Output of two sections (for example, blade and cellular) at the same time is not supported.
hplpcfg Synopsis hplpcfg [/le | /se] [filename] Description The hplpcfg utility enables or disables the Emulex boot BIOS. When enabling, it configures the boot device's WWPN and LUN. If the HBA does not have any x86 or EFI type boot BIOS code loaded, using the /le option causes an error. For WinPE, a Windows Storport driver or a Scsiport Miniport driver must be installed. Options /le filename /se filename Loads the HBA configuration from filename. Saves the HBA configuration to filename.
Table 6-3 hplpcfg error codes (continued) Value Description 8 Invalid LUN 0x10 Invalid value. For enable or disable, the value is not 0 or 1 (/le option only). 0x11 The loaded boot BIOS code is incorrect (/le option only). 0xFF General error, initialization error (/le and /se), or cannot read the HBA WWPN (/se option). NOTE: If there are multiple HBAs in the configuration file or on the host, the utility returns success if there is at least one successful save (/se) or load (/le) operation.
hpqlarep Synopsis hpqlarep [/l] [/s] [filename] Description The hpqlarep utility enables or disables the EFI or BIOS boot setting on QLogic 2 GB or 4 GB HBAs. Options /l filename /s filename Loads the boot parameters specified in filename. Saves the boot parameters to filename. Format The configuration file has the following fields: Format Description [HBA0] Section for each HBA. The HBA number. WWID=11223344 Read-only variable. The HBA WWPN. SelectiveLogin=1 Input from customer.
Table 6-4 hpqlarep error codes (continued) Value Description 11 Invalid EFI selective login settings 12 Invalid EFI WWID (boot node name) hpqlarep 59
hpsetacpi Synopsis hpsetacpi [/e | -e | --error filename] [[ /v | -v | --version ] | [ /? | -h | --help ] | [/d | -d] | [/a | -a] | mode] Description The hpsetacpi tool sets the ACPI mode to Windows or Linux, according to command line parameter informed. Options mode /e | -e | --error filename /? /v /d /a | | | | -h | --help -v | --version -d -a The new ACPI configuration mode. Available choices are windows, longhorn, linux, single-pci-domain, or default. Sets the error log file name.
hpshowdisk Synopsis hpshowdisk [[[-i index { -d | -s }]] | -n | -V | -h] Description The hpshowdisk utility outputs a list of disks grouped by controllers along with their sizes, LUN, and disk identifiers. Options -i index -d -s -n | -no_showdisk -v | --version -h | --help Selects a device using its index. Outputs the PCI ID for the device in the vendor:device:subvendor:subdevice format. Displays the size of the disk, in bytes. Do not use the Altiris showdisk command to sort the disk list.
Table 6-5 hpshowdisk return codes (continued) 62 Return Code Name 5 [ERROR_NO_CONTROLLER] No controller is listed by WMI. 6 [ERROR_NO_RELATION] No relationship between disks and controllers is listed by WMI. 7 [ERROR_NO_SHOWDISK ] The Altiris showdisk utility was not found. 8 [ERROR_INVALID_DISK] An invalid disk index was specified with the –i option. 9 [ERROR_INVOKING_SHOWDISK] A problem occurred while invoking the Altiris showdisk utility.
hwdiscovery Synopsis hwdiscovery [-v | --version] [-f filename] Description The hwdiscovery utility captures the hardware configuration of a target machine and saves it to an XML file.
12288 1 0 3 0 10024752 0E11001E 0 4 0 0E11B203 0E11B206 . . .
hwquery Synopsis hwquery hwdisc.dat allboards.xml [query]... Description The hwquery utility is executed from a script file, in conjunction with other utilities, to control the install process. The hwquery utility uses data from the hardware discovery file in your own scripts. The hwquery utility cannot alter environment variables directly. To set the variable, the hosting script must use the output of hwquery.
ifhw Synopsis ifhw [path] [hwdiscfilename] [path] [allboards.xml] [expression] Description The ifhw utility is executed from a script file, in conjunction with other utilities, to control the install process. The ifhw utility queries the hardware discovery file. Queries take the form of a logical expression, and the result of the expression is returned as the exit status of the tool, which the hosting script can use to conditionally perform actions. Options [path]hwdiscfilename [path]allboards.
Table 6-7 ifhw Operators (continued) Operator or term Result lt True if the first operand is less than the second. gte True if the first operand is greater than or equal to the second. lte True if the first operand is less than or equal to the second. eq True if the two operands are equal. neq True if the two operands are not equal. not True if the operand is false. PCI:string True if a PCI device whose name includes string is found in the hardware discovery file. string is case-sensitive.
sstkencrypt Synopsis sstkencrypt Description The sstkencrypt utility encrypts the repository password. After it is encrypted, sets the encrypted password in the SSTKConfig.cmd file. This results in a more secure method of logging in to remote machines over the network. For information repository password guidelines, see “Editing the SSTKStart.cmd file” (page 17). NOTE: The sstkencrypt utility runs on Windows 32-bit systems. Example C:\utilities\win32>sstkencrypt.
sstkmount Synopsis sstkmount [repository_letter] [\\repository_name\share_name] [repository_encrypted_password] [/user:repository_user] Description The sstkmountt utility maps a remote share folder to a unit letter using the encrypted password provided by sstkencrypt. Parameters The letter to be assigned to the remote share folder. repository_letter \\repository_name\share_name The address of the remote machine and the share folder name.
A Support Matrix This section defines the systems and hardware supported for deployment using SSTK.
Table A-3 ISS Controllers (continued) Controller Part Number Driver for WS2003 SP2 Driver for SSTK Boot Image (WinPE 2.1) P800 AD335A OEM OEM E500 AH226A OEM OEM 1 Not supported with Windows Server 2008. Supported Emulex and QLogic Fiber Channel controllers Table A-4 QLogic Controllers Controller Part Number Driver for WS2003 SP2 Driver for SSTK Boot Image (WinPE 2.
Supported Intel, Broadcom, and Neterion NIC I/O cards Table A-6 Intel Cards Card Part Number Driver for WS2003 SP2 Driver for SSTK Boot Image (WinPE 2.1) Intel Dual Cu NIC A9900A OEM Retail Intel Dual FC NIC A9899A OEM Retail Intel PCIe 2P 1Gbe T AD337A OEM OEM Intel PCIe 2P 1Gbe SX AD338A OEM OEM Intel Mezz 2P 1GbE 445978-B21 OEM OEM Intel Mezz 4P 1GbE 447883-B21 OEM OEM Part Number Driver for WS2003 SP2 Driver for SSTK Boot Image (WinPE 2.