HP SmartStart Scripting Toolkit Linux Edition User Guide

HP SmartStart Scripting Toolkit Linux Edition
User Guide
Abstract
The Toolkit is designed for IT experts with experience in scripting operating system installations and configuring HP ProLiant server hardware.
Part Number: 415597-403
April 2011
Edition: 12
© Copyright 2005, 2011 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express
warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall
not be liable for technical or editorial errors or omissions contained herein.
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.
Microsoft, Windows, and Windows Server are U.S. registered trademarks of Microsoft Corporation. Intel is a trademark of Intel Corporation in the
U.S. and other countries.
Contents
Introduction .................................................................................................................................. 6
SmartStart Scripting Toolkit ......................................................................................................................... 6
Minimum requirements ............................................................................................................................... 6
Deployment using the SmartStart Scripting Toolkit ............................................................................. 7
Deployment overview................................................................................................................................. 7
Sample deployment procedure .................................................................................................................... 7
Creating a network share ................................................................................................................. 8
Capturing a reference configuration from the source server ................................................................... 8
Creating an ISO image to be written to CD ........................................................................................ 9
Configuring the target server ........................................................................................................... 10
Installing the operating system ......................................................................................................... 10
Advanced topics ......................................................................................................................... 11
SYSLINUX .............................................................................................................................................. 11
Booting using PXE ................................................................................................................................... 11
Setting up a TFTP server ................................................................................................................. 12
Populating the TFTP directory share .................................................................................................. 13
Setting up a DHCP server ............................................................................................................... 13
Booting from a USB drive key ................................................................................................................... 14
Performing an unattended operating system installation ................................................................................ 14
System hardware configuration ....................................................................................................... 15
Microsoft Windows install_win.sh sample script ................................................................................ 19
Red Hat Linux anaconda-ks.cfg sample file ....................................................................................... 19
Toolkit utilities ............................................................................................................................. 22
Syntax conventions .................................................................................................................................. 22
Utility online help .................................................................................................................................... 22
Using toolkit utilities ................................................................................................................................. 23
Using REBOOT ....................................................................................................................................... 23
REBOOT command-line syntax ........................................................................................................ 23
REBOOT command-line arguments ................................................................................................... 23
REBOOT return codes .................................................................................................................... 24
REBOOT command-line examples .................................................................................................... 24
Using SETBOOTORDER ........................................................................................................................... 24
SETBOOTORDER command-line syntax ............................................................................................ 24
SETBOOTORDER command-line arguments ....................................................................................... 24
SETBOOTORDER return codes ........................................................................................................ 24
SETBOOTORDER command-line examples ........................................................................................ 25
Using STATEMGR.................................................................................................................................... 25
STATEMGR command-line syntax .................................................................................................... 25
STATEMGR command-line arguments ............................................................................................... 25
STATEMGR return codes................................................................................................................. 25
STATEMGR command-line examples ................................................................................................ 26
Using RBSURESET.................................................................................................................................... 26
RBSURESET command-line syntax .................................................................................................... 26
RBSURESET command-line arguments ............................................................................................... 26
Contents
3
RBSURESET return codes ................................................................................................................ 26
Using BOOTEXTRACT .............................................................................................................................. 26
BOOTEXTRACT command-line syntax ............................................................................................... 26
BOOTEXTRACT command-line arguments ......................................................................................... 26
BOOTEXTRACT return codes ........................................................................................................... 27
Using HPDISCOVERY .............................................................................................................................. 27
HPDISCOVERY command-line syntax ............................................................................................... 27
HPDISCOVERY command-line arguments .......................................................................................... 27
HPDISCOVERY return codes ........................................................................................................... 27
HPDISCOVERY command-line examples ........................................................................................... 28
Using IFHW............................................................................................................................................ 28
IFHW command-line syntax ............................................................................................................ 28
IFHW command-line arguments ....................................................................................................... 28
IFHW return codes ........................................................................................................................ 28
IFHW command-line examples ........................................................................................................ 28
Expression operators and terms ....................................................................................................... 29
Expression examples ...................................................................................................................... 29
Using HWQUERY ................................................................................................................................... 29
HWQUERY command-line syntax .................................................................................................... 30
HWQUERY command-line arguments ............................................................................................... 30
HWQUERY return codes ................................................................................................................ 30
HWQUERY command-line examples ................................................................................................ 30
Using CONREP ....................................................................................................................................... 31
CONREP command-line syntax ........................................................................................................ 31
CONREP command line arguments .................................................................................................. 31
CONREP return codes .................................................................................................................... 32
CONREP screen output .................................................................................................................. 32
CONREP -s (Store to Data file) Example usage for HP ProLiant 100 series servers .................................. 32
CONREP –l (Load from Data File) Example Usage for HP ProLiant 100 series servers ............................. 33
CONREP Data File Sample Contents for HP ProLiant 100 series servers ................................................ 33
CONREP command file contents for HP ProLiant 300, 500, and 700 series servers ............................... 35
Using HPACUSCRIPTING ......................................................................................................................... 36
Capturing a configuration............................................................................................................... 36
Using an Input script ...................................................................................................................... 36
Creating an ACU script file ............................................................................................................. 37
Script file options ........................................................................................................................... 38
ACU scripting error messages ......................................................................................................... 48
Using HPLPCFG ...................................................................................................................................... 51
HPLPCFG command-line syntax ....................................................................................................... 52
HPLPCFG command-line arguments .................................................................................................. 52
HPLPCFG return codes ................................................................................................................... 52
HPLPCFG command-line examples ................................................................................................... 52
Using HPQLAREP .................................................................................................................................... 53
HPQLAREP command-line syntax ..................................................................................................... 53
HPQLAREP command-line arguments ................................................................................................ 53
HPQLAREP return codes ................................................................................................................. 54
HPQLAREP command-line examples ................................................................................................. 54
Using HPONCFG .................................................................................................................................... 55
HPONCFG command-line syntax ..................................................................................................... 55
HPONCFG command-line arguments ............................................................................................... 55
HPONCFG return codes ................................................................................................................. 56
HPONCFG command file contents ................................................................................................... 56
HPONCFG command-line examples ................................................................................................ 58
Contents
4
Using LO100CFG ................................................................................................................................... 58
LO100CFG command-line syntax .................................................................................................... 58
LO100CFG command-line arguments............................................................................................... 58
LO100CFG return codes ................................................................................................................ 59
LO100CFG command-file contents .................................................................................................. 59
Troubleshooting .......................................................................................................................... 60
Troubleshooting table .............................................................................................................................. 60
Technical support ........................................................................................................................ 61
Reference documentation ......................................................................................................................... 61
HP SmartStart Scripting Toolkit email support .............................................................................................. 61
HP contact information ............................................................................................................................. 61
Acronyms and abbreviations ........................................................................................................ 62
Index ......................................................................................................................................... 66
Contents
5
Introduction
SmartStart Scripting Toolkit
The SmartStart Scripting Toolkit is a server deployment product that delivers an unattended automated
installation for high-volume server deployments. This document describes how to best utilize the Toolkit to
configure HP ProLiant servers. It also contains information about the Toolkit utilities and how to use them in an
unattended environment. This document does not include information about installing the operating system.
The Toolkit is designed for IT experts with experience in scripting operating system installations and
configuring ProLiant server hardware.
CAUTION: Improper use of the Toolkit utilities can result in loss of critical data. Because of the
potential data-loss risk, only experienced individuals should use the Toolkit utilities. Before using
the Toolkit, all necessary precautions must be taken to ensure that mission-critical systems remain
online if a failure occurs.
Minimum requirements
Before beginning the deployment process, be sure to have the following items available:
•
SmartStart Scripting Toolkit Linux Edition
•
HP SmartStart Scripting Toolkit Linux Edition User Guide
•
A Linux workstation (any Linux distribution)
Introduction
6
Deployment using the SmartStart Scripting Toolkit
Deployment overview
The SmartStart Scripting Toolkit includes a set of utilities for configuring and deploying servers in a
customized, predictable, and unattended manner. These utilities enable you to duplicate the configuration of
a source server on target servers with minimal user interaction.
IMPORTANT: HP ProLiant 100 series servers do not support all toolkit commands. See
descriptions below for utility usage. Commands that are supported might not work as expected.
For a better understanding, read each section of the documentation carefully.
You can perform server deployments in many different ways using the Toolkit, but every deployment must
include the following basic steps:
1.
Create a network share.
2.
Prepare the bootable media (CD/DVD, USB drive key, or PXE).
3.
Configure the system and storage hardware on the target server.
4.
Perform the operating system installation.
HP also recommends installing the latest version of the PSP. To obtain the most current PSP, see the PSP
website (http://www.hp.com/servers/psp).
IMPORTANT: Not all options can be configured using Toolkit utilities. Some options must be
configured manually or with other configuration utilities, which are available online, before they
can be used with the Toolkit. See the option documentation for more information on configuration.
Sample deployment procedure
The following procedure is a case study of a typical deployment. This procedure assumes that you are
performing a CD-based installation and that you want to replicate an existing server configuration. The
process described in this section can vary depending on your specific requirements.
This section provides a simple overview of a basic deployment, but the flexibility of the SmartStart Scripting
Toolkit enables you to do much more. With an understanding of the basic steps and your own deployment
environment, you can use the Toolkit to further customize and automate the deployment process. For
information on automating deployments, see the "Advanced topics (on page 11)" section of this document.
Deployment using the SmartStart Scripting Toolkit 7
Creating a network share
To create a network share:
1.
Download the appropriate SmartStart Scripting Toolkit package from the Toolkit website
(http://www.hp.com/servers/sstoolkit).
2.
Extract the Toolkit package on a common server that resides on the same network as the servers to be
deployed.
3.
Use the Linux NFS Server Configuration Tool to share the directory in which you extracted the Toolkit
package and to assign read and write permissions for all hosts.
Capturing a reference configuration from the source server
1.
At the source server, boot the CD that contains the custom Linux Toolkit image.
2.
At the boot prompt, type bash, and then press Enter. When the process is complete, a command
prompt appears.
3.
Load the network drivers using the loadnet script:
/loadnet.sh
Deployment using the SmartStart Scripting Toolkit 8
4.
Load appropriate storage controller drivers:
modprobe -f cciss
5.
Load the channel interface driver for iLO:
insmod /opt/hp/hp-ilo/bin/`uname -r`/hp_ilo.ko
6.
Mount the network share:
mkdir /mnt/toolkit_share
mount -t nfs -o rw,nolock <ip of workstation>:/path/to/toolkit
/mnt/toolkit_share
7.
Capture a hardware discovery report using the HPDISCOVERY utility:
cd /mnt/toolkit_share/utilities
./hpdiscovery -f /mnt/toolkit_share/data_files/hpdiscovery.xml
8.
Capture the system BIOS configuration using the CONREP utility:
cd /mnt/toolkit_share/utilities
./conrep -s -f/mnt/toolkit_share/data_files/conrep.dat
9.
Capture the Smart Array configuration using the ACU utility:
cd /mnt/toolkit_share/utilities/hpacuscripting
./hpacuscripting -c /mnt/toolkit_share/data_files/hpacuscripting.dat
10.
Capture the iLO configuration using the HPONCFG utility:
cd /mnt/toolkit_share/utilities
./hponcfg -w /mnt/toolkit_share/data_files/hponcfg.dat
11.
Edit the iLO configuration report to create an iLO configuration script:
vi /mnt/toolkit_share/data_files/hponcfg.dat
Unmount the network share
umount /mnt/toolkit_share
12.
Reboot the source server, and then eject the Toolkit CD.
Creating an ISO image to be written to CD
The mkisofs command is used to create an ISO image. The following table describes the arguments used
with this command.
Argument
Description
-o linuxbootCD.iso
This argument is the output of the mkisofs
command, the ISO file.
-b isolinux/isolinux.bin
This argument sets isolinux.bin as the
bootloader.
-V LinuxBootCD
This argument sets the volume label of the CD.
./linuxbootCD
This argument specifies the target directory
that will be the root of the CD.
To create the ISO image, execute the following command at the shell prompt:
mkisofs -J -iso-level 3 -R -L -o linuxbootCD.iso \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-V LinuxBootCD \
-no-emul-boot -boot-load-size 4 \
Deployment using the SmartStart Scripting Toolkit 9
-boot-info-table \
./linuxbootCD
Now, the ISO file can be written to a CD.
Configuring the target server
1.
At the target server, boot the CD that contains the custom Linux Toolkit image.
2.
At the boot prompt, type bash and then press Enter. When the process is complete, a command prompt
appears.
3.
Load the network drivers using the loadnet script:
/loadnet.sh
4.
Load appropriate storage controller drivers:
modprobe -f cciss
5.
Load the channel interface driver for iLO:
insmod /opt/hp/hp-ilo/bin/`uname -r`/hp_ilo.ko
6.
Mount the network share:
mkdir /mnt/toolkit_share
mount -t nfs -o rw,nolock <ip of workstation>:/path/to/toolkit
/mnt/toolkit_share
7.
Apply the system BIOS configuration using the CONREP utility:
cd /mnt/toolkit_share/utilities
./conrep -l -f/mnt/toolkit_share/data_files/conrep.dat
8.
Apply the Smart Array configuration using the ACU utility:
cd /mnt/toolkit_share/utilities/hpacuscripting
./hpacuscripting -c /mnt/toolkit_share/data_files/hpacuscripting.dat
9.
Apply the iLO configuration using the HPONCFG utility:
cd /mnt/toolkit_share/utilities
./hponcfg -f /mnt/toolkit_share/data_files/hponcfg.dat
10.
Unmount the network share:
umount /mnt/toolkit_share
11.
Insert the operating system CD.
12.
Reboot the server to run the operating system installation.
Installing the operating system
See the "Advanced topics (on page 11)" section for information on performing an unattended operating
system installation. For additional information, see the following resources:
•
Operating system documentation
•
Kickstart or AutoYAST documentation
Deployment using the SmartStart Scripting Toolkit 10
Advanced topics
SYSLINUX
SYSLINUX is a free third-party bootloader available at the SYSLINUX web page
(http://syslinux.zytor.com/index.php).
SYSLINUX is a suite of programs that perform various boot functions. The SmartStart Scripting Toolkit uses the
following bootloader programs:
•
isolinux.bin—This program enables you to boot from ISO media.
•
pxelinux.0—This program enables you to boot using PXE protocol.
•
ldlinux.sys—This program enables you to boot from a USB drive key.
The bootloaders each require a configuration file to run:
•
isolinux.cfg—This configuration file is used for booting from ISO media.
•
default—This configuration file is used for booting using PXE.
•
syslinux.cfg—This configuration file is used for booting from a USB drive key.
In the boot files (isolinux.cfg, default, and syslinux.cfg), the following options are supported in the append
statements.
Option
Description
sstk_mount=<device>
This command specifies the device node or name to mount; for
example, /dev/hdc or 10.0.0.1:/nfs_bootstrap.
sstk_mount_type=<mount type>
sstk_mount_options=<mount
options>
This command specifies the file system type of the device; for
example, nfs, vfat, or iso9660.
This command specifies the options for mounting the device; for
example, ro, or ro,nolock for NFS.
sstk_script=<script filename>
This command specifies the administrator-created script that
executes to continue the process. Typically, the script uses Toolkit
tools to configure and update the system, and then begins an
operating system installation.
network=1
This command causes the bootstrap script to load network drivers
and use DHCP to acquire a network address.
The bootstrap script included with the Toolkit performs the following commands:
mount -t $sstk_mount_type $sstk_mount /mnt/main -o $sstk_mount_options
exec /mnt/main/$sstk_script
For more information about SYSLINUX usage, see the SYSLINUX web page.
(http://syslinux.zytor.com/index.php)
Booting using PXE
Advanced topics
11
IMPORTANT: A basic understanding of DHCP, PXE, and TFTP is required to perform the
procedure described in this section.
NOTE: Examples in this section might not be specific to your operating system environment.
Refer to the Linux system administrator's guide for more information about your particular
environment.
The following figure illustrates a simplified Toolkit PXE boot.
Setting up a PXE boot environment requires the following general steps:
1.
Set up a DHCP server with the appropriate options.
2.
Set up a TFTP server with the appropriate options.
3.
Populate the TFTP directory share with the Linux Toolkit boot components.
These steps assume that a Linux workstation is used as the DHCP/TFTP server. You might need to download
additional components and adapt the following instructions to suit your environment.
Setting up a TFTP server
Most Linux installations include a TFTP server and an automated method of launching the server upon
receiving a TFTP request. The parent process for detecting a TFTP request and launching the TFTP server is
called xinetd. However, you might have to enable the TFTP service. The TFTP file is located in the
/etc/xinetd.d/ directory. The following is a sample TFTP file:
# default: off
Advanced topics
12
# description: The tftp server serves files using the \
# trivial file transfer protocol. The tftp protocol is \
# often used to boot diskless workstations, download \
# configuration files to network-aware printers and to \
# start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = yes
per_source = 11
}
cps = 100 2
In this example, "disabled" is the default setting, and /tftpboot is the root directory for all client access.
To enable the TFTP service on your server, edit the disable line to read:
disable = no
Populating the TFTP directory share
Use the /tftpboot directory from the "Setting up a TFTP server (on page 12)" section as the directory from
which TFTP clients will get their files. To populate the TFTP directory share:
1.
Create a /tftpboot directory, if needed.
2.
Copy the necessary boot files to the /tftpboot directory:
o
pxelinux.0 (the SYSLINUX binary used for PXE boot)
o
initrd.img (the Linux file system)
o
vmlinuz (the Linux kernel)
3.
Create a pxelinux configuration file subdirectory called /tftpboot/pxelinux.cfg.
4.
Copy the default file (the boot configuration used by pxelinux.0) into the /tftpboot/pxelinux.cfg/
directory.
The tftpboot directory should now contain the following items:
/tftpboot/pxelinux.0
/tftpboot/initrd.img
/tftpboot/vmlinuz
/tftpboot/pxelinux.cfg/default
Setting up a DHCP server
To set up a DHCP server, create and edit a dhcpd.conf file in the /etc directory of your server. The following
is a sample dhcpd.conf file:
allow booting;
allow bootp;
ddns-update-style interim;
Advanced topics
13
[You must customize the file by inserting the appropriate DHCP directives, IP ranges, subnet masks, and so
on here.]
next-server IP_ADDRESS_OF_TFTP_SERVER;
filename "pxelinux.0";
The next-server command tells the DHCP client where to send the TFTP get request.
The filename command tells the DHCP client which file to get. In this example, the file is pxelinux.0.
When you have finished creating the dhcpd.conf file, restart the DHCP server:
/etc/init.d/dhcpd restart
Booting from a USB drive key
Some applications require the use of a writable medium. While booting from CD is not suitable for this
purpose, a USB drive key provides the ideal medium as a writable medium.
NOTE: Booting from a USB drive key is supported only on certain ProLiant servers. For more
information, see the HP Insight Foundation suite for ProLiant website
(http://www.hp.com/go/foundation).
To set up a USB drive key to boot the Toolkit environment:
1.
Download ss_toolkit.linux.tar.gz@8.40_pubsw-linux_en from www.hp.com.
Extract the file to a directory of your choice. (The example below uses /Toolkit).
2.
Make a directory, extract the files, and then change the directory to the extracted toolkit directory.
mkdir -p /Toolkit
tar xfz ss-scripting-toolkit-linux-8.50.tar.gz -C /Toolkit
cd /Toolkit/ss-scripting-toolkit-linux-8.50
3.
Then enter the following command on the BASH command-line prompt.
./mkusbkey.sh /dev/XXX
where XXX is the device node of your USB drive key.
If you do not know the device node associated with your USB drive key, run the fdisk –l command
to view the devices available to the operating system.
If the script creates the key successfully, the following message displays:
USB Key created successfully on device /dev/XXX
Performing an unattended operating system
installation
Sample scripts are provided with the Toolkit to simplify the installation process. These scripts are used for:
•
System hardware configuration
•
Operating system preinstallation configuration
However, these scripts must be modified for your particular environment.
Advanced topics
14
System hardware configuration
The sample install_rhel4.sh script performs many hardware configuration tasks, including:
•
Copying all toolkit utilities from the network share to the target server
•
Running hardware discovery to determine server type
•
Obtaining server ID information from the hardware discovery file
•
Copying server-specific configuration script and data files from the network share
•
Loading drivers for storage controllers and any other devices that must be configured
•
Running the CONREP utility
•
Running the HPACUSCRIPTING utility, if needed (This action is server-specific.)
•
Running any other configuration utilities
•
Running hardware discovery to determine the boot controller
•
Obtaining the device node of the boot controller (This information is required for the disk-carving
portion of the operating system setup.)
•
Running the operating system-specific setup script
The scripting for these steps must be adapted to your server deployment process. In particular, be sure to
change the IP address and path of the NFS server to match your environment. You might also need to make
other modifications, such as adding extra configuration steps (for instance, running HPONCFG to configure
iLO) or additional servers.
The sample install_rhel4.sh script is similar to the following:
#!/bin/bash
## this script's methods work for RHEL 5
## SAMPLE. Change the NFS mount points to match your environment
export NFS_TOOLKIT_DIR=10.0.0.1:/TOOLKIT
## Internal Variables, do not modify
export TOOLKIT=/TOOLKIT
export NFS_MAIN=/mnt/nfs
export HPDISCOVERY_FILE=/TOOLKIT/hpdiscovery.xml
export SERVERNAME=
export BOOTDEVNODE=
clear
echo "*** Performing RHEL4 installation ***"
echo "Mounting NFS share"
mkdir ${NFS_MAIN}
mount -t nfs ${NFS_TOOLKIT_DIR} ${NFS_MAIN} -o ro,nolock
if [ $? != 0 ]; then
echo "Unable to mount NFS share, make sure you updated the $0 script with
the location of your NFS server."
exec /bin/bash
fi
echo "Copying over toolkit scripts and utilities from NFS share"
cd ${TOOLKIT}
cp -a ${NFS_MAIN}/scripts/* ${TOOLKIT}
Advanced topics
15
cp -a ${NFS_MAIN}/utilities/* ${TOOLKIT}
cp -a ${NFS_MAIN}/data_files ${TOOLKIT}
echo ""
echo "Loading storage drivers for hardware"
./load_modules.sh
echo ""
echo "Pausing to allow drivers to finish loading"
sleep 15
echo ""
echo "Configure server"
## run hardware discovery
./hpdiscovery -f ${HPDISCOVERY_FILE}
## use hwquery to fetch the SystemName from hardware discovery file. ( extra
" " are required )
export "`./hwquery ${HPDISCOVERY_FILE} allboards.xml
SERVERNAME=SystemName`";
echo "Server Type: ${SERVERNAME}"
case "${SERVERNAME}" in
"ProLiant DL380 G4" )
# Apply System Configuration
./conrep -l -fdata_files/dl380g4_conrep.dat
# Apply Array Configuration for Smart Array 6i Controller if present
./ifhw ${HPDISCOVERY_FILE} allboards.xml "PCI:Smart Array 6i Controller" 2>
/dev/null
if [ $? = 0 ] ; then
cd ${TOOLKIT}/hpacuscripting
./hpacuscripting -i ../data_files/dl380g4_sa6i_hpacuscripting.dat
fi
# Apply Array Configuration for Smart Array P600 Controller if present
./ifhw ${HPDISCOVERY_FILE} allboards.xml "PCI:Smart Array P600 Controller"
2> /dev/null
if [ $? = 0 ] ; then
cd ${TOOLKIT}/hpacuscripting
./hpacuscripting -i ../data_files/dl380g4_p600_hpacuscripting.dat
fi
## ADD EXTRA DL380 G4 Configuration Steps HERE
;;
"ProLiant BL45p G1" )
./conrep -l -fdata_files/bl45pg1_conrep.dat
# Apply Array Configuration for Smart Array 6i Controller if present
./ifhw ${HPDISCOVERY_FILE} allboards.xml "PCI:Smart Array 6i Controller" 2>
/dev/null
if [ $? = 0 ] ; then
cd ${TOOLKIT}/hpacuscripting
./hpacuscripting -i ../data_files/bl45pg1_sa6i_hpacuscripting.dat
Advanced topics
16
fi
## ADD EXTRA BL45p G1 Configuration Steps HERE
;;
"ProLiant ML310 G2" )
./conrep -l -fdata_files/ml310g2_conrep.dat
./ifhw ${HPDISCOVERY_FILE} allboards.xml "PCI:Intel(R) 6300ESB Ultra ATA
Storage/SATA Controller"
if [ $? = 0 ] ; then
echo "Plain SATA found"
# Plain SATA, set BOOTDEVNODE manually since hardware discovery won't find
IDE devices
export BOOTDEVNODE=/dev/hda
fi
## ADD EXTRA ProLiant ML310 G2 Configuration Steps HERE
;;
## ADD MORE SERVERS HERE
ProLiant* )
echo "No configuration process defined for this ProLiant server"
echo "Update $0 with steps for this ProLiant server"
exec /bin/bash
;;
* )
echo "Unrecognized Server"
exec /bin/bash
;;
esac
## CONTINUE COMMON INSTALL PROCESS
cd ${TOOLKIT}
echo "Pausing to allow drivers to catch up"
sleep 5
echo ""
echo "Rerun hardware discovery to find boot device"
./hpdiscovery -f ${HPDISCOVERY_FILE}
## use hwquery to fetch the boot dev node from hardware discovery file.
if [ -z ${BOOTDEVNODE} ]; then
export `./hwquery ${HPDISCOVERY_FILE} allboards.xml BOOTDEVNODE=DevNode`
fi
echo "Boot Device=${BOOTDEVNODE}"
if [ -z ${BOOTDEVNODE} ]; then
echo "MISSING boot device dev node. Check that the drivers are loaded."
exec /bin/bash
fi
ls -al ${BOOTDEVNODE}*
Advanced topics
17
ln -s ${BOOTDEVNODE} /dev/sssd
echo "### Linux Unattended Install using Kickstart ###"
echo "clearing mbr and a few more sectors"
dd if=/dev/zero of=/dev/sssd bs=512 count=32
echo "forcing kernel to re-read partition table"
sfdisk --re-read /dev/sssd
sleep 5
echo "landing mbr"
dd if=${NFS_MAIN}/linux_unattend/generic.mbr of=/dev/sssd bs=512 count=1
echo "create new 256M FAT16 partition using sfdisk"
echo "0,256,6,*" | sfdisk -uM -D /dev/sssd
echo "forcing kernel to re-read partition table"
sfdisk --re-read /dev/sssd
sleep 5
## make symlink for first partition, usually sda1 or c0d0p1
if test -e ${BOOTDEVNODE}1 ; then
ln -s ${BOOTDEVNODE}1 /dev/sssd1
elif test -e ${BOOTDEVNODE}p1 ; then
ln -s ${BOOTDEVNODE}p1 /dev/sssd1
else
echo "Partition 1 missing, check that partition creation succeeded"
exec /bin/bash
fi
ls -al /dev/sssd1
cd ${NFS_MAIN}/linux_unattend/rhel4/
echo "landing diskboot.img from RHEL4-disc1/images/"
dd if=diskboot.img of=/dev/sssd1
## mount disk
echo "mounting to /mnt/dos"
mount -t vfat /dev/sssd1 /mnt/dos
##### MAKE SURE YOU MODIFY syslinux-rh.cfg FOR YOUR ENVIRONMENT #######
cp -a syslinux-rh.cfg /mnt/dos/syslinux.cfg
cd ${TOOLKIT}
## unmount disk
umount /mnt/dos
umount ${NFS_MAIN}
## unmount everything else
#umount -a
#echo "Rebooting"
#sleep 5
#/bin/reboot c:
Advanced topics
18
Microsoft Windows install_win.sh sample script
The install_win.sh sample script performs many of the same hardware configuration tasks described in
"Performing an unattended operating system installation (on page 14)."
Additionally, the sample install_win.sh script for Microsoft® Windows® performs preinstallation tasks,
including:
•
Creating a 2 GiB FAT16 primary partition
•
Formatting the partition for the FAT file system
•
Creating a boot sector for the partition
•
Copying the FreeDOS operating system to the new C drive
•
Copying the Windows® installation sources, the $oem$ directory, and unattend.txt files to the C drive
To use the install_win.sh sample script to install Microsoft® Windows® and install_w2k8.sh sample script to
install Windows Server® 2008:
1.
Create an unattend.txt file by following the instructions in the Microsoft® documentation
(http://support.microsoft.com/kb/155197). A sample unattend.txt file is included in the
windows_unattend directory.
2.
Copy the Windows® source files to the installation source. In this sample script, the installation source
is a NFS file share.
3.
Adapt the script to perform the correct hardware configuration, and change the NFS server IP address
and path to match your environment.
4.
Update the syslinux configuration file (pxelinux.cfg, isolinux.cfg, or syslinux.cfg) to reference the
install_win.sh or install_w2k8.sh sample script.
Red Hat Linux anaconda-ks.cfg sample file
The operating system-dependent unattended installation file is not created by the Toolkit utilities. The user
must create the file separately. In the following example, bold lines indicate modifications made to fully
automate the installation of the operating system.
Refer to the operating system documentation or the Red Hat Linux 9: Red Hat Linux Customization Guide
(http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/part-install-info.html) for a
complete description of the options that can be modified in the anaconda-ks.cfg unattended installation file
to customize the installation of Red Hat Linux.
lang en_US
REM *** Modify the network settings to reflect required
REM *** network settings.
network --bootproto dhcp
REM *** The IP address should be the address of the
REM *** Linux repository server. The /SHAREVOL/RedHatCD
REM *** must be shared as an NFS volume.
nfs --server 192.1.1.3 --dir /SHAREVOL/RedHatCD
device ethernet eepro100
Advanced topics
19
keyboard "us"
zerombr yes
clearpart --Linux
part /boot --size 30
part swap --size 128
part / --size 100 --grow
install
mouse genericps/2
timezone Etc/GMT-6
#xconfig --server "Mach64" --monitor "generic monitor"
skipx
rootpw iscrypted $1$ltK6jzho$7pPbE8WPNAeg44UlXqG27
auth --useshadow --enablemd5
lilo --location partition
reboot
%packages
ElectricFence
setup
filesystem
basesystem
ldconfig
glibc
shadow-utils
mkkickstart
mktemp
termcap
libtermcap
bash
MAKEDEV
SysVinit
XFree86-Mach64
ncurses
info
grep
XFree86-libs
chkconfig
XFree86-xfs
anacron
anonftp
fileutils
mailcap
textutils
apache
apmd
arpwatch
ash
at
authconfig
autoconf
automake
yp-tools
Advanced topics
20
ypbind
ypserv
zlib
zlib-devel
%post
The previous example contains a limited list of packages to be installed. Add to this section any other
packages to be installed.
The server deployment configuration and operating system installation process is complete.
Advanced topics
21
Toolkit utilities
Syntax conventions
Syntax refers to the way a command and parameters must be entered. Unless specified otherwise, enter
commands, parameters, and switches in all uppercase or all lowercase letters.
Sample syntax line:
SAMPLE[/R|-R][PATH]FILENAME[...]
Command element
Description
SAMPLE
Specifies the name of the command.
/ or -
Indicates a command line switch for executable files.
PATH
Specifies the route the operating system must follow through
the directory structure to locate a directory or file. A path and
file name must be specified only if the file is not in the current
directory.
FILENAME
Specifies a file name. This document uses uppercase file
names. A device name or a drive letter cannot be specified
for a file name.
...
Indicates that the previous parameter or switch can be
repeated several times in a command. Enter only the
information, not the ellipsis (…).
In this document, the length of an example command or syntax might require it to continue on another line.
When this happens, the second line (and any additional lines) is indented under the first line.
Placeholder items used in the syntax lines in this chapter include:
•
Source—Specifies the location of the data to be transferred to a specified destination or used as input
to a command. The source can consist of a drive letter and colon, a directory name, a file name, or a
combination of these items.
•
Destination—Specifies the destination to which the source transfers the data. The destination can consist
of a drive letter and colon, a directory name, a file name, or a combination of these items.
•
String—Specifies a group of characters to be treated as a unit. A string can include letters, numbers,
spaces, or any other character and is usually enclosed in double quotation marks.
Utility online help
Most Toolkit utilities include usage instructions. To obtain help with the syntax, parameters, and switches of
a particular Toolkit utility, enter the file name followed by /? in the command line. For example, for usage
instructions on the CONREP utility, enter the following command:
CONREP /?
The utility displays information about its command line syntax, argument, and switches.
Toolkit utilities
22
Using toolkit utilities
The Toolkit utilities control the installation process, read the source server configuration, and duplicate the
configuration on a target server through a generated script file.
The Toolkit utilities include:
•
CONREP
•
HPACUSCRIPTING
•
HPDISCOVERY
•
HPONCFG (Utility only supports HP ProLiant 300/500/700 and Blade Servers)
•
HPLPCFG
•
HPQLAREP
•
HWQUERY
•
IFHW
•
LO100CFG (Utility only supports HP ProLiant 100 series servers)
•
RBSURESET
•
REBOOT
•
SETBOOTORDER (Limited functionality for HP ProLiant 100 series servers)
•
STATEMGR (Utility is not supported on 100 series servers)
Using REBOOT
REBOOT, together with other utilities, is used from a batch file to control server reboots. This utility enables
the user to reboot the server with control over which device is the boot device. If no boot drive argument is
passed on to REBOOT, then the utility reboots the server using whichever drive is specified as the default
drive.
REBOOT command-line syntax
REBOOT [DRIVE:] [/?]
REBOOT command-line arguments
Command line argument
Description
[DRIVE:]
Valid arguments that can be passed to REBOOT are A:, C:, CD, RBSU, or
PXE. By specifying an argument, the drive indicated is set to boot on the
next reboot, and the system is restarted. If no argument is provided, then
the system is set to boot using the defined boot order.
/cold
This argument performs a one-time cold boot of the system.
/?
This argument displays help information.
Toolkit utilities
23
REBOOT return codes
There are no return codes for the REBOOT utility.
REBOOT command-line examples
Command-line argument
Description
REBOOT A:
This command reboots the system to the A: drive.
REBOOT PXE
This command reboots the system by itself to the PXE NIC.
Using SETBOOTORDER
SETBOOTORDER enables you to set the order in which devices are booted, including diskette drives,
CD-ROM drives, hard drives, PXE, and USB devices. This utility sets the boot order only for devices that exist
for a server. The devices can be set to boot in any order.
SETBOOTORDER cannot be used to set the storage controller order. You must use the CONREP utility. For
more information about setting the controller order, see "Using CONREP (on page 31)."
NOTE: Any changes made to the SETBOOTORDER take affect at the next reboot. For HP ProLiant
servers with Oxx ROM Family (most 100 series servers), only one device can be set as the boot
device and others cannot be re-ordered. These Oxx servers do not support the default or usb
parameters.
SETBOOTORDER command-line syntax
setbootorder [floppy cdrom pxe hd usb | default] [/?]
SETBOOTORDER command-line arguments
Options are disabled if not listed in the argument.
Command-line argument
Description
floppy cdrom pxe hd usb
The order of these arguments sets the boot order for the system
devices. Each term can be used only once in any order. It is not
necessary to use all terms. HP ProLiant 100 series servers can only
pass in one option.
default
This argument resets the boot order to the factory default.
/?
This argument displays help information.
SETBOOTORDER return codes
Value
Meaning
0
The boot order was set successfully.
Toolkit utilities
24
SETBOOTORDER command-line examples
Command-line argument
Description
SETBOOTORDER cdrom hd pxe usb floppy
This command sets the system devices to boot in
this order: CD-ROM drive, hard drive, PXE, USB,
diskette drive.
SETBOOTORDER default
This command sets the boot order to the factory
default.
Using STATEMGR
The STATEMGR utility enables the user to keep track of the execution state during system reboots. This utility
saves persistent state information across reboots of the system.
NOTE: The STATEMGR utility is not supported on 100 series servers.
STATEMGR command-line syntax
STATEMGR [/R | -R] [EVNAME] [/?]
- or STATEMGR [/W | -W] [EVNAME] [VALUE] [/?]
STATEMGR command-line arguments
Command-line argument
Description
/R or –R
This argument reads the state of the environment variable defined by
[EVNAME]. The value of the environment variable is returned as a
return code.
/W or -W
This argument writes the state defined by [VALUE] to an environment
variable defined by [EVNAME].
EVNAME
This argument creates an environment variable used to represent the
state to manage. The variable can be any word that is eight characters
or less.
VALUE
This argument is used only with the /W or -W arguments to indicate
the value of the environment variable to maintain. [VALUE] is limited to
integers between 0 and 254. If no value is provided when using /W
or -W, the state environment variable is cleared.
/?
This argument displays help information.
STATEMGR return codes
Value
Meaning
0
The command was completed successfully.
n
N arguments were ignored because they were not in the variable=<string> format.
Toolkit utilities
25
STATEMGR command-line examples
Command-line argument
Description
STATEMGR /W PHASE 3
STATEMGR writes the state value 3 to the PHASE environment
variable.
STATEMGR /R PHASE
STATEMGR reads the PHASE environment variable and returns its
value as a return code. If the environment variable has been reset or
no value has been stored, the return code is 0.
Using RBSURESET
RBSURESET resets the BIOS settings for a server by reapplying the default factory setting at the next reboot.
RBSURESET does not erase array configurations or logical storage volumes.
NOTE: This command is not yet supported on HP ProLiant 100 series servers, but will be in
futures releases.
RBSURESET command-line syntax
rbsureset [/?]
RBSURESET command-line arguments
Command-line argument
Description
[/?]
This argument displays help information.
RBSURESET return codes
Value
Meaning
0
The BIOS settings have been successfully reset to the factory default.
1
The BIOS settings have not been reset.
Using BOOTEXTRACT
BOOTEXTRACT is used to extract the boot sector files from Windows Server® 2003. These files can be used
later in the installation of Windows Server® 2003.
BOOTEXTRACT command-line syntax
bootextract [ufat.dll][ntldr.bss][ntldr2.bss]
BOOTEXTRACT command-line arguments
Command-line argument
Description
ufat.dll
Full path to the ufat.dll (from Windows® 2003) file to extract the boot
sector.
Toolkit utilities
26
Command-line argument
ntldr.bss
ntldr2.bss
Description
Full path to the output file to save the first part of the boot sector.
Full path to the output file to save the second part of the boot sector.
BOOTEXTRACT return codes
Value
Meaning
0
The command was completed successfully.
Any non-0 return code is an error. For details, see the error message.
n
Using HPDISCOVERY
HPDISCOVERY provides an inventory of the server being configured and must run on each deployed server.
HPDISCOVERY is executed by the server configuration script and captures the following information:
•
System ID (This field is not supported on 100 series servers)
•
System name
•
ROM information
•
Processor information
•
NIC information
•
PCI devices present in the system
•
HP Smart Array controller information
User process decisions can be made based on data that is in the file created by this utility.
NOTE: Information may not be as detailed on HP ProLiant 100 series servers.
HPDISCOVERY command-line syntax
hpdiscovery [-f filename] [/?]
HPDISCOVERY command-line arguments
Command-line argument
Description
-f filename
This argument specifies the location and name of the Hardware
Discovery data file.
-?
This argument displays help information.
HPDISCOVERY return codes
Value
Meaning
0
The command was completed successfully. A usage message might appear.
1
The command contained an invalid parameter.
Toolkit utilities
27
HPDISCOVERY command-line examples
Command-line argument
Description
hpdiscovery -f
/toolkit/hpdiscovery.xml
This command generates the file hpdiscovery.xml in the
/toolkit directory.
Using IFHW
IFHW is used from a script file, in conjunction with other utilities, to control the deployment. The IFHW utility
enables you to make intelligent queries against the hardware discovery file. Queries take the form of a
logical expression, and the result of the expression is returned as the return code of the tool, which the hosting
script can use to conditionally perform actions.
IFHW command-line syntax
ifhw [path]hpdiscoveryfilename [path]allboards.xml <expression>
IFHW command-line arguments
Command-line argument
Description
[path]hpdiscoveryfilename
This argument specifies the hardware discovery file used to
run the query.
[path]allboards.xml
This argument specifies the allboards.xml PCI device list file,
which is used to convert PCI IDs found in hardware discovery
into device names, such as "Smart Array 5i Controller."
<expression>
This argument specifies the query expression. See
"Expression operators and terms (on page 29)."
IFHW return codes
Value
Meaning
0
The expression is true.
2
The expression was not understood or an argument was invalid.
1
The expression is false.
IFHW command-line examples
Command-line argument
Description
ifhw hpdiscovery.xml allboards.xml
"PCI:Smart Array 5i"
This command returns the following error levels:
•
•
•
ERRORLEVEL 0 (True) if the Smart Array 5i is present
ERRORLEVEL 1 (False) if the device is not present
ERRORLEVEL 2 (Error) if the expression could not be
understood
Toolkit utilities
28
Expression operators and terms
Operator or term
Result
and
True if both operands are true
or
True if either operand is true
gt
True if the first operand is greater than the second
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.
HWQ:<string>
The hardware discovery file is searched for <string>, and the corresponding value is
the value of this term. <string> is case-sensitive.
<string>
A literal string, used for comparison
<number>
A literal number, used for comparison
Expression examples
Expression input
Result
"PCI:Smart Array 5i"
True if the Smart Array 5i Controller is found in the
system
HWQ:TotalRAM gte 512
True if the amount of RAM in the hardware
discovery file is at least 512
HWQ:ROMDate neq "11/12/2004"
True if the ROM date in the hardware discovery file
is not 11/12/2004
HWQ:SystemName eq "ProLiant DL380 G2"
True if the system name in the hardware discovery
file exactly matches "ProLiant DL380 G2"
HWQ:SystemName eq "ProLiant DL380 G2" and True if the system is a ProLiant DL380 G2 with a
"PCI:Smart Array 5i" and HWQ:ROMDate eq Smart Array 5i Controller present and a ROM date
"11/12/2004"
of 11/12/2004
"PCI:Smart Array 5i" or "PCI:Smart Array True if the system contains a Smart Array 5i
6i"
Controller or a Smart Array 6i Controller
Using HWQUERY
HWQUERY is used from a script, in conjunction with other utilities, to control the deployment. The
HWQUERY utility enables you to use data from the hardware discovery file in your own scripts. HWQUERY
cannot alter environment variables directly. To set the variable, the output of HWQUERY must be used by the
hosting script. The most common way to use it is to write the output to an intermediate script that is
subsequently called by the hosting script.
Toolkit utilities
29
HWQUERY command-line syntax
hwquery [path]hpdiscoveryfilename [path]allboards.xml variable=<string>
...
HWQUERY command-line arguments
Command-line argument
Description
[path]hpdiscoveryfilename
This argument specifies the hardware discovery file used to
run the query.
[path]allboards.xml
This argument specifies the allboards.xml PCI device list file,
which is used to convert PCI IDs found in hardware discovery
into device names, such as "Smart Array 5i Controller."
variable=<string>
In this argument, variable is the name of an environment
variable and <string> is a PCI device name or the name of an
element from the hardware discovery file. Arguments must be
in quotes if <string> contains spaces. <string> is
case-sensitive.
...
You can specify multiple variable=<string> arguments.
HWQUERY return codes
Value
Meaning
0
The command was completed successfully
n
N arguments were ignored because they were not in the variable=<string> format.
HWQUERY command-line examples
Command-line argument
Description
hwquery hpdiscovery.xml allboards.xml
MY_SYS_RAM=TotalRAM
For a hpdiscovery.xml file that contains
<TotalRAM>768</TotalRAM>, HWQUERY
produces the following:
MY_SYS_RAM=768
hwquery hpdiscovery.xml allboards.xml
"TEST=Smart Array"
hwquery hpdiscovery.xml allboards.xml
MYRAM=TotalRAM MYROMDATE=ROMDate
hwquery hpdiscovery.xml allboards.xml
"TEST=smart array 5i"
For a hpdiscovery.xml file that indicates a Smart
Array 5i Controller is present, HWQUERY
produces the following:
TEST=Smart Array 5i Controller
For a hpdiscovery.xml file that contains
<TotalRAM>768</TotalRAM> and
<ROMDate>11/15/2002</ROMDate>,
HWQUERY produces the following:
MYRAM=768
MYROMDATE=11/15/2002
Although the controller is present, HWQUERY
produces the following:
TEST=
This behavior is correct. The string is case-sensitive,
and the argument uses lowercase lettering instead
of the uppercase found in the allboards.xml file.
Toolkit utilities
30
Using CONREP
The CONREP utility generates a system configuration XML file used to duplicate the hardware configuration
of one ProLiant server onto another. The CONREP utility uses the hardware configuration XML file to identify
and configure the system, which defaults to conrep.xml. You can change the default using the -x option. The
actual system configuration file is captured as an XML data file. The default name is conrep.dat.
CAUTION: Improper modification of the CONREP data files can result in the loss of critical data.
Only experienced users of the Toolkit should attempt to modify the data files. Because of the
potential risk of data loss, take all necessary precautions to ensure that mission-critical systems
remain online if a failure occurs.
The CONREP utility reads the state of the system environment settings to determine the server configuration
and writes the results to a file that you can edit. The CONREP utility uses the data in the generated file to
configure the target server hardware.
The CONREP utility uses an XML definition file to determine what information to retrieve from and restore to
the server. You can modify this file to update new features or restrict features when capturing configurations.
The default conrep.xml file contains common hardware configuration settings for most ProLiant 300, 500,
and 700 series servers. Some platforms require special settings that are contained in other XML files. These
files are included in the Scripting Toolkit and are available from the HP website (http://www.hp.com) on the
support page for each platform. You can use these files with the -x option to configure systems that are not
supported by the default hardware configuration file.
Many fields in conrep.xml file contain help text that enables you to configure the field meanings. This
information is also added to the conrep.dat file. Hardware features that are not supported by the existing
platform or ROM version appear in the conrep.dat file.
IMPORTANT: The file format for the DOS version of CONREP and the current version of
CONREP are not compatible.
CONREP command-line syntax
conrep [-s | -l] [-xhardware_definition_file] [-fsystem_configuration_file]
[-?]
CONREP command line arguments
Command-line argument
Description
-s
This argument saves the system configuration to a
file.
-l
This argument loads the system configuration
from a file and writes it to the target server.
-xfilename
This argument defines the name and location of
the XML hardware definition file. The default file
is conrep.xml.
-ffilename
This argument defines the name and location of
the system configuration data file. The default file
is conrep.dat.
-?
This argument displays help information.
Toolkit utilities
31
CONREP return codes
Value
Meaning
0
The command was completed successfully.
2
The system configuration data file (conrep.dat) is corrupt or not found.
1
The hardware definition data file (conrep.xml) is corrupt or not found.
4
The system administrator password is set. The settings cannot be changed unless this
password is cleared.
5
The XML hardware definition file (conrep.xml) is corrupt or not appropriate for the current
platform.
CONREP screen output
A typical screen output generated by CONREP is similar to the following:
conrep 3.00 3.10 - SmartStart Scripting Toolkit Configuration Replication Program
Copyright (c) 2007-2010 Hewlett-Packard Development Company, L.P.
System Type: ProLiant DL360 G4
ROM Date: 08/16/2005
ROM Family: P52
XML System Configuration: conrep.xml
Hardware Configuration: demo.dat
File contains global platform restrictions
Global Restriction: [minimumconrepversion] OK
Platform check:
[ProLiant DL3] match
[ProLiant DL5] no match
Saving configuration data to demo.dat.
CONREP Return code: 0
CONREP -s (Store to Data file) Example usage for HP ProLiant 100
series servers
To extract the BIOS settings from an SL160z G6 server and save the configuration to an "sl160zconrep.dat"
data file:
[root@ilo002481b08134 conrep]# ./conrep -s -xconrepSL160zg6_20090728.xml
-fsl160zconrep.dat
conrep 3.00 - SmartStart Scripting Toolkit Configuration Replication Program
Copyright (c) 2007-2009 Hewlett-Packard Development Company, L.P.
System Type: ProLiant SL160z G6
ROM Date : 07/28/2009
ROM Family : O33
Toolkit utilities
32
Processor Manufacturer : Intel
XML System Configuration : conrep_SL160zg6_20090728.xml
Hardware Configuration : sl160zconrep.dat
Saving configuration data to sl160zconrep.dat.
CONREP Return code: 0
NOTE: The file names after the -x and -f options must be specified, otherwise, the default file
names Conrep.xml and Conrep.dat are used, respectively.
NOTE: A platform specific XML file needs to be used for HP ProLiant 100-series servers. If you
use the default name this may cause an error while running the CONREP utility.
CONREP –l (Load from Data File) Example Usage for HP ProLiant
100 series servers
To load the BIOS configuration settings from a previously captured/edited data file (in this case
“sl160zconrep.dat”) to an SL160z G6 server:
[root@ilo002481b08134 conrep]# ./conrep -l -xconrepSL160zg6_20090728.xml -fsl160zconrep.dat
conrep 3.00 - SmartStart Scripting Toolkit Configuration Replication Program
Copyright (c) 2007-2009 Hewlett-Packard Development Company, L.P.
System Type: ProLiant SL160z G6
ROM Date : 07/28/2009
ROM Family : O33
Processor Manufacturer : Intel
XML System Configuration : conrep_SL160zg6_20090728.xml
Hardware Configuration : sl160zconrep.dat
Loading configuration from sl160zconrep.dat.
ASM values not set! aborting
CONREP Return code: 0
NOTE: The "ASM values not set! aborting" message shown in the output above is a spurious
error message meant only for 300-series and above ProLiant systems. It should be ignored if seen
on an HP ProLiant 100-series server.
CONREP Data File Sample Contents for HP ProLiant 100 series
servers
A typical data file generated by CONREP is similar to the following:
<Conrep_data>
<Section name="Controller_Order">
<Id0>0e 11 40 80 </Id0>
Toolkit utilities
33
<Slot0>00 </Slot0>
<BusDev0>00 08 </BusDev0>
<Rest0>01 </Rest0>
<Id1>0e 11 ff ff </Id1>
<Slot1>00 </Slot1>
<BusDev1>00 78 </BusDev1>
<Rest1>c1 </Rest1>
/Section>
<Section name="Language">ENGUSAus </Section>
<Section name="System_WOL">Disabled</Section>
<Section name="System_APIC">Auto Set</Section>
<Section name="System_COMA">COM1</Section>
<Section name="System_COMA_IRQ">IRQ4</Section>
<Section name="System_COMB">Disabled</Section>
<Section name="System_COMB_IRQ">Undefined</Section>
<Section name="System_LPT">LPT1</Section>
<Section name="System_LPT_IRQ">IRQ7</Section>
<Section name="Diskette_Write_Control">Writes_Enabled</Section>
<Section name="NMI_Debug_Button">Disabled</Section>
<Section name="ACPI_Power_Button">Disabled</Section>
<Section name="ASR">Disabled</Section>
<Section name="ASR_Timeout">10 Minutes</Section>
<Section name="Thermal_Shutdown">Enabled</Section>
<Section name="RBSU_Language">01</Section>
<Section name="PXE_NIC1">Disabled</Section>
<Section name="PXE_NIC2">Disabled</Section>
<Section name="BIOS_Console">Disabled</Section>
<Section name="EMS_Console">Disabled</Section>
<Section name="Diskette_Boot">Enabled</Section>
<Section name="NumLock">On</Section>
<Section name="POST_Speed_Up">Enabled</Section>
<Section name="Integrated_Diskette_Controller">Enabled</Section>
<Section name="PCI_Bus_Reset">Enabled</Section>
<Section name="Hot_Plug_Reservation">Auto Set</Section>
<Section name="Memory_Protection">Standard ECC Protection</Section>
</Conrep_data>
Toolkit utilities
34
CONREP command file contents for HP ProLiant 300, 500, and
700 series servers
A typical data file generated by the CONREP command is similar to the following:
<?xml version="1.0" encoding="UTF-8"?>
<!--generated by conrep version 3.10-->
<Conrep version="3.00"
originating_platform="ProLiant DL360 G4"
originating_family="P52"
originating_romdate="08/16/2005">
<Section name="IPL_Order"
helptext="Current Initial Program Load device boot order">
<Index0>00 </Index0>
<Index1>01 </Index1>
<Index2>03 </Index2>
<Index3>02 </Index3>
<Index4>04 </Index4>
<Index5>ff </Index5>
<Index6>ff </Index6>
<Index7>ff </Index7>
</Section>
<Section name="PCI_Devices"
helptext="Lists of PCI devices and their interrupts-not displayed if default"
>EMPTY_DELETE</Section>
<Section name="Controller_Order"
helptext="Lists the current boot controller ordering">
<Id0>80 86 25 a3 </Id0>
<Slot0>00 </Slot0>
<BusDev0>00 fa </BusDev0>
<Rest0>41 </Rest0>
<Id1>0e 11 ff ff </Id1>
<Slot1>00 </Slot1>
<BusDev1>00 78 </BusDev1>
<Rest1>c1 </Rest1>
</Section>
</Conrep>
Toolkit utilities
35
Using HPACUSCRIPTING
Starting with version 8.28.13.0, ACU Scripting is now a standalone application that is distributed with the
ACU CLI application. In ACU versions prior to 8.28.13.0, the scripting executable was provided with the
ACU GUI component.
Users familiar with the previous versions of ACU Scripting must now install the ACU CLI application to obtain
the scripting executable. The new ACU scripting executable (hpacuscripting) replaces the former executable
(cpqacuxe) in all scripts.
The ACU Scripting application has two scripting modes:
•
Capture mode for capturing a configuration (on page 36)
ACU inspects the configuration of all internal and external array controllers connected to the server and
then writes a script file describing this configuration.
•
Input mode for using an Input script (on page 36)
ACU reads the array configuration described in a specified script file. See "Creating an ACU script file (on
page 37)." ACU then applies this configuration to a target system.
NOTE: For a complete list of all command-line parameters, execute the /? utility.
Capturing a configuration
To capture the configuration of a system, enter the following command at the system command line prompt:
hpacuscripting -c [drive:][path]OUTPUTFILENAME.ext [-internal | -external]
-e [drive:][path]ERRORFILENAME.ext
OUTPUTFILENAME is the name of the capture file, and ext. is the file extension. If you do not specify a name
and location for this file, ACU uses the default name ACUOUTPUT.ini, and places the file in the ACU working
directory.
The -internal and -external switches limit capture to internal or external controllers.
The -e switch information is used only if ACU must generate an error file. By default, ACU names the error
file ERROR.ini and places it in the ACU working directory.
Using an Input script
To use an Input script to configure or reconfigure a system, first locate a suitable ACU script or see "Creating
an ACU script file (on page 37)."
Then, enter the following command at the system command line prompt:
hpacuscripting -i [drive:][path]FILENAME.ext [-internal | -external] [-reset]
-e [drive:][path]ERRORFILENAME.ext
FILENAME is the name of the ACU input file, and ext is the file extension. If you do not specify the name and
location of this file, ACU searches for ACUINPUT.ini in the ACU working directory.
The -internal and -external switches limit configuration operations to internal or external controllers.
The -reset flag destroys any existing data and overwrites the current configuration with the configuration
specified in the script.
Toolkit utilities
36
The -e switch information is used only if ACU must generate an error file. By default, ACU names the error
file ERROR.ini and places it in the ACU working directory.
Creating an ACU script file
To create a valid ACU script file, use one of the following methods:
•
Modify the sample custom input script (on page 37).
•
Create a Capture file for capturing a configuration (on page 36).
You can create a capture file from any server that has ACU loaded, and then modify the values of
options in the file as necessary for the target system. This method is useful for applying a standard
configuration to several servers that have similar storage resources.
•
Write an original script.
Each line of text in an ACU script file is in the format option=value and can be written in uppercase or
lowercase letters. For information about possible option values and the minimum configuration
information that a valid script must have, see the sample custom input script (on page 37).
You can add blank lines and comments to any script to make it easier to read and understand. To create a
comment, enter a semicolon, and then enter the comment text. ACU ignores all text on the same line after a
semicolon.
Sample custom input script
The sample script in this section gives all possible values for each option.
•
If an option is shown in bold type, you must enter a value for that option when writing your own script.
•
If a value is shown in bold type, ACU uses that value as a default setting when creating new logical
drives.
You can use this script as a template for your own script. The Control category has the following options:
•
Action mode
•
Method mode
Action = Configure|Reconfigure
Method = Custom|Auto ; COMMENT: ACU cannot create a RAID 50 or RAID 60
configuration in Auto mode. You must create such configurations manually
using the Custom setting.
Controller = All | First | Slot [N][:N] | WWN [N] | SerialNumber [N] | IOCabinet
[N],IOBay [N],IOChassis [N],Slot [N],Cabinet [N],Cell [N]
ClearConfigurationWithDataLoss = Yes|No ; COMMENT: This option is now
deprecated.
LicenseKey = XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
DeleteLicenseKey = XXXXX-XXXXX-XXXXX-XXXXX-XXXXX | * ; COMMENT: * is a wild
card that enables you to delete all license keys on the specified controller.
RAIDArrayID = “XXXXXXXXXXXXXXXXXXXX”
ReadCache = 0|10|20|25|30|40|50|60|70|75|80|90|100
WriteCache = 0|10|20|25|30|40|50|60|70|75|80|90|100
RebuildPriority = Low|Medium|High
Toolkit utilities
37
ExpandPriority = Low|Medium|High
SurfaceScanDelay = N
SSPState = Enable|Disable
PreferredPathMode = Auto|Manual
; COMMENT: the following five entries are used to optimize the controller
performance for video
MNPDelay = 0|1|2|...|60 ; units are minutes, zero indicates disabled
IRPEnable = Yes|No
DPOEnable = Yes|No
ElevatorSortEnable = Yes|No
QueueDepth = 2|4|8|16|32|Auto
Array = A|B|C|D|E|F|G|...Z|a|b|c|d|e|f
OnlineSpare = None | N | Port:ID,Port:ID... | Box:Bay,Box:Bay... |
Port:Box:Bay,Port:Box:Bay,... ; COMMENT: These values are available only in
Custom method mode. In Auto method mode, the choices are Yes|No.
Drive = * | N | Port:ID,Port:ID... |
Port:Box:Bay,Port:Box:Bay,...
Box:Bay,Box:Bay... |
DriveType = SCSI | SAS | SATA
LogicalDrive = 1|2|3|...32
RAID = 0|1|5|50|6|60|adg|auto ; COMMENT: RAID 6 and 60 are only available when
SAAP is installed and the license key registered
ParityGroups = 2|N ; COMMENT: Necessary only for RAID 50 or 60. N > 2
Size = [N]|Max
Sectors = 32|63
StripeSize = 8|16|32|64|128|256
ArrayAccelerator = Enable|Disable
LogicalDriveSSPState = Enable|Disable
SSPAdaptersWithAccess = [N],[N]...|None
PreferredPath = 1|2
HBA_WW_ID = WWN
ConnectionName = UserDefinedName
HostMode = Default | Windows | Windows(degrade | openVMS | Tru64 | Linux |
Solaris | Netware | HP | Windows Sp2 ; COMMENT: The Windows(degrade value
must be entered as written.
Script file options
Options in ACU script files are divided into the following categories:
Toolkit utilities
38
•
Control category (on page 40)
•
Controller category (on page 40)
•
Array category (on page 43)
•
Logical Drive category (on page 44)
•
HBA category (on page 47)
Each category has several scripting options, but you do not always need to assign values to every option.
ACU can use default values in some instances, while in other instances, a listed option might not be relevant
for a particular configuration or scripting mode.
The options for each category are listed in the following table and described in more detail in the remainder
of this section.
Category
Options
Description
Control
Action
Method
These options define the overall behavior of ACU when it
processes scripts and creates configurations. Control
options can occur only once in a script file and must be
listed first.
Controller
Controller
ChassisName
ClearConfigurationWithDataLoss
DeleteLicenseKey
DPOEnable
ElevatorSortEnable
ExpandPriority
IRPEnable
LicenseKey
MNPDelay
PreferredPathMode
QueueDepth
ReadCache
RebuildPriority
SSPState
SurfaceScanDelay
WriteCache
Array
Drive
DriveType
OnlineSpare
Options in this category specify the controller that is to be
configured (or the controller that had its configuration
captured). Although the Controller option must begin this
section of the script, you can script other options in this
category in any order.
You can use one script file to configure all controllers in a
system, and you can configure the controllers identically
or individually. If you define each controller configuration
individually, enter the option values for one controller
and its arrays and logical drives before specifying the
option values for another controller.
Array
Logical Drive ArrayAccelerator
LogicalDrive
LogicalDriveSSPState
ParityGroups
PreferredPath
RAID
Sectors
Size
SSPAdaptersWithAccess
StripeSize
These options describe an array that is to be configured
on the controller that was previously specified in the
script. (If no controller was previously specified, ACU
stops processing the script and creates an error file.)
Although the Array option must begin this section of the
script, you can script the other options in this category in
any order.
These options describe a logical drive that is to be
configured on an array that was previously specified in
the script. (If no array was previously specified, ACU
stops processing the script and creates an error file.)
Although the LogicalDrive option must begin this section
of the script, you can script the other options in this
category in any order.
Toolkit utilities
39
Category
Options
Description
HBA
ConnectionName
HBA_WW_ID
HostMode
These options specify an HBA that is to be configured.
Control category
The Control category has the following options:
•
Action mode (on page 40)
•
Method mode (on page 40)
Action mode
You must specify an Action mode:
•
In Configure mode, you can create new arrays, but you cannot modify existing arrays. The controller
must be connected to unassigned physical drives for this mode to be available.
•
In Reconfigure mode, you can modify existing arrays. For example, you can set up an array expansion,
a logical drive extension, or a migration. These procedures do not destroy data, unless you specifically
want the data to be deleted. In this mode, ACU does not change an existing option setting unless you
specifically script a different value for that option.
Method mode
The default value for this option is Auto. If you want to use Custom mode, you must specify it.
In Auto mode, ACU can perform an expansion, extension, or migration without user intervention if the values
that you set for other options imply that such an operation is necessary.
Controller category
The Controller category has the following options:
•
Controller (on page 41)
•
ChassisName (on page 41)
•
ClearConfigurationWithDataLoss (on page 41)
•
DeleteLicenseKey ("LicenseKey, DeleteLicenseKey" on page 41)
•
DPOEnable ("Video performance options" on page 43)
•
ElevatorSortEnable ("Video performance options" on page 43)
•
ExpandPriority ("RebuildPriority, ExpandPriority" on page 42)
•
IRPEnable ("Video performance options" on page 43)
•
LicenseKey ("LicenseKey, DeleteLicenseKey" on page 41)
•
MNPDelay ("Video performance options" on page 43)
•
PreferredPathMode (on page 41)
•
QueueDepth ("Video performance options" on page 43)
•
ReadCache ("ReadCache, WriteCache" on page 42)
Toolkit utilities
40
•
RebuildPriority ("RebuildPriority, ExpandPriority" on page 42)
•
SSPState (on page 42)
•
SurfaceScanDelay (on page 43)
•
WriteCache ("ReadCache, WriteCache" on page 42)
Controller
You must enter a value for this option because it identifies the controller that you want to configure:
•
All—Configure all detected controllers in the system.
•
Slot [N][:M]—Configure the internal controller in slot number N, or the external controller at port
M in slot N.
•
WWN [N]—Configure the external controller that has the World Wide Name N.
•
SerialNumber [N]—Configure the shared storage controller that has serial number N.
•
IOCabinet[N],IOBay[N],IOChassis[N],Slot[N],Cabinet[N],Cell[N]—Configure
the controller in the Integrity server that has the slot path information defined by this sequence of
identifiers.
ChassisName
Enter the user-defined character string that identifies the controller. Any of the following characters can be
used in the string:
a–z, A–Z, 0–9, !, @, #, *, (, ), ,, -, _, +, :, ., /, [space]
You do not need to use quotation marks around the string, but doing so allows the string to begin with a
space character. However, the string cannot end with a space character.
Currently, only shared-storage controllers such as the RA4x00, MSA1000, and Smart Array Cluster Storage
support the ChassisName option. The RA4x00 controller uses a 24-character string, while other applicable
controllers use a 20-character string.
ClearConfigurationWithDataLoss
This command is now deprecated.
The default value for this option is No. Clearing the configuration causes data loss because it deletes all
logical volumes and arrays on the controller. If you clear a configuration, you can write commands later in
the script file to create a new configuration from the liberated drive capacity.
LicenseKey, DeleteLicenseKey
These options enable you to enter a 25-character license key to activate or uninstall some controller features.
Hyphens can be entered, but are not required.
PreferredPathMode
The setting that you select for this option determines how the preferred I/O path to a particular logical drive
is set for a redundant array controller that is in an active/active configuration.
Not all controllers support this feature, and controllers in an active/standby configuration disregard this
option.
Toolkit utilities
41
•
Auto is the default setting for new configurations. In this case, the storage system automatically selects
the I/O path from the redundant controller to the logical drive and dynamically load balances all paths.
•
Manual enables you to assign the logical drive to a specific redundant controller. If you select this
setting, use the PreferredPath (on page 45) command to specify the path.
If you are reconfiguring a controller and do not specify a setting for this option, the existing setting remains
unchanged.
ReadCache, WriteCache
Enter a number between 0 and 100 to specify the percentage of cache that is to be allocated to drive reads
or writes. The default value for both options is 50.
The allowable cache ratios depend on the controller model and whether it has battery-backed write cache,
as described in the following table.
A "+" indicates that the specified cache ratio is allowed for that type of controller, while a "–" indicates that
the ratio is not allowed.
Read:write
ratio
RA4x00 with RA4x00 with All other controllers
16MB cache 48MB cache with battery-backed
write cache
All other controllers
without battery-backed
write cache
100:0
+
+
+
+
90:10
+
+
–
–
80:20
+
+
–
–
75:25
–
–
+
–
70:30
+
+
–
–
60:40
+
+
–
–
50:50
+
+
+
–
40:60
–
+
–
–
30:70
–
+
–
–
25:75
–
+
+
–
0:50*
+
–
–
–
0:75*
–
+
–
–
0:100
–
–
+
–
* The cache ratio percentages do not total 100 in these cases because the additional 16-MB or 48-MB cache modules
are not used. Only the battery-backed write cache is used.
RebuildPriority, ExpandPriority
This option has three possible values: Low, Medium, and High.
SSPState
There are two settings for this option: Enable and Disable. If you do not specify a value for the SSP State, the
existing setting remains unchanged.
NOTE: The SSPState option is valid only for controllers that enable SSP on a controller basis,
such as the MSA1000 or the Smart Array Cluster Storage controllers. RA4x00 controllers support
SSP that is enabled on a logical drive basis, and use the LogicalDriveSSPState option
("LogicalDriveSSPState" on page 45) instead.
Toolkit utilities
42
If you enable SSP, you must also specify an adapter for one or more logical drives by using the
SSPAdaptersWithAccess option ("SSPAdaptersWithAccess" on page 46). Otherwise, SSP is automatically
disabled.
SurfaceScanDelay
Enter a number between 1 and 30 to specify the duration of the surface scan delay in seconds.
Video performance options
To optimize the controller performance for video, set values for the following options as indicated:
DPOEnable = No
ElevatorSortEnable = Yes
IRPEnable = No
In addition:
•
Set the MNPDelay to any integer value from 1 to 60 (units are minutes). If you want to disable this
option, set a value of zero instead.
•
Set the QueueDepth to any integer value from 2 to 32, or to Auto.
Array category
The Array category has the following options:
•
Array (on page 43)
•
Drive (on page 43)
•
DriveType (on page 44)
•
OnlineSpare (on page 44)
Array
Enter a letter or pair of letters to identify the array that is to be created or reconfigured, and observe these
additional limitations:
•
In Configure mode, ACU creates a new array. The value that you specify for the array option must be
the next available letter or pair of letters in the sequence, according to the number of existing arrays on
the controller. AA follows Z, and BA follows AZ.
•
In Reconfigure mode, ACU can either create a new array or reconfigure an existing array. In this case,
the value that you specify can identify an existing array, or it can correspond to the next available array
letter or pair of letters in the existing configuration.
Drive
You can use this option to add a drive to an existing array (to expand an array) or to build a new array. If
you are expanding an array, each drive that you add must have a capacity no less than that of the smallest
drive already in the array. The added drives and the existing drives in the array must all be the same type (for
example, SAS or SATA).
If the value of the ClearConfigurationWithDataLoss (on page 41) option is Yes, you can use the
Drive option to remove drives from an array. However, the ClearConfigurationWithDataLoss
option is now deprecated.
Toolkit utilities
43
If you use Auto method mode, ACU configures all the available drives on the controller into one array. If the
drives are of different capacities, ACU determines the capacity of the smallest drive and uses the same
amount of space on all other available drives.
If you use Custom method mode, choose one of the following methods to specify the drives to be used in the
array. (Different arrays on the same controller can use different methods.)
•
To specify individual drives, use the applicable convention (port:ID, box:bay, or port:box:bay).
•
To specify only the number of drives to use (not which specific drive IDs to use), enter that number as the
value for this option. For example, if you enter drive=3, ACU uses the first three available drives to
build or expand the array that you define in the remainder of the script. ACU automatically determines
which drives are suitable to use.
•
To use all available drives, enter an asterisk as the value for this option. An array that is configured
using this method cannot have a spare.
DriveType
The value that you enter for this option specifies the type of drive (SAS, SATA, or parallel SCSI) that ACU must
use to build the array.
OnlineSpare
The value for this option determines whether the array specified previously in the script will be configured
with spare drives.
Method mode
Possible values
Default value
Custom
To specify exactly which drives to use as spares,
use the applicable convention (port:ID, box:bay,
or port:box:bay).
To specify only the number of spares (not the
exact IDs), enter that number as the value for this
option. ACU automatically selects only those
drives that are suitable for the array.
To specify that the array should not have spares,
enter None.
Yes (indicating one spare)
No
In Configure action mode: None
In Reconfigure action mode, ACU
ignores any value entered for this
option and keeps any spares that are
already present in the configuration
Auto
In Configure action mode: Yes
(indicating one spare)
In Reconfigure action mode, ACU
ignores any value entered for this
option and keeps any spares that are
already present in the configuration
Logical Drive category
The Logical Drive category has the following options:
•
ArrayAccelerator (on page 45)
•
LogicalDrive (on page 45)
•
LogicalDriveSSPState (on page 45)
•
ParityGroups (on page 45)
•
PreferredPath (on page 45)
Toolkit utilities
44
•
RAID (on page 46)
•
Sectors (on page 46)
•
Size (on page 46)
•
SSPAdaptersWithAccess (on page 46)
•
StripeSize (on page 46)
ArrayAccelerator
This option specifies whether the array accelerator is enabled or disabled for the specified logical drive. The
default value is Enabled.
LogicalDrive
The value that you enter for this option specifies the ID number of the logical drive that is to be created or
modified. The first logical drive on an array must have an ID of 1 (not 0), and logical drive numbering must
be contiguous.
•
In Configure action mode, ACU accepts only the ID number of the next possible logical drive.
•
In Reconfigure action mode, ACU also accepts the ID number of any existing logical drive.
LogicalDriveSSPState
This option is valid only for controllers that enable SSP on a logical drive basis. Other controllers that support
SSP use the SSPState option ("SSPState" on page 42).
The following defaults apply:
•
For new logical drives, the default value is Disabled.
•
For existing logical drives, the default value is the current logical drive setting.
ParityGroups
When you create a RAID 50 or RAID 60 configuration, you must also set the number of parity groups.
You can use any integer value greater than 1 for this setting, with the restriction that the total number of
physical drives in the array must be exactly divisible by the number of parity groups.
The maximum number of parity groups possible for a particular number of physical drives is the total number
of drives divided by the minimum number of drives necessary for that RAID level (three for RAID 50, four for
RAID 60).
PreferredPath
If you select the Manual setting for PreferredPathMode (on page 41), use the PreferredPath
command to specify the path for I/O to the logical drive on a redundant controller in active/active mode.
The default setting for this option is 1. With this setting, the controller in chassis slot 1 is the preferred
controller for I/O to the logical drive. If you select 2, the controller in chassis slot 2 becomes the preferred
controller for the logical drive.
To determine the chassis slot numbers, use the show command on a controller that supports redundant
controllers.
Toolkit utilities
45
RAID
The value that you enter for this option specifies the RAID level of the logical drive.
•
When the Action mode is Configure, and the Method mode is Auto, ACU automatically selects the
highest RAID level that the controller and drive configuration can support except RAID 50 or RAID 60.
To specify RAID 50 or 60 for a controller that supports either of these RAID levels, use the Custom
setting. In this case, you must also specify the number of parity groups ("ParityGroups" on page 45).
•
When the Action mode is Reconfigure, the default value is the existing RAID level for that logical drive.
If you specify a different RAID setting, then ACU either ignores the new setting (when Method mode is
Auto), or attempts to migrate the logical drive to the specified RAID level (when Method mode is
Custom).
Sectors
This option specifies the number of sectors that are to comprise each track. Enter 32 to disable MaxBoot or
63 to enable it.
•
For new logical drives, the default setting is 63 if the logical drive is larger than 502 GB. Otherwise, the
default setting is 32.
•
For an existing logical drive, the default setting is the existing setting.
Logical drive performance is likely to decrease with MaxBoot enabled.
Size
Enter the capacity that you want the logical drive to have, in megabytes. The default size setting for new
logical drives is MAX. In this case, ACU creates a logical drive of the maximum possible size from the
physical drives that you assigned to the array.
In Reconfigure mode, the default setting is the existing size of the logical drive. If you enter a larger value,
ACU extends the logical drive to the new size if there is unused drive capacity on the same array, as long as
the operating system supports logical drive extension. You cannot reduce the size of the logical drive.
CAUTION: Back up all data before extending a logical drive.
SSPAdaptersWithAccess
Enter values here to identify the SSP adapters that you want to have access to a logical drive. The values are
processed only if either SSPState or LogicalDriveSSPState is set to Enable. Otherwise, the values are ignored.
NOTE: Be sure that every HBA in the system has access to the logical drives for which multi-path
will be used.
StripeSize
You can enter a numerical value for this option to specify the size of the data stripes (in kilobytes), or you can
leave this option blank and allow ACU to use a default value.
The valid stripe size values depend on the RAID level.
•
For RAID 0, RAID 1, or RAID 1+0 arrays, you can enter any of the stripe size values listed in the sample
script.
Toolkit utilities
46
•
For RAID 5 arrays, the maximum stripe size in most cases is 256 KB, but old controller models are often
limited to 64 KB.
•
For RAID 6 arrays, the maximum stripe size is either 64 KB or 256 KB, depending on the controller.
The default stripe size value depends on the action mode.
•
•
In Configure action mode, the default value is determined by the RAID level that you specified earlier in
the script. (In some cases, it also depends on the ACU version, the controller model, and the controller
firmware version).
o
For RAID 0, RAID 1, or RAID 1+0, the default value is 128 KB.
o
For RAID 5, the default value is usually 64 KB, but on some controller models it is 16 KB or 128 KB.
o
For RAID 6, the default value is usually 16 KB, but on some controller models it is 64 KB or 128 KB.
In Reconfigure action mode, the default value for this option is the stripe size that is already configured
for the logical drive. If you enter a value that is different from the existing stripe size, ACU attempts to
migrate the logical drive to the stripe size that you specify. (If you intend to migrate the logical drive,
back up all data before starting the migration procedure.)
HBA category
The HBA category has the following options:
•
ConnectionName (on page 47)
•
HBA_WW_ID (on page 47)
•
HostMode (on page 47)
ConnectionName
This option is a user-defined string used as the connection name for the specified HBA.
The string can consist of:
•
A maximum of 16 characters
•
Embedded space characters but cannot end with a space character
•
Any of the following characters: a–z, A–Z, 0–9, !, @, #, *, (, ), -, _, +, :, ., /, and [space]
HBA_WW_ID
This option specifies which HBA, based on its assigned WWN, is modified by the configuration changes.
HostMode
This option specifies the HostMode for a selected HBA. Setting the Host Mode optimizes the storage array for
the selected operating system. The available host modes for an HBA are device-specific. Not all modes are
available on all devices. Not all HBAs support a HostMode.
The following operating system options might be available:
•
Default
•
Microsoft® Windows®
•
OpenVMS
•
Tru64
Toolkit utilities
47
•
Linux
•
Solaris
•
Netware
•
HP-UX
ACU scripting error messages
Error code
Error message
Comment or clarification
1
General error.
The ACU process cannot be initiated. You might see this error
message if you are not authenticated to use ACU or if ACU is
already running.
268
Error saving controller.
ACU cannot save one or more controller configurations.
278-282
Controller is locked by
another machine or user.
Error communicating with
controller.
Internal error.
—
1052
Array requires an odd
number of drives.
This error message occurs if you attempt to add an odd number
of drives to an array that has RAID 1 logical drives, and the
controller does not support RAID-level migration.
1053
Cannot remove physical
drives from existing array.
This error message occurs if a script that is running in
Reconfigure action mode lists fewer physical drives than already
exist in the array. ACU interprets this script as a request to
remove physical drives from an existing array, but satisfying this
request causes data loss, so ACU prevents the script from
running.
1065-1066
Too many coinciding
expansion, migration, or
extension operations.
ACU does not support multiple simultaneous expansions,
migrations, or extensions without saving the configuration
between operations. Limit the number of such configuration
changes in the script.
1091
Controller does not support
SSP.
Controller requires physical
drives to set license keys.
Slot information is not
available.
—
290
516
1093
1102
—
An error occurred during the configuration process, but ACU
cannot identify the error because there is an internal ACU error.
—
You cannot run a script in Input mode on internal controllers that
do not have slot information online. Systems running Microsoft®
Windows® must have the System Management Driver loaded.
Controller does not support
license keys.
Invalid license key.
—
—
2818
Controller has maximum
number of license keys.
Controller requires non-failed
physical drives to set license
keys.
Controller is locked by
another machine or user.
Invalid Method.
2819
Invalid Controller.
The scripted controller does not match any existing controllers.
1110
1111
1112
1114
2564
—
—
—
The scripted Method value is not valid.
Toolkit utilities
48
Error code
Error message
Comment or clarification
2820
Could not detect controller
<text>.
No controllers detected.
—
2822
Invalid read cache/write
cache ratio.
The specified cache ratio is not supported by either the controller
or the current controller configuration.
2823
Invalid rebuild priority.
—
2824
Invalid expand priority.
This error message appears if the expand priority value
specified in the script is not supported. This message also
appears if expansion is not possible because the Expand Priority
feature is then not supported. (Expansion might be temporarily
unavailable on a controller that normally supports expansion if,
for example, the cache battery has low charge, another
expansion or migration is already in progress, or the array has
the maximum supported number of physical drives.)
2825
Invalid array.
The array ID is invalid.
2826
Array not specified.
The script file has commands that require an array, but no array
is specified.
2827
New array ID does not match The scripted array ID is not the next ID in sequence, based on the
the next available array ID.
IDs of the existing arrays. For example, only array A exists and
the script file specifies creation of array C (omitting array B).
2828
New array ID already exists. This error occurs in Configure mode when the array ID specified
in the script file already exists in the configuration. In Configure
mode, you can create only new arrays.
2829
Cannot create array.
The controller has no unassigned physical drives, or it already
has the maximum number of arrays or logical drives.
2830
Cannot expand array.
The controller does not support expansion, or the current
controller configuration is not expandable.
2831
Cannot change array spare.
This error message appears if you try to change the number of
spares in an array when the configuration does not support the
addition or subtraction of spares.
2832
Invalid physical drive.
A specified physical drive is not a valid physical drive, or it
cannot be placed in the array.
2833
Invalid spare.
A specified spare is not a valid spare drive, or it cannot be
placed in the array as a spare.
2834
Invalid logical drive.
—
2835
Logical drive not specified.
The script file has commands that require a logical drive, but no
logical drive is specified.
2836
New logical drive ID does not The script file specifies a logical drive ID that is not the first
match the next available
unused ID in the sequence. For example, this message appears if
logical drive ID.
the controller has only logical drive 1 and the script file specifies
creation of logical drive 3 (omitting logical drive 2). A common
cause of this error is that the input file specifies nonsequential
logical drive numbers. In this case, change the logical drive
numbers in the input file so that they are sequential.
2837
New logical drive ID already This error occurs in Configure mode when the logical drive ID
exists.
specified in the script file already exists in the configuration. In
Configure mode, you can create only new logical drives.
2838
Cannot create logical drive.
2821
This error applies to Input mode only. If no controllers are
detected in Capture mode, the capture file is empty.
The array has no free space, or the maximum number of logical
drives has already been reached.
Toolkit utilities
49
Error code
Error message
Comment or clarification
2839
Cannot migrate logical drive
RAID.
The controller does not support RAID migration, or migration is
not possible with the current controller configuration.
2840
Cannot migrate logical drive
stripe size.
The controller does not support stripe size migration, or
migration is not possible with the current controller
configuration.
2841
Cannot extend logical drive.
The controller does not support extension, or the current
controller configuration cannot be extended. For example,
extension is not possible if the array has no free space.
2842
Invalid RAID.
The specified RAID level is invalid or is not possible with the
current configuration.
2843
Invalid size.
The specified size is invalid or is not possible with the current
configuration.
2844
Invalid stripe size.
The specified stripe size is invalid, or not supported by the
current RAID level, or not possible with the current configuration.
2845
Invalid sectors.
The specified MaxBoot setting is invalid or is not possible with
the current configuration.
2846
Cannot change logical drive
sectors.
You cannot change the MaxBoot setting on a configured logical
drive because doing so causes data loss.
2847
Invalid array accelerator
setting.
The specified array accelerator setting is invalid or is not
supported by the current configuration.
2848
Cannot change logical drive
array accelerator setting.
You cannot change the array accelerator setting for the current
controller configuration.
2849
Invalid
—
ClearConfigurationWithData
Loss parameter.
Controller does not support
—
RAID Array ID.
Invalid RAID Array ID.
The scripted RAID Array ID is invalid. Use characters from the set
a–z, A–Z, 0–9, !, @, #, *, (, ), ,, -, _, +, :, ., /, and [space]. The
ID cannot end with a space character or exceed the maximum
number of characters allowed by the controller.
2850
2851
2852
Invalid SSP state.
—
2853
Cannot change SSP settings.
—
2854
Invalid SSP adapter ID.
—
2855
—
Controller does not support
logical drive SSP states. Use
the SSPState controller
command to set the controller
SSP state.
—
Controller does not support
controller SSP state. Use the
LogicalDriveSSPState logical
drive command to set SSP
states for each logical drive.
Invalid surface scan delay.
—
2856
2857
2861
Controller does not support
redundancy settings.
The controller is not redundant or does not support redundancy
settings.
2864
Invalid preferred path mode.
The specified value for the preferred path mode is not valid, or
the controller is not available.
Toolkit utilities
50
Error code
Error message
Comment or clarification
2865
Invalid preferred path.
The specified preferred path is not a valid chassis slot for an
available active controller, or the controller is not available.
2866
Failure opening capture file
<text>.
Failure opening input file
<text>.
Failure opening error file
<text>.
<text> command expected.
—
<text> is not a supported
command.
<text> is not a Controller
command.
—
2872
<text> is not an Array
command.
The <text> command does not belong in the Array section of the
script file.
2873
<text> is not a Logical Drive
command.
The <text> command does not belong in the Logical Drive
section of the script file.
2874
<text> is not an HBA
command.
The <text> command does not belong in the HBA section of the
script file.
2875
—
2876
More than one <text>
command cannot exist in the
same section.
Invalid physical drive count.
2877
No spares available.
No drives were found that could be used as spares for the
specified array.
2878
Spare request for RAID 0 is
invalid.
Reset and reconfigure
combined error.
RAID 0 does not support spares.
2880
Invalid drive type specified.
—
2882
Invalid value for MNPDelay. —
Valid range is 0 (disabled) to
60 minutes.
Invalid controller
—
configuration value.
Expecting Yes or No.
Invalid value for QueueDepth. —
Valid range is from 2 to 32, or
Auto.
2867
2868
2869
2870
2871
2879
2883
2884
—
—
The <text> command is missing or in the wrong place in the
script file.
The <text> command does not belong in the Controller section of
the script file.
The script specifies more drives than are available of the
specified drive type.
A controller reset with data loss was specified while in
Reconfigure mode.
Using HPLPCFG
You must edit the text file to insert the WWID of the boot volume and the LUN number that the WWID boots
from. The HPLPCFG utility discovers the WWID of the HBA in the server blade and writes the information in
the text file. The text file presents the options in human readable format. The HPLPCFG utility updates the
hardware with the boot volume WWID and boot LUN read from the text file.
Toolkit utilities
51
HPLPCFG command-line syntax
hplpcfg /s filename hplpcfg /l filename hplpcfg /v
[HBA0] WWID=11223344 HostAdapterBiosEnable=1 SelectBootEnable=1
BootDeviceWWID=22334455 BootDeviceLUN[0]=1111
HPLPCFG command-line arguments
Command-line argument
Description
hplpcfg /s filename
This argument saves the HBA configuration to the filename.
hplpcfg /v
This argument displays the tool version information.
Where filename has the following format:
[HBA0]
Section for each HBA
HostAdapterBiosEnable=1
Your input or current value when read from HBA
hplpcfg /l filename
This argument loads the HBA configuration to the filename.
WWID=11223344
Read-only variable
SelectBootEnable=1
Your input or current value when read from HBA
BootDeviceWWID=22334455
Your input or current value when read from HBA
BootDeviceLUN[0]=1111
Your input, default LUN, or current value when read from HBA
HPLPCFG return codes
Value
Meaning
0
The command was completed successfully.
2
There was a file open error.
1
There was an invalid command line option.
3
There was an NVRAM checksum error.
4
There was an NVRAM data error.
5
6
There was no adapter or Emulex HBA found on this host.
There was an error retrieving the I/O address.
7
The WWID was invalid because of one of the following:
8
The LUN was invalid.
0x10
•
•
An invalid value for WWID and BootDeviceWWID, and not a hex value
The WWID specified for HBA in the .ini file does not match any HBAs found on the host
(for the /l option only)
Invalid value; for enable/disable value is not 0 or 1 (for /l option only)
0x11
Incorrect iboot BIOS code loaded (for /l option only)
0xFF
General error:
•
•
Initialization error (for both /l and /s option)
Cannot read HBAs WWPN (for /s option only)
HPLPCFG command-line examples
hplpcfg /s hba.ini generates hba.ini with the following content:
Toolkit utilities
52
[HBA0]
WWID=11111111
HostAdapterBiosEnable=1
SelectBootEnable=1
BootDeviceWWID=
BootDeviceLUN[0]=
You must edit hba.ini and add the following boot device information:
[HBA0]
WWID=11111111
HostAdapterBiosEnable=1
SelectBootEnable=1
BootDeviceWWID=22222222
BootDeviceLUN[0]=3
You must then invoke the tool to load the contents of hba.ini input to the HBA NVRAM: hplpcfg /l hba.ini.
Using HPQLAREP
You must edit the text file to insert the WWID of the boot volume and the LUN number that they will boot from.
The hpqlarep utility discovers the WWID of the HBA in the server blade and writes the information in the text
file. The text file presents the options in human readable format. The hpqlarep utility updates the hardware
with the boot volume WWID and boot LUN read from the text file.
HPQLAREP command-line syntax
hpqlarep /s filename hpqlarep /l filename
[HBA0] WWID=11223344 HostAdapterBiosEnable=1 SelectBootEnable=1
BootDeviceWWID=22334455 BootDeviceLUN[0]=1111
HPQLAREP command-line arguments
Command-line argument
Description
hpqlarep /s filename
This argument saves the HBA configuration to the filename.
hpqlarep /l filename
This argument loads the HBA configuration to the filename.
Where filename has the following format:
[HBA0]
Section for each HBA
HostAdapterBiosEnable=1
Read-only variable
WWID=11223344
Read-only variable
SelectBootEnable=1
Read-only variable
BootDeviceWWID=22334455
Your input
BootDeviceLUN[0]=1111
Your input and default LUN
Toolkit utilities
53
HPQLAREP return codes
Value
Meaning
0
The command was completed successfully.
2
There was a file open error.
1
There was an invalid command line option.
3
There was an NVRAM checksum error.
4
5
6
7
8
9
10
11
12
13
There was an NVRAM data error.
There was no adapter found on this host.
There was an error retrieving the I/O address.
The WWID was invalid.
The LUN setting was invalid.
The EFI Enable Selective LUN setting was invalid.
The BIOS Enable setting was invalid.
The Selectable BIOS setting was invalid.
The EFI Selective login settings were invalid.
The EFI WWID (Boot Node Name) was invalid.
14
There was a Memory Allocation error.
16
There was a failure reading the adapter VPD.
18
VPD has bad checksum.
15
The adapter VPD is corrupt.
17
The adapter has no VPD.
19
The adapter serial number is missing in the VPD.
HPQLAREP command-line examples
hpqlarep /s hba.ini generates hba.ini with the following content:
[HBA0]
WWID=11111111
HostAdapterBiosEnable=1
SelectBootEnable=1
BootDeviceWWID=
BootDeviceLUN[0]=
You must edit hba.ini and add the following boot device information:
[HBA0]
WWID=11111111
HostAdapterBiosEnable=1
SelectBootEnable=1
BootDeviceWWID=22222222
BootDeviceLUN[0]=3
You must then invoke the tool to load the contents of hba.ini input to the HBA NVRAM: hpqlarep /l hba.ini.
Toolkit utilities
54
Using HPONCFG
The HPONFCG utility only supports HP ProLiant 300/500/700 and Blade servers.
HP offers support for the RILOE II, iLO, iLO 2, and iLO 3 features available on ProLiant servers with the
HPONCFG utility.
HPONCFG is an online configuration tool used to set up and reconfigure RILOE II, iLO, iLO 2, and iLO3
without requiring a reboot of the server operating system. The utility runs in a command-line mode and must
be executed from an operating system command-line.
HPONCFG enables you to initially configure features exposed through the RBSU or the RILOE II, iLO, iLO 2,
or iLO3. This utility is not intended for continued administration. CPQLOCFG should be used for ongoing
administration of user rights and network functionality on the server.
Observe the following requirements before using HPONCFG:
•
The RILOE II, iLO, iLO 2, or iLO 3 Management Interface Driver must be loaded on the server.
HPONCFG displays a warning if the driver is not installed.
•
HPONCFG requires minimum RILOE II, iLO,iLO 2, and iLO 3 firmware versions. To determine the
minimum firmware version required, see the HP SmartStart Scripting Toolkit Linux and Windows
Editions Support Matrix.
For more information, see the Remote Management website (http://www.hp.com/servers/lights-out).
HPONCFG command-line syntax
hponcfg [-help][-?][-reset][-f filename][-l filename]
[-w filename][-get_hostinfo][-m firmwarelevel]
IMPORTANT: Because the -w argument does not capture certain types of information, such as the
administrator password, data files created with HPONCFG using the -w argument cannot then be
used as input files for HPONCFG, unless they are modified first.
HPONCFG command-line arguments
Command-line argument
Description
-help or -?
These arguments display simple help messages.
-f filename
This argument sets the RILOE II, iLO, iLO 2, or iLO3 configuration based on
the information in the XML input file named filename.
-l filename
This argument logs replies to the text log file named filename.
-w filename
This argument writes the RILOE II, iLO, iLO 2, or iLO 3 configuration
obtained from the device to the XML output file named filename.
-get_hostinfo
This argument returns the host server name and serial number.
-m
This argument indicates to HPONCFG the minimum firmware level that must
be present in the management device to execute the RIBCL script. If the
minimum level is not met, HPONCFG returns an error without performing
any additional actions.
-mouse
This argument causes HPONCFG to configure the server for optimized
mouse handling.
-reset
This argument resets the RILOE II, iLO, iLO 2, or iLO 3 to factory defaults.
Toolkit utilities
55
NOTE: For a complete list of all command-line parameters, execute the /? utility.
HPONCFG return codes
Value
Meaning
0
The script was sent successfully to the device.
1
2
The Management processor is not present, or the driver is not running.
255
The script is unable to create an output file.
3
The script could not be sent to the device. There is an error in xml.
The iLO flash is still in progress.
If the script itself fails, errors are reported in the log file created by HPONCFG.
HPONCFG command file contents
HPONCFG can be used to perform the following tasks:
•
Obtain an entire configuration
•
Obtain a specific configuration
•
Set a configuration
Obtaining an entire configuration
HPONCFG can be used to obtain an entire configuration from an iLO, iLO 2, iLO 3, or a RILOE II. In this
case, the utility executes from the command line without specification of an input file. The name of the output
file is given on the command line. For example:
HPONCFG /w config.xml
In this example, the utility indicated that it obtained the data successfully and wrote it to the output file as
requested. The following is a typical example of the contents of the output file:
<HPONCFG VERSION = "1.1">
<!--- Generated 04/15/04 15:20:36 --->
<MOD_DIR_CONFIG>
<DIR_AUTHENTICATION_ENABLED VALUE = "N"/>
<DIR_LOCAL_USER_ACCT VALUE = "Y"/>
<DIR_SERVER_ADDRESS VALUE = ""/>
<DIR_SERVER_PORT VALUE = "25"/>
<DIR_OBJECT_DN VALUE = " "/>
<DIR_OBJECT_PASSWORD VALUE = ""/>
<DIR_USER_CONTEXT_1 VALUE = ""/>
<DIR_USER_CONTEXT_2 VALUE = "_"/>
<DIR_USER_CONTEXT_3 VALUE = ""/>
</MOD_DIR_CONFIG>
<MOD_NETWORK_SETTINGS>
<SPEED_AUTOSELECT VALUE = "Y"/>
<NIC_SPEED VALUE = "100"/>
<FULL_DUPLEX VALUE = "Y"/>
<IP_ADDRESS VALUE = "16.100.241.229"/>
<SUBNET_MASK VALUE = "255.255.252.0"/>
<GATEWAY_IP_ADDRESS VALUE = "16.100.240.1"/>
<DNS_NAME VALUE = "ILOD234KJ44D002"/>
Toolkit utilities
56
<PRIM_DNS_SERVER value = "16.81.3.242"/>
<DHCP_ENABLE VALUE = "Y"/>
<DOMAIN_NAME VALUE = "americas.cpqcorp.net"/>
<DHCP_GATEWAY VALUE = "Y"/>
<DHCP_DNS_SERVER VALUE = "Y"/>
<DHCP_STATIC_ROUTE VALUE = "Y"/>
<DHCP_WINS_SERVER VALUE = "Y"/>
<REG_WINS_SERVER VALUE = "Y"/>
<PRIM_WINS_SERVER value = "16.81.3.247"/>
<STATIC_ROUTE_1 DEST = "0.0.0.0" GATEWAY = "0.0.0.0"/>
<STATIC_ROUTE_2 DEST = "0.0.0.0" GATEWAY = "0.0.0.0"/>
<STATIC_ROUTE_3 DEST = "0.0.0.0" GATEWAY = "0.0.0.0"/>
</MOD_NETWORK_SETTINGS>
<ADD_USER
USER_NAME = "Administrator"
USER_LOGIN = "Administrator"
PASSWORD = "">
</ADD_USER>
<ADD_USER
USER_NAME = "Landy9"
USER_LOGIN = "mandy9"
PASSWORD = "">
</ADD_USER>
<RESET_RIB VALUE = "Y"/>
</HPONCFG>
For security reasons, the user passwords are not returned.
Obtaining a specific configuration
A specific configuration can be obtained using the appropriate XML input file. For example, here are the
contents of a typical XML input file, get_global.xml:
<!-- Sample file for Get Global command -->
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="x" PASSWORD="x">
<RIB_INFO MODE="read">
<GET_GLOBAL_SETTINGS />
</RIB_INFO>
</LOGIN>
</RIBCL>
The XML commands are read from the input file get_global.xml and are processed by the device:
HPONCFG /f get_global.xml /l log.txt > output.txt
The requested information is returned in the log file, which, in this example, is named log.txt. The contents
of the log file are shown below.
<GET_GLOBAL_SETTINGS>
<SESSION_TIMEOUT VALUE="30"/>
<ILO_FUNCT_ENABLED VALUE="Y"/>
<F8_PROMPT_ENABLED VALUE="Y"/>
<REMOTE_CONSOLE_PORT_STATUS VALUE="3"/>
<REMOTE_CONSOLE_ENCRYPTION VALUE="N"/>
<PREFER_TERMINAL_SERVICES VALUE="N"/>
<HTTPS_PORT VALUE="443"/>
<HTTP_PORT VALUE="80"/>
<REMOTE_CONSOLE_PORT VALUE="23"/>
<TERMINAL_SERVICES_PORT VALUE="3389"/>
<VIRTUAL_MEDIA_PORT VALUE="17988"/>
<MIN_PASSWORD VALUE="4"/>
Toolkit utilities
57
</GET_GLOBAL_SETTINGS>
Setting a configuration
A specific configuration can be sent to the iLO, iLO 2, iLO 3, or RILOE II by using the command format:
HPONCFG /f add_user.xml /l log.txt
In this example, the input file has contents:
<!-- Add user with minimal privileges to test default setting of
assigned privileges to 'N' -->
<RIBCL version="1.2">
<LOGIN USER_LOGIN="x" PASSWORD="x">
<USER_INFO MODE="write">
<ADD_USER USER_NAME="Landy9" USER_LOGIN="mandy9"
PASSWORD="floppyshoes">
<RESET_SERVER_PRIV value="Y" />
<ADMIN_PRIV value="Y" />
</ADD_USER>
</USER_INFO>
</LOGIN>
</RIBCL>
The specified user will be added to the device.
HPONCFG command-line examples
For HPONCFG command line examples, see the appropriate user guide at the Remote Management website
(http://www.hp.com/servers/lights-out).
Using LO100CFG
The LO100CFG utility enables you to configure the LightsOut 100 device that appears on the HP ProLiant
100 series servers. The application is compiled for Linux (32 bit text mode only).
Under Linux, LO100CFG uses the OpenIPMI library to communicate with the system firmware.
LO100CFG command-line syntax
lo100cfg [ -h | -x | -v | -i "file.xml" | -o "file.xml" | -s ]
LO100CFG command-line arguments
Command-line argument
Description
-x
This argument displays example XML to perform configuration.
-v
This argument outputs the current copyright and version information and
then exits.
-s
This argument captures the current status and outputs it to the console.
-i "file.xml"
This argument loads and runs the given XML configuration file.
-k "<xml/>"
This argument has been deprecated and is no longer supported.
-h
The argument lists basic command line arguments and supported XML tags.
-o "file.xml"
This argument saves the current configuration to a file.
Toolkit utilities
58
LO100CFG return codes
Value
Meaning
0
All operations succeeded.
10
A required command-line parameter is missing. See console output for details.
14
File error, the specified file is empty or not found.
17
An invalid command-line parameter was passed to the utility.
50
The IPMI driver may not be loaded or installed properly.
102
Field in the XML file has invalid values. Valid fields still applied.
12
An unknown command-line parameter was passed to the utility.
16
Syntax error, must specify exactly one option from -i -o -s.
18
Invalid command-line syntax was used.
101
XML failed validity tests.
103
The Lights Out 100 returned a code the application did not expect. See console output for
code returned from the LO100 processor.
104
System is unsupported or is not running IPMI drivers.
NOTE: Return codes of 100 or higher are returned from the LO100 processor.
LO100CFG command-file contents
A typical data file generated by LO100CFG is similar to the following:
<lo100cfg>
<serial_port mode="dedicated" />
<nic mode="dhcp">
<ipv4 address="10.10.10.18" mask="255.255.252.0" gateway="10.10.10.1" />
<firewall http_active="yes" ping_active="yes" telnet_active="yes" />
</nic>
<users>
<user id="1" name="" privilege_level="user" />
<user id="2" name="operator" privilege_level="operator" />
<user id="3" name="admin" privilege_level="admin" />
<user id="4" name="oem" privilege_level="oem" />
</users>
</lo100cfg>
To disable the shared NIC configuration and make the Lights-Out 100 NIC dedicated, enter the following in
your data file:
<lo100cfg>
<nic type="dedicated" />
</lo100cfg>
Toolkit utilities
59
Troubleshooting
Troubleshooting table
Issue
Troubleshooting
Data loss in Toolkit
Improper use of the Toolkit utilities and modification of the CONREP data files can
result in loss of critical data. Because of the potential data-loss risk, only experienced
individuals should use the Toolkit utilities. Before using the Toolkit, all necessary
precautions must be taken to ensure that mission-critical systems remain online if a
failure occurs.
Setting up a PXE boot
environment
A basic understanding of DHCP, PXE, and TFTP is required to perform the procedure.
The examples in this guide might not be specific to your operating system environment.
For more information about your particular environment, see the Linux system
administrator's guide
Configuring options
using Toolkit utilities
Not all options can be configured using Toolkit utilities. Some options must be
configured manually or with other configuration utilities, which are available online,
before they can be used with the Toolkit. For more information on configuration, see the
option documentation
Input files for
HPONCFG
Because the -w argument does not capture certain types of information, such as the
administrator password, data files created with HPONCFG using the -w argument
cannot be used as input files for HPONCFG, unless they are modified first.
CONREP version
compatibility
The file format for the DOS version of CONREP and the current version of CONREP are
not compatible.
HPACUSCRIPTING
support
HPACUSCRIPTING supports only HP Smart Array controllers. Review the
HPACUSCRIPTING documentation for the latest information.
Booting from a USB
drive key
Booting from a USB drive key is supported only on certain ProLiant servers. For more
information, see the HP Insight Foundation suite for ProLiant website
(http://www.hp.com/go/foundation).
CONREP data file
editor
Only the fields that are present in the CONREP file being edited will be shown. The
CONREP data file editor cannot add or remove fields. Some fields, such as the server
OS selection, cannot be edited.
Kernels
The kernel is generally static and cannot be modified easily. HP recommends that you
use the kernel that is shipped with the Toolkit because it has been tested on all servers
supported by the Toolkit.
SETBOOTORDER
changes
Any changes you make to the SETBOOTORDER will take effect at the next reboot.
Troubleshooting
60
Technical support
Reference documentation
For issues or problems not addressed by this guide, refer to the following resources for more information:
•
The SmartStart Scripting Toolkit website (http://www.hp.com/servers/sstoolkit)
•
The Red Hat Linux website (http://www.redhat.com)
HP SmartStart Scripting Toolkit email support
Support for the SmartStart Scripting Toolkit (SSSTK) is available through email. Fill out the online form to
submit your question. A case will be logged and a response will sent back to you by email
HP contact information
For the name of the nearest HP authorized reseller:
•
See the Contact HP worldwide (in English) webpage
(http://welcome.hp.com/country/us/en/wwcontact.html).
For HP technical support:
•
•
In the United States, for contact options see the Contact HP United States webpage
(http://welcome.hp.com/country/us/en/contact_us.html). To contact HP by phone:
o
Call 1-800-HP-INVENT (1-800-474-6836). This service is available 24 hours a day, 7 days a
week. For continuous quality improvement, calls may be recorded or monitored.
o
If you have purchased a Care Pack (service upgrade), call 1-800-633-3600. For more information
about Care Packs, refer to the HP website (http://www.hp.com/hps).
In other locations, see the Contact HP worldwide (in English) webpage
(http://welcome.hp.com/country/us/en/wwcontact.html).
Technical support
61
Acronyms and abbreviations
ACU
Array Configuration Utility
BIOS
Basic Input/Output System
CLI
Command Line Interface
CONREP
Configuration Replication utility
CPQACUXE
Array Configuration Utility XE
CPQLOCFG
Lights-Out Configuration Utility
DHCP
Dynamic Host Configuration Protocol
DOS
disk operating system
FAT
file allocation table
GUI
graphical user interface
HBA
host bus adapter
HPDISCOVERY
HP Discovery Utility
Acronyms and abbreviations
62
HPONCFG
HP Lights-Out Online Configuration utility
HWQUERY
Hardware Query Utility
I/O
input/output
IFHW
IF Hardware Utility
iLO
Integrated Lights-Out
iLO 2
Integrated Lights-Out 2
iLO 3
Integrated Lights-Out 3
IP
Internet Protocol
IPL
initial program load
IPMI
Intelligent Platform Management Interface
ISO
International Organization for Standardization
LO100CFG
Lights-Out (100 series) Online Configuration utility
LUN
logical unit number
MBR
master boot record
Acronyms and abbreviations
63
NFS
network file system
NIC
network interface controller
NVRAM
non-volatile memory
OS
operating system
PCI
peripheral component interface
PSP
ProLiant Support Pack
PXE
Preboot Execution Environment
RAID
redundant array of inexpensive (or independent) disks
RAM
random access memory
RBSU
ROM-Based Setup Utility
RHEL
Red Hat Enterprise Linux
RIBCL
Remote Insight Board Command Language
RILOE II
Remote Insight Lights-Out Edition II
ROM
read-only memory
Acronyms and abbreviations
64
SAS
serial attached SCSI
SATA
serial ATA
SCSI
small computer system interface
SLES
SUSE Linux Enterprise Server
SSP
Selective Storage Presentation
STATEMGR
State Manager utility
TFTP
Trivial File Transfer Protocol
USB
universal serial bus
VPD
vital product data
WOL
Wake-on LAN
WWID
World Wide ID
WWN
World Wide Name
WWPN
worldwide port name
XML
extensible markup language
Acronyms and abbreviations
65
Index
A
action mode, HPACUSCRIPTING 40
advanced topics 11
anaconda-ks.cfg 19
arguments 9
arguments, CONREP 31
arguments, HPDISCOVERY 27
arguments, HPLPCFG 52
arguments, HPONCFG 55
arguments, HPQLAREP 53
arguments, HWQUERY 30
arguments, IFHW 28
arguments, LO100CFG 58
arguments, RBSURESET 26
arguments, REBOOT 23
arguments, SETBOOTORDER 24
arguments, STATEMGR 25
array category options, HPACUSCRIPTING 43
array configuration, copying 36, 37
array, specifying and creating,
HPACUSCRIPTING 43
authorized reseller 61
B
BOOTEXTRACT utility 26
booting the Linux Toolkit environment from a USB flash
device 14
booting the Linux Toolkit environment using PXE 11
C
cache ratio, HPACUSCRIPTING 42
capturing configurations 8, 36
caution, data loss 6
clearing a configuration 41
command file contents 56, 59
command-line arguments, BOOTEXTRACT 26
command-line arguments, HPLPCFG 52
command-line arguments, HPQLAREP 53
command-line examples, HPDISCOVERY 28
command-line examples, HPLPCFG 52
command-line examples, HPONCFG 58
command-line examples, HPQLAREP 54
command-line examples, HWQUERY 30
command-line examples, IFHW 28
command-line examples, REBOOT 24
command-line examples, SETBOOTORDER 25
command-line examples, STATEMGR 26
command-line syntax, BOOTEXTRACT 26
command-line syntax, CONREP 31
command-line syntax, HPDISCOVERY 27
command-line syntax, HPLPCFG 52
command-line syntax, HPONCFG 55
command-line syntax, HPQLAREP 53
command-line syntax, HWQUERY 30
command-line syntax, IFHW 28
command-line syntax, LO100CFG 58
command-line syntax, RBSURESET 26
command-line syntax, REBOOT 23
command-line syntax, SETBOOTORDER 24
command-line syntax, STATEMGR 25
configuration procedures 10, 15, 57
Configuration Replication utility (CONREP) 8, 10, 31
configuration, capturing 8
connection name 47
CONREP (Configuration Replication utility) 8, 10, 31
contacting HP 61
control category, HPACUSCRIPTING 40
controller category, HPACUSCRIPTING 40
controller name 41
controller, specifying HPACUSCRIPTING 41
creating a network share 8
D
data loss 6
DHCP (Dynamic Host Configuration Protocol) 13
DHCP server 13
directory share, TFTP 13
drive type, HPACUSCRIPTING 44
Dynamic Host Configuration Protocol (DHCP) 13
E
error code 24, 25, 26, 27, 28, 30, 32, 56
error codes, CONREP 32
error codes, HPACUSCRIPTING 48
error codes, HPDISCOVERY 27
Index
66
error codes, HPONCFG 56
error codes, HWQUERY 30
error codes, IFHW 28
error codes, LO100CFG 59
error codes, RBSURESET 26
error codes, REBOOT 24
error codes, SETBOOTORDER 24
error codes, STATEMGR 25
examples 24, 25, 26, 28, 30, 58
expand priority, HPACUSCRIPTING 42
expressions 29
Input script, using 36
install_win.sh 19
installing operating system 10, 14
introduction 6
ISO image 9
L
file contents 56, 59
license key 41
Lights-Out 100 Configuration (LO100CFG) 58
Linux Toolkit overview 6
LO100CFG (Lights-Out 100 Configuration) 58
logical drive capacity extension 46
logical drive category options,
HPACUSCRIPTING 45
H
M
hardware configuration 15
Hardware Query Utility (HWQUERY) 29
HBA category options, HPACUSCRIPTING 47
HBA WWN 47
help resources 61
host mode 47
HP Array Configuration Utility Scripting
(HPACUSCRIPTING) 36
HP Emulex FC HBA BIOS Configuration Utility
(HPLPCFG) 51
HP Lights-Out Online Configuration Utility
(HPONCFG) 8, 10, 56
HP ProLiant Support Pack (PSP) 64
HP QLogic FC HBA BIOS Configuration Utility
(HPQLAREP) 53
HP SmartStart, deployment 7
HPACUSCRIPTING (HP Array Configuration Utility
Scripting) 36
HPACUSCRIPTING, command line examples 37
HPACUSCRIPTING, scripting options 38
HPLPCFG (HP Emulex FC HBA BIOS Configuration
Utility) 51
HPONCFG (HP Lights-Out Online Configuration
Utility) 8, 10, 55, 56, 57, 58
HPQLAREP (HP QLogic FC HBA BIOS Configuration
Utility) 53
HWQUERY (Hardware Query Utility) 29
MaxBoot setting 46
method mode, HPACUSCRIPTING 40
minimum requirements 6
mkisofs command 9
F
I
I/O path, modifying 41
IF Hardware Utility (IFHW) 28
IFHW (IF Hardware Utility) 28
illustrations, boot process 11
N
network share 8
NFS Server Configuration Tool 8
O
online help 22
online spare, HPACUSCRIPTING 44
operating system installation 10, 14
operators 29
overview, Linux Toolkit 6
P
parameters 9
parameters, BOOTEXTRACT 26
parameters, CONREP 31
parameters, HPDISCOVERY 27
parameters, HPLPCFG 52
parameters, HPONCFG 55
parameters, HPQLAREP 53
parameters, HWQUERY 30
parameters, IFHW 28
parameters, LO100CFG 58
parameters, RBSURESET 26
parameters, REBOOT 23
parameters, SETBOOTORDER 24
parameters, STATEMGR 25
parity groups 45
Index
67
physical drives, adding, HPACUSCRIPTING 43
PXE boot, illustration 11
R
RAID-level migration, HPACUSCRIPTING 46
RBSURESET utility 26
read-write ratio, HPACUSCRIPTING 41
REBOOT (Reboot utility) 23
Reboot utility (REBOOT) 23
rebuild priority, HPACUSCRIPTING 42
redundant controller, modifying I/O path of 41, 45
references 61
requirements, minimum 6
return codes 24, 25, 26, 27, 28, 30, 32, 56
return codes, BOOTEXTRACT 27
return codes, CONREP 32
return codes, HPDISCOVERY 27
return codes, HPLPCFG 52
return codes, HPONCFG 56
return codes, HPQLAREP 54
return codes, HWQUERY 30
return codes, IFHW 28
return codes, LO100CFG 59
return codes, RBSURESET 26
return codes, REBOOT 24
return codes, SETBOOTORDER 24
return codes, STATEMGR 25
RHEL (Red Hat Enterprise Linux) 19
syntax, HPONCFG 55
syntax, HPQLAREP 53
syntax, HWQUERY 30
syntax, IFHW 28
syntax, LO100CFG 58
syntax, RBSURESET 26
syntax, REBOOT 23
syntax, SETBOOTORDER 24
syntax, STATEMGR 25
SYSLINUX 11
system hardware configuration 15
T
target server, configuring 10
technical support 61
telephone numbers 61
TFTP directory share 13
TFTP server 12
toolkit utilities 22, 23
troubleshooting 60
U
unattended installation file 19
USB drive key 14
V
video performance optimization 43
S
W
sample script 19, 37
script files 37, 56
Selective Storage Presentation (SSP) 45, 46
SETBOOTORDER utility 24
setting up a DHCP server 13
setting up a TFTP server 12
source server, capturing configuration from 8
SSP (Selective Storage Presentation) 45, 46
SSP (Selective Storage Presentation),
HPACUSCRIPTING 42, 46
State Manager utility (STATEMGR) 25
STATEMGR (State Manager utility) 25
stripe size values 46
support 61
surface scan delay 43
syntax conventions 22
syntax, CONREP 31
syntax, HPDISCOVERY 27
syntax, HPLPCFG 52
website, HP 61
Index
68