Deployment Solution

 View Only

Cheeta Speed Bare Metal to OS deployments. 

Apr 28, 2008 03:43 PM

The Linux preboot has been known to be fast at performing Bare Metal to OS installs under Deployment Solution for Dell Servers, but just when you thought it couldn't get any faster, it did. I can get these "cheeta" Bare Metal to OS jobs to execute in under 5 minutes without skipping any of the configuration steps. Use this step by step article to eliminate all reboots tasks in your deployment jobs saving time and network bandwidth and effectively making deployment up to twice to three times as fast. This job also greatly reduces PXE server strain allowing you to deploy more machines at once!

Prerequisites:

  • Deployment Solution for Dell Servers version 3.1 installed and configured for OS Scripted installs using the Linux preboot.
  • OS configurations installed that can be deployed using the Linux preboot.
  • Experience with using Deployment Solution for Dell Servers, specifically Scripted OS installations.

Disclaimer: These modifications to the Deployment Solution for Dell Servers product are done at the users own risk. It is a very good idea to make backup copies of the scripts that are modified as part of this tutorial in case you need to revert your changes. Always test in a safe test environment before using on production systems.

Overview

This document will walk you through the modification steps necessary to allow you to bypass the reboot tasks that are normally performed in a Bare Metal to OS installation using the Linux Preboot. Specifically the reboot tasks that occur after RAID device deletion, RAID device creation, and the partitioning of the drive. When all the modification steps are completed, all new job your create will have this extra feature, although you will still have to delete the reboot tasks after you create any new jobs.

Important: These modifications do not affect the WinPE deployment process in any way, so don't expect a speed increase there. The Linux preboot only supports Scripted OS installations of the following OSs:

Windows 2000
Windows 2003 (32bit only)
Redhat Enterprise Linux (all versions, 32 and 64 bit)
Suse Enterprise Linux (all versions, 32 and 64 bit)

So if you are looking to speed up installations of Windows Server 2003 64bit, or Windows 2008, this article will not help you.

Step A - Adding hdparm to the Linux preboot

First we need to copy a hdparm, a linux utility to the Dell environment from the Dell DUP environment. Follow these steps.

Convenient method:

  1. Create a new job and name it "Copy hdparm". Then create a new Run Script task within that job.
  2. Enter the following scripting line:
    cp /sbin/hdparm /mnt/ds/Bootwiz/oem/Dell/Linux/x86/Base/sbin/hdparm
    	
      
  3. Associate that script with Linux by clicking the "Linux" radio button. Click Next
  4. Associate the task with "Dell DUP Linux v3_1 (32-bit)". Click Finish
  5. Run the job on any of machine and make sure it finishes properly with a green check.
  6. Confirm the script executed properly by navigating to the Bootwiz/oem/Dell/Linux/x86/Base/sbin folder and verify that the hdparm file exists.

As you probably guessed, the Bootwiz/oem/Dell/Linux/x86/Base folder represents the root "/" folder of the linux image. By placing hdparm in the Bootwiz/oem/Dell/Linux/x86/Base/sbin folder, we will be making hdparm available in the /sbin/hdparm location in our linux environment.

Alternative method. If you are unable to (or choose not to) run this job on a server, retrieve a copy of hdparm (a common linux utility) from the internet and place it in this folder. Hopefully you'll get a version that works.

Step B - Regenerate the Dell Linux environment

Next we need to regenerate the Dell Linux preboot so that hdparm will be added into the image.

  1. Open the PXE Config Utility.
  2. Regenerate your Dell Linux image by clicking the Linux checkbox and then clicking "Regenerate". This will regenerate ALL Linux preboot images. Alternatively, you may just click only the "Dell Linux vX" image, click "Edit", then "Edit boot image", and click next a few times in the wizard until the wizard regenerates the image. This will only regenerate that particular image saving time.
  3. Once the environment is done regenerating click "Save" and wait for the changes to be propagated out to the individual PXE servers.

With those steps done, you should now have "/sbin/hdparm" available in the Dell Linux environment. Continue onto the step c.

Step C - Modify the scripts to call hdparm

