linmin bare metal provisioning user's guide

117
LinMin Bare Metal Provisioning User's Guide Published Oct. 16, 2009 LinMin Bare Metal ProvisioningUser's Guide Release 5.5.1 Trademarks and Copyright Notices: LinMin™, LinMin BMP™, LinMin Bare Metal™, LinMin Bare Metal Provisioning™, Open Country™, OC™, LinMin Provision™, LinMin-Provision™, OC Provision™, OC-Provision™, OCM™, OCM Provision™, LinMin Manager™, OC Manager™, OCM Manager™, LinMin Agent™, OC Agent™ and OCM Agent™ are trademarks of LinMin Corp. Linux® is a registered trademark of Linus Torwalds. Microsoft® and Windows® are registered trademarks of Microsoft Corporation. All other trademarks are the property of their respective owners. Contact: www.linmin.com or [email protected] . Before contacting LinMin Support , in /usr/local/linmin please execute ./linmin-bmp- support-help.sh and email to [email protected] the resulting file “lbmp-supporthelp_{timestamp}*.help” file. This file captures all your system settings, actions taken and installation results. Copyright © 2007 - 2009 LinMin Corporation. All Rights Reserved. Page 1

Upload: others

Post on 21-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

LinMin Bare Metal Provisioningtrade Users Guide

Release 551

Trademarks and Copyright Notices

LinMintrade LinMin BMPtrade LinMin Bare Metaltrade LinMin Bare Metal Provisioningtrade Open Countrytrade OCtrade LinMin Provisiontrade LinMin-Provisiontrade OC Provisiontrade OC-Provisiontrade OCMtrade OCM Provisiontrade LinMin Managertrade OC Managertrade OCM Managertrade LinMin Agenttrade OC Agenttrade and OCM Agenttrade are trademarks of LinMin Corp

Linuxreg is a registered trademark of Linus Torwalds Microsoftreg and Windowsreg are registered trademarks of Microsoft Corporation All other trademarks are the property of their respective owners

Contact wwwlinmincom or linmin-supportlinmincom Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 2

Table of Contents1 Introduction to LinMin Bare Metal Provisioning 6

11 LinMin Primary Modes of Operation 6 12 LinMin Release and Revision History 8

121 Enhancements for LinMin Bare Metal Provisioning 51 8 122 Enhancements for LinMin Bare Metal Provisioning 52 8 123 Enhancements for LinMin Bare Metal Provisioning 53 8 124 Enhancements for LinMin Bare Metal Provisioning 531 9 125 Enhancements for LinMin Bare Metal Provisioning 54 9 126 Enhancements for LinMin Bare Metal Provisioning 541 9 127 Enhancements for LinMin Bare Metal Provisioning 542 9 128 Enhancements for LinMin Bare Metal Provisioning 543 10 129 Enhancements for LinMin Bare Metal Provisioning 55 10 1210 Enhancements for LinMin Bare Metal Provisioning 551 10

2 Upload and Extract OS Media and Drivers 11 21 Upload the Linux (except Debian) OS Media 11

211 Upload the Linux ISO Image to the LinMin Server 11 212 Extract Linux Distro ISO with the script loadlinuxpl 12 213 Upload the Linux DVDCD-ROM Media from the command line 13

22 Access the Debian Distribution Media 14 221 Select the Debian Distribution and Mirror with debian-setuppl 15 222 Creating a local Debian mirror (optional) 19

23 Upload and Extract the Windows OS Media amp Drivers 21 231 Upload the Windows ISO Image to the LinMin Server 21 232 Run the Script loadwindowspl and Create the Custom Windows Installation 22 233 Locate and Copy Drivers to your Windows Custom Installation 23

2331 Identify the Required NIC Drivers 23 2332 Identify the Required NIC RIS (Remote Installation Service) Drivers 23 2333 Identify Required Storage Drivers 24 2334 Identify RequiredldquoOtherrdquoDrivers 24

234 Obtain the Required Drivers 25 2341 Obtain the NIC Drivers 25 2342 Obtain the NIC RIS (Remote Installation Service) Drivers 25 2343 Obtain the Storage Drivers26 2344 Obtain the Other Drivers 26

235 Copy the Drivers to the LinMin Server 26 2351 Copy the NIC Drivers 27 2352 Copy the NIC RIS (Remote Installation Service) Drivers 28 2353 Copy the Storage Drivers28 2354 Copy Other Drivers 29

236 Integrate the Drivers into your Windows Custom Installation 30 237 Troubleshooting Windows Network Driver Problems 30 238 Resources for Customizing Windows Installations 31

3 Create LinMin Provisioning Roles 32 31 Access the LinMin Servers Graphical User Interface 32

311 LinMin server password 32 32 MAC-Independent Provisioning 33

321 Configure the MAC-Independent Provisioning Roles Menu 33 3211 The 2 Methods for Creating MAC-Independent Provisioning Roles 35

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux 35

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 3

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE 37 324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian 38 325 Create MAC-Independent Provisioning Roles for Windowsreg 40 326 General Comments on MAC-Independent Provisioning Role 41

33 Configure MAC-Specific Provisioning Roles 43 331 Create MAC-Specific Provisioning Role Templates 43

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles43 3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux 44 3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE 45 3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian 46 3315 Create MAC-Specific Provisioning Role Templates for Windowsreg 48

332 Create MAC-Specific Provisioning Roles 51 333 MAC-Specific Provisioning Business Rules 54 334 Best Practices with MAC-Specific Provisioning 54

4 Set Up the LinMin Client for Provisioning 55 5 Provision the LinMin Client System 56

51 Configuring VMware Clients 56 52 Provisioning VMware Clients 57 53 Configuring VirtualBox Clients 59 52 Provisioning VirtualBox Clients 60

6 Customize the Provisioning Process 61 61 Customize Provisioning with Linux Distributions 61 62 Customize Provisioning with Windows OSs 62

7 Update Drivers 63 71 Update Linux Drivers 63

711 Update Drivers on SuSE-Based Distributions 63 7111 Single Driver Update 63 7112 Multiple Driver Update63

712 Update Drivers on Red Hat-Based Distributions 65 8 Bare Metal Imaging Backup and Restore 66

81 Introduction to LinMin Imaging 66 82 Preparation before Imaging Information to Collect 66 83 Creating Imaging Profiles 67 84 Next Network Boot Imaging Actions 68 85 Image Backup Directory Locations 69 86 Imaging Control File Locations 70

9 Managing the LinMin Server 71 91 StartStopRestartCheck the LinMin Server 71 92 LinMin Status and Error Log Files 71 93 LinMin Provisioning and Media Log Files 72 94 Update the LinMin Server 74

941 Update the License Key File 74 942 Upgrade to a New Version of LinMin 74 943 Reconfigure the LinMin Bare Metal Provisioning Server 75

95 Uninstall the LinMin Bare Metal Provisioning Server 75 Appendix A Troubleshooting the LinMin Server 76 Appendix B Determine the Clients MAC Address 80

B1 Client without an OS (bare-metal client) 80

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 4

B2 Client with an existing Windows OS 80 B3 Client with an existing Linux OS 80 B4 Client operating on VMware 80 B5 Client with Sun SPARC architecture81

Appendix C Installing Software and Running Scripts After Provisioning 82 C1 Create the Provisioning Command Files 82 C2 Create the Third Party Software Control File Templates 82

C211 Control File Template for Red Hat-based Linux Distributions 82 C212 Post-Install Scripting for Red Hat-based Linux Distributions 83 C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions84 C22 Control File Template for SUSE-based Linux Distributions84

Appendix D LinMin Architecture 86 Appendix E DHCP amp LANVLAN Considerations 87

E1 Introduction 87 E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support 87 E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP 88 E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service 89 E5 Example D Multiple (V)LAN Subnet Configuration Overview 89 E6 Example E Multiple (V)LAN Subnet Configuration Specifics 90

Appendix F Application Program Interface (API) 92 Appendix G Provisioning Unsupported DistrosOSs 98 Appendix H License Keys and Licensing 98 Appendix I Useful Links 99 Addendum 1 Option for Provisioning Solaris x86 100

A11 Introduction to Provisioning Solaris x86 100 A12 Installing and Uninstalling the Solaris x86 Option 100 A13 Upload the Solaris OS Media 101

A131 Upload the Solaris ISO Image to the LinMin Server 101 A132 Extract the Solaris ISO with the script loadlinuxpl 102

A14 MAC-Independent Provisioning 102 A141 Configure the MAC-Independent Provisioning Roles Menu 102

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles 105 A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86 106

A15 Configure MAC-Specific Provisioning Roles 107 A151 Create MAC-Specific Provisioning Role Templates 107

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles 107 A1512 Create MAC-Specific Provisioning Role Templates for Solaris 107

A152 Create MAC-Specific Provisioning Roles 109 A16 General Notes on Provisioning Solaris x86 110

A161 The file configtar 110 Addendum 2 Option for Provisioning Solaris SPARC 111

A21 Introduction to Provisioning Solaris SPARC 111 A22 Installing amp Uninstalling the Solaris SPARC Option 111 A23 Upload the Solaris OS Media 112

A231 Upload the Solaris SPARC ISO Image to the LinMin Server 112 A232 Extract the Solaris ISO with the script loadlinuxpl 113

A24 Configure MAC-Specific Provisioning Roles 113 A241 Create MAC-Specific Provisioning Role Templates 113

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC114 A242 Create MAC-Specific Provisioning Roles 114

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 5

A243 Provisioning SPARC Systems with DHCP 116 A25 Customizing Jumpstart Files with Solaris SPARC 116

A251 Jumpstart Configuration File Modifications with Template Edits 116 A252 Customization of Base Templates 116

Error No table of contents entries found

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

1 Introduction to LinMin Bare Metal Provisioning LinMintrade Bare Metal Provisioning (LBMPtrade) is a software application that enables a system to remotely install operating systems on servers blades workstations and virtual machines as well as backup and restore entire disk images over a Local Area Network

11 LinMin Primary Modes of Operation

MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface (display and keyboard) at Network Boot (PXE Boot) time This mode is not available for Solaris clients

MAC-Specific Provisioning Role -- an automated mode that does bare-metal provisioning of a system with the distro or OS applications and unique parameters (network settings password host name etc) based on a systemrsquos unique MAC address

MAC-Specific Imaging ndash an automated mode that performs a disk image snapshot (backup) or restore when that a uniquely identified client performs a network boot This mode is not available for Solaris clients

LinMin enables system administrators to remotely install the Linux Distribution (rdquodistrordquo) Microsoft Windows operating system (OS) or optionally Sun Solaris 10 OS of their choice on client systems Systems can be physical or virtual servers blades desktops and appliances This process is known as bare metal system provisioning (ldquoProvisioningrdquo)

LinMin also can perform bare metal imaging the backup and restore of all contents of the disks of client systems

LinMinrsquos benefits include bull Better utilization of existing systems (easy repurposing of systems) bull Fully automatic or manually-initiated installation of operating systems onto client systems bull Choice of default system profiles or highly customized purpose-specific templates (eg web server) bull Centralized software distribution bull Disaster Recovery bull Reduced administration costs and application of IT best practices (repeatability quality etc) bull Reduced power consumption by enabling systems to be consolidated and redundant systems powered

down until needed again

This document provides instructions for setting up the LinMin server instructions for provisioning LinMin clients and instructions for managing the LinMin server (including starting stopping and upgrading it)

There are several applications that you will use in setting up your LinMin environment

1) ldquosetupplrdquo a program that you run to install or upgrade LBMP and to change internal parameters when you relocate your server to another network

2) ldquoloaddvdplrdquo to upload iso files to your LinMin Server and ldquoloadlinuxplrdquo or ldquoloadwindowsplrdquo that you use each time you want to extract files from the distroOS iso and prepare LinMin to provision systems ldquodebian-setupshrdquo is used to select Debian distributions and mirrors

3) A Firefox Browser-based User Interface to create provisioning and imaging roles and to assign roles to individual systems You access the Login page by going to httpltyour_LBMP_Server_IPgttftpboot for

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 6

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 7

example http1921680243tftpboot

Remember the process to provision with LinMin Bare Metal Provisioning is very straightforward

- Upload the iso of the Linux Windows or optionally Solaris media into LinMin then automatically extract the contents to prepare LinMin to provision systems (or for Debian specify a public mirror)

- Use the GUI with your Firefox Browser to configure MAC-Independent or MAC-Specific ldquoProvisioning Rolesrdquo and optionally MAC-Specific Imaging Profiles

- Boot your client system to the network and provision or image (backup restore) depending on how you have set up the business rules for that system

Once you are comfortable with this process you will be ready to move into advanced concepts such as post-OS installation and configuration of applications copying files executing scripts adding drivers for newer hardware support and so on

It should take less than 1 hour from the time to start installing LBMP on a freshly installed and updated Red Hat Enterprise Linux 5253 or CentOS 5253 i386 system to the time you have provisioned your first system If it is taking you longer please email linmin-supportlinmincom immediately for assistance

While LinMin Bare Metal Provisioning greatly simplifies the task of provisioning systems with different Linux Distributions and Windows Operating Systems please ensure that you have properly licensed the Linux distributions that are not freely downloadable (Red Hatreg and Novellreg SuSE among others) and the Microsoftreg Windows Operating Systems before using them

NOTE TO SYSTEM ADMINISTRATORS The LinMin Bare Metal Provisioning itself runs on Red Hat Enterprise Linux Server 525354 or CentOS 525354 and will provision and image clients systems with many different versions of Linux Windows and optionally Solaris (note no imaging is available for Solaris)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 8

12 LinMin Release and Revision History 121 Enhancements for LinMin Bare Metal Provisioning 51

Automatic download of all required subsystems from Red Hat or yum repositories

Automatic detection of multiple Ethernet cards and guided selection of preferred provisioning Ethernet card

Automatic configuration of multiple DNS servers

Automatic scheduling of daily LinMin Bare Metal Provisioning database backups

Enhanced error capture and logging

Support for provisioning over 20 new 32-bit and 64-bit operating systems including Red Hat Enterprise Linux 52 Novell SLES 10 SP2 Asianux 30 Novell SLES 10 Service Packs Fedora 8 Ubuntu Hardy Heron 804 LTS and Fedora 9

Redesigned Graphical User Interface

Enhanced directory structures for provisionable operating systems

Enhanced control files for all provisional Linux distributions

More Provisioning Business Rules options

- MAC-Specific Ignore (boot from local disk)

- MAC-Specific Always provision from LinMin Bare Metal

- MAC-Specific Provision the next time (only) from the network then switch to ldquoIgnorerdquo (boot from disk)

- MAC-Independent fallback to boot from disk if service is disabled

Enhanced MAC-Specific provisioning dashboard (to view all systems at a glance)

Enhanced logging of provisioning events

122 Enhancements for LinMin Bare Metal Provisioning 52 Enhanced Installation Process

Supports the provisioning for Ubuntu 8041 (and no longer 6061 or 804) and enhanced Fedora 9 support

GUI improvements

Runs on Red Hat Enterprise Linux 52 and CentOS 52 (in addition to Releases 51)

Application Program Interface (API) so that external applications can addupdatedeleteread MAC-Specific Provisioning Roles

123 Enhancements for LinMin Bare Metal Provisioning 53 GUI-based one-click selection of Linux distros or Windows OSs to be provisioned (and all parameters get

automatically filled in)

Dynamic detection of what Linux distros and Windows OSs have the DVDCD media uploaded

Support for OpenSUSE 10 and 11 (32 and 64 bit)

Support for Windows 2003 Server 64 bit

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 2: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 2

Table of Contents1 Introduction to LinMin Bare Metal Provisioning 6

11 LinMin Primary Modes of Operation 6 12 LinMin Release and Revision History 8

121 Enhancements for LinMin Bare Metal Provisioning 51 8 122 Enhancements for LinMin Bare Metal Provisioning 52 8 123 Enhancements for LinMin Bare Metal Provisioning 53 8 124 Enhancements for LinMin Bare Metal Provisioning 531 9 125 Enhancements for LinMin Bare Metal Provisioning 54 9 126 Enhancements for LinMin Bare Metal Provisioning 541 9 127 Enhancements for LinMin Bare Metal Provisioning 542 9 128 Enhancements for LinMin Bare Metal Provisioning 543 10 129 Enhancements for LinMin Bare Metal Provisioning 55 10 1210 Enhancements for LinMin Bare Metal Provisioning 551 10

2 Upload and Extract OS Media and Drivers 11 21 Upload the Linux (except Debian) OS Media 11

211 Upload the Linux ISO Image to the LinMin Server 11 212 Extract Linux Distro ISO with the script loadlinuxpl 12 213 Upload the Linux DVDCD-ROM Media from the command line 13

22 Access the Debian Distribution Media 14 221 Select the Debian Distribution and Mirror with debian-setuppl 15 222 Creating a local Debian mirror (optional) 19

23 Upload and Extract the Windows OS Media amp Drivers 21 231 Upload the Windows ISO Image to the LinMin Server 21 232 Run the Script loadwindowspl and Create the Custom Windows Installation 22 233 Locate and Copy Drivers to your Windows Custom Installation 23

2331 Identify the Required NIC Drivers 23 2332 Identify the Required NIC RIS (Remote Installation Service) Drivers 23 2333 Identify Required Storage Drivers 24 2334 Identify RequiredldquoOtherrdquoDrivers 24

234 Obtain the Required Drivers 25 2341 Obtain the NIC Drivers 25 2342 Obtain the NIC RIS (Remote Installation Service) Drivers 25 2343 Obtain the Storage Drivers26 2344 Obtain the Other Drivers 26

235 Copy the Drivers to the LinMin Server 26 2351 Copy the NIC Drivers 27 2352 Copy the NIC RIS (Remote Installation Service) Drivers 28 2353 Copy the Storage Drivers28 2354 Copy Other Drivers 29

236 Integrate the Drivers into your Windows Custom Installation 30 237 Troubleshooting Windows Network Driver Problems 30 238 Resources for Customizing Windows Installations 31

3 Create LinMin Provisioning Roles 32 31 Access the LinMin Servers Graphical User Interface 32

311 LinMin server password 32 32 MAC-Independent Provisioning 33

321 Configure the MAC-Independent Provisioning Roles Menu 33 3211 The 2 Methods for Creating MAC-Independent Provisioning Roles 35

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux 35

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 3

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE 37 324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian 38 325 Create MAC-Independent Provisioning Roles for Windowsreg 40 326 General Comments on MAC-Independent Provisioning Role 41

33 Configure MAC-Specific Provisioning Roles 43 331 Create MAC-Specific Provisioning Role Templates 43

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles43 3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux 44 3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE 45 3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian 46 3315 Create MAC-Specific Provisioning Role Templates for Windowsreg 48

332 Create MAC-Specific Provisioning Roles 51 333 MAC-Specific Provisioning Business Rules 54 334 Best Practices with MAC-Specific Provisioning 54

4 Set Up the LinMin Client for Provisioning 55 5 Provision the LinMin Client System 56

51 Configuring VMware Clients 56 52 Provisioning VMware Clients 57 53 Configuring VirtualBox Clients 59 52 Provisioning VirtualBox Clients 60

6 Customize the Provisioning Process 61 61 Customize Provisioning with Linux Distributions 61 62 Customize Provisioning with Windows OSs 62

7 Update Drivers 63 71 Update Linux Drivers 63

711 Update Drivers on SuSE-Based Distributions 63 7111 Single Driver Update 63 7112 Multiple Driver Update63

712 Update Drivers on Red Hat-Based Distributions 65 8 Bare Metal Imaging Backup and Restore 66

81 Introduction to LinMin Imaging 66 82 Preparation before Imaging Information to Collect 66 83 Creating Imaging Profiles 67 84 Next Network Boot Imaging Actions 68 85 Image Backup Directory Locations 69 86 Imaging Control File Locations 70

9 Managing the LinMin Server 71 91 StartStopRestartCheck the LinMin Server 71 92 LinMin Status and Error Log Files 71 93 LinMin Provisioning and Media Log Files 72 94 Update the LinMin Server 74

941 Update the License Key File 74 942 Upgrade to a New Version of LinMin 74 943 Reconfigure the LinMin Bare Metal Provisioning Server 75

95 Uninstall the LinMin Bare Metal Provisioning Server 75 Appendix A Troubleshooting the LinMin Server 76 Appendix B Determine the Clients MAC Address 80

B1 Client without an OS (bare-metal client) 80

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 4

B2 Client with an existing Windows OS 80 B3 Client with an existing Linux OS 80 B4 Client operating on VMware 80 B5 Client with Sun SPARC architecture81

Appendix C Installing Software and Running Scripts After Provisioning 82 C1 Create the Provisioning Command Files 82 C2 Create the Third Party Software Control File Templates 82

C211 Control File Template for Red Hat-based Linux Distributions 82 C212 Post-Install Scripting for Red Hat-based Linux Distributions 83 C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions84 C22 Control File Template for SUSE-based Linux Distributions84

Appendix D LinMin Architecture 86 Appendix E DHCP amp LANVLAN Considerations 87

E1 Introduction 87 E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support 87 E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP 88 E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service 89 E5 Example D Multiple (V)LAN Subnet Configuration Overview 89 E6 Example E Multiple (V)LAN Subnet Configuration Specifics 90

Appendix F Application Program Interface (API) 92 Appendix G Provisioning Unsupported DistrosOSs 98 Appendix H License Keys and Licensing 98 Appendix I Useful Links 99 Addendum 1 Option for Provisioning Solaris x86 100

A11 Introduction to Provisioning Solaris x86 100 A12 Installing and Uninstalling the Solaris x86 Option 100 A13 Upload the Solaris OS Media 101

A131 Upload the Solaris ISO Image to the LinMin Server 101 A132 Extract the Solaris ISO with the script loadlinuxpl 102

A14 MAC-Independent Provisioning 102 A141 Configure the MAC-Independent Provisioning Roles Menu 102

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles 105 A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86 106

A15 Configure MAC-Specific Provisioning Roles 107 A151 Create MAC-Specific Provisioning Role Templates 107

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles 107 A1512 Create MAC-Specific Provisioning Role Templates for Solaris 107

A152 Create MAC-Specific Provisioning Roles 109 A16 General Notes on Provisioning Solaris x86 110

A161 The file configtar 110 Addendum 2 Option for Provisioning Solaris SPARC 111

A21 Introduction to Provisioning Solaris SPARC 111 A22 Installing amp Uninstalling the Solaris SPARC Option 111 A23 Upload the Solaris OS Media 112

A231 Upload the Solaris SPARC ISO Image to the LinMin Server 112 A232 Extract the Solaris ISO with the script loadlinuxpl 113

A24 Configure MAC-Specific Provisioning Roles 113 A241 Create MAC-Specific Provisioning Role Templates 113

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC114 A242 Create MAC-Specific Provisioning Roles 114

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 5

A243 Provisioning SPARC Systems with DHCP 116 A25 Customizing Jumpstart Files with Solaris SPARC 116

A251 Jumpstart Configuration File Modifications with Template Edits 116 A252 Customization of Base Templates 116

Error No table of contents entries found

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

1 Introduction to LinMin Bare Metal Provisioning LinMintrade Bare Metal Provisioning (LBMPtrade) is a software application that enables a system to remotely install operating systems on servers blades workstations and virtual machines as well as backup and restore entire disk images over a Local Area Network

11 LinMin Primary Modes of Operation

MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface (display and keyboard) at Network Boot (PXE Boot) time This mode is not available for Solaris clients

MAC-Specific Provisioning Role -- an automated mode that does bare-metal provisioning of a system with the distro or OS applications and unique parameters (network settings password host name etc) based on a systemrsquos unique MAC address

MAC-Specific Imaging ndash an automated mode that performs a disk image snapshot (backup) or restore when that a uniquely identified client performs a network boot This mode is not available for Solaris clients

LinMin enables system administrators to remotely install the Linux Distribution (rdquodistrordquo) Microsoft Windows operating system (OS) or optionally Sun Solaris 10 OS of their choice on client systems Systems can be physical or virtual servers blades desktops and appliances This process is known as bare metal system provisioning (ldquoProvisioningrdquo)

LinMin also can perform bare metal imaging the backup and restore of all contents of the disks of client systems

LinMinrsquos benefits include bull Better utilization of existing systems (easy repurposing of systems) bull Fully automatic or manually-initiated installation of operating systems onto client systems bull Choice of default system profiles or highly customized purpose-specific templates (eg web server) bull Centralized software distribution bull Disaster Recovery bull Reduced administration costs and application of IT best practices (repeatability quality etc) bull Reduced power consumption by enabling systems to be consolidated and redundant systems powered

down until needed again

This document provides instructions for setting up the LinMin server instructions for provisioning LinMin clients and instructions for managing the LinMin server (including starting stopping and upgrading it)

There are several applications that you will use in setting up your LinMin environment

1) ldquosetupplrdquo a program that you run to install or upgrade LBMP and to change internal parameters when you relocate your server to another network

2) ldquoloaddvdplrdquo to upload iso files to your LinMin Server and ldquoloadlinuxplrdquo or ldquoloadwindowsplrdquo that you use each time you want to extract files from the distroOS iso and prepare LinMin to provision systems ldquodebian-setupshrdquo is used to select Debian distributions and mirrors

3) A Firefox Browser-based User Interface to create provisioning and imaging roles and to assign roles to individual systems You access the Login page by going to httpltyour_LBMP_Server_IPgttftpboot for

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 6

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 7

example http1921680243tftpboot

Remember the process to provision with LinMin Bare Metal Provisioning is very straightforward

- Upload the iso of the Linux Windows or optionally Solaris media into LinMin then automatically extract the contents to prepare LinMin to provision systems (or for Debian specify a public mirror)

- Use the GUI with your Firefox Browser to configure MAC-Independent or MAC-Specific ldquoProvisioning Rolesrdquo and optionally MAC-Specific Imaging Profiles

- Boot your client system to the network and provision or image (backup restore) depending on how you have set up the business rules for that system

Once you are comfortable with this process you will be ready to move into advanced concepts such as post-OS installation and configuration of applications copying files executing scripts adding drivers for newer hardware support and so on

It should take less than 1 hour from the time to start installing LBMP on a freshly installed and updated Red Hat Enterprise Linux 5253 or CentOS 5253 i386 system to the time you have provisioned your first system If it is taking you longer please email linmin-supportlinmincom immediately for assistance

While LinMin Bare Metal Provisioning greatly simplifies the task of provisioning systems with different Linux Distributions and Windows Operating Systems please ensure that you have properly licensed the Linux distributions that are not freely downloadable (Red Hatreg and Novellreg SuSE among others) and the Microsoftreg Windows Operating Systems before using them

NOTE TO SYSTEM ADMINISTRATORS The LinMin Bare Metal Provisioning itself runs on Red Hat Enterprise Linux Server 525354 or CentOS 525354 and will provision and image clients systems with many different versions of Linux Windows and optionally Solaris (note no imaging is available for Solaris)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 8

12 LinMin Release and Revision History 121 Enhancements for LinMin Bare Metal Provisioning 51

Automatic download of all required subsystems from Red Hat or yum repositories

Automatic detection of multiple Ethernet cards and guided selection of preferred provisioning Ethernet card

Automatic configuration of multiple DNS servers

Automatic scheduling of daily LinMin Bare Metal Provisioning database backups

Enhanced error capture and logging

Support for provisioning over 20 new 32-bit and 64-bit operating systems including Red Hat Enterprise Linux 52 Novell SLES 10 SP2 Asianux 30 Novell SLES 10 Service Packs Fedora 8 Ubuntu Hardy Heron 804 LTS and Fedora 9

Redesigned Graphical User Interface

Enhanced directory structures for provisionable operating systems

Enhanced control files for all provisional Linux distributions

More Provisioning Business Rules options

- MAC-Specific Ignore (boot from local disk)

- MAC-Specific Always provision from LinMin Bare Metal

- MAC-Specific Provision the next time (only) from the network then switch to ldquoIgnorerdquo (boot from disk)

- MAC-Independent fallback to boot from disk if service is disabled

Enhanced MAC-Specific provisioning dashboard (to view all systems at a glance)

Enhanced logging of provisioning events

122 Enhancements for LinMin Bare Metal Provisioning 52 Enhanced Installation Process

Supports the provisioning for Ubuntu 8041 (and no longer 6061 or 804) and enhanced Fedora 9 support

GUI improvements

Runs on Red Hat Enterprise Linux 52 and CentOS 52 (in addition to Releases 51)

Application Program Interface (API) so that external applications can addupdatedeleteread MAC-Specific Provisioning Roles

123 Enhancements for LinMin Bare Metal Provisioning 53 GUI-based one-click selection of Linux distros or Windows OSs to be provisioned (and all parameters get

automatically filled in)

Dynamic detection of what Linux distros and Windows OSs have the DVDCD media uploaded

Support for OpenSUSE 10 and 11 (32 and 64 bit)

Support for Windows 2003 Server 64 bit

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 3: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 3

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE 37 324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian 38 325 Create MAC-Independent Provisioning Roles for Windowsreg 40 326 General Comments on MAC-Independent Provisioning Role 41

33 Configure MAC-Specific Provisioning Roles 43 331 Create MAC-Specific Provisioning Role Templates 43

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles43 3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux 44 3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE 45 3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian 46 3315 Create MAC-Specific Provisioning Role Templates for Windowsreg 48

332 Create MAC-Specific Provisioning Roles 51 333 MAC-Specific Provisioning Business Rules 54 334 Best Practices with MAC-Specific Provisioning 54

4 Set Up the LinMin Client for Provisioning 55 5 Provision the LinMin Client System 56

51 Configuring VMware Clients 56 52 Provisioning VMware Clients 57 53 Configuring VirtualBox Clients 59 52 Provisioning VirtualBox Clients 60

6 Customize the Provisioning Process 61 61 Customize Provisioning with Linux Distributions 61 62 Customize Provisioning with Windows OSs 62

7 Update Drivers 63 71 Update Linux Drivers 63

711 Update Drivers on SuSE-Based Distributions 63 7111 Single Driver Update 63 7112 Multiple Driver Update63

712 Update Drivers on Red Hat-Based Distributions 65 8 Bare Metal Imaging Backup and Restore 66

81 Introduction to LinMin Imaging 66 82 Preparation before Imaging Information to Collect 66 83 Creating Imaging Profiles 67 84 Next Network Boot Imaging Actions 68 85 Image Backup Directory Locations 69 86 Imaging Control File Locations 70

9 Managing the LinMin Server 71 91 StartStopRestartCheck the LinMin Server 71 92 LinMin Status and Error Log Files 71 93 LinMin Provisioning and Media Log Files 72 94 Update the LinMin Server 74

941 Update the License Key File 74 942 Upgrade to a New Version of LinMin 74 943 Reconfigure the LinMin Bare Metal Provisioning Server 75

95 Uninstall the LinMin Bare Metal Provisioning Server 75 Appendix A Troubleshooting the LinMin Server 76 Appendix B Determine the Clients MAC Address 80

B1 Client without an OS (bare-metal client) 80

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 4

B2 Client with an existing Windows OS 80 B3 Client with an existing Linux OS 80 B4 Client operating on VMware 80 B5 Client with Sun SPARC architecture81

Appendix C Installing Software and Running Scripts After Provisioning 82 C1 Create the Provisioning Command Files 82 C2 Create the Third Party Software Control File Templates 82

C211 Control File Template for Red Hat-based Linux Distributions 82 C212 Post-Install Scripting for Red Hat-based Linux Distributions 83 C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions84 C22 Control File Template for SUSE-based Linux Distributions84

Appendix D LinMin Architecture 86 Appendix E DHCP amp LANVLAN Considerations 87

E1 Introduction 87 E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support 87 E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP 88 E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service 89 E5 Example D Multiple (V)LAN Subnet Configuration Overview 89 E6 Example E Multiple (V)LAN Subnet Configuration Specifics 90

Appendix F Application Program Interface (API) 92 Appendix G Provisioning Unsupported DistrosOSs 98 Appendix H License Keys and Licensing 98 Appendix I Useful Links 99 Addendum 1 Option for Provisioning Solaris x86 100

A11 Introduction to Provisioning Solaris x86 100 A12 Installing and Uninstalling the Solaris x86 Option 100 A13 Upload the Solaris OS Media 101

A131 Upload the Solaris ISO Image to the LinMin Server 101 A132 Extract the Solaris ISO with the script loadlinuxpl 102

A14 MAC-Independent Provisioning 102 A141 Configure the MAC-Independent Provisioning Roles Menu 102

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles 105 A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86 106

A15 Configure MAC-Specific Provisioning Roles 107 A151 Create MAC-Specific Provisioning Role Templates 107

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles 107 A1512 Create MAC-Specific Provisioning Role Templates for Solaris 107

A152 Create MAC-Specific Provisioning Roles 109 A16 General Notes on Provisioning Solaris x86 110

A161 The file configtar 110 Addendum 2 Option for Provisioning Solaris SPARC 111

A21 Introduction to Provisioning Solaris SPARC 111 A22 Installing amp Uninstalling the Solaris SPARC Option 111 A23 Upload the Solaris OS Media 112

A231 Upload the Solaris SPARC ISO Image to the LinMin Server 112 A232 Extract the Solaris ISO with the script loadlinuxpl 113

A24 Configure MAC-Specific Provisioning Roles 113 A241 Create MAC-Specific Provisioning Role Templates 113

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC114 A242 Create MAC-Specific Provisioning Roles 114

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 5

A243 Provisioning SPARC Systems with DHCP 116 A25 Customizing Jumpstart Files with Solaris SPARC 116

A251 Jumpstart Configuration File Modifications with Template Edits 116 A252 Customization of Base Templates 116

Error No table of contents entries found

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

1 Introduction to LinMin Bare Metal Provisioning LinMintrade Bare Metal Provisioning (LBMPtrade) is a software application that enables a system to remotely install operating systems on servers blades workstations and virtual machines as well as backup and restore entire disk images over a Local Area Network

11 LinMin Primary Modes of Operation

MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface (display and keyboard) at Network Boot (PXE Boot) time This mode is not available for Solaris clients

MAC-Specific Provisioning Role -- an automated mode that does bare-metal provisioning of a system with the distro or OS applications and unique parameters (network settings password host name etc) based on a systemrsquos unique MAC address

MAC-Specific Imaging ndash an automated mode that performs a disk image snapshot (backup) or restore when that a uniquely identified client performs a network boot This mode is not available for Solaris clients

LinMin enables system administrators to remotely install the Linux Distribution (rdquodistrordquo) Microsoft Windows operating system (OS) or optionally Sun Solaris 10 OS of their choice on client systems Systems can be physical or virtual servers blades desktops and appliances This process is known as bare metal system provisioning (ldquoProvisioningrdquo)

LinMin also can perform bare metal imaging the backup and restore of all contents of the disks of client systems

LinMinrsquos benefits include bull Better utilization of existing systems (easy repurposing of systems) bull Fully automatic or manually-initiated installation of operating systems onto client systems bull Choice of default system profiles or highly customized purpose-specific templates (eg web server) bull Centralized software distribution bull Disaster Recovery bull Reduced administration costs and application of IT best practices (repeatability quality etc) bull Reduced power consumption by enabling systems to be consolidated and redundant systems powered

down until needed again

This document provides instructions for setting up the LinMin server instructions for provisioning LinMin clients and instructions for managing the LinMin server (including starting stopping and upgrading it)

There are several applications that you will use in setting up your LinMin environment

1) ldquosetupplrdquo a program that you run to install or upgrade LBMP and to change internal parameters when you relocate your server to another network

2) ldquoloaddvdplrdquo to upload iso files to your LinMin Server and ldquoloadlinuxplrdquo or ldquoloadwindowsplrdquo that you use each time you want to extract files from the distroOS iso and prepare LinMin to provision systems ldquodebian-setupshrdquo is used to select Debian distributions and mirrors

3) A Firefox Browser-based User Interface to create provisioning and imaging roles and to assign roles to individual systems You access the Login page by going to httpltyour_LBMP_Server_IPgttftpboot for

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 6

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 7

example http1921680243tftpboot

Remember the process to provision with LinMin Bare Metal Provisioning is very straightforward

- Upload the iso of the Linux Windows or optionally Solaris media into LinMin then automatically extract the contents to prepare LinMin to provision systems (or for Debian specify a public mirror)

- Use the GUI with your Firefox Browser to configure MAC-Independent or MAC-Specific ldquoProvisioning Rolesrdquo and optionally MAC-Specific Imaging Profiles

- Boot your client system to the network and provision or image (backup restore) depending on how you have set up the business rules for that system

Once you are comfortable with this process you will be ready to move into advanced concepts such as post-OS installation and configuration of applications copying files executing scripts adding drivers for newer hardware support and so on

It should take less than 1 hour from the time to start installing LBMP on a freshly installed and updated Red Hat Enterprise Linux 5253 or CentOS 5253 i386 system to the time you have provisioned your first system If it is taking you longer please email linmin-supportlinmincom immediately for assistance

While LinMin Bare Metal Provisioning greatly simplifies the task of provisioning systems with different Linux Distributions and Windows Operating Systems please ensure that you have properly licensed the Linux distributions that are not freely downloadable (Red Hatreg and Novellreg SuSE among others) and the Microsoftreg Windows Operating Systems before using them

NOTE TO SYSTEM ADMINISTRATORS The LinMin Bare Metal Provisioning itself runs on Red Hat Enterprise Linux Server 525354 or CentOS 525354 and will provision and image clients systems with many different versions of Linux Windows and optionally Solaris (note no imaging is available for Solaris)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 8

12 LinMin Release and Revision History 121 Enhancements for LinMin Bare Metal Provisioning 51

Automatic download of all required subsystems from Red Hat or yum repositories

Automatic detection of multiple Ethernet cards and guided selection of preferred provisioning Ethernet card

Automatic configuration of multiple DNS servers

Automatic scheduling of daily LinMin Bare Metal Provisioning database backups

Enhanced error capture and logging

Support for provisioning over 20 new 32-bit and 64-bit operating systems including Red Hat Enterprise Linux 52 Novell SLES 10 SP2 Asianux 30 Novell SLES 10 Service Packs Fedora 8 Ubuntu Hardy Heron 804 LTS and Fedora 9

Redesigned Graphical User Interface

Enhanced directory structures for provisionable operating systems

Enhanced control files for all provisional Linux distributions

More Provisioning Business Rules options

- MAC-Specific Ignore (boot from local disk)

- MAC-Specific Always provision from LinMin Bare Metal

- MAC-Specific Provision the next time (only) from the network then switch to ldquoIgnorerdquo (boot from disk)

- MAC-Independent fallback to boot from disk if service is disabled

Enhanced MAC-Specific provisioning dashboard (to view all systems at a glance)

Enhanced logging of provisioning events

122 Enhancements for LinMin Bare Metal Provisioning 52 Enhanced Installation Process

Supports the provisioning for Ubuntu 8041 (and no longer 6061 or 804) and enhanced Fedora 9 support

GUI improvements

Runs on Red Hat Enterprise Linux 52 and CentOS 52 (in addition to Releases 51)

Application Program Interface (API) so that external applications can addupdatedeleteread MAC-Specific Provisioning Roles

123 Enhancements for LinMin Bare Metal Provisioning 53 GUI-based one-click selection of Linux distros or Windows OSs to be provisioned (and all parameters get

automatically filled in)

Dynamic detection of what Linux distros and Windows OSs have the DVDCD media uploaded

Support for OpenSUSE 10 and 11 (32 and 64 bit)

Support for Windows 2003 Server 64 bit

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 4: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 4

B2 Client with an existing Windows OS 80 B3 Client with an existing Linux OS 80 B4 Client operating on VMware 80 B5 Client with Sun SPARC architecture81

Appendix C Installing Software and Running Scripts After Provisioning 82 C1 Create the Provisioning Command Files 82 C2 Create the Third Party Software Control File Templates 82

C211 Control File Template for Red Hat-based Linux Distributions 82 C212 Post-Install Scripting for Red Hat-based Linux Distributions 83 C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions84 C22 Control File Template for SUSE-based Linux Distributions84

Appendix D LinMin Architecture 86 Appendix E DHCP amp LANVLAN Considerations 87

E1 Introduction 87 E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support 87 E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP 88 E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service 89 E5 Example D Multiple (V)LAN Subnet Configuration Overview 89 E6 Example E Multiple (V)LAN Subnet Configuration Specifics 90

Appendix F Application Program Interface (API) 92 Appendix G Provisioning Unsupported DistrosOSs 98 Appendix H License Keys and Licensing 98 Appendix I Useful Links 99 Addendum 1 Option for Provisioning Solaris x86 100

A11 Introduction to Provisioning Solaris x86 100 A12 Installing and Uninstalling the Solaris x86 Option 100 A13 Upload the Solaris OS Media 101

A131 Upload the Solaris ISO Image to the LinMin Server 101 A132 Extract the Solaris ISO with the script loadlinuxpl 102

A14 MAC-Independent Provisioning 102 A141 Configure the MAC-Independent Provisioning Roles Menu 102

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles 105 A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86 106

A15 Configure MAC-Specific Provisioning Roles 107 A151 Create MAC-Specific Provisioning Role Templates 107

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles 107 A1512 Create MAC-Specific Provisioning Role Templates for Solaris 107

A152 Create MAC-Specific Provisioning Roles 109 A16 General Notes on Provisioning Solaris x86 110

A161 The file configtar 110 Addendum 2 Option for Provisioning Solaris SPARC 111

A21 Introduction to Provisioning Solaris SPARC 111 A22 Installing amp Uninstalling the Solaris SPARC Option 111 A23 Upload the Solaris OS Media 112

A231 Upload the Solaris SPARC ISO Image to the LinMin Server 112 A232 Extract the Solaris ISO with the script loadlinuxpl 113

A24 Configure MAC-Specific Provisioning Roles 113 A241 Create MAC-Specific Provisioning Role Templates 113

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC114 A242 Create MAC-Specific Provisioning Roles 114

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 5

A243 Provisioning SPARC Systems with DHCP 116 A25 Customizing Jumpstart Files with Solaris SPARC 116

A251 Jumpstart Configuration File Modifications with Template Edits 116 A252 Customization of Base Templates 116

Error No table of contents entries found

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

1 Introduction to LinMin Bare Metal Provisioning LinMintrade Bare Metal Provisioning (LBMPtrade) is a software application that enables a system to remotely install operating systems on servers blades workstations and virtual machines as well as backup and restore entire disk images over a Local Area Network

11 LinMin Primary Modes of Operation

MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface (display and keyboard) at Network Boot (PXE Boot) time This mode is not available for Solaris clients

MAC-Specific Provisioning Role -- an automated mode that does bare-metal provisioning of a system with the distro or OS applications and unique parameters (network settings password host name etc) based on a systemrsquos unique MAC address

MAC-Specific Imaging ndash an automated mode that performs a disk image snapshot (backup) or restore when that a uniquely identified client performs a network boot This mode is not available for Solaris clients

LinMin enables system administrators to remotely install the Linux Distribution (rdquodistrordquo) Microsoft Windows operating system (OS) or optionally Sun Solaris 10 OS of their choice on client systems Systems can be physical or virtual servers blades desktops and appliances This process is known as bare metal system provisioning (ldquoProvisioningrdquo)

LinMin also can perform bare metal imaging the backup and restore of all contents of the disks of client systems

LinMinrsquos benefits include bull Better utilization of existing systems (easy repurposing of systems) bull Fully automatic or manually-initiated installation of operating systems onto client systems bull Choice of default system profiles or highly customized purpose-specific templates (eg web server) bull Centralized software distribution bull Disaster Recovery bull Reduced administration costs and application of IT best practices (repeatability quality etc) bull Reduced power consumption by enabling systems to be consolidated and redundant systems powered

down until needed again

This document provides instructions for setting up the LinMin server instructions for provisioning LinMin clients and instructions for managing the LinMin server (including starting stopping and upgrading it)

There are several applications that you will use in setting up your LinMin environment

1) ldquosetupplrdquo a program that you run to install or upgrade LBMP and to change internal parameters when you relocate your server to another network

2) ldquoloaddvdplrdquo to upload iso files to your LinMin Server and ldquoloadlinuxplrdquo or ldquoloadwindowsplrdquo that you use each time you want to extract files from the distroOS iso and prepare LinMin to provision systems ldquodebian-setupshrdquo is used to select Debian distributions and mirrors

3) A Firefox Browser-based User Interface to create provisioning and imaging roles and to assign roles to individual systems You access the Login page by going to httpltyour_LBMP_Server_IPgttftpboot for

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 6

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 7

example http1921680243tftpboot

Remember the process to provision with LinMin Bare Metal Provisioning is very straightforward

- Upload the iso of the Linux Windows or optionally Solaris media into LinMin then automatically extract the contents to prepare LinMin to provision systems (or for Debian specify a public mirror)

- Use the GUI with your Firefox Browser to configure MAC-Independent or MAC-Specific ldquoProvisioning Rolesrdquo and optionally MAC-Specific Imaging Profiles

- Boot your client system to the network and provision or image (backup restore) depending on how you have set up the business rules for that system

Once you are comfortable with this process you will be ready to move into advanced concepts such as post-OS installation and configuration of applications copying files executing scripts adding drivers for newer hardware support and so on

It should take less than 1 hour from the time to start installing LBMP on a freshly installed and updated Red Hat Enterprise Linux 5253 or CentOS 5253 i386 system to the time you have provisioned your first system If it is taking you longer please email linmin-supportlinmincom immediately for assistance

While LinMin Bare Metal Provisioning greatly simplifies the task of provisioning systems with different Linux Distributions and Windows Operating Systems please ensure that you have properly licensed the Linux distributions that are not freely downloadable (Red Hatreg and Novellreg SuSE among others) and the Microsoftreg Windows Operating Systems before using them

NOTE TO SYSTEM ADMINISTRATORS The LinMin Bare Metal Provisioning itself runs on Red Hat Enterprise Linux Server 525354 or CentOS 525354 and will provision and image clients systems with many different versions of Linux Windows and optionally Solaris (note no imaging is available for Solaris)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 8

12 LinMin Release and Revision History 121 Enhancements for LinMin Bare Metal Provisioning 51

Automatic download of all required subsystems from Red Hat or yum repositories

Automatic detection of multiple Ethernet cards and guided selection of preferred provisioning Ethernet card

Automatic configuration of multiple DNS servers

Automatic scheduling of daily LinMin Bare Metal Provisioning database backups

Enhanced error capture and logging

Support for provisioning over 20 new 32-bit and 64-bit operating systems including Red Hat Enterprise Linux 52 Novell SLES 10 SP2 Asianux 30 Novell SLES 10 Service Packs Fedora 8 Ubuntu Hardy Heron 804 LTS and Fedora 9

Redesigned Graphical User Interface

Enhanced directory structures for provisionable operating systems

Enhanced control files for all provisional Linux distributions

More Provisioning Business Rules options

- MAC-Specific Ignore (boot from local disk)

- MAC-Specific Always provision from LinMin Bare Metal

- MAC-Specific Provision the next time (only) from the network then switch to ldquoIgnorerdquo (boot from disk)

- MAC-Independent fallback to boot from disk if service is disabled

Enhanced MAC-Specific provisioning dashboard (to view all systems at a glance)

Enhanced logging of provisioning events

122 Enhancements for LinMin Bare Metal Provisioning 52 Enhanced Installation Process

Supports the provisioning for Ubuntu 8041 (and no longer 6061 or 804) and enhanced Fedora 9 support

GUI improvements

Runs on Red Hat Enterprise Linux 52 and CentOS 52 (in addition to Releases 51)

Application Program Interface (API) so that external applications can addupdatedeleteread MAC-Specific Provisioning Roles

123 Enhancements for LinMin Bare Metal Provisioning 53 GUI-based one-click selection of Linux distros or Windows OSs to be provisioned (and all parameters get

automatically filled in)

Dynamic detection of what Linux distros and Windows OSs have the DVDCD media uploaded

Support for OpenSUSE 10 and 11 (32 and 64 bit)

Support for Windows 2003 Server 64 bit

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 5: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 5

A243 Provisioning SPARC Systems with DHCP 116 A25 Customizing Jumpstart Files with Solaris SPARC 116

A251 Jumpstart Configuration File Modifications with Template Edits 116 A252 Customization of Base Templates 116

Error No table of contents entries found

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

1 Introduction to LinMin Bare Metal Provisioning LinMintrade Bare Metal Provisioning (LBMPtrade) is a software application that enables a system to remotely install operating systems on servers blades workstations and virtual machines as well as backup and restore entire disk images over a Local Area Network

11 LinMin Primary Modes of Operation

MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface (display and keyboard) at Network Boot (PXE Boot) time This mode is not available for Solaris clients

MAC-Specific Provisioning Role -- an automated mode that does bare-metal provisioning of a system with the distro or OS applications and unique parameters (network settings password host name etc) based on a systemrsquos unique MAC address

MAC-Specific Imaging ndash an automated mode that performs a disk image snapshot (backup) or restore when that a uniquely identified client performs a network boot This mode is not available for Solaris clients

LinMin enables system administrators to remotely install the Linux Distribution (rdquodistrordquo) Microsoft Windows operating system (OS) or optionally Sun Solaris 10 OS of their choice on client systems Systems can be physical or virtual servers blades desktops and appliances This process is known as bare metal system provisioning (ldquoProvisioningrdquo)

LinMin also can perform bare metal imaging the backup and restore of all contents of the disks of client systems

LinMinrsquos benefits include bull Better utilization of existing systems (easy repurposing of systems) bull Fully automatic or manually-initiated installation of operating systems onto client systems bull Choice of default system profiles or highly customized purpose-specific templates (eg web server) bull Centralized software distribution bull Disaster Recovery bull Reduced administration costs and application of IT best practices (repeatability quality etc) bull Reduced power consumption by enabling systems to be consolidated and redundant systems powered

down until needed again

This document provides instructions for setting up the LinMin server instructions for provisioning LinMin clients and instructions for managing the LinMin server (including starting stopping and upgrading it)

There are several applications that you will use in setting up your LinMin environment

1) ldquosetupplrdquo a program that you run to install or upgrade LBMP and to change internal parameters when you relocate your server to another network

2) ldquoloaddvdplrdquo to upload iso files to your LinMin Server and ldquoloadlinuxplrdquo or ldquoloadwindowsplrdquo that you use each time you want to extract files from the distroOS iso and prepare LinMin to provision systems ldquodebian-setupshrdquo is used to select Debian distributions and mirrors