The hdparm utility is used to modify how the Linux kernel interacts with hard disk devices. In this case we will be using the -z flag which according to hdparm's manpage will "Force a kernel re-read of the partition table of the specified devices". In other words, this re-read of the partition table will be taking the place of our reboots. We will then be able to safely bypass the reboots.

  1. Use the file explorer and Navigate to the Dell folder within the express share (commonly C:\Program Files\Altiris\eXpress\Deployment Server\Dell". We will be modifying the following scripts: Dell\ascripts\linux\linux_scripted_install.sh
    Dell\ascripts\linux\windows_scripted_install.sh
    Dell\atools\source_files\scripts\Linux\h0001_clear_part_table.sh
    Dell\atools\source_files\scripts\Linux\delete_raid_template.sh
  2. Luckily, the modifications will be nearly the same. The only change we will be making is inserting device "reinitialization" code.
  3. Copy this script to the clipboard (this code iterates over devices a-k and re-initializes them: udevstart 2>&1 /dev/null
    for letter in a b c d e f g h i j k
    do
    /sbin/hdparm -z /dev/sd$letter 2>&1 /dev/null
    done
  4. Insert that chunk of script into "Dell\ascripts\linux\linux_scripted_install.sh" at line 33, replacing the line:
    udevstart
  5. Insert that chunk of script into "Dell\ascripts\linux\windows_scripted_install.sh" at line 69 replacing the line:
    udevstart
  6. Insert that chunk of script into "Dell\atools\source_files\scripts\Linux\delete_raid_template.sh" right below the line:
    DFN_TEMP_FILE="/tmp/part.tmp"
  7. Insert that chunk of script into "Dell\atools\source_files\scripts\Linux\delete_raid_template.sh" on line 34, right above the line:
    exit $?

The script modifications are now complete. These modifications not only affected scripts that are referenced on the DS share during execution, but the two template scripts are used by the job builder itself. This means that any new jobs created by the job builder will incorporate these changes.

These modifications should be non-invasive. In other words, no harm is being done by having the "rescan" in there. If you find removing one or more of the reboot tasks doesn't work, you can probably leave this code in without any problem.

Step D - Create new Jobs

These changes will only affect newly create jobs so you have a few choices before you. You can regenerate all your basic jobs by going to the Job Builder, and clicking "Restore all Jobs" to get the new functionality in all your jobs. Beware, doing this however will delete all your jobs histories. Alternatively you can use the job builder to create new Bare metal jobs and only have the new functionality in those select jobs. This will not affect job histories, and allow you to test this new feature before changing all your scripts. We'll just use latter case in this example.

  1. Open the Job Builder by going to Tools->Dell Tools->Job Builder
  2. Check all the boxes (this is equivalent to a Bare Metal install). When you click "Configure RAID" you may be confused what the "default" behavior is. If you want the default "Dynamic" raid configuration, click on "Import" in the "Configure RAID task" window and select the "default.xml" file. Otherwise define a RAID rule.
  3. Once you have checked all entries, and defined their behavior, click "Build Job"
  4. After the job is build, we need to remove the reboot tasks that were inserted. Click on the job and delete the following tasks.
    Note: These tasks will appear differently depending on which OS you selected.
  5. Run the job. While I haven't tested this reboot-less deployment job on all configurations, it seems to work in all cases I have tried. If you find some servers are failing it may be possible that those particular RAID cards still need a reboot, merely re-insert those reboot tasks where they were before starting with the first, then second etc.

One last tip: Since we are discussing making Linux scripted OS installs fast, I should probably mention a known issue you may run into while doing these jobs. This issue documented in the Altiris Knowledgebase as article 26713 affects installation speed after the job has completed on Windows 2003 installs. The simple solution to this problem is to install the MS-DOS preboot files. See the article for further details:
https://kb.altiris.com/display/1n/kb/articleContent.asp?aid=26173&n=&s=&link=#

Conclusion

Using this process a machine will only have one reboot, and that is the reboot at the end of the task, after which the installer will run. Keep in mind that even though the deployment job will execute faster, the process afterward (the actual install of the OS) will not be any faster. In my tests overall OS install time depending system speed worked out to be in the realm of 20-60 minutes.

Statistics
0 Favorited
0 Views
1 Files
0 Shares
0 Downloads
Attachment(s)
zip file
Cheeta speed bare metal to OS.zip   65 KB   1 version
Uploaded - Feb 25, 2020

Tags and Keywords

Related Entries and Links

No Related Resource entered.