3) A Firefox Browser-based User Interface to create provisioning and imaging roles and to assign roles to individual systems You access the Login page by going to httpltyour_LBMP_Server_IPgttftpboot for

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 6

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 7

example http1921680243tftpboot

Remember the process to provision with LinMin Bare Metal Provisioning is very straightforward

- Upload the iso of the Linux Windows or optionally Solaris media into LinMin then automatically extract the contents to prepare LinMin to provision systems (or for Debian specify a public mirror)

- Use the GUI with your Firefox Browser to configure MAC-Independent or MAC-Specific ldquoProvisioning Rolesrdquo and optionally MAC-Specific Imaging Profiles

- Boot your client system to the network and provision or image (backup restore) depending on how you have set up the business rules for that system

Once you are comfortable with this process you will be ready to move into advanced concepts such as post-OS installation and configuration of applications copying files executing scripts adding drivers for newer hardware support and so on

It should take less than 1 hour from the time to start installing LBMP on a freshly installed and updated Red Hat Enterprise Linux 5253 or CentOS 5253 i386 system to the time you have provisioned your first system If it is taking you longer please email linmin-supportlinmincom immediately for assistance

While LinMin Bare Metal Provisioning greatly simplifies the task of provisioning systems with different Linux Distributions and Windows Operating Systems please ensure that you have properly licensed the Linux distributions that are not freely downloadable (Red Hatreg and Novellreg SuSE among others) and the Microsoftreg Windows Operating Systems before using them

NOTE TO SYSTEM ADMINISTRATORS The LinMin Bare Metal Provisioning itself runs on Red Hat Enterprise Linux Server 525354 or CentOS 525354 and will provision and image clients systems with many different versions of Linux Windows and optionally Solaris (note no imaging is available for Solaris)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 8

12 LinMin Release and Revision History 121 Enhancements for LinMin Bare Metal Provisioning 51

Automatic download of all required subsystems from Red Hat or yum repositories

Automatic detection of multiple Ethernet cards and guided selection of preferred provisioning Ethernet card

Automatic configuration of multiple DNS servers

Automatic scheduling of daily LinMin Bare Metal Provisioning database backups

Enhanced error capture and logging

Support for provisioning over 20 new 32-bit and 64-bit operating systems including Red Hat Enterprise Linux 52 Novell SLES 10 SP2 Asianux 30 Novell SLES 10 Service Packs Fedora 8 Ubuntu Hardy Heron 804 LTS and Fedora 9

Redesigned Graphical User Interface

Enhanced directory structures for provisionable operating systems

Enhanced control files for all provisional Linux distributions

More Provisioning Business Rules options

- MAC-Specific Ignore (boot from local disk)

- MAC-Specific Always provision from LinMin Bare Metal

- MAC-Specific Provision the next time (only) from the network then switch to ldquoIgnorerdquo (boot from disk)

- MAC-Independent fallback to boot from disk if service is disabled

Enhanced MAC-Specific provisioning dashboard (to view all systems at a glance)

Enhanced logging of provisioning events

122 Enhancements for LinMin Bare Metal Provisioning 52 Enhanced Installation Process

Supports the provisioning for Ubuntu 8041 (and no longer 6061 or 804) and enhanced Fedora 9 support

GUI improvements

Runs on Red Hat Enterprise Linux 52 and CentOS 52 (in addition to Releases 51)

Application Program Interface (API) so that external applications can addupdatedeleteread MAC-Specific Provisioning Roles

123 Enhancements for LinMin Bare Metal Provisioning 53 GUI-based one-click selection of Linux distros or Windows OSs to be provisioned (and all parameters get

automatically filled in)

Dynamic detection of what Linux distros and Windows OSs have the DVDCD media uploaded

Support for OpenSUSE 10 and 11 (32 and 64 bit)

Support for Windows 2003 Server 64 bit

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 6: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

1 Introduction to LinMin Bare Metal Provisioning LinMintrade Bare Metal Provisioning (LBMPtrade) is a software application that enables a system to remotely install operating systems on servers blades workstations and virtual machines as well as backup and restore entire disk images over a Local Area Network

11 LinMin Primary Modes of Operation

MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface (display and keyboard) at Network Boot (PXE Boot) time This mode is not available for Solaris clients

MAC-Specific Provisioning Role -- an automated mode that does bare-metal provisioning of a system with the distro or OS applications and unique parameters (network settings password host name etc) based on a systemrsquos unique MAC address

MAC-Specific Imaging ndash an automated mode that performs a disk image snapshot (backup) or restore when that a uniquely identified client performs a network boot This mode is not available for Solaris clients

LinMin enables system administrators to remotely install the Linux Distribution (rdquodistrordquo) Microsoft Windows operating system (OS) or optionally Sun Solaris 10 OS of their choice on client systems Systems can be physical or virtual servers blades desktops and appliances This process is known as bare metal system provisioning (ldquoProvisioningrdquo)

LinMin also can perform bare metal imaging the backup and restore of all contents of the disks of client systems

LinMinrsquos benefits include bull Better utilization of existing systems (easy repurposing of systems) bull Fully automatic or manually-initiated installation of operating systems onto client systems bull Choice of default system profiles or highly customized purpose-specific templates (eg web server) bull Centralized software distribution bull Disaster Recovery bull Reduced administration costs and application of IT best practices (repeatability quality etc) bull Reduced power consumption by enabling systems to be consolidated and redundant systems powered

down until needed again

This document provides instructions for setting up the LinMin server instructions for provisioning LinMin clients and instructions for managing the LinMin server (including starting stopping and upgrading it)

There are several applications that you will use in setting up your LinMin environment

1) ldquosetupplrdquo a program that you run to install or upgrade LBMP and to change internal parameters when you relocate your server to another network

2) ldquoloaddvdplrdquo to upload iso files to your LinMin Server and ldquoloadlinuxplrdquo or ldquoloadwindowsplrdquo that you use each time you want to extract files from the distroOS iso and prepare LinMin to provision systems ldquodebian-setupshrdquo is used to select Debian distributions and mirrors

3) A Firefox Browser-based User Interface to create provisioning and imaging roles and to assign roles to individual systems You access the Login page by going to httpltyour_LBMP_Server_IPgttftpboot for

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 6

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 7

example http1921680243tftpboot

Remember the process to provision with LinMin Bare Metal Provisioning is very straightforward

- Upload the iso of the Linux Windows or optionally Solaris media into LinMin then automatically extract the contents to prepare LinMin to provision systems (or for Debian specify a public mirror)

- Use the GUI with your Firefox Browser to configure MAC-Independent or MAC-Specific ldquoProvisioning Rolesrdquo and optionally MAC-Specific Imaging Profiles

- Boot your client system to the network and provision or image (backup restore) depending on how you have set up the business rules for that system

Once you are comfortable with this process you will be ready to move into advanced concepts such as post-OS installation and configuration of applications copying files executing scripts adding drivers for newer hardware support and so on

It should take less than 1 hour from the time to start installing LBMP on a freshly installed and updated Red Hat Enterprise Linux 5253 or CentOS 5253 i386 system to the time you have provisioned your first system If it is taking you longer please email linmin-supportlinmincom immediately for assistance

While LinMin Bare Metal Provisioning greatly simplifies the task of provisioning systems with different Linux Distributions and Windows Operating Systems please ensure that you have properly licensed the Linux distributions that are not freely downloadable (Red Hatreg and Novellreg SuSE among others) and the Microsoftreg Windows Operating Systems before using them

NOTE TO SYSTEM ADMINISTRATORS The LinMin Bare Metal Provisioning itself runs on Red Hat Enterprise Linux Server 525354 or CentOS 525354 and will provision and image clients systems with many different versions of Linux Windows and optionally Solaris (note no imaging is available for Solaris)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 8

12 LinMin Release and Revision History 121 Enhancements for LinMin Bare Metal Provisioning 51

Automatic download of all required subsystems from Red Hat or yum repositories

Automatic detection of multiple Ethernet cards and guided selection of preferred provisioning Ethernet card

Automatic configuration of multiple DNS servers

Automatic scheduling of daily LinMin Bare Metal Provisioning database backups

Enhanced error capture and logging

Support for provisioning over 20 new 32-bit and 64-bit operating systems including Red Hat Enterprise Linux 52 Novell SLES 10 SP2 Asianux 30 Novell SLES 10 Service Packs Fedora 8 Ubuntu Hardy Heron 804 LTS and Fedora 9

Redesigned Graphical User Interface

Enhanced directory structures for provisionable operating systems

Enhanced control files for all provisional Linux distributions

More Provisioning Business Rules options

- MAC-Specific Ignore (boot from local disk)

- MAC-Specific Always provision from LinMin Bare Metal

- MAC-Specific Provision the next time (only) from the network then switch to ldquoIgnorerdquo (boot from disk)

- MAC-Independent fallback to boot from disk if service is disabled

Enhanced MAC-Specific provisioning dashboard (to view all systems at a glance)

Enhanced logging of provisioning events

122 Enhancements for LinMin Bare Metal Provisioning 52 Enhanced Installation Process

Supports the provisioning for Ubuntu 8041 (and no longer 6061 or 804) and enhanced Fedora 9 support

GUI improvements

Runs on Red Hat Enterprise Linux 52 and CentOS 52 (in addition to Releases 51)

Application Program Interface (API) so that external applications can addupdatedeleteread MAC-Specific Provisioning Roles

123 Enhancements for LinMin Bare Metal Provisioning 53 GUI-based one-click selection of Linux distros or Windows OSs to be provisioned (and all parameters get

automatically filled in)

Dynamic detection of what Linux distros and Windows OSs have the DVDCD media uploaded

Support for OpenSUSE 10 and 11 (32 and 64 bit)

Support for Windows 2003 Server 64 bit

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 7: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 7

example http1921680243tftpboot

Remember the process to provision with LinMin Bare Metal Provisioning is very straightforward

- Upload the iso of the Linux Windows or optionally Solaris media into LinMin then automatically extract the contents to prepare LinMin to provision systems (or for Debian specify a public mirror)

- Use the GUI with your Firefox Browser to configure MAC-Independent or MAC-Specific ldquoProvisioning Rolesrdquo and optionally MAC-Specific Imaging Profiles

- Boot your client system to the network and provision or image (backup restore) depending on how you have set up the business rules for that system

Once you are comfortable with this process you will be ready to move into advanced concepts such as post-OS installation and configuration of applications copying files executing scripts adding drivers for newer hardware support and so on

It should take less than 1 hour from the time to start installing LBMP on a freshly installed and updated Red Hat Enterprise Linux 5253 or CentOS 5253 i386 system to the time you have provisioned your first system If it is taking you longer please email linmin-supportlinmincom immediately for assistance

While LinMin Bare Metal Provisioning greatly simplifies the task of provisioning systems with different Linux Distributions and Windows Operating Systems please ensure that you have properly licensed the Linux distributions that are not freely downloadable (Red Hatreg and Novellreg SuSE among others) and the Microsoftreg Windows Operating Systems before using them

NOTE TO SYSTEM ADMINISTRATORS The LinMin Bare Metal Provisioning itself runs on Red Hat Enterprise Linux Server 525354 or CentOS 525354 and will provision and image clients systems with many different versions of Linux Windows and optionally Solaris (note no imaging is available for Solaris)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 8

12 LinMin Release and Revision History 121 Enhancements for LinMin Bare Metal Provisioning 51

Automatic download of all required subsystems from Red Hat or yum repositories

Automatic detection of multiple Ethernet cards and guided selection of preferred provisioning Ethernet card

Automatic configuration of multiple DNS servers

Automatic scheduling of daily LinMin Bare Metal Provisioning database backups

Enhanced error capture and logging

Support for provisioning over 20 new 32-bit and 64-bit operating systems including Red Hat Enterprise Linux 52 Novell SLES 10 SP2 Asianux 30 Novell SLES 10 Service Packs Fedora 8 Ubuntu Hardy Heron 804 LTS and Fedora 9

Redesigned Graphical User Interface

Enhanced directory structures for provisionable operating systems

Enhanced control files for all provisional Linux distributions

More Provisioning Business Rules options

- MAC-Specific Ignore (boot from local disk)

- MAC-Specific Always provision from LinMin Bare Metal

- MAC-Specific Provision the next time (only) from the network then switch to ldquoIgnorerdquo (boot from disk)

- MAC-Independent fallback to boot from disk if service is disabled

Enhanced MAC-Specific provisioning dashboard (to view all systems at a glance)

Enhanced logging of provisioning events

122 Enhancements for LinMin Bare Metal Provisioning 52 Enhanced Installation Process

Supports the provisioning for Ubuntu 8041 (and no longer 6061 or 804) and enhanced Fedora 9 support

GUI improvements

Runs on Red Hat Enterprise Linux 52 and CentOS 52 (in addition to Releases 51)

Application Program Interface (API) so that external applications can addupdatedeleteread MAC-Specific Provisioning Roles

123 Enhancements for LinMin Bare Metal Provisioning 53 GUI-based one-click selection of Linux distros or Windows OSs to be provisioned (and all parameters get

automatically filled in)

Dynamic detection of what Linux distros and Windows OSs have the DVDCD media uploaded

Support for OpenSUSE 10 and 11 (32 and 64 bit)

Support for Windows 2003 Server 64 bit

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 8: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 8

12 LinMin Release and Revision History 121 Enhancements for LinMin Bare Metal Provisioning 51

Automatic download of all required subsystems from Red Hat or yum repositories

Automatic detection of multiple Ethernet cards and guided selection of preferred provisioning Ethernet card

Automatic configuration of multiple DNS servers

Automatic scheduling of daily LinMin Bare Metal Provisioning database backups

Enhanced error capture and logging

Support for provisioning over 20 new 32-bit and 64-bit operating systems including Red Hat Enterprise Linux 52 Novell SLES 10 SP2 Asianux 30 Novell SLES 10 Service Packs Fedora 8 Ubuntu Hardy Heron 804 LTS and Fedora 9

Redesigned Graphical User Interface

Enhanced directory structures for provisionable operating systems

Enhanced control files for all provisional Linux distributions

More Provisioning Business Rules options

- MAC-Specific Ignore (boot from local disk)

- MAC-Specific Always provision from LinMin Bare Metal

- MAC-Specific Provision the next time (only) from the network then switch to ldquoIgnorerdquo (boot from disk)

- MAC-Independent fallback to boot from disk if service is disabled

Enhanced MAC-Specific provisioning dashboard (to view all systems at a glance)

Enhanced logging of provisioning events

122 Enhancements for LinMin Bare Metal Provisioning 52 Enhanced Installation Process

Supports the provisioning for Ubuntu 8041 (and no longer 6061 or 804) and enhanced Fedora 9 support

GUI improvements

Runs on Red Hat Enterprise Linux 52 and CentOS 52 (in addition to Releases 51)

Application Program Interface (API) so that external applications can addupdatedeleteread MAC-Specific Provisioning Roles

123 Enhancements for LinMin Bare Metal Provisioning 53 GUI-based one-click selection of Linux distros or Windows OSs to be provisioned (and all parameters get

automatically filled in)

Dynamic detection of what Linux distros and Windows OSs have the DVDCD media uploaded

Support for OpenSUSE 10 and 11 (32 and 64 bit)

Support for Windows 2003 Server 64 bit

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 9: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 9

124 Enhancements for LinMin Bare Metal Provisioning 531 loadlinuxpl now allows for unsupported distros to be uploaded loadlinuxpl prompts user after reading the

media identifier

LinMinrsquos DHCP installed as non-Authoritative to better integrate with other DHCP servers

Support for OpenSUSE 111

Support for SLES 11 and SLES 10 SP3

Support for Ubuntu 810

Support for RHEL 53 and CentOS 53

Support for Fedora 10

125 Enhancements for LinMin Bare Metal Provisioning 54 Support for running LinMin Bare Metal Provisioning on Red Hat Enterprise Linux 53

New disk imaging subsystem

- Significantly faster performance

- Better compression

- Does not copy empty blocks for known Linux and Windows file systems

- File format is incompatible with older imaging subsystem Contact us on how to restore old images

Enhancements to loadlinuxpl allowing the media upload of unsupported ISOsdistros

DHCP gets installed as non-authoritative Please consult the Installation Guide under ldquoSoftware Requirementsrdquo for details

Support for the provisioning of systems with newer NICs

126 Enhancements for LinMin Bare Metal Provisioning 541 New loaddvdpl script uploads iso files from CDsDVDs (for uniform uploading of Windows Linux and Solaris

OS media)

New directory structures for known-good driver repositories created at LinMin installationupgrade time

Revised loadwindowspl now generates driver directories for each Windows Custom Installation

Revised addwindriverpl automatically integrates Windows Drivers into a Windows Custom Installation creates backup of driver-related information

Revised loadlinuxpl now extracts distro installation media from an on-disk iso not from DVDCD

Bare Metal Imaging supports larger number of named disk devices

127 Enhancements for LinMin Bare Metal Provisioning 542 Support for provisioning Ubuntu 904

Support for imaging multi-disk (non-RAID) systems

Support for provisioning Solaris 10 x86 (with optional software imaging Solaris x86 systems not supported)

Enhanced lbmp-supporthelpsh script

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 10: LinMin Bare Metal Provisioning User's Guide

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 10

Enhanced error checking of MAC addresses when creating MAC-Specific provisioning and imaging roles

Removal of NFS configuration page in the GUI (all configuration is automated with no user interaction)

128 Enhancements for LinMin Bare Metal Provisioning 543 Enhanced LinMin upgrade process reduces user interaction detects and reports differences between the

LinMin-supplied configuration files and prior ones modified by the user automated backup and other enhancements

The provisioning log lbmpProvisionedlog now contains the name of the Provisioning Role or Provisioning Role Template

Enhanced setuppl for better user experience

Streamlined mechanism to start stop restart and check all services needed by LinMin linmin-servicessh replacing lbmp-checkstatussh

Built-in workarounds for Red Hat Enterprise LinuxCentOS bugs

o Time zone parameters changed from GMT+- to ldquoContinentCityrdquo format to work around the omission of GMT in ISO media (for RHELCentOS 53 only)

o Kernel parameters now forced provision to eth0 (can be modified) to avoid imgstage2 error (for all kickstart-based Linux distributions)

129 Enhancements for LinMin Bare Metal Provisioning 55 Support for the provisioning of Solaris on SPARC CPU architecture (with an optional module)

The provisioning log lbmpProvisionedlog enhanced and renamed to linmin-bmp-pxe-eventlog

The script lbmp-supporthelpsh enhanced and renamed to linmin-bmp-support-helpsh

Changed business rules to enable the provisioning of a system automatically following an imaging event (eg so one can make a disk backup and then provision the system)

Support for the provisioning of 32-bit and 64-bit versions of

bull Fedora 11

bull RHEL 48

bull CentOS 48

bull Debian 40 (Etch)

bull Debian 50 (Lenny)

Support automated image backup immediately following the provisioning of a system

1210 Enhancements for LinMin Bare Metal Provisioning 551 Support for the provisioning of 32-bit and 64-bit versions of

bull RHEL 54

bull CentOS 54

bull Debian 503 (Lenny) and dynamic sub-version selection for Debian 4 and Debian 5 to accommodate changes in Debian releases

Implemented an automated workaround to address installer bugs in Debian 40 Etch x86-64 (Debian 50 Lenny x86-64 installation files are automatically downloaded to provision Debian 40 Etch x86-64 systems)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 11

2 Upload and Extract OS Media and Drivers In order to use LinMin to remotely install operating systems (except for Debian see section 22) on remote systems 3 steps are required

bull Copy the OS media in iso format to the LinMin Server This can be done by

o Downloading a iso file from the Internet or copying it from another system or

o Using the LinMin script loaddvdpl to copy the contents of a DVD or CD in iso format

The recommended locations for your iso files are these pre-existing directories hometftpbootISOslinux hometftpbootISOsunix hometftpbootISOswindows

bull Extract the contents of the iso file and place them in the proper location on the LinMin Server using

o The script loadlinuxpl for all supported versions of Linux (except Debian)

o The script loadwindowspl for all supported versions of Windows

An additional step is required for Windows only adding device drivers

bull Use your Firefox browser to create provisioning roles both MAC-Independent and MAC-Specific Provisioning as described in Section 3

21 Upload the Linux (except Debian) OS Media Instructions for preparing Debian distributions are in Section 22

211 Upload the Linux ISO Image to the LinMin Server

Copy the OS distro media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOslinux

If you already have the Linux distro in iso format on your LinMin server simply copy the iso file to the hometftpbootISOslinux directory

cd name_of_directory_where_the_iso_file_is_located ls iso CentOS-52-i386-bin-DVDiso cp ndashp CentOS-52-i386-bin-DVDiso hometftpbootISOslinuxCentOS-52-i386-bin-DVDiso

If you have the Linux DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 12

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

If you have the Linux DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpCentOS-52-i386-bin-DVDiso

Then copy the file from this system to hometftpbootISOslinux on your LinMin Server

Ensure the CD or DVD medium is free of dust fingerprints and scratches

212 Extract Linux Distro ISO with the script loadlinuxpl

Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

Select the Linux distribution to copy

The script displays a list of types of Linux distributions to select from For example if you select Red Hat you will be presented with a selection In the example below Red Hat Enterprise 53 i386 was selected by entering the number 56

52 Red Hat Enterprise Linux 51 i386 (DVD) 53 Red Hat Enterprise Linux 51 x86_64 (DVD) 54 Red Hat Enterprise Linux 52 i386 (DVD) 55 Red Hat Enterprise Linux 52 x86_64 (DVD) 56 Red Hat Enterprise Linux 53 i386 (DVD) 57 Red Hat Enterprise Linux 53 x86_64 (DVD) Please enter your selection 56

Ubuntu Media

For Ubuntu 8041 and 810 only DVD media is supported and can be obtained at no charge from remote repositories For example for Ubuntu 8041

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-i386iso

bull httpcdimageubuntucomreleaseshardyreleaseubuntu-8041-dvd-amd64iso

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 13

3 to 4 GB) Attempting to abort the extraction operation can corrupt files If this happens delete the contents of the directory for the distro located in hometftpbootpubdistro_namedisc1 (or CD1) and run loadlinuxpl again

Select another new Linux distribution to copy or exit the program

213 Upload the Linux DVDCD-ROM Media from the command line Copying the iso to hometftpbootISOslinux and then using the script loadlinuxpl is by far the easiest way to get Linux ready for provisioning as any supported version of Linux will be automatically placed exactly where it should be

This section offers an alternate way of doing so using the command line only

Open a terminal window and follow the process outlined below The example provided is to copy a CentOS 52 i386 DVD Substitute the precise name of the CD or DVD you wish to upload to the LinMin provisioning server

Lines starting with ldquordquo are comments (so do not execute these)

mount the ISO (iso) in this case CentOS-52-i386-bin-DVDiso file into a temporary directory that you name mkdir -p mediacentos52dvdiso mount -o loop -t iso9660 CentOS-52-i386-bin-DVDiso mediacentos52dvdiso see the contents ls -la mediacentos52dvdiso copy content to disc1 for RHEL CentOS Fedora Asianux mkdir -p hometftpbootpubcentos5_2_i386disc1 cp -r mediacentos52dvdiso hometftpbootpubcentos5_2_i386disc1 clean up umount mediacentos52dvdiso rm -rf mediacentos52dvdiso Notes do not omit the disc1 (for Red Hat-based Linux distributions) Use CD1 instead if you are uploading Novell SLES or OpenSUSE media If you are CDs you will repeat the process for disc2 (or CD2) etc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 14

22 Access the Debian Distribution Media Unlike other Linux distributions that are self-contained on a single DVD Debian releases are very large requiring multiple DVDs when installing from physical media For remotely provisioning systems with Debian the supported method involves accessing public Debian repositories (or alternatively creating a local Debian mirror)

4 base directories are created at LinMin installation or upgrade time in pub debian4_x_x_i386 debian4_x_x_x86_64 debian5_x_x_i386 and debian5_x_x_x86_64 These will be cloned and renamed upon running debian-setuppl as described below

The script debian-setupsh will

bull Prompt you to select the Debian release of choice (40 Etch or 50 Lenny)

bull Prompt you to select the Debian sub-version (eg ldquo03rdquo for Debian 50 Lenny or ldquo0r8rdquo for Debian 40 Etch)

bull Prompt you to select the CPU architecture (i386 or x86-64)

bull Provide a default public repository (httpusdebianorg) and prompt you to select an alternate repository if so desired

bull Clone then rename a directory in hometftpbootpub (for example from pubdebian5_x_x_x86_64 to pubdebian5_0_3_x86_64)

bull Copy to the LinMin server the 2 critical files needed to start the provisioning process (linux and initrdgz)

bull Edit the LinMin-supplied configuration files (cfg for MAC-Independent provisioning and tmpl for MAC-Specific provisioning) to point to the selected public repository to download files during the provisioning process

bull If you re-run the script to change the public repository you will need to manually update the name of the new public repository in Provisioning Role Templates and Provisioning Roles you have already created

Note The mirror distribution directory sub-version must be valid completing the mirror path element Debiansub-version eg Lenny = 03 = httpmirrordebiandistsDebian503

Etch = 0r8 = httpmirrordebiandistsDebian40r8

If the sub-version is invalid the script will exit as incomplete

Notes on Debian configuration (ldquocontrolrdquo) files

bull LinMin provides configuration files (preseedcfg) to provision a basic server configuration with no GUI

bull The contents of preseedcfg files can be modified for example to replace the default SATA (ldquosdardquo) disk type with the IDE (ldquohdardquo) disk type Do make such a change edit the preseedcfg file and change the line d-i partman-autodisk string devsda to d-i partman-autodisk string devhda

bull If changes are made to a preseedcfg file in pubdebian5_x_x_i386 upon running debian-setuppl for this distribution the changes made to the preseedcfg file will be carried to the newly created pubdebian5_0_3_i386 and will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull If changes are made to a preseedcfg file in pubdebian5_0_3_i386 (after debian-setuppl has been executed) the changes will subsequently be incorporated in new MAC-Independent Provisioning Roles and MAC-Specific Provisioning Role Templates

bull To edit a preseedcfg file for a specific MAC-Specific Provisioning Role after having selected the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 15

appropriate MAC-Specific Provisioning Role Template use the GUI in the MAC-Specific Provisioning Role ldquoEditrdquo page changes made to the preseed file with the GUI will be localized to this particular MAC-Specific Provisioning Role

221 Select the Debian Distribution and Mirror with debian-setuppl

Example 1 Selecting the defaults (64-bit Lenny from the repository httpusdebianorg) by hitting ldquoEnterrdquo at the default prompts

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian 5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] Respond Confirm or enter the mirror [httpusdebianorg] checking mirror access Release lenny Architecture x86_64 Mirror httpusdebianorg Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes

Example 2 Changing the mirror used by an existing Debian setup (Etch i386) from mirrorskernelorg to httpusdebianorg

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] etch enter sub-version for Debian4 eg 0r8 or 0r9 Respond Enter the mirror distribution directory sub-version [0r8] Respond Enter the architecture 3264 [64] 32 enter local for LinMin server local mirror

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 16

Respond Confirm or enter the mirror [mirrorskernelorg] httpusdebianorg checking mirror access Release etch Architecture i386 Mirror httpusdebianorg Directory hometftpbootpubdebian4_0r8_i386 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian4_0r8_i386netboot Results total 5468 -rw-r--r-- 1 root root 4351167 Apr 8 0203 initrdgz -rw-r--r-- 1 root root 1219068 Apr 8 0205 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian4_0r8_i386netboot Results Return Code0 getting the linux netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386linux Results Return Code0 getting the initrdgz netboot module Execute wget -q httphttpusdebianorgdebiandistsetchmaininstaller-i386currentimagesnetbootdebian-installeri386initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from mirrorskernelorg to httpusdebianorg change mirror in hometftpbootpubdebian4_0r8_i386debian4_0r8_i386_preseedcfg change mirror in hometftpboottemplatesdebian4_0r8_i386tmpl

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 17

NOTE The source mirror for etch i386 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian4_0r8_i386tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 18

Example 3 Changing the mirror used by an existing Debian setup (Lenny x86-64) from mirrorskernelorg to a local mirror http192168154tftpbootmirrors located on the LinMin Server

cd usrlocallinmin debian-setupsh Passed options ---------------------------------------------------------------------- Start LinMin Bare Metal Provisioning Debian Setup establish a mirror and get network boot modules Respond Enter the release etchlenny [lenny] enter sub-version for Debian5 eg 03 or 04 Respond Enter the mirror distribution directory sub-version [03] Respond Enter the architecture 3264 [64] enter local for LinMin server local mirror Respond Confirm or enter the mirror [httpusdebianorg] local checking mirror access Release lenny Architecture x86_64 Mirror 192168154tftpbootmirrors Directory hometftpbootpubdebian5_0_3_x86_64 Respond Confirm entries yesnoexit [] yes The netboot directory already exists Execute ls -l hometftpbootpubdebian5_0_3_x86_64netboot Results total 7500 -rw-r--r-- 1 root root 5894710 Jun 25 1416 initrdgz -rw-r--r-- 1 root root 1754800 Jun 25 1420 linux Return Code0 Respond Continue and replace existing modules yesnoexit [] yes Execute rm -rf hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 check for MAC Independent cfg check for MAC Specific cfg Execute mkdir hometftpbootpubdebian5_0_3_x86_64netboot Results Return Code0 getting the linux netboot module Execute

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 19

wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64linux Results Return Code0 getting the initrdgz netboot module Execute wget -q http192168154tftpbootmirrorsdebiandistslennymaininstaller-amd64currentimagesnetbootdebian-installeramd64initrdgz Results Return Code0 Retrieved the netboot modules Change mirror in configuration files from httpusdebianorg to 192168154tftpbootmirrors change mirror in hometftpbootpubdebian5_0_3_x86_64debian5_0_3_x86_64_preseedcfg change mirror in hometftpboottemplatesdebian5_0_3_x86_64tmpl NOTE The source mirror for lenny x86_64 was changed New MAC Specific Provisioning Role Templates and Provisioning Roles will use the new source mirror Existing Provisioning Role Templates and Provisioning Roles will need to be manually edited to use the new source mirror Existing MAC Specific Provisioning Role Templates need to be updated in one of two ways using the GUI 1) Provisioning Role Template -gt Edit -gt replace the old mirror name with the new mirror name -gt OK or 2) Provisioning Role Template -gt Edit -gt Import Control File Template -gt debian5_0_3_x86_64tmpl -gt OK Existing MAC-Specific Provisioning Roles then need to be re-freshed using the GUI MAC-Specific Provisioning Roles -gt Edit -gt OK Respond Note above and enter to exit noted [noted]

Please follow the above instructions to edit existing Debian Provisioning Role Templates and Provisioning Roles to replace the old mirror with the new one

222 Creating a local Debian mirror (optional) If you prefer to create and maintain a local Debian mirror follow these instructions to create the mirror on the LinMin server

mkdir ndashp hometftpbootmirrorsdebian

Step 1 ndash Obtain the Debian mirroring script and set the correct permissions

Obtain the anonftpsync script from the following location httpwwwdebianorgmirroranonftpsync cut and paste it into a text editor and save it in hometftpbootmirrorsdebian

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 20

Execute the following command chmod 744 anonftpsync

Step 2 -- Edit the anonftpsync script

The anonftpsync script will be used to download the Debian distribution from the web site you select Locate your download web site at the following location httpwwwdebianorgmirrorlist-full Edit the following variables in the anonftpsync script and for RSYNC_HOST and RSYNC_DIR use the correct values for the download site you select TO=hometftpbootmirrorsdebian RSYNC_HOST=ltthe_host_you_have_selectedgt RSYNC_DIR=ltthe_rsync_repository_used_by_the_host_you_selectedgt ARCH_EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) EXCLUDE (this variable is optional ensure you comment out this variable with the character if you are not using it) LOGDIR=varlog savelog $LOGFILE ndash comment out this variable with the character

Ensure that you exclude all unnecessary architectures and sub-trees otherwise the download times will be impractically long even with a fast connection Even with the proper exclusions the repository size for a single architecture can be tens of gigabytes with a resulting lengthy download time If you wish to download from the US FTP site you are recommended to set below environment variables as following

Note this example excludes the release 31 (ldquoSargerdquo) and 40 (ldquoEtchrdquo) 50 called ldquoLennyrdquo i386 will be mirrored These are the only changes needed to the anonftpsync file Please substitute the remote mirror of your choice instead of ftpusdebianorg TO=hometftpbootmirrorsdebian RSYNC_HOST=ftpusdebianorg RSYNC_DIR=debian LOGDIR=varlog ARCH_EXCLUDE=rdquoalpha amd64 arm armel hppa hurd-i386 ia64 m68k mips mipsel mipsel powerpc s390 sparcrdquo EXCLUDE=rdquo --exclude testing --exclude unstable --exclude source --exclude sarge --exclude etch --exclude origtargz --exclude diffgz --exclude dsc --exclude contrib --exclude non-free ldquo savelog $LOGFILE

Step 3 ndash Execute the script

anonftpsync

Step 4 ndash Ensure availability of the package lists

Once the mirror has finished downloading execute the following commands to ensure proper availability of the necessary package lists

cd hometftpbootmirrorsdists ln -s lenny stable After setting up your mirror please execute the debian-setupsh script in usrlocallinmin and select the ldquolocalrdquo option

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 21

23 Upload and Extract the Windows OS Media amp Drivers

Overview In order to perform remote unattended installations of Windows Server 2003 and Windows XP the following steps must be performed

1) Place an ISO image on your LinMin server (either by copying an ISO image from another source or by converting the contents of a Microsoft-supplied Windows CD to an ISO image using the loaddvdpl utility)

2) Run the script loadwindowspl to extract installation files from the ISO file and to create a directory containing the installation files for a given version of Windows We call this a Windows ldquoCustom Installationrdquo

3) Locate the drivers you need to supplement what came on the Windows CD or ISO file so that your system provisions successfully and copy them to specific directories This is necessary because hardware manufactured since the Microsoft CDs were published needs drivers provided by the hardware manufacturer(s) Pay particular attention to the need for 2 types of Network Interface Card (NIC) drivers regular and Remote Installation Service (RIS)

4) Run the script addwindriverpl to integrate the drivers into the Custom Installation

After you have performed these steps the Windows ldquoCustom Installationrdquo you have built is ready to be used for both MAC-Independent and MAC-Specific Provisioning as outlined in Section 3

231 Upload the Windows ISO Image to the LinMin Server

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOswindows

If you already have the Windows OS in iso format on your LinMin server simply copy the iso file to the hometftpbootISOswindows directory

cd name_of_directory_where_the_iso_file_is_located ls iso win2003server32iso cp ndashp win2003server32iso hometftpbootISOswindowswin2003server32iso

If you have the OS CD or DVD on your LinMin Server place the CD or DVD in the CDDVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 22

If you have the OS CD or DVD on another system insert the CD or DVD in the CDDVD reader and type on a single line dd if=devcdrom of=hometmpwin2003server32iso

Then copy the file from this system to hometftpbootISOswindows on your LinMin Server

You can give any name to the Windows ISO image you copy into the LinMin server Example names for your Windows ISO image are windows2003serveriso or windowsxp_sp3iso Be as descriptive as possible

Ensure the CD or DVD medium is free of dust fingerprints and scratches

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

232 Run the Script loadwindowspl and Create the Custom Windows Installation Once the media in iso format is copied to the LinMin Server run the script loadwindows to create one or more ldquoCustom Installationsrdquo each of which may have different drivers patch levels or applications

Run the loadwindowspl script

Change to proper directory with the command cd hometftpbootbin

Execute the Windows setup program by executing the following command perl loadwindowspl

Select your Windows OS select your Custom Installation name and enter your product key

The loadwindowspl script opens a list of families of Windows OSs select the one that best describes your ISO [rootlinminbaremetal perl loadwindowspl LinMin Bare Metal Provisioning Windows Custom Installation Creation Utility Please select Windows Version 1 Windows XP Family 32-bit (Pro Home Media Center etc) 2 Windows 2003 Server Family 32-bit (Standard Advanced Web etc) 3 Windows 2003 Server Family 64-bit (Standard Advanced Web etc) 2

Provide a unique name for your Windows Custom Installation

This will create a directory in hometftpbootpub that will be unique for example entering ldquowin2003server32rdquo will create the directory hometftpbootpubwin2003server32 Try to be descriptive as this name will automatically populate the dropdown menus used to create provisioning roles and templates)

LinMin has generated several Custom Installation names but feel free to describe your Custom Installation the way you prefer (we recommend the name start with ldquowrdquo or ldquoWrdquo)

win2003enterpriseserver32r2 win2003enterpriseserver64r2 win2003server32r2 win2003server32 win2003server64r2 win2003webserver32r2 win2003webserver64r2 winxppro32sp2 winxppro32sp3

Please enter a unique directory name in hometftpbootpub for this Windows Custom Installation Make the first character w or W win2003server32

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 23

Provide the path to the Windows ISO file Enter path to ISO file win2003server32iso

Note If the ISO is located in hometftpbootISOswindows there is no need to enter the path

Product Key you will be asked if you want to enter the product key If you answer ldquoyrdquo and enter your key the product key will be embedded in your sif file If you say ldquonrdquo the installation will stall while waiting for you to type in the client Product Key on the client system Do you want to enter a Product Key(yn)y key4ZXR4-9SZ2Q-EXCB1-RLG3P-S7GQM

The script loadwindowspl will now provide on-screen status messages as it loads the files extracts the drivers that came with the ISO and completes its operation

The sif files for provisioning Windows clients can be modified to perform custom installations

233 Locate and Copy Drivers to your Windows Custom Installation Provisioning LinMin clients with Windows OSs often requires updating Windows driversmdashobtaining drivers newer than those on the installation disks used to create the ISO images for provisioning Updating these drivers requires four steps 1 Identify the required drivers 2 Obtain the drivers 3 Copy the drivers to the LinMin server 4 Integrate the drivers into the LinMin server When you have performed these steps your Windows Custom Installation is ready to be included in Provisioning Roles

2331 Identify the Required NIC Drivers

There are 2 different yet equally important types of NIC (Network Interface Card) Drivers

bull NIC drivers are used after OS installation to manage the Ethernet and other ports The OS media typically includes the drivers to perform these functions though certain vendors of NICs and of motherboards with on-board NICs may have enhanced drivers that can be used instead

bull NIC RIS (Remote Installation Service) drivers The RIS driver is used only during the provisioning process to allow the OS to be installed

There is difficult to determine whether you need a specialized NIC driver until you have provisioned the system with the Windows OS and you are trying its network connectivity so the recommended approach is to add a driver pack that includes support for all popular NICs (see the section ldquoObtain the NIC Driversrdquo)

2332 Identify the Required NIC RIS (Remote Installation Service) Drivers

Identifying the NIC RIS driver needed to successfully provision a system is essential or you will not be able to provision a system and the client system you are trying to provision will display a message such as

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 24

You must document the brandmodel number of your system motherboard andor NIC in order to obtain the

ers

333 Identify Required Storage Drivers

proper RIS driver Please remember that 100 of all Windows installations require a generic NIC driver whereas less than 5 of all Windows installations are remotely installed and thus need a NIC RIS driver Certain manufactures of motherboards and NICs will supply media containing both types of NIC drivers othwill require that you go to their Web site to locate the NIC RIS drivers

2

Systems with typical IDE and SATA drivers will most often find the correct Storage driver in the Windows

ware RAID devices the correct driver will not have been he proper

ple of an error screen a LinMin client might display when you attempt to provision it with a Windows OS

ote while the example error message states that the Setup program could not find any hard disk drives

334 Identify RequiredldquoOtherrdquoDrivers

installation and proceed with the installation

In certain cases for example if you have hardincorporated in the Windows Custom Installation yet and you will need to identify obtain and integrate tdriver

An examthat does not contain the correct storage drivers is shown below

Ninstalled the actual error is that the Setup program could not find the storage drivers

2

ldquoOtherrdquo is a catch-all expression that applies to a variety of non-NIC and non-Storage devices These include chipset CPU audio graphics and other hardware components of your system

You typically cannot know ahead of time whether the proper drivers were included in a Custom Installation until you power up the system after the OS was installed and get error messages from the Windows OS or you see the performance of a device to be sub-par (eg a high performance graphics card that does not display at the anticipated high resolution is probably missing its preferred driver and has reverted back to a standard lower resolution

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 25

234 Obtain the Required Drivers Windows drivers are often specific to the CPU architecture (32-bit vs 64-bit) and to the version of Windows being

ce Internet sites where one can locate and download ldquoDriver Packsrdquo for categories of

provisioned (Windows 2003 Server Windows XP) Please pay attention to this when you locate load and use your Windows drivers

This section will referendrivers such as NIC Storage Graphics and so on These Driver Packs are very convenient because they eliminate hours of research and consolidation This consolidation work is typically performed by professionalswho volunteer their time (and who often accept donations) Please read and understand the licensing terms of such sites And with all Internet sites beware of what you may be downloading unknowingly

One such site is as httpdriverpacksnetDriverPacks that LinMin has used successfully in its QA labs (and z

he drivers obtained from various download sites are often organized in many directoriesfolders and need to

there are several others providing the same service) Please note that these files are compressed using the 7file extension and a exe application is provided to decompress the files on a system running Windows

Tcopied into a single directoryfolder As an alternative to doing this one directory at a time you may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootdriverswindows2003NIC

ith

341 Obtain the NIC Drivers

ote drivers may be duplicated in multiple directories and you may see (and ignore) messages like these -- N

cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriversDLU5netusrinf cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbustag w`rootwinLanDriversDLNV6Anvnetbustag 2

NIC drivers for a system installed with a Windows OSs are easy to obtain with integrated NIC)

DriverPacks

1 The driver disk supplied with the NIC (or supplied with the motherboard2 The NIC vendors website

bers of drivers organized in ldquoPacksrdquo such as 3 Sites containing large num httpdriverpacksnet

he basic NIC drivers are comprised of 2 files both of which are necessary inf and sys If these drivers are

Tprovided in separate directories you must move all the drivers from their individual directories into a single directory You must also rename files with upper cases to have all lower cases

You may encounter NIC RIS drivers while you search for regular NIC drivers Please look at the next section to

342 Obtain the NIC RIS (Remote Installation Service) Drivers

understand how to treat NIC RIS drivers

2

NIC drivers for Windows OSs can be obtained from 4 The driver disk supplied with the NIC (or supplied with the motherboard with integrated NIC) 5 The NIC vendors website

bers of drivers such as 6 Sites containing large num httpdriverpacksnetDriverPacks (though differentiating

of which are necessary inf and sys

between NIC and NIC_RIS drivers is often difficult)

The basic NIC RIS drivers are comprised of 2 files both

The inf files for RIS and non-RIS drivers are different yet they have the same file name

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 26

refore the user should place sys files and RIS version of inf files together in the designated separate directory

343 Obtain the Storage Drivers

RIS drivers are typically smaller than non-RIS drivers and both share the same sys file The

2

Storage drivers can be obtained from thedisk called an ldquoF6 Diskrdquo) or from the stor

driver disk supplied with the storage device (This is frequently a floppy age device vendors website

d in directories you must move all the

2353 Copy the Storage Drivers

The basic storage drivers are comprised of several different files OEM inf sys and CAT Some vendors also package storage drivers in DLL files If these drivers are providedrivers from their individual directories into the same directory

Further information on Storage Drivers can be found in Section

2344 Obtain the Other Drivers

Sound video or other drivers can be ocan also download selected packs from

btained from the media that came with your system or peripherals You httpdriverpacksnetDriverPacks

235 Copy the Drivers to the LinMin Server Best practices with Windows drivers Obtaining and keeping track of Windows drivers is a time consuming and error-prone exercise especially with

IC RIS drivers that share names with NIC non-RIS drivers

S type (Windows 2003 32-bit Windows 2003 64-it and Windows XP 32-bit) and by driver type Once you have downloaded (or extracted from vendor CD-ROM

nce worked on a certain motherboard or NIC may stop working when a new atch of hardware is delivered even if the part numbers are identical the components or firmware on them may

N We recommend that you maintain a repository of drivers by Obor DVD) drivers for certain devices put them in a safe place (and please back it up) and remove known-bad drivers as you discover them Keep in mind that drivers that obhave changed and this will require that you locate the updated drivers (NIC RIS drivers typically) and test the

m

aintain a known-good driver repository M

Note that directories already exist for you to copy your drivers to hometftpbootwin_driverswin2003_32disk hometftpbootwin_driverswin2003_32NIC hometftpbootwin_driverswin2003_32NIC_RIS hometftpbootwin_driverswin2003_32other hometftpbootwin_driverswin2003_64disk hometftpbootwin_driverswin2003_64NIC hometftpbootwin_driverswin2003_64NIC_RIS hometftpbootwin_driverswin2003_64other hometftpbootwin_driverswinxp_32disk hometftpbootwin_driverswinxp_32NIC hometftpbootwin_driverswinxp_32NIC_RIS hometftpbootwin_driverswinxp_32other

LinMin Bare Metal Provisioning Users Guide PublisNote the directories above are intended to keep all known good drivers that your organization requi

hed Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 27

res

river repository to the Windows Custom

ldquoknown goodrdquo repository (above) you will need to Unique Installation (in our example

Copy a subset of your drivers from your known-good dInstallation to match unique hardware you may have

nce you have obtained the drivers and placed them in yourOcopy a subset of the drivers you need for a given Windowswin2003server32) hometftpbootpubwin2003server32addwindriversdisk hometftpbootpubwin2003server32addwindriversNIC hometftpbootpubwin2003server32addwindriversNIC_RIS hometftpbootpubwin2003server32addwindriversother

The drivers obtained from various download sites are often organized in many directoriesfolders nd need to copied into a single directoryfolder As an alternative to doing this one file directory at a time you a

may use the following command to copy all driver files from multiple directories source into one directory target x=`find ~winLanDrivers -type f` cp -p $x hometftpbootpubdriversWindowsNIC

DLU5netusrinf tbustag with

scat with `root

351 Copy the NIC Drivers

Note drivers may be duplicated in multiple directories and you may see messages like this -- cp will not overwrite just-created `hometftpbootpubwindriversNICnetusrinf with `rootwinLanDriverscp will not overwrite just-created `hometftpbootpubwindriversNICnvne`rootwinLanDriversDLNV6Anvnetbustag cp will not overwrite just-created `hometftpbootpubwindriversNICnvnetbu 2

NIC drivers (vs NIC RIS drivers) are used by Windows after the system has been provisioned

act the contents

od repository on you

Multiple NIC drivers can reside in the same directoryfolder as long as each driver has a unique filename Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows system to extract the files to a folder

If your NIC drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extrof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-goLinMin server (in this case drivers for Windows 2003 32-bit) hometftpbootwin_driverswindows2003_32NIC

Then each time you create a Windows Unique Installation copy required drivers from the known-good pository to the correct drivers directory for your Windows Custom Installation re

hometftpbootpubwin2003server32addwindriversNIC

umber of subdirectories such as winxp

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a nwin2k and winNT

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 28

name them with lower case suffixesCapitalization of drivers some inf or sys driver names may appear as driverSYS or driverINF The suffixes SYS and INF need to be lower case You need to re eg driversys or

s Custom Installation by following the

driverinf

After you copy the NIC drivers integrate them into your Windowinstructions in Section 235

2352 Copy the NIC RIS (Remote Installation Service) Drivers

NIC RIS drivers are used only during the provisioning process

Multiple NIC RIS drivers can reside in the same directoryfolder as long as each driver has a unique filename

system to extract the files to a folder

re in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the contents

you r (in this case drivers for Windows 2003 32-bit)

Sub-directories for different Windows OSs are also acceptable

If your NIC drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need to execute the file on a Windows

If your NIC drivers aof the compressed file to a directory

When you have located and extracted the drivers copy the extracted files to the known-good repository on LinMin servehometftpbootwin_driverswindows2003_32NIC_RIS

Tre

hen each time you create a Windows Unique Installation copy required drivers from the known-good ation pository to the correct drivers directory for your Windows Custom Install

hometftpbootpubwin2003server32addwindriversNIC_RIS

number of subdirectories such as winxp

Compatible INF or RIS Ensure you

ys files

NIC RIS drivers often have the same name rs

YS or driverINF The suffixes suffixes

Some vendors package the drivers into an All in One driver pack that contains drivers for all Windows OSs in one compressed file The extraction creates a win2k and winNT

You may find RIS-compatible drivers in a separate folder labeled RISuse the drivers (inf and sys files) from the ldquoRISrdquo folders and the drivers from the Windows OS folders but placethem in separate directory on your system as shown If the ldquoRISrdquo folder has no sys file use the sys file from the appropriate Windows OS folder Obtain both the inf and s

Telling NIC and NIC RIS drivers apart the inf files for NIC and for he NIC RIS drivers are typically much smaller than the regular NIC driveT

Capitalization of drivers some inf or sys driver names may appear as driverSSYS and INF need to be lower case You need to rename them with lower case eg driversys or

After you copinstructions in

driverinf

y the NIC drivers integrate them into your Windows Custom Installation by following the Section 235

2353 Copy the Storage Drivers

NIC drivers and storage drivers cannot be in the same directory The storage drivers must be in one directory without any sub-directories

Ifto

your storage drivers are in one compressed exe file for example driver-ltnamegt-ltversiongtexe you will need execute the file on a Windows system to extract the files to a folder and then copy them to the LinMin Server

If your storage drivers are in a compressed zip file for example driver-ltnamegt-ltversiongtzip extract the

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 29

ontents of the compressed file to a temporary directory

ou must use it

LL files pository on the LinMin server for example

c

If the extraction process created sub-folders or sub-directories containing drivers copy the OEM inf sys CAT and in some cases DLL (see Note 1) files into a single directoryfolder If your driver package includes a DLL file y

From the extracted directoryfolder copy the driver files (OEM inf sys CAT and in some cases Dto your known-good driver re

hometftpbootwin_driverswindows2003_32disk

s Unique Installation copy required drivers from the known-good

Then each time you create a Windowrepository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwin2003server32addwindriversdisk

If your storage drivers are in a compressed zip file for exam name versionple driver-lt gt-lt gtzip extract the

r e includes a DLL file you t use it

Some vendors package the drivers into an All in One driver package that when extracted has one al

the directory into which it was txtsetupoem from this root

lderdirectory into each Windows OS subfoldersubdirectory

r a specific version

ore information on txtsetupoem can be found at httpwwwosronlinecomddkxinstalltxtsetup_1wmqhtm

contents of the compressed file to a directory and then copy the driver files to the directory hometftpbootwin_driverswindows2003_32disk on the LinMin server

Some vendors package all storage drivers as OEM inf sys and CAT files while some vendors package storage drivers as these four types plus a DLL file If your drive packagmus

folderdirectory that contains a file called txtsetupoem and subfolderssubdirectories containing the actustorage drivers for different versions of Windows

If the extracted file structure has the txtsetupoem file in the root folder of(and not in the Windows OS subfolderssubdirectories) you need to copy extracted

fo

If the extracted file structure has the txtsetupoem file in each Windows OS subfoldersubdirectory the Windows OS subfoldersubdirectory is likely to include all the storage driver files you need foof Windows

M

Multiple storage drivers can be used with a given Windows Custom Installation by editing the txtsetupoem filedetails and community support can be found online httpwwwmsfnorgboardindexphpshowtopic=72125

After you copin

y the storage drivers integrate them into your Windows Custom Installation by following the structions in Section 236

2354 Copy Other Drivers

Extract any sound video or other drivers you want to install on a Windows client during provisioning and copy the extracted drivers to the known-good repository on you LinM rs for Winin server (in this case drive dows XP 32-bit) hometftpbootwin_driverswinxp_32other

Then each time you create a Windows Unique Installation copy required drivers from the known-good repository to the correct drivers directory for your Windows Custom Installation hometftpbootpubwindowsXPsp3_32addwindriversother

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 30

vers into your Windows Custom Installation

After you copy the NIC drivers integrate them into your Windows Custom Installation by following the instructions in Section 235

236 Integrate the DriTo integrate the drivers into your Windows Custom Installation cd hometftpbootbin perl addwindriverpl

You will be prompted for the name of the Windows Custom Installation that you created when you ran loadwindowspl Windows OS installation directory in pub you will be adding these drivers to windows2003_32 The example above is if you created the directory hometftpbootpubwindows2003_32

237 Troubleshooting Windows Network Driver Problems

you cannot get it past the WiIf ndows client initial setup screen because it says the network driver is required for IS-capable NICs network driver was not included in either the OS installation you downloaded and integrated into your Windows installation using the script

dwindriverpl

er n run the script addwindriverpl which places them in the file devlistcache

install this is because your Rmedia or in the driver pack ad To get around this problem you simply need to add the proper Network Driver and Information files to the prop

rectories on the LinMin server thediDo not manually edit this file and instead always use addwindriverpl

irst you need to ideF ntify network cardrsquos and or motherboard manufacturer and part number Then check their e Network Driver and the 2

ollow the instructions in Obtain your NIC Drivers Obtain your NIC RIS Drivers Copy your NIC Drivers and Copy your NIC RIS Drivers

website and locate then download the necessary files (3 per NIC) for thInformation Files to support this network card

F

Now execute

hometftpbootbinperl addwindriverpl

s

This will correctly take the proper files and populate the file devlistcache located in the respective directorielisted above Remember do not edit devlistcache files manually

To verify the process please check the file devlistcache Open the file with a text editor and youll now see the driver added (sys and inf files) Now reprovision your system and watch Microsoft Windows get installed

Ensure that the CD or DVD you use is bootable (for example if you used a slipstream tool to create the CDDVD) otherwise the remote installation will fail

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 31

Customizing Windows Installations 238 Resources for Customizing Windows installations is a common proces

stallations frequently perform A customized Windows ins that organizations with large numbers of Windows

stallation enables you to incorporate service packs ches to the OS (released since the media was published by Microsoft) add specific drivers install

wo popular approaches are bull

inand patapplications etc T

Creating customized ISOs using a free tool such as nLite (wwwnliteoscom) After you have used nLite to addremoveupdate software components and create an ISO burn it to CDDVD Make sure it is a bootable CDDVD Once you have tested it by installing your customized Windows on a system use the same media with LinMinrsquos loadwindowspl script as you would with any Microsoft-supplied media

bull Instructing the Windows installer to perform additional functions andor application installations during

the provisioning process by customizing the sif file (including the RunOnce section) The site unattendedmsfnorg provides tutorials examples and a very popular forum for further assistance from the community

installations as there are

lease note that LinMin does not provide technical support for customizing Windows Pforums and groups dedicated to these topics

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 32

3 Create LinMin Provisioning Roles

31 Access the LinMin Servers Graphical User Interface For the remainder of the LinMin server setup you will be working on the LinMin Graphical User Interface (GUI) from your Firefox browser Open the GUI by typing the following URL into a browser installed on the LinMin server

httpltyour_provision_server_ip_addressgttftpboot for example http1921680201tftpboot

LinMin presents the Login page which is shown in Figure 1

LinMin Login Page

311 LinMin server password The default password is ldquobaremetalrdquo For security reasons we recommend restricting access to the LinMin Server only to trusted individuals

Once the login has been accepted LinMin opens the Main Menu page shown in Figure 2

The default password cannot be changed at this time though we plan on offering this feature in the future The vast majority of customers use LinMin as a software appliance deployed in a trusted environment (private networks behind firewalls) so this is rarely an issue A workaround is to open a firewall port and assign it LinMin such that access to the login page require knowledge of both the IP address and the specific port that was randomly assigned to the LinMin server

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 33

LinMin Bare Metal Provisioning Main Menu

Do not use the browsers navigation (ldquoBackrdquo) or refresh features Use the navigation buttons on LinMins GUI instead or you risk losing information you have entered

On the LinMin server UI configuration pages you can obtain information about an entry by rolling the mouse over the icon to the right of the field The mouse over opens an information panel about that entry

32 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

321 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 34

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

After you have created MAC-Independent Provisioning Roles (explained starting the next section of this Userrsquos Guide) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator) have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

There is a one-to-one correspondence between the MAC-Independent Provisioning Roles Setup page (above) and the screen that will appear on the UI of the client system that made a network boot request (below)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 35

When the client system boots to the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

3211 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 Release 53 of LinMin Bare Metal Provisioning introduced the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and configurationcontrol file and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

322 Create MAC-Independent Provisioning Roles for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 36

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (cfg) in the image above

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the control files (cfg) For example edit the file

hometftpbootpubrhel5_3_i386rhel5_3_i386cfg

Locate in the file

timezone --utc EtcGMT-8 (or timezone --utc AmericaLos_Angeles)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 37

and replace it with

timezone --utc AmericaNew_York (for the US Eastern time zone)

323 Create MAC-Independent Provisioning Roles for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 38

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (xml) in the image above

324 Create MAC-Independent Provisioning Roles for Ubuntu or Debian Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Linuxrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 39

If you decide to use Method 2 (using the file browser to manually select the files) please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 40

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Starting with Ubuntu 904 passwords must have at least 8 characters

325 Create MAC-Independent Provisioning Roles for Windowsreg Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 41

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

326 General Comments on MAC-Independent Provisioning Role On the MAC-Independent Provisioning Roles page enter the keystroke (numbers andor letters) to be associated with the menu item and the name (menu item text) that will be shown on the MAC-Independent Provisioning Menu

The kernel parameters field has other uses as well For example if the target machine has multiple Ethernet interfaces then the kernel should be passed the correct provisioning interface via the parameter ksdevice eg ksdevice=eth1 where you want to provision over eth1 and not eth0

LinMin has provided you with at least 1 control file per supported distro You may wish to edit this

control file to have fewer or more packages installed and to change other characteristics of the systems being

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 42

provisioned If you make such changes please change the file name to something other than what LinMin provided and back these control files up Should you change your networking address (eg the IP address of the LBMP server) and use the ldquoSetuprdquo program the URL in each control file delivered by LinMin will be updated and your changes will be lost if did not rename the control file name

Arrange the MAC-Independent Provisioning Roles for display

When you have created menu items the MAC-Independent Provisioning Roles page will display the menu items

Arrange the order in which the boot menu will display the items by using the arrows to the right of the Make Default buttons

When you select a ldquokeyrdquo (keystroke to be pressed by the user on the client system to provision a certain distro) and you move items up and down the numbers will be out of order If you wish to change numbers please make sure you donrsquot use an already assigned number You may also use alphanumeric character strings (with no spaces) instead of single numbers or letters

Set a default boot option

If you intend to run unattended installations or to install headless clients you must set one of the menu items as the default option Toggling the Default button changes the choice

If you attempt to install a headless client without setting a default option the headless client remains at the PXE boot screen until the machines power is turned off

Set the default option on the Boot Menu Configuration page by clicking the Make Default button beside the chosen menu item

After the default option is set the LinMin server uses the default when

- the user selects the default by pressing Enter at the PXE boot screen

- the user takes no action within the 60-second timeout interval

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 43

33 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo (distroOS and in the case of Linux unique control files directing the installation of specific packages and execution of scripts) then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

331 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg RHEL 53 JBoss server CentOS firewall Windows 2003 Server Ubuntu desktop) that then gets applied to one or more systems based on their MAC address

Beyond selection of the Linux distribution or Windows OS Role templates can be customized for Linux by one of two methods bull Importing one of the Role templates provided with the LinMin server (in tftpboottemplates) bull Designing a new Role template using LinMinrsquos parameterized variables

You can use more than one Role template for each OS You could for example use one RHEL 53 Role Template for a workstation and RHEL 53 Role Template for a database server

Role templates can be modified to install Third Party Agents applications and user-defined software rovisioning Instructions for modifying Role templates are in an Appendix of this Userrsquos Guide during p

3311 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Specific Provisioning Roles can be automatically filled out by simply selecting the desired Linux distro or Windows OS from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 44

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

3312 Create MAC-Specific Provisioning Role Templates for Red Hat CentOS Fedora or Asianux

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 45

After you have selected the last item ldquoRed Hat Enterprise Linux 52 x86_64rdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquovmlinuzrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

For more information on Anacondakickstart options go to httpfedoraprojectorgwikiAnacondaOptions

Note The RHEL 53 and CentOS 53 ISOs have a bug httpsbugzillaredhatcomshow_bugcgiid=483094 whereby GMT time zones were omitted from the release The workaround to avoid having to manually enter the time zone during provisioning is to edit the template control files (tmpl) For example to enter your correct time zone edit the file

hometftpboottemplatesrhel5_3_x86_64kstmpl

Locate in the file

timezone --utc $node_time_zone

and replace it with

timezone --utc AmericaLos_Angeles

3313 Create MAC-Specific Provisioning Role Templates for Novell SUSE Linux Enterprise Server (SLES) and OpenSUSE

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 46

After you have selected the item ldquoSLES 10 SP2 i386 Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrd) as well as the control file (tmpl) in the image above

3314 Create MAC-Specific Provisioning Role Templates for Ubuntu or Debian

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 47

dropdown selection it means that the distro media is loaded and ready for use)

After you have selected the item ldquoUbuntu 8041 x86_64 Desktop Linuxrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquolinuxrdquo) and ramdisk (initrdgz) as well as the control file (cfg) in the image above

If you create a Provisioning Role for a Ubuntu or Debian option ensure that you add the additional kernel parameters specified in the information panel associated with the Enter additional kernel parameters field

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 48

Follow the instructions in the Important note in the LinMin Bare Metal Provision Users Guide Step 2b (The Important note describes entering additional kernel parameters for a Debian or Ubuntu MAC-Independent Provisioning Menu Role) For Ubuntu distributions enter the following additional kernel parameters

Ubuntu Debian Distribution

Required Values for the Enter additional kernel parameters Text Entry Box

Ubuntu 8041 locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

Debian (for etch only) locale=en_US console-setuplayoutcode=us (see Notes 2 and 3)

The Separate the languagechooser and ramdisk_size entries by one space

Separate the locale and console-setup entries by one space

The console-setuplayoutcode setting specifies the keyboard layout To use a non-US keyboard layout substitute the country-keycode for us

For Browse to the directory (substitute amd64 for i386 if desired)

Select the file

Locate kernel file pub[ubuntu_distribution]installnetbootubuntu-installeri386 linux

Locate initrd file pub[ubuntu_distribution]installnetbootubuntu-installeri386 initrdgz

Locate Preseed control file

pub[ubuntu_distribution] preseedcfg

3315 Create MAC-Specific Provisioning Role Templates for Windowsreg

Using Role Creation Method 1 select the distro you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distro media is loaded and ready for use and in this case we purposefully did not load the media so there will be no asterisk and the auto-filled form will show the error message indicating that the media has not been loaded)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 49

After you have selected the item ldquoMS Windows 2003 Server 64-bit R2rdquo the formrsquos fields will be automatically populated (but the error message appears because the media was not loaded)

Note the error messages above indicating that LinMin did not find the Windows media

When using Method 2 for the ldquoWindows or Otherrdquo Option to create a Provisioning Role for a Windows OS use the Browse buttons to go to the publtWindows_Installation_namegt directory (in our previous example pub win2k3_Web_Edition-sata) In that directory select the kernel and initrd files for your Windows OS The names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 50

of the Windows kernel and initrd files are shown below The ldquoWindows or Otherrdquo Option does not use a control file

Windows 2003 Windows XP kernel name w2k3t0 wixpt0

initrd name (Windows clients use sif files in place of initrd)

w2k3tsif wixptsif

If you are using the Boot Menu to provision SCSISATA clients and IDE clients with the same Windows OS you will need to create separate menu items for ltWindows-OSgt-sata and ltWindows-OSgt-ide

Using Method 2 (manual mode) to create Provisioning Role Templates

The Provisioning Role Template Edit page includes options to select the OS the path to the kernel and the path to initrd It also provides a field in which to display and edit the control file template (Linux only) supplied by LinMin

Step 1 -- Select the proper file type for your OS

On the menu associated with Type select your profile templates type bull Red Hat-based Distro bull Novell SLES Distro bull Ubuntu or Debian Distro bull Windows OS

Step 2 - Select the kernel

Click the Browse button associated with Path to kernel and on the resulting page go to the appropriate directory and select the kernel that will be assigned to the client during provisioning

Step 3-- Select initrd

Click the Browse button associated with Path to initrd and on the resulting page go to the appropriate directory and select the initrd that will be assigned to the client during provisioning

NOTE For Ubuntu 8041

Path to kernel pububuntu8_04_1_i386installnetbootubuntu-installeri386linux Path to initrd pububuntu8_04_1_i386installnetbootubuntu-installeri386initrdgz

Use the pububuntu8_04_1_x86_64 directory and ldquoamd64rdquo instead of ldquoi386 for 64-bit deployments

Step 4 ndash Import a LinMin-supplied control file template (Linux only)

Click the Import button associated with Template Data and browse to the hometftpboottemplates directory where you will find the provided templates Select the template for your Linux OS and LinMin will import that template into the Profile Template Edit page

IMPORTANT For MAC-Specific Templates you use a different control file than you do for MAC-Independent Roles For MAC-Specific Templates please make sure you import a file from tftpboottemplates (for example rhel5_2_i386tmpl and NOT tftpbootpubrhel5_2_i386rhel5_2_i386cfg)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 51

The reason for this is that the ldquotmplrdquo files contain variable names (eg $node_timezone) that get replaced dynamically when use the GUI to create a MAC-Specific System Role whereas the ldquocfgrdquo or ldquoxmlrdquo files in pubdistro_directory_name have those values replaced when you run setuppl and retain those values until you run setuppl again

Step 5 ndash Make any required changes to the imported template

In the Template Data area make any required changes to the template file Do not change any of the values such as $node_ip_address or any other variable starting with the ldquo$rdquo symbol These will be substituted automatically when you assign the Role Template to a specific system

You may however edit any other value (addremove software packages add post-installation scripts etc)

Step 6 -- Click the OK button

LinMin will then display the new template in the Role Template List

Note that with Linux distros you can extensively modify the control files to automatically install applications and pre-install data collected from other systems Below is an example of a more elaborate set of MAC-Specific Provisioning Role Templates

332 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 52

opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific Role button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 53

MAC-Specific Provisioning Role for CentOS 52 i386 Desktop

MAC-Specific Provisioning Role for SLES 10 SP2 i386

Create a profile by entering the required information and clicking the OK button to store the MAC-Specific Provisioning Role

The GMT selection does not apply to Windows clients as that information is gathered from the ldquosifrdquo file

The Provisioning Role Template must have already been created as described in Section 331 of this

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 54

document

When creating a provision profile for either the Ubuntu Desktop or the Ubuntu Server distribution the default user login (via the GUI) is ldquodebianrdquo or ldquoubunturdquo respectively and password is insecure (by

convention) The Root user can login only from the command line after hitting ldquoControl-Alt-F1rdquo

The Ubuntu Desktop distribution does not allow the root user to log in from the GUI therefore you must create the provision profile with a user name other than root

NOTE Some Linux distros change way they label time zones Until recently GMT-7 was universally accepted across all distros As of 2009 we see the some beta distros no longer honor this representation and instead force the change to AmericaLos_Angeles or USPacific While we wait to see if the GA versions of these distros will add in the universal GMT format we have hard coded the time zones into controlconfiguration files and these can then be edited by hand rather that through the LinMin GUI

333 MAC-Specific Provisioning Business Rules

Important you can prevent accidental re-provisioning of a specific system by using the ldquoEnable Provisioningrdquo radio buttons

1 ldquoIgnorerdquo will process the request from the specific MAC address and redirect the system to boot from its local hard disk Use this option for mission critical system where you may wish to manually recover data or system state and prevent an accidental re-provisioning of the system

2 ldquoAlwaysrdquo will force the system to be provisioned each time it makes a network boot

3 ldquoNext Boot Onlyrdquo will provision the system on the next boot only then set the state to ldquoIgnorerdquo This works with systems that you manually trigger to boot from the network but also allows you to set the systemrsquos BIOS to boot from the Network first then to HD if the option is set for a given MAC address it will get provisioned and upon reboot will be ignored until you manually reset the radio button to ldquoNext Bootrdquo

Note Imaging Roles (in the following section) take priority over MAC-Specific Provisioning Roles Business Rules

334 Best Practices with MAC-Specific Provisioning

Avoid recycling MAC Provisioning Role Templates Use the ldquoCopyrdquo function to copy known good templates then modify the recently created Role Templates ldquoEditrdquo should be used for permanent changes to existing templates and development changes to new templates It is best when making changes to Role Templates to keep previous known good templates until the new ones are proven These can be valuable to determine what changed and what may be causing any new issues in a new template You can append or prepend information such as obsolete-yyymmdd to the names to avoid selection confusion They can be deleted when the copied and modified clones are known to be good

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 55

4 Set Up the LinMin Client for Provisioning The recommended boot order configured in the BIOS is as follows

- ATAPI (CD-ROMDVD Reader)

- Hard Disk

- Network

However if you use MAC-Specific Roles and have a Role created for a specific system you can set the system to boot from the Network first then to the Hard Disk if you use the option ldquoNext Boot Onlyrdquo (where the next network boot provisions the system with an OS and subsequent boots are ldquoignoredrdquo by LBMP which forces the system in question will boot from its local disk each time until the LinMin Administrator changes this setting)

If the system has no OS installed or has a damaged boot record (MBR) and has no bootable CDDVD in its reader it will then automatically boot from the network get provisioned and when it reboots it will boot from the recently provisioned hard drive

If the system has an OS installed and you wish to re-purpose the system during the boot process press the ldquoF-12rdquo key (or other ldquoBoot from the Networkrdquo function key as displayed by the BIOS) and the system will

- Display the Default Boot Menu if no MAC address-based profile was created The user makes the selection or the ldquoDefaultrdquo selection gets installed starting in 60 seconds if there is no manual selection

- Automatically get provisioned with the MAC address-based profile as specified by IT

- Have a disk snapshot (ldquobackuprdquo) initiated if so selected by IT using the LBMP GUI

- Have a disk restore initiated if so selected by IT using the LBMP GUI

If your BIOS does not support the interactive ldquoBoot from the Networkrdquo option then change the BIOS to boot first to the Network then to Hard Disk and after the installation of the distro is complete

interrupt the reboot of the system and change the BIOS settings to CD-ROMDVD then Hard Disk then Network Alternatively you can specify in the control file to ldquohaltrdquo instead of ldquorebootrdquo and decide when to power the system back up and change its BIOS settings

settings

tool or s l If you have a working system IT can SSH into an individual system (or use a systems management cript to access multiple systems at once) delete the Master Boot Record and force a reboot which wil

then force the re-purposing of the system This is potentially harmful if an error is made as you will loose all contents of your hard disk(s) but it enables mass re-purposing without human intervention on each system

BIOS settings and entry procedures are manufacturer specific Refer to the client systems BIOS documentatio

n to determine the correct procedures and settings

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 56

5 Provision the LinMin Client System Step 1 ndash Connect the LinMin client to the provisioning network

Step 2 -- Verify the BIOS settings

Step 3 ndash If the LinMin client does not have native PXE capability insert the floppy disk or the USB flash drive

Step 3 is not required if your LinMin client has native PXE capability clients without native PXE-boot y can be provisioned by using a floppy disk or USB flash drive to initiate the PXE boot capabilit

default passw

erating the LinMin server without firewall software during the provisioning process enhances f 100

Mbit net

re 5 distribution the Kickstart control file installs both the X Window

you will

When you provision the RHEL 42 distribution to a LinMin client using the AMD x86_64 Opteron

Step 4 -- Boot the LinMin client (and hit F12 if it has an installed distro or OS you wish to overwrite)

Step 5 ndash Provision the System

If you are using interactive provisioning select the Boot Menu will be presented to the clients UI and the user makes the selection or waits 60 seconds for the ldquoDefault Bootrdquo option to get invoked

If you are using automated provisioning the proper profile will be applied based your systems MAC address

When a client provisioned with a Windows OS boots the client requires a password and the ord is password If you want a different default password you can edit the Windows sif file to

change the default password Information about editing the Windows sif files is in Section 54 of this document

Opance Significant performance gains can be achieved by using 1 Gbit NICs and switches instead oworking hardware

When provisioning the Fedora Co

perform

System and Gnome but the Kickstart control file does not configure X Window If you want to use X Window need to manually configure the client after provisioning is completed

processor you will need to manually start the client machine after provisioning

51 Configuring VMware Clients VMware Server and VMware Workstation clients are most easily configured as follows

Virtual Machine Type = Typical

Operating System = other

ldquoOther Operating System Typerdquo = other

Disk Allocation = unclick ldquoPre-allocate diskrdquo (if you pre-allocate the disk you cannot provision the client)

If your VMware system has a special selection for the exact OS you intend on deploying (for example

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the )

WindowsWindows Server 2003 Web Edition) then use it

MAC-Specific Provisioning Roles (refer to Appendix B-4 for how to create a static MAC address for VMware

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 57

52 Provisioning VMware Clients

LinMinrsquos MAC-Independent and MAC-Specific Provisioning Roles can be used to provision both physical systems (servers blades workstations or appliances) and virtual systems (eg VMware virtual machines) with no modifications whatsoever

Caption MAC-Independent selection menu in a VMware virtual machine is identical in look and feel to a physical system

Caption Provisioning in progress in a VMware virtual machine

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 58

Caption Provisioning complete in a VMware virtual machine

This ability to interchangeably deploy physical and virtual systems enables IT users to use out-of-the-box LinMin-supplied roles and templates and deploy operating systems to physical systems and virtual machines with no incremental effort More importantly LinMinrsquos ldquophysical and virtualrdquo deployment ability lets IT domain experts refine and augment the LinMin-supplied roles and templates (eg change partitioning options addremove applications execute scripts to configure applications copy data from remote systems) while adhering to best IT practices (repeatability compliance) in anticipation of repurposing existing systems or deploying new physical systems or virtual machines

Once the provisioning roles are tested and approved not only can IT users quickly meet demands by bringing new systems on line in minutes they can also easily experiment and compare the performance of live applications when running on different types of systems or measure the impact of replacing older less power-efficient systems with newer or consolidated systems

processor you will need to manually start the client machine after provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 59

53 Configuring VirtualBox Clients The following screen shots show how to set up VirtualBox clients (in this case for OpenSUSE)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 60

Hit F-12 as you would with a physical system for Client-side booting or enter the VMrsquos MAC address in the MAC-Specific Provisioning Roles

52 Provisioning VirtualBox Clients

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 61

6 Customize the Provisioning Process

61 Customize Provisioning with Linux Distributions This option uses the Kickstart control file therefore it can be used only with Red Hat-based Linux ions distribut

Begin by importing your distributions profile template into LinMins Profile Template Edit page

Locate the section that begins with the following designation packages

All user-defined software that is to be installed during provisioning must be entered under this packages section of the profile template

Individual packages are listed by name with no symbol or space in front as is shown for the dhcp package in Figure 17

Groups are listed with the symbol and one space in front of the group name as is shown for the GNOME Desktop Environment package in Figure 4 (The groups that the Kickstart control file recognizes are listed in the Red Hat--or Red Hat-based--distributions compsxml file usually located in the distributions disc 1 Red Hatbase directory)

Figure 17 Example of packages Section of Kickstart Control File

When all software to be installed during provisioning is listed in the packages section of the Kickstart control file save the file

Further options available with the Kickstart control files packages installation are packages --resolvedeps

Install the listed packages and automatically resolve package dependencies If this option is not specified and there are package dependencies the automated installation pauses and prompts the user packages ndashignoredeps

Ignore the unresolved dependencies and install the listed packages without the dependencies packages ndashignoremissing

Ignore the missing packages and groups instead of halting the installation to ask if the installation should be aborted or continued

More information is available at httpwwwredhatcomdocsmanualsenterpriseRHEL-4-Manualsysadmin-guides1-kickstart2-packageselectionhtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 62

62 Customize Provisioning with Windows OSs After the setup program loadwindowspl has been run you can edit the Windows sif files to customize provisioning Windows clients The sif files are located on the LinMin server under the hometftpbootpubltWindows_OSgt directory

The sections of the sif files that can be edited are bull [GuiUnattended]

bull AdminPassword bull TimeZone

bull [Display] bull [UserData]

bull ProductKey bull ComputerName bull FullName bull OrgName

bull [RegionalSettings]

bull [GuiRunOnce] ndash for post-installation scripts

bull [Identification] bull JoinWorkgroup OR JoinDomain

bull [Components]

Each section of the sif file contains instructions for editing that section Follow the instructions for the section you want to edit Each sif file also contains instructions on how to add and comment out parameters

Some options in the provided Windows sif files are commented out with the semicolon () character To activate such an option edit the Windows sif file and remove the ldquordquo from the front of the option

Some options have a corresponding option that is activated by default When you activate one of these options you will need to comment out its corresponding default option Some options that have default activated settings are regional WorkgroupDNS and partitioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 63

7 Update Drivers

71 Update Linux Drivers

711 Update Drivers on SuSE-Based Distributions The following instructions apply to updating drivers for SuSE and SLES distributions

7111 Single Driver Update

The default AutoYaST installation process is capable of recognizing driver updates AutoYaST requires only that a specially named file exists in the base directory of CD 1 for the distribution

Obtain the updated driver by downloading the correct ISO image update for the selected driver from the device vendor The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

7112 Multiple Driver Update

Update multiple drivers by the following steps

Step 1 -- Obtain driver update from the vendor

From the device vendor download the correct ISO image update for the selected drivers The image should be in the format described for driver updates in the open SuSE organizations Howtos at httpltlanguagegtopensuseorgHowtos

Step 2 -- Mount the drivers to a directory on the LinMin client machine

Mount the drivers with the following command mount -o loop ltimage_namegt tmpltyour_dir_namegt

Step 3 -- Create the driver update directory structure

Create a directory structure for the driver updates that matches the example shown in Figure 18

Figure 18 Example Directory Structure for SuSE Driver Update

Step 4 ndash Create three empty files and copy them to the correct directory

Use the touch command to create three empty files with the following names

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 64

updatepre updatepost updatepost2

Copy all three files to the following directory tmpltyour_dir_namegtlinuxsuseltarchgtinstall

Step 5 -- Merge updates

Execute Steps 5a through 5d for every driver you update

For each step that requires a command type the entire command on one line although the command here on two lines for clarity is shown

Step 5a ndash Merge updatepre

Copy updatepre from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepre homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpre

Add a call to updatepre by opening the updatepre file in a text editor and adding the following line to the file sh ltnew_driver_namegtpre

Step 5b ndash Merge updatepost

Copy updatepost from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost

Add a call to updatepost by opening the updatepost file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost

Step 5c ndash Merge updatepost2

Copy updatepost2 from the driver image to a new directory under a unique name with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatepost2 homeltnew_dir_namegtlinuxsuseltarchgtinstallltnew_driver_namegtpost2

Add a call to updatepost2 by opening the updatepost2 file in a text editor and adding the following line to the file sh ltnew_driver_namegtpost2

Step 5d ndash Merge the tar files

Step 5d is not required for the first driver you update

Merge the tar files with the following command tar -uzvf homeltnew_dir_namegtlinuxsuseltarchgtinstallupdatetargz | tar -xzvf tmpltyour_dir_namegtlinuxsuseltarchgtinstallupdatetargz

Step 6 ndash Copy the rpm files

If any rpm files are present copy them with the following command

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 65

cp tmpltyour_dir_namegtlinuxsuseltarchgtinstallrpm homeltnew_dir_namegtlinuxsuseltarchgtinstall

Step 7 -- Copy the modules

Copy the modules with the command cp tmpltyour_dir_namegtlinuxsuseltarchgtmodules homeltnew_dir_namegtlinuxsuseltarchgtmodules

Step 8 -- Package the image

Package the image by executing mkfscramfs homeltnew_dir_namegt hometftpbootpubltdistrogtCD1driverupdate

712 Update Drivers on Red Hat-Based Distributions For information on updating drivers on Red Hat-based distributions (and rebuilding the kernel) contact LinMin Support at linmin-supportlinmincom

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 66

8 Bare Metal Imaging Backup and Restore

81 Introduction to LinMin Imaging

Before you start using disk imaging first read this entire section of the Userrsquos Guide Please take several precautions including backing up the system that you will be testing LinMinrsquos imaging function with Disk imaging backup is a non-destructive process however disk imaging restore will erase and overwrite all contents of the system you are restoring Before doing a restore please look at the directory where the image files are stored to ensure that what you see in that directory is reasonable allowing for compression Eg if you back up a system with 250 GB of data on its disk(s) and the backup directory contains only 10 MB then clearly something wrong happened during backup (check to see you used the correct designation for the disk containing the Master Boot Record)

You can also monitor progress on the client systemrsquos UI along with progress bars average backuprestore speed elapsed time and estimated time to completion

Please become familiar with the disk imaging subsystem before restoring a mission critical system

The LinMin imaging subsystem will recognize all major Linux and Windows file systems and will not back up empty disk sectors For other file systems the entire disk will be compressed and copied increasing the time and disk space required to perform imaging functions Non-x86 CPU architectures such as SPARC are not supported with LinMinrsquos imaging function Imaging of Solaris x86 is not supported at this time

Hardware and Software RAID devices are not supported at this time Please contact linmin-supportlinmincom for availability dates

LinMin Bare Metal Imaging is intended for Disaster Recovery (DR) Restoring an image to the same system from which the backup was made can be done if the disk has been replaced with a larger disk using the same architecture (eg a SATA disk replacing a smaller SATA disk) after manually editing a file Contact LinMin Support for information on this capability

While cloning (deploying the image collected from a system and deploying the image to a system with identical hardware) appears to work consistently cloning is not a supported function (try it at your own risk) Furthermore it requires manually editing parameters (network settings etc) of the newly cloned systems

82 Preparation before Imaging Information to Collect Before you create an imaging profile you will need to know the client machines

bull MAC address Instructions for determining a MAC address are in this documents Appendix B

bull You must also know the drive where the master boot record (MBR) is located eg sda sdb sdc hda hdb hdc and so on If using Linux use the df command to identify your disk type

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 67

83 Creating Imaging Profiles

To create a profile click the Add Imaging Profile button on the Imaging main page LinMin opens the Disk Imagining Profile Edit page shown below

Disk Imaging Profile Edit Page

Enter all required information including the drive designation (sda sdb sdc hda hdb hdc and so on) where your master boot record (MBR) is located and click the OK button

Notes

bull The backup directory will be created only at the time the first backup

bull Unique Profile Name if you leave the ldquodefault-to-MAC_macrdquo default upon clicking ldquoOKrdquo a name will be generated as MAC_[this-MAC-address] eg MAC_00-29-0C-A1-B2-01

bull Disk Image Snapshot Directory Name if you leave the ldquodefault-to-MAC_mac-date-timerdquo default upon clicking ldquoOKrdquo a directory will be generated as MAC_[thisMACaddress]-[currentDate]-[currentTime] eg MAC_00-29-0C-A1-B2-01_20090319-124520

bull Restore with no backup dir -- red bold message above table -- Failed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restore ndash

bull Multi-disk (non-RAID) imaging if your client system has more than one physical hard drive you can instruct LinMin to back your disks by entering the disk identifiers For example if you have 3 disks called sda sdb and sdc enter into the field labeled ldquoDrive Type and Letterrdquo sda sdb sdc

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 68

84 Next Network Boot Imaging Actions

On LinMins main menu select the Imaging Profiles link or select MAC-Specific Imaging on the navigation bar LinMin opens the MAC-Specific Imaging page shown below

Disk Imaging Profiles Page

Notes the buttons under the column labeled ldquoNext Boot Actionrdquo

bull The green checkmark will cause the word ldquoBackuprdquo to appear in the column and will start a backup the next time the client system boots to the network

bull The yellow ldquoCautionrdquo triangle will cause the word ldquoRestorerdquo to appear in the column and will start a system restore the next time your client system boots to the network ALL FILES ON YOUR SYSTEM WILL BE OVERWRITTEN

bull The yellow arrows are the ldquoResetrdquo function and will clear the column of any text labels

Action after backup or restore upon completing a backup or a restore the LinMin server will reset itself to take no action at the next network boot and the client system will automatically reboot

Restore a directory if no backup has been performed if you attempt to perform a Restore without having first performed a backup you will get an error message ldquoFailed to activate restore for MAC_00-29-0C-A1-B2-01 there is no backup to restorerdquo (or whatever backup directory name you gave it)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 69

Priorities for Next Network Boot Actions Imaging and Provisioning

o Disk Imaging actions (backup and restore) take priority over provisioning actions After an imaging action the client system will boot from its local hard drive

The restore operation will overwrite the clients entire hard drive

Because the Image Snapshot occurs after you have properly shut down the system before booting

it to the network there will be very high file application and database integrity since none of the applications or services were running during the backup This also means that your system is unavailable for use during backup or restore

If you have created an Imaging Profile and set it to either ldquoBackuprdquo or ldquoRestorerdquo and wish to change the contents of the Profile first ldquoResetrdquo the ldquoNext Boot Actionrdquo then edit the Profile and save your changes and then change to ldquoNext Boot Actionrdquo to either ldquoBackuprdquo or ldquoRestorerdquo In this way the changes to the Profile will be properly recorded

85 Image Backup Directory Locations

Backup Image Locations Imaging Profiles are used to backup (create a snapshot of all discpartitions contents) or restore a client at that clients next network boot The backup or restore is performed to or from subdirectories of hometftpbootimages that you specify when creating or editing a given systemrsquos Imaging Profile

When selecting the name of the Snapshot (backup) file we suggest you include the date in it such that you can have different rollback dates Otherwise you will be backing up to the same file each time and will only have the last backup to rely on A directory with the name you selected will be created and populated

Disk Imaging directory on the LinMin server for each client system

Disk Space please ensure that you have enough disk space to contain the disk images you capture You may also create a symbolic link to another location to replace the designated default (if you have not already created backup directories there)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 70

cd hometftpboot rm hometftpbootimages link -s new_path_you_designate images

Note LinMin uses a component provided by the open source project wwwclonezillaorg which is distributed under the terms of the Gnu Public License (GPL) LinMin regularly contributes to the Clonezilla project Thank you Clonezilla

86 Imaging Control File Locations

Image Control File Locations For each system to be imaged control files exist to force the client system to take appropriate actions based on the Userrsquos requests

You can locate these files at [rootlinminbaremetal ~] cd hometftpbootpxelinuxcfg

When a new Imaging profile is created 2 files get created containing directives for backup and for restore -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

When the IT user clicks on a Systemrsquos ldquoNext Actionrdquo icon a third file active appears -rw-r--r-- 1 root root 465 Mar 6 0834 01-00-02-55-b0-97-a8active -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8backup -rw-r--r-- 1 root root 465 Mar 6 0434 01-00-02-55-b0-97-a8restore

If the user clicks ldquoBackuprdquo then LinMin copies the file backup to active

If the user clicks ldquoRestorerdquo then LinMin copies the file restore to active

If the user clicks ldquoResetrdquo then LinMin deletes the file active

After an imaging (backup or restore) event then LinMin deletes the file active

If there is no file ldquoactiverdquo no action is taken If there is a file ldquoactiverdquo its contents will dictate the type of imaging action

No backup directories are created until the first backup for that directory name occurs

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 71

9 Managing the LinMin Server The LinMin Bare Metal Provisioning server is comprised of LinMin-developed components and services as well as services provided by the underlying operating systemdisto

These services include (among others) oc-provision-server dhcpd NFS mountd NFS daemon NFS quotas NFS services postgresql service and Avahi daemon

LinMin provides a single service group enabler called linmin-servicessh with 4 options start stop restart and status

91 StartStopRestartCheck the LinMin Server The LinMin Server will start every time the system on which it runs is powered on At any time you can stop start restart or check the status of the LinMin server by following the instructions below

Execute as root user

To start all services required to run LinMin (including at system boot time) usrlocallinminlinmin-servicessh start

Note that the script can also be executed by cd usrlocallinmin linmin-servicessh start

To stop all services required to run LinMin usrlocallinminlinmin-servicessh stop

To restart (shut down then start) all services required to run LinMin usrlocallinminlinmin-servicessh restart

To check the status of all services required to run LinMin usrlocallinminlinmin-servicessh status

The script may be invoked at any time a status check is desired If all services are running the following message will appear LinMin Bare Metal server status is OK

Error results will be displayed on the console and logged to usrlocallinminstatus current_status_check and to a status_ERRORs scriptTimeStamp

92 LinMin Status and Error Log Files The script linmin-servicessh generates or updates log and error files in usrlocallinminstatus

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 72

bull current_status_check (contains results of the most recent execution of the script linmin-servicessh)

bull prior_status_check (contains results of the second- most recent execution of the script linmin-servicessh)

bull status_ERRORsscriptTimeStamp [] (file generated each time there is an error condition)

To review the latest results cat usrlocallinminstatuscurrent_status_check

or cd usrlocallinminstatus cat current_status_check

93 LinMin Provisioning and Media Log Files

The LinMin server logs many other system activities and user actions to assist customers and LinMinrsquos support team to better troubleshoot systems

[rootlinminbaremetal linmin] ll log -rw-r--r-- 1 root root 3125 Jan 22 1252 lbmp-checkinstallshlog -rw-r--r-- 1 root root 0 Jan 27 0305 LBMPcronRestartlog -rw-r--r-- 1 root root 268 Jan 22 1126 lbmp-streamInstallsh-execlog -rw-r--r-- 1 root root 27048 Jan 22 1126 LinMinBareMetalPreInstallexplog -rw-r--r-- 1 root root 14360 Jan 22 1120 linmin-bmp-531-15explog -rw-r--r-- 1 root root 48647 Jan 26 1152 linmin-bmp-pxe-eventlog -rw-r--r-- 1 root root 711 Jan 22 1147 loadlinuxlog -rw-r--r-- 1 root root 612 Jan 22 1123 ocp-installlog

usrlocallinminlinmin-bmp-pxe-eventlog

This log file contains the MAC addresses you have provisioned and a summary of the actions taken including the Provisioning Role or Role Template used Note that this file doesnrsquot get updated immediately upon a provisioning event but rather after a minute or so This the recommended way of seeing all provisioning events (MAC address time action taken etc) 2009-01-22 115256 MAC 001109629c49 pxeboot request 2009-01-22 115256 profilehometftpbootpxelinuxcfg01-00-11-09-62-9c-49 2009-01-22 115256 profile after boothometftpbootpxelinuxcfg01-00-11-09-62-9c-49-after-next-boot 2009-01-22 115256 control after boothometftpbootcontrolfiles001109629c49cfg-after-next-boot 2009-01-22 115256 psql linminbmp -U postgres -c select enable_provisioning_flag from profiles where mac_address = 001109629c49 Provisioning Role Template ldquoRed Hat Enterprise Linux 52 x86_64 JBoss Serverrdquo 2009-01-22 115256 sql select profiles enable_provisioning_flag enable_provisioning_flag -------------------------- ignore (1 row)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 73

To parse the linmin-bmp-pxe-eventlog file to identify unique MAC addresses or to identify MAC addresses by event type (provisioning imaging) execute the following command grep MAC linmin-bmp-pxe-eventlog | cut -d -f4 | sort | uniq | wc -l replace MAC with PXE control home for MAC Specific count (slashes matter) replace MAC with Independent for MAC Independent count replace MAC with PXE imaging for all imaging actions count replace MAC with Backup for image backup count replace MAC with Restore for image restore count

Media upload log [rootlinminbaremetal linmin] more loadlinuxlog Thu Jan 22 113741 PST 2009 Load media source CD-DVD 1 for CentOS 52 i386 (DVD) Distro Media Content first 8 lines in tmpmj2lvkhtu1discinfo 1213888991267240 Final i386 123456 CentOSbase homebuildcentosCENTOS52eni386CentOS CentOSpixmaps media accepted ok Copied contents of tmpmj2lvkhtu1 to hometftpbootpubcentos5_2_i386disc1 copy ended Thu Jan 22 114709 PST 2009 copy started Thu Jan 22 113746 PST 2009 copy packages returned 1

LinMin Server Log

When the LinMin server is installed on a Linux OS the servers log file can be found by executing the following command tail -f varlogopencountryocprovisionocprovision-default-0log

In this XML file you will see a series of transactions per provisioning event including the MAC-address of the systems you have provisioned

Every time you start or restart LBMP a new log file gets created and the previous log files have their file names incremented by 1 The same happens once you have exceeded the default file size

Default file size and maximum number of saved logs can be modified by editing the file hometftpbootconfigloggingproperties

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 74

94 Update the LinMin Server

941 Update the License Key File Your license key files status is available on the LinMin Servers User Interface Click the navigation bars Help link and select About from the drop down box to open the About LinMin page

Thirty days before the license expires LinMin provides a warning on the About LinMin page When you see the warning contact LinMin at linmin-supportlinmincom to renew your license

Install the new LinMin license key file by copying it to usrlocallinmin on your LinMin Server and executing the instructions in Section 943 Reconfigure the Server After properly running setuppl your Help About page will display the details of your license key information per the example below

If your license expires the About page displays a notice and allows a 15-day grace period during ou will be able to use your LinMin software However if you do not renew your license before the grace

period ends LBMP will no longer provision systems which y

Important

Should your license expire or should you exceed the number of authorized client systems and you received a new key from LinMin prior to running setuppl delete the file hometftpbootpxelinuxcfgautobootlic then run setuppl to add the new license key file

942 Upgrade to a New Version of LinMin An upgrade of LinMin preserves the OS installation media you have copied into the server and the upgrade also preserves existing boot menus profile templates MAC-Independent Provisioning Roles imaging profiles and any provisioning command files and control file templates you have created

Please refer to the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin the Installation Guidersquos Appendix E Upgrading to a Newer Version of LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 75

943 Reconfigure the LinMin Bare Metal Provisioning Server Any time you need to change the LinMin server configuration (network settings etc) do so by the following steps

Step 1 ndash Change to the correct directory cd hometftpbootbin

Step 2 -- Execute the setup program perl setuppl

As the setuppl program executes follow all prompts and enter your new or changed information

Please be sure to have backed up all control files and templates that you have modified

95 Uninstall the LinMin Bare Metal Provisioning Server To uninstall the LinMin server perform the following steps

Execute as root user cd usrlocallinmin lbmp-uninstallsh

If you have backed up all your control files you may then delete the hometftpboot and usrlocalopencountry directories and subdirectories

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 76

Appendix A Troubleshooting the LinMin Server To assist in troubleshooting a LinMin server on a Linux operating system (OS) a set of scenarios are provided with premises about the cause of the problems and suggested solutions

Before contacting LinMin Support in usrlocallinmin please execute linmin-bmp-support-helpsh and email to linmin-supportlinmincom the resulting file ldquolbmp-supporthelp_timestamphelprdquo file This file captures all your system settings actions taken and installation results

Troubleshooting Key LinMin Server Problem LinMin Client Problem

Operating System (OS) being provisioned to client = all Server will not start Scenario 1 Client will not start after provisioning Scenario 3

Clients MAC-Independent Provisioning works for somemdashbut not all--OSs

Scenario 4

Server has no User Interface Scenario 2 OS being provisioned to client = Asianux Client will not start Scenario 5

OS being provisioned to client = Debian Provisioning fails Scenario 6

Pop-up box appears during provisioning Scenario 7

OS being provisioned to client = Windows Client will not start after provisioning and has

an error message about the NIC device drivers Instructions are in the Troubleshooting Windows Network Drivers section of this document

Client will not start after provisioning and has an error message about hard driver controller device drivers

Instructions are in the Update Windows Drivers section of this document

During provisioning Red Hat-based boxes

unable to retrieve

http10052tftpbootpubcentos5_2_i386imagestage2img

Scenario 8

During Client Booting

PXE-M0F Exiting Intel Boot Agent Scenario 9

Scenario 1 The LinMin server does not respond or will not start

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 77

Premise The LinMin servers disk has inadequate space to copy the distroOS CDDVDs

Solution Check the LinMin servers disk usage and ensure that adequate space exists for the distroOS files

Premise The LinMin server was not properly started

Solution Manually re-start all services usrlocallinminlinmin-servicessh restart

Refer to Section 9 for more on linmin-servicessh and on error logs

Scenario 2 When you log in to the LinMin servers User Interface at httpltyour_provision_server_ip_addressgttftpboot the browser screen is blank

Premise You have another service running that also uses Port 80 and conflicts with LBMP

Solution Stop services (such as Apache) that use Port 80

Premise Your LinMin servers SELinux is set to ldquoenforcingrdquo

Solution Change Security Enabled (SE) Linux by performing the following steps

Open the etcsysconfigselinux file (the file that sets the SE Linux status) in a text editor and look for one of the following lines SELINUX=permissive

or SELINUX=enforcing

or SELINUX=disabled

If SELinux was set to ldquoenforcingrdquo change this line to the following SELINUX=permissive

Close and save the etcsysconfigselinux file and reboot the system

Note ldquopermissiverdquo only logs what SELinux might do and does not cause any softwaresubsystem to not function It is one way to learn what a subsystem is trying to do and how to enforce stronger security

Scenario 3 While attempting to provision a client after creating a provision profile for this client the client does not boot correctly

Premise The clients provision profile has an incorrect MAC address (The LinMin server uses the clients MAC address to map to the profile template) Instructions for determining the clients MAC address are in Appendix B of this document

Solution Edit the clients provision profile and ensure that the MAC address is correct

Premise The client cannot find the live (non-LinMin) DHCP server running on the subnet

Solution Make sure that your live DHCP is installed properly configured and running Refer to the Installation Guide on co-existing properly with your live DHCP server

Make sure that the LinMin servers firewall ports are opened as required

Make sure that you donrsquot have another active LBMP server on the same subnet

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 78

Scenario 4 The MAC-Independent Provisioning works for some but not all Distros and OSs

Premise You have not assigned the correct bootinstall option for the non-provisioning OS(s)

Solution Assign the correct bootinstall option for each OS as follows bull For Red Hat Asianux CentOS Fedora Core and Lineox distributions use the Kickstart option bull For SUSE-based distributions use the YaST option bull For Ubuntu and Debian distributions use the Debian option bull For Windows OSs use the Generic option

Scenario 5 When provisioning a client with the Asianux distribution the client GUI doesnt start after provisioning

Solution Log in to the clients terminal and as root user type the following command startx

Scenario 6 When provisioning Debian to a client the provisioning fails and the system cant find the correct installation source

Premise A step in the Debian setup was missed

Solution Follow all documentation in the LinMin Users Guide section on ldquoPrepare Debian Distributionsrdquo Creating the symbolic link with the following two commands is particularly important

cd hometftpbootpubdebiandists

ln -s etch stable

Scenario 7 When provisioning Debian to a client a popup box for language selection appears

Premise The language option was not set while performing the Debian Install Option Configuration

Solution Open LinMins main menu select the Boot Menu Configuration link and on the Boot Menu Configuration page click the Debian Option button LinMin opens the Debian Install Option Configuration page On this page add the following string to the text entry box beside Enter additional kernel parameters languagechooserlanguage-name=English or ltyour_languagegt

Scenario 8 The Red Hat-based (Red Hat Fedora CentOS Asianux) client system being provisioned interrupts the provisioning process and displays a message similar to unable to retrieve http107123tftpbootpubrhel5_3_x86_64imagestage2img

This error can be caused by many situations that can be very difficult to isolate Common causes and remedies experienced by LinMin and its customers include

bull This stage2 failure is often caused when the provisioning target has multiple NICs or the Linux distro has a kernel that is not in sync with PXE protocols

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 79

o Force the kickstart installation to take place over a specified Ethernet device

o Add the line network --device=eth in the kscfg in pub (for MAC-Independent Provisioning) or to the MAC-Specific Role Template text box containing the control file (for MAC-Specific Provisioning) You may append ndashdevice=eth to any existing line starting with ldquonetworkrdquo after other parameters you may find The eth is normally eth0 but can be eth1 eth2 etc

o The ksdevice option at the install boot prompt can be used by adding the ksdevice=eth parameter This is accomplished by entering ksdevice=eth in the GUI Enter any additional kernel parameters field of Provisioning Role Templates (for MAC-Specific Provisioning) or of Provisioning Roles (for MAC-Independent Provisioning) The eth is normally eth0 but can be eth1 eth2 etc

An other kernel parameter that addresses the issue under certain circumstances is ldquoksdevice=linkrdquo

bull Network connectivity problems (race conditions or other situations requiring resetting devices) Also the anaconda installer has a known bug whereby it does not retry to locate the installation media directory and will simply time out giving the ldquounable to retrieverdquo message

o Disconnect and reconnect client systems network cable to switchrouter power down and up switchrouter Optionally disconnecting cables from the LinMin server to its switchrouter and cables between all connected network devices up to the client system powering down all devices including shutting down the LinMin server then reconnecting all cables powering on all network devices then the LinMin server then the client system (this is a rare instance but it happens occasionally)

o Slow link response on switches - set each interface spanning-tree portfast

o Changein the control files the IP address of the LinMin server from a fixed IP address to an externally resolvable DNS address

From url --url http$server_ip_address$tftpboot_webpathpubcentos5_3_x86_64

To url --url httplinminyourcompanycom$tftpboot_webpathpubcentos5_3_x86_64

bull Corrupted ISO media or extracted files

o Re-download the ISO file (or clean the CDDVD and re-run loaddvdpl) and run loadwindowspl or loadlinuxpl

Scenario 9 The client UI displays ldquoPXE-M0F Exiting Intel Boot Agentrdquo then hangs does not boot from HD

Premise The BIOS cannot find the HD that it is supposed to boot from

Solution 1 Obtain a BIOS FLASH update from the manufacturer

Solution 2 When using ldquoAlways boot from the network firstrdquo because you are letting LinMin rules decide whether a system is to be provisioned imaged or booted from local HD ensure the boot sequence is network ATAPI floppy hard drive

Solution 3 If have configured your system to boot from the network last the boot sequence should be ATAPI floppy hard drive network

Premise Bad network cable

Solution 1 Replace the network cable and retry

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 80

Appendix B Determine the Clients MAC Address The client machines MAC address can be determined by one of the following procedures

B1 Client without an OS (bare-metal client)

The MAC address may be printed on the machines manufacturers label or available in the manufacturers documentation Alternatively the BIOS may display the MAC address if a distro or OS is not installed

If the MAC address is still not made available simply provision the system with any MAC-Independent Provisioning option and obtain the MAC address by following the instructions in section B3 of this Appendix

B2 Client with an existing Windows OS

On the client machine open a Command Prompt (either from Start --gt Run and in the ldquoOpenrdquo text entry box type cmd

When the Command Prompt window opens type the command ipconfig all

Look under the heading ldquoEthernet adapter for Local Area Connectionrdquo for ldquoPhysical Addressrdquo

B3 Client with an existing Linux OS

On the client machine open a terminal window and type ifconfig

In the stdout from the command the MAC address will be the value beside Hwaddr

B4 Client operating on VMware

VMware by default assigns a random MAC address to a machine each time the machine boots Since LinMins provision profiles and imaging profiles are assigned to the client by the clients MAC address you will need to assign static MAC addresses to each VMware client that will use these profiles

Assign a static MAC address to a VMware client by the following steps

Open the clients virtualmachinenamevmx file which is located at

rootvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Workstation)

varlibvmwarevirtualmachinenamevirtualmachinenamevmx (for VMware Server)

If the machine has never booted as a VMware client

Locate the following line ethernet0present = TRUE

Add the following two lines below the ethernet0present line ethernet0addressType = static ethernet0address = 005056XXYYYY

(where XX is any valid HEX number that equals less than 24 and YYYY are any valid HEX numbers)

The first three couplets 005056 must be used exactly in the MAC address

If the machine has been booted as a VMware client (even if it didnt boot successfully)

Locate the following three lines

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 81

ethernet0present = TRUE ethernet0addressType = static ethernet0address = 005056060511

Change the last line to your static MAC address using the following rules

The first three couplets 005056 must be used exactly in the MAC address

The fourth couplet must be valid HEX numbers that equal less than 24

The fifth and sixth couplets can be any valid HEX numbers

Refer to your VMware documentation for additional information about assigning static MAC addresses

B5 Client with Sun SPARC architecture

bull SPARC client without an OS installed or running (bare-metal client)

o At the ok prompt type banner

o This will show some system information including the MAC address

bull For a running SPARC system with a single active interface the following command will show the interface configuration including the MAC address

o ifconfig -au

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 82

Appendix C Installing Software and Running Scripts After Provisioning

Installing Third Party Agents and other applications during provisioning can be done as described in endix this app For illustration purposes only ldquoLinMin Agentrdquo in a ldquoexprdquo format will be used in this Users Guide

as an example Substitute your own Agent (IBM Tivoli HP OpenView BMC etc) and your other applications and installation mechanisms in the instructions provided below

C1 Create the Provisioning Command Files Repeat the steps in this section for each Linux distribution with which Third Party Agents will be g provisioning installed durin

Step 1 ndash Obtain the linmin-installexp program

Download the Agent installation program from your Agent vendors download site

Step 2 ndash Execute the extract-for-provision program

Change to the directory where you downloaded the linmin-installexp program and execute the following command linmin-installexp extract-for-provision ltagentosgt

Executing the linmin-installexp command creates the provisioning program which is named linmin-provision-ltagentosgtexp

Step 3 ndash Copy the linmin-provision-ltagentosgtexp program to the correct directory

Copy linmin-provision-ltagentosgtexp to the hometftpbootpubLinMin directory

Step 4 ndash Copy the rsync-i586rpm file

This step is required only for SLES9 and SUSE10 distributions

Copy the file rsync-i586rpm (available on the distribution CDs) to the hometftpbootpublinmin directory

C2 Create the Third Party Software Control File Templates The control file for MAC-Independent Provisioning is located in the hometftpbootpubltdistributiongt directory If you are using profile-based provisioning use the profile template located in the hometftpboottemplates directory

C211 Control File Template for Red Hat-based Linux Distributions

The Red Hat-based control file (the Kickstart control file) has the extension cfg (for example rhelcfg) Import the control file for your Red Hat-base distribution into LinMins Profile Template Edit page and locate the section that begins with the following designation packages

Immediately following the last packagefile name in the packages section add the following section to your Kickstart control file For ltagentosgt use the value for your Linux distribution from Table 2

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will b Use your value from LinMin Pre-installation Checklist Table 1

e installed

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 83

post ----------------------------------------------------------------- We are chrooted when this part runs This post-install installs OC-Agent on the system being provisioned ------------------------------------------------------------------- touch rootpostinstalllog change for correct rsync launch chkconfig --level 345 rsync on Acquire installation data cd root wget -r -nv -nH -ndashcut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision- ltagentosgtexp Install agent cd rootLinMin chmod 755 linmin-provision-ltagentosgtexp linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog Place configuration files chkconfig --add linminagent chkconfig --level 345 linminagent on echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog cat gt etcsysconfignetwork ltlt EOF NETWORKING=yes HOSTNAME=lthostname_of_local_machinegt EOF

When all information has been added save and close your Kickstart file

If you are installing LinMin Agents on RHEL 41 RHEL 42 or CentOS 42 ensure the Kickstart file contains an instruction to disable SELinux Examine the Kickstart file for the following line (It is

frequently located under the Firewall configuration section) selinux ndash-disabled

If this line is not present add it to the file

C212 Post-Install Scripting for Red Hat-based Linux Distributions The following example show how to run scripts immediately after installing a Red Hat-based Linux distribution We will use a LinMin-supplied script that captures major system settings and places them in a text file On the LinMin server make a script available via wget mkdir hometftpbootwwwpostscripts cp -p usrlocallinminlbmp-boxinfosh hometftpbootwwwpostscripts Modify the kickstart control file to ldquowgetrdquo and execute the lbmp-boxinfosh script post cd tmp wget http192168154tftpbootwwwpostscriptslbmp-boxinfosh lbmp-boxinfosh gt lbmp-boxinfosh-txt After having provisioned a system note the files copied and created by LinMin

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 84

[rootLinMin_Provisioned_Client ~] ll tmplbmp-boxinfo -rw-r--r-- 1 root root 76851 Jan 18 0302 tmplbmp-boxinfo_MAC-00-0C-29-92-1C-87_IP-192-168-1-99_20090118-030120txt -rw-r--r-- 1 root root 6089 Jan 17 2032 tmplbmp-boxinfosh -rw-r--r-- 1 root root 77125 Jan 18 0302 tmplbmp-boxinfosh-txt

C213 Post-Install Package InstallationsUpdates for Red Hat-based Linux Distributions

Assuming the client system has access to a yum or Red Hat repository edit the post portion of the control file to install or update packages Alternatively use wget to first copy files from your LinMin server to the client system Check the remote repository for updates to specific packages yum update packageName Install specific RPM packages rpm -ivh package1Namerpm package2Namerpm Update specific RPM packages rpm -Uvh package1Namerpm package2Namerpm

C22 Control File Template for SUSE-based Linux Distributions

Import the SuSE Linux control file template controlfilexml into LinMins Profile Template Edit page You will need to insert text into three locations in the controlfilexml file

(1) Locate the section that begins with the following designation

ltscriptgt

controlfilexml also contains a ltscriptsgt elementmdashensure you add the lines under the ltscriptgt element

Immediately following this line add the following text to your SUSE control file network is enabled here in postinstall section ltnetwork_needed configtype=booleangttrueltnetwork_neededgt

(2) Locate the section that begins with the following designation echo No Post-install script defined

Add the following text

For ltagentosgt use the value for your SUSE-based distribution from Table 2 touch rootpostinstalllog

Acquire installation data cd root wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin-provision-ltagentosgtexp wget httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinrsync-266-2i586rpm Install agent chmod 755 linmin-provision-ltagentosgtexp rpm -Uvh rsync-266-2i586rpm gtamp rsynclog linmin-provision-ltagentosgtexp ltgroup_namegt gtamp rootpostinstalllog echo Installed agent gtgtrootpostinstalllog Place configuration files echo Received and placed config files gtgtrootpostinstalllog echo Finished gtgtrootpostinstalllog

(3) Ensure the ltscriptsgt section of controlfilexml ends as follows

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 85

]]gt ltsourcegt ltscriptgt ltpost-scriptsgt ltscriptsgt

When all information has been added save and close your SuSE control files

C23 Control File Template for Debian Linux Distributions

The Debian-based control file is called preseedcfg Import the Debian control file into Linemans Profile Template Edit page and locate the section that begins with the following designation base-config base-configlate_command

Under the base-config base-configlate_command section add the following commands

The value for ltgroup_namegt must match the LinMin Manager group in which the LinMin Agent(s) will be installed Use your value from LinMin Pre-installation Checklist Table 1

These instructions must be entered into the Debian control file on a continuous line line breaks parsing the file may prevent

base-config base-configlate_command string cd rootapt-get updateapt-get install rsyncwget -r -nH --cut-dirs=2 httpltyour_linminprovision_server_ip_addressgttftpbootpubLinMinlinmin_provision_debian31expcd rootLinMinchmod 755 linmin-provision-debian31explinmin-provision-debian31exp ltgroup_namegt gtgtrootagentinstalllogsbinchkconfig --level 345 linminagent onecho ldquoFinishedrdquogtgtrootagent_installlogecho 127001 localhostlocaldomain localhost gt etchosts

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 86

Appendix D LinMin Architecture bull Interface Layer

o Browser-based graphical user interface (PHP) for

Creation of system-specific (ldquoMAC-Specificrdquo) provisioning role templates that define an operating system and optionally application installation and configuration

Assignment of provisioning role templates networking configuration and business rules to individual systems

Creation of MAC-Specific imaging roles and business rules

Creation of system-independent (ldquoMAC-Independentrdquo) provisioning roles and client-side pre-boot manual OS selection screen

bull Application Programming Interface with GUI-based ldquoteaching moderdquo

bull Scripts (perl) for

o OS media uploading

o Driver integration

o LBMP configuration

bull Services Layer (Java)

o Web server

o Low-level services (tftp ftp binl bootp etc) intercept PXE (Preboot eXecution Environment) requests sent by the client system or virtual machine to the LinMin Bare Metal Provisioning server and initiate action based on the business rules set by the IT user using the graphical user interface or by external applications using the application programming interface (see the ldquoOperational Descriptionrdquo section for examples of actions)

bull Database (PostgreSQL) Layer

o Stores relevant information for each systemrsquos provisioning and imaging roles

bull File System Layer

o OS Media and drivers

o ControlConfiguration Files

o Log files

o Imaging files

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 87

Appendix E DHCP amp LANVLAN Considerations

E1 Introduction To service PXE boot requests the LinMin Bare Metal server contains an active non-authoritative DHCP server This DHCP is configured to service PXE requests over a range of IP addresses on the LAN subnet LinMin is running on The IP range is the maximum number of provisioning andor imaging events that can run concurrently The DHCP leases for this range of IPs are short in duration and the IPs are reused LinMins default range is 151 to 200 set for 50 concurrent events

There are many ways to configure the LinMin BMP DHCP from a single LAN subnet to complex topologies spanning multiple LANs Note that VLANs and LANs are interchangeable and usually require no additional configurations Example A below shows LinMins default installed configuration

All involved DHCP instances must allow and forward PXE boot requests to the LinMin BMP IP this includes the LinMin server DHCP and the DHCP services of other LANs and VLANs when multiple subnets are being serviced by the LinMin BMP server

A common LinMin BMP install configuration uses dual NIC connections to two LANs The LinMin server has Internet access via one NIC and the provisioningimaging events run on the other NIC with no internet access often a 10-dot subnet This avoids all DHCP conflicts since the LinMin BMP DHCP is the only DHCP service on the subnet that services LinMin PXE events This configuration is achieved by proper configuration of the two NICs prior to installing LinMin BMP and selecting the desired NICeth during the LinMin install

When two NIC connections are not viable the recommended option is to dedicate a subnet for LinMin Bare Metal processing See example B below

bull Note 1 All DHCP syntax examples are in Red HatCentOS Linux DHCP syntax as located in etcdhcpdconf

bull Note 2 The LinMin BMP server is assumed to be on the 19216810 subnet at 192168150 with the default IP range of 1921681151 to 1921681200

bull Note 3 All involved DHCP instances must have PXE requests forwarded to the LinMin BMP IP

bull Note 4 With multiple (V)LANs the PXE request forward must be configured included in each subnets DHCP This allows PXE boot and forwards PXE requests to the LinMin BMP IP The booting client system will become a temporary member of the LinMin subnet (assigned an IP address in the LinMin default IP range) Qualified MAC-Specific or MAC-Independent (menu-selected) events will be performed using a temporary IP assigned by the LinMin server The post-event reboot will return the server to its originating or role designated subnet configuration If there are firewall issues between the (V)LANs you may need to make adjustments to allow access (described in the LinMin Installation Guide)

E2 Example A Single (V)LAN subnet with no dynamic DHCP IP support This example shows LinMins default installed configuration

When LinMin BMP subnet DHCP is the only DHCP service on the subnet No additional DHCP configuration is required The LinMin BMP DHCP is installed configured to service a designated range of IPs

DHCP syntax

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 88

Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note A1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

bull Note A2 It is common for this setup to be used for trial of the LinMin BMP application

bull Note A3 It is an acceptable configuration for a production subnet when all IPs are static and outside the LinMin service range of IPs

bull Note A4 This setup is not recommended for production use when dynamic DHCP IP assignment is required The leases are short lived and the dynamic IPs assigned will be within the LinMin BMP service IP range Over time this can cause conflicts and confusion It is acceptable for temporary trial of the LinMin MAC-Independent method

E3 Example B Two (V)LAN subnets One Dedicated to LinMin BMP The non-LinMin DHCP service must be configured to allow PXE booting with a forward to LinMin BMPrsquos IP address

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note B1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 89

E4 Example C Single (V)LAN Subnet with Other Servers Running on the Same Subnet Dependent on DHCP service For proper dynamic IP DHCP service on the same subnet as the LinMin server there must be authoritative DHCP service on another server in the subnet to service the range of IPs outside the LinMin range

The non-LinMin DHCP is designated authoritative servicing IPs not in the LinMin DHCP IP range

DHCP syntax Other DHCP instances in the LinMin server subnet should be designated as authoritative authoritative Other DHCP instances in the LinMin server subnet must exclude the LinMin range This accomplished by including subnet 19216810 netmask 2552552550 range 19216812 1921681150 range 1921681201 1921681255

The LinMin BMP DHCP is installed configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

The LinMin BMP DHCP is installed configured to service its designated range of IPs

DHCP syntax Configuration for LinMin BMP subnet and IP range subnet 19216810 netmask 2552552550 range 1921681151 1921681200 option domain-name-servers 19216811 option domain-name linmin-pxe option routers 19216811 option broadcast-address 1921681255 default-lease-time 600 max-lease-time 7200

bull Note C1 Changing the LinMin BMP DHCP IP range also requires changing the application configuration via setuppl option 3

E5 Example D Multiple (V)LAN Subnet Configuration Overview

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 90

(V)LAN 1 The subnet with LinMin BMP is configured as above in Example A or B

(V)LAN 2 Is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

(V)LAN 3 is configured to allow PXE boot with forward to LinMin

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

E6 Example E Multiple (V)LAN Subnet Configuration Specifics

For this example --

lanlbmp = LinMin Bare Metal server subnet 19216810

LinMin Bare Metal server IP = 192168150

LinMin Bare Metal service IP range = 1921681151 1921681200

lan2 = non-LinMin subnet 19216820

lan3 = non-LinMin subnet 19216830

The lanlbmp DHCP is configured via the install process

Review the configurations in etcdhcpdconf

The DHCP for both lan2 and lan3 have PXE forwarding added --

DHCP syntax Allow PXE boot with forward to LinMin Bare Metal Provisioning server IP allow booting allow bootp class pxeclients match if substring(option vendor-class-identifier 0 9) = PXEClient next-server 192168150

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 91

Review the Users Guide MAC-Specific Provisioning Roles

Using the LinMin GUI MAC-Specific Provisioning Roles are established individual MAC addresses eg

MAC AA IP 192168252 on the 19216820 subnet with Next Boot action

MAC BB IP 192168353 on the 19216830 subnet with Next Boot action

When MAC AA PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168152) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168252 on lan2 is established

When MAC BB PXE boots it is forwarded to the LinMin server where it is assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168153) The Next Boot action is changed to ldquoIgnorerdquo and it is provisioned per the associated role template Upon the post-provision non-pxe boot a static IP 192168353 on lan2 is established

When using the LinMin MAC-Specific method network switch assignments and firewall settings can be pre-configured using the IP address designated in the MAC Specific role profile

Review the Users Guide MAC-Independent method

For MAC-Independent provisioning lan2 and lan3 PXE boot requests are forwarded to LinMin Bare Metal Provisioning server IP They are assigned a temporary IP in the LinMin subnet lanlbmp (eg 192168154) A menu is presented and selection is made for provisioning Upon the post-provision non-pxe boot a network IP is established via the originating lan2 or lan3 DHCP service

It is assumed that proper access is allowed between lanlbmp lan2 and lan3 See the Installation Guide for firewall ports used by LinMin BMP

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 92

Appendix F Application Program Interface (API) The LinMin Application Programming Interface enables external applications (asset management load balancing capacity planning systems management cloud computing resource management system monitoring SaaS deployment hosting customer signupbilling etc) to interface directly with the LinMin data structures eliminating the need for an IT user to use the graphical user interface for MAC-Specific Provisioning

The API allows pre-existing Provisioning Role Templates to be assigned (addupdatedeleteread) to unique systems based on MAC address and dynamic real-time business needs In this fashion external applications can prepare systems to be provisioned from a pool of spare or under-utilized systems to maximize system capacity and minimize power consumption The next time a given system boots to the network it will be provisioned as specified by the external application without human intervention

The API can be used by either incorporating a GUI page into an existing application or by issuing HTTP commands from an external program to LinMin

LBMP PROFILES DB table API Specifications

Module name lbmp-DBAPI-profilesphp

This PHP based API will get ldquolinminbmprdquo database profiles table records by key and provide basic functions equivalent to the GUI actions --

MAC-Specific Provisioning Roles --gt Add MAC-Specific Role --gt MAC-Specific Provisioning Role fill in form fields --gt OK

MAC-Specific Provisioning Roles --gt Edit selected --gt MAC-Specific Provisioning Role change form fields --gt OK

MAC-Specific Provisioning Roles --gt Delete selected --gt OK

The actions supported are

bull read

bull add

bull delete

bull update

bull No support for record locking with update will be provided no insurance of not stepping on interim GUI changes (there is a very low probability of this happening)

The key accesses supported are

bull by user supplied nick name

bull by MAC address

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 93

bull key access will be

bull If mac_address is not present or is null user_supplied_id must be present

bull If both are present the user_supplied_id is used as the access key

bull an error thrown if the passed in MAC is not equal to the DB MAC of the user_supplied_id record

The profiles database fields supported are

For field details refer to the documentation fore the GUI field names

bull user_supplied_id

o key field

o GUI Nick Name)

bull mac_address

o key field

o format ffffffffffff

o GUI MAC Address

bull node_name

o GUI Host Name

bull node_domain

o GUI Domain Name Server

bull node_password

o GUI Root Password

bull node_ip_address

o format

o GUI IP Address

bull node_subnet_mask

o format

o GUI Net Mask

bull node_nameserver

o format

o GUI Domain Name Server

bull node_default_gateway

o format

o GUI Gateway

bull node_time_zone

o values GMT+1 to +12 or -1 to -12

o GUI Time Zone

bull control_file_template

o valid existing template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 94

o GUI Provisioning Role Template

bull enable_provisioning_flag

o values ignore always or nextbootonly

o GUI Enable Provisioning upon Network Boot

values Ignore (boot from local disk) Always Provision or Provision on next boot only then set to Ignore

bull Table fields not shown will be set to system defaults the same as with the GUI actions

The protocol supported will be standard HTTP getpost --

bull Input interfaces supported

o URL with parameter string

urllbmp-DBAPI-profilesphpname1=value1ampname2=value2

bull values must be url encoded

o HTML form POST or GET

o CGI HTTP

o PHP CLI with a single quoted parameter string equivalent to a URL GET string of name value pairs

bull Output interface will be HTTP URL with GET format name value parameter string

o Values will be encoded

Fields passed as input are --

bull Required for all actions

o action=read add update delete

o an access key

user_supplied_id

or

mac_address=valid mac in correct format

bull Additionally for update actions

o Any remaining supported fields with new values

bull Other update action fields supported ndash changes to key fields

o new_mac_address

format ffffffffffff

GUI MAC Address

o new_user_supplied_id

GUI Unique System Nickname

bull Additionally for add actions

o All remaining supported fields are required with values

bull Optionally this field may be passed

o returnURL=urlencoded URL

The default is to return to the referring URL if returnURL is not present or is null

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 95

Return parameters are

bull action=same as input

bull actionResults=OK or FAILED

bull actionResultsMsg=text success message or error message

bull mac_address=from DB or same as input on failure

bull user_supplied_id=from DB or same as input on failure

bull For action read with actionResults OK --

o all other supported fields are returned with values from the DB

bull For actions other than read with all actionResults values --

o all input fields are returned with values passed in

Example actionResults and actionResultsMsg

bull actionResults=OK with actionResultsMsg=Successfulupdate

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=OK with actionResultsMsg=Successfuladd

bull actionResults=FAILED with actionResultsMsg=add record already exists for user_supplied_id centos51-1

bull actionResults=OK with actionResultsMsg=Successfuldelete

bull actionResults=FAILED with actionResultsMsg=delete delete failed no record found for WHERE user_supplied_id = centos51-1

Logging actions

A log file of the result status of each API call is maintained at the default location

usrlocallinminlbmp-DBAPI-profileslog

This location may be changed in the file

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

if this cfg file does not exist creating it with a valid pathname will establish the log

To turn off logging enter devnull in

usrlocallinminlbmp-DBAPI-profiles_log_locationcfg

Example log entries

2008-07-27_232455_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfulupdate 2008-07-27_233122_PDT Nicknamecentos51-1 StatusOK Successfuldelete 2008-07-27_233141_PDT MACff0000000001 Nicknamecentos51-1 StatusOK Successfuladd

2008-07-27_233143_PDT MACff0000000001 Nicknamecentos51-1 StatusFAILED add record already exists for user_supplied_id centos51-1

2008-07-27_233252_PDT Nicknamecentos51-1 StatusOK Successfuldelete

2008-07-27_233255_PDT Nicknamecentos51-1 StatusFAILED delete delete failed no record found for WHERE user_supplied_id = centos51-1

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 96

Interactive use learning via example GUI (lbmp-DBAPI-profiles_formphp) form

LinMin provides a PHP example API interface form module This is to be used to explore and learn about the API actions and requirements If familiar with the LBMP GUI for MAC-Specific Provisioning Role this form will intuitive It mostly mirrors the fields and actions of MAC-Specific Provisioning Role GUI as described in the users guide

Module name lbmp-DBAPI-profiles_formphp

Invoke via browser

httpyourLBMPserverIPtftpbootwwwlbmp-DBAPI-profiles_formphp

Read the notes at the bottom of the form for an understanding of the differences from actual MAC-Specific Provisioning Role GUI

The differences to note are in these form rows

Results of previous action

shows the results of the previous action

New System Nickname

allows for changing this key field

New MAC Address

allows for changing this key field

Provisioning Role Template

a drop-down selection in the LBMP GUI this must be known and keyed in this form

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 97

Action

provides for the basic actions Read Update Add and Delete

Debug

No

bull call to API with direct return the submit form displaying returned values

Show

bull call to API showing detail information about the construction of the URL return string

bull provides a clickable link to continue to the submit form displaying returned values

GET

bull call to the API showing the input and output HTTP GET format parameter strings

bull provides a clickable link to continue to the submit form displaying returned values

GET example

bull Invoked with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=read

bull Returns with HTTP GET string

returnURL=http3A2F2F1921681562Ftftpboot2Fwww2Flbmp-DBAPI-profiles_formphpampuser_supplied_id=ampmac_address=ampnew_user_supplied_id=ampnew_mac_address=ampcontrol_file_template=ampnode_name=ampnode_domain=ampnode_ip_address=ampnode_subnet_mask=ampnode_nameserver=ampnode_default_gateway=ampnode_password=ampnode_time_zone=ampaction=readampactionResults=FAILEDampactionResultsMsg=update253A2Bno2Bkey2Bprovided252C2Buser_supplied_id2Bor2Bmac_address2Brequired

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 98

Appendix G Provisioning Unsupported DistrosOSs Customers may add their own templates for distrosOSs that LinMin doesnrsquot support These templates will enable the new distrosOSs to appear in the dynamically-generated GUI drop-down selection for distrosOSs and their variants that are not presently supported by LinMin

For MAC-Independent templates this requires creating a hometftpbootpubltdistro-typegt directory and populating it with cloned template from an existing like-kind distro-type directory (see the section ldquoUploading Media from the Command Linerdquo to upload your DVD media to the pubdirectory you have created) The cloned entries are then modified to represent the new distro-type

For MAC-Specific this requires creating a hometftpboottemplatesltdistro-typegttmpl file This file is usually cloned from a like-kind tmpl of another distro tmpl file The clone is then modified to service the new distro-type the tmpl internal parameter values are set to function with the media and paths of the new distro-type

Appendix H License Keys and Licensing - A license key file tied to the MAC address of the system on which LinMin is installed is required in order to provision or image systems

- The license key file will control how long the key may be used (eg for an evaluation period or perpetually if licensed) as well as the number of unique MAC addresses of client systems being imaged or provisioned

- The license key file must have been created after the version of LinMin being installed was built However upgrades of LinMin will not impact the proper functioning of the license key If you install a previously used key on a new installation of LinMin the key will say that it has expired (install the original key as emailed to you with the version of LinMin it was intended for or request a replacement key from LinMin)

- The first time a client system is provisioned or imaged the new MAC address gets recorded and can subsequently be provisioned or imaged an infinite number of times

- LinMin is licensed on a per-client system basis in increments of 10 100 250 500 and 1000 client systems (each with a unique MAC address) Current pricing can be found at httpwwwlinmincomsitepurchasehtml

- The license fee includes the first 12 months of email support and product updates (for a given integer release) Email support and updates for subsequent years cost 20 of the initial license fee list price per year

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 99

Appendix I Useful Links LinMinrsquos Home Page httpwwwlinmincom

Features httpwwwlinmincomsiteproductshtml

Frequently Asked Questions httpwwwlinmincomsitefaqshtml

Screenshots httpwwwlinmincomsitescreenshotshtml

News Releases httpwwwlinmincomsitenewshtml

Media Coverage of LinMin httpwwwlinmincomsiteLinMin_in_the_newshtml

Download httpwwwlinmincomsitedownload_regphp

Pricing httpwwwlinmincomsitepurchasehtml

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 100

Addendum 1 Option for Provisioning Solaris x86

A11 Introduction to Provisioning Solaris x86

Support for the provisioning of Solaris 10 (u6 and later) on x86-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

While provisioning of Solaris is very similar to provisioning Linux there are several differences that will be outlined in this Addendum

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris x86 option for LinMin

bull Uploading the Solaris OS media to the LinMin server

bull Preparing the Solaris OS media for provisioning

bull MAC-Independent provisioning of Solaris onto x86-based systems

bull MAC-Specific provisioning of Solaris onto x86-based systems

Please note that LinMinrsquos imaging function will not work with Solaris x86 or SPARC

Please note that the Solaris Provisioning Options are a joint development product with Tapasol Ltd

A12 Installing and Uninstalling the Solaris x86 Option Once you have installed LinMin Bare Metal Provisioning and installed the LinMin-issued license key file copy the Solaris optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh lbmp-install-solaris-x86_baseversionexp --run

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris x86 optional component cd usrlocallinmin sh linmin-bmp-uninstall-solarissh x86

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 101

A13 Upload the Solaris OS Media

A131 Upload the Solaris ISO Image to the LinMin Server

The Solaris 10 x86 DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Note there is a single Solaris ISO for both i386 and x86_64AMD64 architectures (unlike Linux or Windows ISOs where there are distinct ISOs for each architecture)

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-x86-dvdiso cp ndashp solaris-10-u6-gal-x86-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-x86-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-x86-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 102

A132 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris x86

bull Enter the number for the Solaris 10 x86 option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready to provision systems using LinMin

A14 MAC-Independent Provisioning MAC-Independent Provisioning -- an interactive mode in which the user selects the Provisioning Role (OS plus applications) to be installed from the client systemrsquos user interface at Network Boot (PXE Boot) time

A141 Configure the MAC-Independent Provisioning Roles Menu Click on MAC-Independent Provisioning and you will first be presented with the following screen (which has no roles on it because you just installed LinMin and havenrsquot yet added any MAC-Independent Provisioning Roles)

Note that until you create a MAC-Independent Provisioning Role the default for client systems that boot from the network is to be redirected to boot from their local hard disk

Click the ldquoWindows or Otherrdquo button

After you have created MAC-Independent Provisioning Roles (explained below) you be presented with the list of Provisioning Roles (operating system applications post-installation scripts) that you (the LinMin Administrator)

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 103

have prepared and that will be selected from by the person on the client system from the PXE (Pre-boot eXecution Environment) screen when a system boots to the network

The MAC-Independent Provisioning Roles GUI screen above will be rendered as a text screen on the client being provisioned Note that all Solaris options are grouped together under ldquoSUrdquo

When the client system boots from the network the user will select an item from a list (or if a default was set by the LinMin Administrator it will be installed starting in 60 seconds if no selection is made) as shown above

Enter ldquoSUrdquo for Sun Solaris options and the following submenu will appear

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 104

Toggle to the desired item and hit ldquoEnterrdquo

After you have made the selection or after the ldquoDefaultrdquo starts automatically you will observe the provisioning process begin with output similar to the following

If Solaris Desktop was selected you will see the graphical JumpStart screen as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 105

Notes regarding MAC-Independent Provisioning

bull If no action is taken within 60 seconds o If no ldquoDefaultrdquo was selected in the LinMin GUI the system will boot from the Hard Drive o If a non-Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned o If a Solaris MAC-Independent Provisioning Role was selected as the ldquoDefaultrdquo in the LinMin

GUI that selection will be provisioned the GNU GRUB submenu will appear automatically within 3 seconds and will stay active for 60 seconds after which the Solaris option set as ldquoDefaultrdquo will begin provisioning

bull ldquoSU Sun Solaris x86 Unixrdquo will appear in the menu only if a Solaris MAC-Independent Provisioning Role exists

A1411 The 2 Methods for Creating MAC-Independent Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers the single-click selection feature for provisioning roles Template files provide the required information to dynamically build a GUI drop-down selection list MAC-Independent Provisioning Roles can be automatically created by simply selecting the desired OS from the dropdown menu The various fields are auto-filled with the proper files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

Notations and warnings exist to indicate if the selected distroOS media is loaded and ready for use

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 106

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper files and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A142 Create MAC-Independent Provisioning Roles for Solaris 10 x86

Using Role Creation Method 1 select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the desired item eg ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 107

If you decide to use Method 2 using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (ldquominirootrdquo) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

A15 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A151 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 x86 Server or Solaris 10 x86 Desktop) that then gets applied to one or more systems based on their MAC address

A1511 The 2 Methods for Creating MAC-Specific Provisioning Roles

Method 1 LinMin Bare Metal Provisioning offers a single-click selection feature for creating provisioning role templates MAC-Specific Provisioning Role templates can be automatically filled out by simply selecting the desired Solaris version from the dropdown menu The various fields are auto-filled with the proper kernel RAM disk configurationcontrol files and optional kernel parameters

An asterisk () following a drop-down list entry indicates that the media is loaded and ready for use

If you have customized and renamed your controlconfiguration file(s) you may use the browse button to point to the desired file and replace the default file that was auto-selected

Method 2 You may also use the built-in file browser to point to the proper kernel RAM disk and tmpl configurationcontrol file in hometftpboottemplates and manually enter the appropriate kernel parameters We recommend that you use Method 1 as it is far quicker easier and less error-prone

A1512 Create MAC-Specific Provisioning Role Templates for Solaris

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 108

clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun Solaris 10 U6 GA1 x86 Serverrdquo the formrsquos fields will be automatically populated

If you decide to use Method 2 (using the file browser to manually select the files please note the paths and file names for the kernel (ldquomultibootrdquo) and ramdisk (x86miniroot) as well as the kernel parameters (ldquoconfigtarrdquo) in the image above

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 109

A152 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B Instructi

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 110

MAC- Specific Provisioning Role for Solaris 10 x86 Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 x86 If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 x86

A16 General Notes on Provisioning Solaris x86

A161 The file configtar Whereas Linux distributions use a ldquocontrolrdquo or ldquoconfigurationrdquo file (cfg xml) to instruct the client being provisioned what software to install Solaris uses a file called ldquoconfigtarrdquo

LinMin dynamically generates this file each time the user clicks the ldquoOKrdquo button when creating a MAC-Independent or MAC-Specific role

bull For MAC-Specific provisioning you may edit the contents that appear in the Provisioning Role Template text box (for example to change the default keyboard type)

bull For MAC-Independent provisioning there are 2 files that can be edited For example for Solaris desktop

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndyany_machine is where you can change certain global defaults that are not generated when you run setuppl (such as keyboard type)

o hometftpbootpubsolaris10_6_1_x86-desktopconfigMacIndysysidcfg is where you may change the list of packagesclusters that get installed

If you elect to modify these files and need assistance we offer technical assistance on a paid-for consulting basis

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 111

Addendum 2 Option for Provisioning Solaris SPARC

A21 Introduction to Provisioning Solaris SPARC

Support for the provisioning of Solaris 10 (u6 and later) on SPARC-based architectures is provided as an optional additional charge component to LinMin Bare Metal Provisioning

The provisioning of Solaris SPARC differs from our usual process For SPARC the LinMin server is configured to support the Solaris Jumpstart method The SPARC environment does not support PXE boot so the SPARC provisioning initiation is done via DHCP entries for specific MAC addresses Due to this SPARC architectural constraint LinMin does not support MAC Independent provisioning or Imaging for backup and restore GUI MAC-Specific provisioning setup is the same for SPARC as for other distributions

It is assumed that the reader is familiar with the general concepts of operation of LinMin and has read the Userrsquos Guide sections pertaining to provisioning Linux systems It is also assumed that the base LinMin product (Release 551 or higher) has already been installed on an x86-based system running either Red Hat Enterprise Linux or CentOS 53 (or higher) and that the user executing scripts or commands is logged in as root

This Addendum will walk the reader through

bull Installing the Solaris SPARC option for LinMin

bull Uploading the Solaris SPARC OS media to the LinMin server

bull Preparing the Solaris SPARC OS media for provisioning

bull MAC-Specific provisioning of Solaris onto SPARC-based systems

IMPORTANT older versions of SPARC firmware do not support DHCP LinMin BMP requires network booting via DHCP OBP firmware version 325 or greater is required to for network booting via DHCP To check the OBP firmware version on a SPARC box issue the command version at the OK prompt (Stop+A for the prompt) Firmware upgrades are downloadable and available from Sun Microsystems

A22 Installing amp Uninstalling the Solaris SPARC Option Once you have installed LinMin Bare Metal Provisioning (Release 551 or higher) and installed the LinMin-issued license key file copy the Solaris SPARC optional component to the installation directory usrlocallinmin and

cd usrlocallinmin sh linmin-bmp-addon-solaris-sparcbase_releaseexp --run

The add-on install package contains template driven support for Solaris SPARC U6 and U7 updates

After executing the script you will see a message stating that the extraction completed successfully and you will see the NFS services being automatically stopped and re-started

To remove the Solaris SPARC optional component

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 112

cd usrlocallinmin sh linmin-bmp-uninstall-solarissh sparc

A23 Upload the Solaris OS Media

A231 Upload the Solaris SPARC ISO Image to the LinMin Server

The Solaris 10 SPARC DVD iso file can be downloaded from the wwwsuncom web site at no charge after one registers or the DVD can be mailed for a nominal charge

Copy the OS media in iso format to the LinMin Server

The recommended location for your iso files is this pre-existing directory hometftpbootISOsunix

If you already have the Solaris SPARC OS media in iso format on your LinMin server simply copy the iso file to the hometftpbootISOsunix directory

cd name_of_directory_where_the_iso_file_is_located ls iso solaris-10-u6-gal-sparc-dvdiso cp ndashp solaris-10-u6-gal-sparc-dvdiso hometftpbootISOsunixsolaris-10-u6-gal-sparc-dvdiso

If you have the Solaris DVD on your LinMin Server place the DVD in the DVD reader and

Change to proper directory with the command cd hometftpbootbin

Execute the loaddvdpl script by executing the following command perl loaddvdpl

The script will ask you to confirm that you wish to upload the iso file

Enter ldquourdquo for UNIX as the OS type provide the name of the ISO as you wish to have it named This operation will take several minutes to complete

If you have the Solaris DVD on another system insert the DVD in the DVD reader and type on a single line dd if=devcdrom of=hometmpsolaris-10-u6-gal-sparc-dvdiso

Then copy the file from this system to hometftpbootISOsunix on your LinMin Server

Ensure the DVD medium is free of dust fingerprints and scratches

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 113

A232 Extract the Solaris ISO with the script loadlinuxpl Go to the directory where the script is located cd hometftpbootbin

Execute the script perl loadlinuxpl

bull Select the ldquosrdquo option for Solaris (x86 and SPARC)

bull Enter the number for the Solaris 10 SPARC option as prompted

bull Enter the name of the ISO in hometftpbootISOsunix (you will see it listed above just cut and paste)

Allow the ISO extraction operation to complete

The loadlinuxpl script provides visual feedback and the operation will take several minutes (for a DVD ISO with 2 to 3 GB) Attempting to abort the extraction operation can corrupt files

When done enter ldquoxrdquo to exit

Your Solaris OS media is now ready for use in provisioning systems

A24 Configure MAC-Specific Provisioning Roles To automatically provision clients based on MAC addresses first create ldquoRole Templatesrdquo then create MAC-Specific Provisioning Roles for each system to which you assign a specific Role Template MAC address IP address Host Name and provisioning rules

A241 Create MAC-Specific Provisioning Role Templates LinMin uses Role Templates to define a system ldquopersonalityrdquo (eg Solaris 10 SPARC Server) that then gets applied to one or more systems based on their MAC address

To access the list of Role Templates (or to create your first one) select either the Provisioning Role Templates link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose Provisioning Role Templates from the drop down box LinMin opens the Provisioning Role Templates List which is shown below

MAC-Specific Provisioning Role Templates List

Create a new Role Template by clicking ldquoCreate a Provisioning Role Templaterdquo or edit an existing one by clicking on the Edit button next to the desired Role Template LinMin opens the Provisioning Roles Template page as shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 114

A2412 Create MAC-Specific Provisioning Role Templates for Solaris SPARC

Select the Solaris configuration you want to provision (remember if therersquos an asterisk next to a dropdown selection it means that the distroOS media is loaded and ready for use)

After you have selected the item ldquoSun SPARC Solaris 10 U7rdquo the formrsquos fields will be automatically populated

The Jumpstart configuration files sysidcfg and any_machine can be customized in the Provisioning Role Templatersquos ldquoTemplate Datardquo section as shown below

A242 Create MAC-Specific Provisioning Roles LinMin uses MAC-Specific Provisioning Roles to assign network and unique information to each client during provisioning

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 115

Instructi

Before you create a provision profile you will need to know the client machines MAC address ons for determining a MAC address are in this documents Appendix B

Create the provision profile by the following steps

Step 1 ndash Select MAC-Specific Provision Roles

Select either the MAC-Specific Provisioning link on LinMins Main Menu page or the navigation bars MAC-Specific Provisioning link and choose MAC-Specific Provisioning Roles from the drop down box LinMin opens the MAC-Specific Provisioning Roles page shown below where several profiles have been created

MAC-Specific Provisioning Roles Page

Step 2 ndash Create a MAC-Specific provisioning role

On MAC-Specific Provisioning Roles page click the Add MAC-Specific button

Step 3 ndash Enter the profile Information

LinMin opens the Profile Edit page shown below

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 116

MAC- Specific Provisioning Role for Solaris 10 SPARC Server

You have now created a MAC-Specific Provisioning Role for Solaris 10 SPARC If you have enabled provisioning then next time the client system boots to the network it will be provisioned with Solaris 10 SPARC

A243 Provisioning SPARC Systems with DHCP As mentioned in the introductory section on the SPARC Option provisioning is done via DHCP (refer to that section to determine whether your SPARC firmware is recent enough to support DHCP otherwise the SPARC client will be issuing ARPRARP requests instead of DHCP requests)

The boot command (on the SPARC client) required to perform a DHCP boot is as follows

Press ldquoStop+Ardquo

At the ldquoOKrdquo prompt type

boot netdhcp - install

Note the colon before dhcp and the space before and after the hyphen before ldquoinstallrdquo

A25 Customizing Jumpstart Files with Solaris SPARC

A251 Jumpstart Configuration File Modifications with Template Edits Jumpstart configuration files may also be modified via template edits To make changes -- cd hometftpbootpubsparc10U6 or cd hometftpbootpubsparc10U7 backup the originals mkdir configMacSpec-original cp -pr configMacSpec configMacSpec-original cd configMacSpec edit and change the sysidcfg andor any_machine the beginsh and finishsh script may also be changed here

A252 Customization of Base Templates Customization of the base templates is possible These changes will apply to all role templates created after the changes and to existing roles when imported via Provisioning Role Template using the Import Control File Template of the Edit option To make changes cd hometftpboottemplatessparc10U6tmpl or cd hometftpboottemplatessparc10U7tmpl edit and change the sysidcfg andor any_machine sections in the template

LinMin Bare Metal Provisioning Users Guide Published Oct 16 2009

Copyright copy 2007 - 2009 LinMin Corporation All Rights Reserved Page 117

Use caution when making configuration changes It is easy to introduce syntax and value errors that will cause the provisioning to fail Most often it will go into interactive mode and at times it will hang It is best to be familiar with the Solaris Jumpstart process and its options Often the finish script is a better choice to implement customization

NOTE LinMinrsquos consulting services are available to assist with the customization and automation of Solaris installations

Page 11: LinMin Bare Metal Provisioning User's Guide
Page 12: LinMin Bare Metal Provisioning User's Guide
Page 13: LinMin Bare Metal Provisioning User's Guide
Page 14: LinMin Bare Metal Provisioning User's Guide
Page 15: LinMin Bare Metal Provisioning User's Guide
Page 16: LinMin Bare Metal Provisioning User's Guide
Page 17: LinMin Bare Metal Provisioning User's Guide
Page 18: LinMin Bare Metal Provisioning User's Guide
Page 19: LinMin Bare Metal Provisioning User's Guide
Page 20: LinMin Bare Metal Provisioning User's Guide
Page 21: LinMin Bare Metal Provisioning User's Guide
Page 22: LinMin Bare Metal Provisioning User's Guide
Page 23: LinMin Bare Metal Provisioning User's Guide
Page 24: LinMin Bare Metal Provisioning User's Guide
Page 25: LinMin Bare Metal Provisioning User's Guide
Page 26: LinMin Bare Metal Provisioning User's Guide
Page 27: LinMin Bare Metal Provisioning User's Guide
Page 28: LinMin Bare Metal Provisioning User's Guide
Page 29: LinMin Bare Metal Provisioning User's Guide
Page 30: LinMin Bare Metal Provisioning User's Guide
Page 31: LinMin Bare Metal Provisioning User's Guide
Page 32: LinMin Bare Metal Provisioning User's Guide
Page 33: LinMin Bare Metal Provisioning User's Guide
Page 34: LinMin Bare Metal Provisioning User's Guide
Page 35: LinMin Bare Metal Provisioning User's Guide
Page 36: LinMin Bare Metal Provisioning User's Guide
Page 37: LinMin Bare Metal Provisioning User's Guide
Page 38: LinMin Bare Metal Provisioning User's Guide
Page 39: LinMin Bare Metal Provisioning User's Guide
Page 40: LinMin Bare Metal Provisioning User's Guide
Page 41: LinMin Bare Metal Provisioning User's Guide
Page 42: LinMin Bare Metal Provisioning User's Guide
Page 43: LinMin Bare Metal Provisioning User's Guide
Page 44: LinMin Bare Metal Provisioning User's Guide
Page 45: LinMin Bare Metal Provisioning User's Guide
Page 46: LinMin Bare Metal Provisioning User's Guide
Page 47: LinMin Bare Metal Provisioning User's Guide
Page 48: LinMin Bare Metal Provisioning User's Guide
Page 49: LinMin Bare Metal Provisioning User's Guide
Page 50: LinMin Bare Metal Provisioning User's Guide
Page 51: LinMin Bare Metal Provisioning User's Guide
Page 52: LinMin Bare Metal Provisioning User's Guide
Page 53: LinMin Bare Metal Provisioning User's Guide
Page 54: LinMin Bare Metal Provisioning User's Guide
Page 55: LinMin Bare Metal Provisioning User's Guide
Page 56: LinMin Bare Metal Provisioning User's Guide
Page 57: LinMin Bare Metal Provisioning User's Guide
Page 58: LinMin Bare Metal Provisioning User's Guide
Page 59: LinMin Bare Metal Provisioning User's Guide
Page 60: LinMin Bare Metal Provisioning User's Guide
Page 61: LinMin Bare Metal Provisioning User's Guide
Page 62: LinMin Bare Metal Provisioning User's Guide
Page 63: LinMin Bare Metal Provisioning User's Guide
Page 64: LinMin Bare Metal Provisioning User's Guide
Page 65: LinMin Bare Metal Provisioning User's Guide
Page 66: LinMin Bare Metal Provisioning User's Guide
Page 67: LinMin Bare Metal Provisioning User's Guide
Page 68: LinMin Bare Metal Provisioning User's Guide
Page 69: LinMin Bare Metal Provisioning User's Guide
Page 70: LinMin Bare Metal Provisioning User's Guide
Page 71: LinMin Bare Metal Provisioning User's Guide
Page 72: LinMin Bare Metal Provisioning User's Guide
Page 73: LinMin Bare Metal Provisioning User's Guide
Page 74: LinMin Bare Metal Provisioning User's Guide
Page 75: LinMin Bare Metal Provisioning User's Guide
Page 76: LinMin Bare Metal Provisioning User's Guide
Page 77: LinMin Bare Metal Provisioning User's Guide
Page 78: LinMin Bare Metal Provisioning User's Guide
Page 79: LinMin Bare Metal Provisioning User's Guide
Page 80: LinMin Bare Metal Provisioning User's Guide
Page 81: LinMin Bare Metal Provisioning User's Guide
Page 82: LinMin Bare Metal Provisioning User's Guide
Page 83: LinMin Bare Metal Provisioning User's Guide
Page 84: LinMin Bare Metal Provisioning User's Guide
Page 85: LinMin Bare Metal Provisioning User's Guide
Page 86: LinMin Bare Metal Provisioning User's Guide
Page 87: LinMin Bare Metal Provisioning User's Guide
Page 88: LinMin Bare Metal Provisioning User's Guide
Page 89: LinMin Bare Metal Provisioning User's Guide
Page 90: LinMin Bare Metal Provisioning User's Guide
Page 91: LinMin Bare Metal Provisioning User's Guide
Page 92: LinMin Bare Metal Provisioning User's Guide
Page 93: LinMin Bare Metal Provisioning User's Guide
Page 94: LinMin Bare Metal Provisioning User's Guide
Page 95: LinMin Bare Metal Provisioning User's Guide
Page 96: LinMin Bare Metal Provisioning User's Guide
Page 97: LinMin Bare Metal Provisioning User's Guide
Page 98: LinMin Bare Metal Provisioning User's Guide
Page 99: LinMin Bare Metal Provisioning User's Guide
Page 100: LinMin Bare Metal Provisioning User's Guide
Page 101: LinMin Bare Metal Provisioning User's Guide
Page 102: LinMin Bare Metal Provisioning User's Guide
Page 103: LinMin Bare Metal Provisioning User's Guide
Page 104: LinMin Bare Metal Provisioning User's Guide
Page 105: LinMin Bare Metal Provisioning User's Guide
Page 106: LinMin Bare Metal Provisioning User's Guide
Page 107: LinMin Bare Metal Provisioning User's Guide
Page 108: LinMin Bare Metal Provisioning User's Guide
Page 109: LinMin Bare Metal Provisioning User's Guide
Page 110: LinMin Bare Metal Provisioning User's Guide
Page 111: LinMin Bare Metal Provisioning User's Guide
Page 112: LinMin Bare Metal Provisioning User's Guide
Page 113: LinMin Bare Metal Provisioning User's Guide
Page 114: LinMin Bare Metal Provisioning User's Guide
Page 115: LinMin Bare Metal Provisioning User's Guide
Page 116: LinMin Bare Metal Provisioning User's Guide
Page 117: LinMin Bare Metal Provisioning User's Guide