uccsc 2009 using bits to transfer ghost images tim leamy iet – academic technology services uc...

Post on 20-Dec-2015

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

UCCSC 2009

Using BITS to Transfer Ghost Images

Tim Leamy

IET – Academic Technology Services

UC Davis

UCCSC 2009

Outline

Why? Background & History

Win9X WinXP – initial attempts Two partitions BITS

Image creation overview Details

Windows FreeDOS

Initial PC setup

UCCSC 2009

Why?

Ghost works well for imaging But built-in tools have issues moving large image

files, especially across multiple subnets BITS Solution

Single server for all images Images reliably transferred in the background while

PCs are in use Very short downtime to image Free – already in Windows

Same BITS solution should apply to other imaging packages

UCCSC 2009

Background & History Computer Lab Management

18 computer rooms 10 separate networks 330 PCs Maintain 12 different images

Ranging from 5–10GB PCs locked down and profiles deleted nightly

UCCSC 2009

Background & HistoryWindows 95 – Windows ME Win 9X – used PC-Rdist

Worked extremely well Could rebuild registry in DOS before Windows

started Easy to copy changes from one lab to the next

UCCSC 2009

Background & HistoryWindows XP Win XP

Didn’t work well with PC-Rdist Needed to use Ghost for initial install

Switched to using Ghost Testing in the office worked well Attempted to use one Ghost console for labs

on multiple subnets Attempted to multicast across routers

UCCSC 2009

Background & History Ghost network issues Encountered difficulties with Ghost tools

working across different networks Network connectivity & reliability across

routers Multicast didn’t work across routers Large images meant long downtime

UCCSC 2009

Background & HistoryTwo Partitions

Eureka moment – Ghost uses “virtual partitions” – why not use real ones?

Created two partitions on hard drive FreeDOS partition

4GB initially with FreeDOS, Ghost, and image files

Now 40GB WinXP partition

Rest of disk

UCCSC 2009

Background & HistoryTwo Partitions Used PC-Rdist to copy ghost image files from

server to FreeDOS partition Worked ok

Very fast to ghost from one partition to the other

Simple – put new image on server and it was copied to all clients

Could manage images for all labs from my office

But …

UCCSC 2009

Background & HistoryTwo Partitions Problems

PC-Rdist took a while to copy down image files

Could make a PC unusable for 15 minutes in middle of day

Copying image to entire lab was very slow

UCCSC 2009

Background & HistoryBITS Background Intelligent Transfer Service

(BITS) Used for Windows Automatic Updates

Already Built into XP Robust

Uses “spare” bandwidth to download files in background

No disruption to student use Uses standard web protocols

UCCSC 2009

Background & HistoryBITS Switch to BITS

Moved images to web servers Downloaded bitsadmin.exe Created bits.pl script Used cron for automation

UCCSC 2009

Background & HistoryBITS Worked Great!

Images transferred in background Very reliable – copy image up to server and all

PCs restored the next morning Fast – PC have only ~10 minutes downtime

for imaging Easy to manage images

UCCSC 2009

Image Creation Overview

Logon as restore Sets Freedos partition as active Reboots and reimages itself

Install new software, configure it, etc. Run freedos.cmd in Windows to reboot to

Freedos partition Prepares the PC for imaging Clears event logs, set NIC to DHCP, etc Reboots to FreeDOS partition

Run image.bat to create new image

UCCSC 2009

Image Creation Overview continued

Run windows.bat to reboot into Windows Run upload.cmd to copy new image to server

Move the updated image to the proper directory in the web server

The other PCs will see new image and download it in background with BITS Takes a few hours to download, but PCs are still in use

PCs are turned off that night. PC set to boot at 4:00am everyday

Boot to FreeDOS partition Installs new image Reboots to Windows

UCCSC 2009

The Details

Windows side FreeDOS side Circular – so some things won’t make sense

until the end

UCCSC 2009

The Details – Windows Side

Utilities bitsadmin robocopy gdisk32 cron ActiveState Perl

UCCSC 2009

The Details – Windows Side

bits.pl Runs every half-hour via cron Checks status of BITS job (lines 39-77) If a new images has been downloaded it

copies new image files to Freedos partition and creates flag file (lines 50 – 61)

Checks web server for updated image files (lines 79-99)

Creates BITS jobs to download images with bitsadmin (lines 106-135)

UCCSC 2009

The Details – Windows Side

Scripts – Windows Startup script Sets environment variables used by other

scripts from the PC name LAB, PC_NUMBER

Sets IP address if needed

UCCSC 2009

The Details – Windows Side

Scripts – Windows Logon script If username is restore it sets the restore flags

and reboots PC

UCCSC 2009

The Details – Windows Side

Scripts – Windows Shutdown script If flag file exists it uses gdisk32 to make the

Freedos partition active Runs restore.pl to create restore.bat Clean up before imaging

Clears some log files & event logs Set NIC to DHCP Robocopy to make sure Freedos partition has

correct files

UCCSC 2009

The Details – Windows Side

restore.pl Runs in shutdown script Creates restore.bat in the Freedos partition

Uses lab and pc_number environment variables restore.bat is custom for each PC

PC Name SID

UCCSC 2009

The Details – Windows Side

Scripts - freedos.cmd

echo clean > c:\temp\clean

gdisk32 1 /act /p:1 /ic:\ucd\sd 4

UCCSC 2009

The Details – Freedos Partiton

Utilities ghost gdisk ghstwalk wait reboot

UCCSC 2009

The Details – Freedos Partiton

Scripts - autoexec.bat@echo offpath=c:\

del *.tmp

wait 5 Starting computer....if errorlevel 1 goto end

echo Starting restorec:\restore.bat

:end

UCCSC 2009

The Details – Freedos Partiton

Scripts - restore.batrem Setting up to restore PC #00 in 163LIB

c:\ghost -clone,mode=pload,src=\images\winxp.gho:1,dst=1:2 -sure -batch -fni -autoc:\ghstwalk /cn=XXXX /bv=1:2 /sid=XXXXXX /ignore_domain /sure /fnic:\gdisk 1 /act /p:2 /ic:\reboot

UCCSC 2009

The Details – Freedos Partiton

Scripts – image.bat@echo offrem Make new ghost image in c:\images\winxp.gho

rem delete ghost files (.gho & .ghs) but keep readme fileecho y | del c:\images\*.gh? > nul:

ghost -clone,mode=pdump,src=1:2,dst=c:\images\winxp.gho -z2 -fni -span -auto -sure

dir c:\images

UCCSC 2009

The Details – Freedos Partiton

Scripts – windows.batgdisk 1 /act /p:2 /ireboot

UCCSC 2009

The Details – Windows Side

Scripts - upload.cmd Updates readme.txt in FreeDOS partition Copies the updated image files to sever as

LABNAME.new

UCCSC 2009

Initial PC Setup

USB Hard Drive FreeDOS Uses ghost to install image with FreeDOS

partition and empty 2nd partition to HD Creates restore.bat Copies image files to FreeDOS partition Reboots to FreeDOS partition and ghosts itself

UCCSC 2009

Initial PC Setup

Linux Flash Drive Also working on bootable flash drive with

Linux Connects to network and downloads image

files from web server Partition table differences – so there are some

difficulties Initially used floppies with DOS networking.

But trying to move away from them.

UCCSC 2009

What do you need?

Web server for images 2nd partition on hard drive Determine what restore.bat should contain for

your setup Script to create restore.bat if needed

UCCSC 2009

For More Info

UC Davis BITS Website http://lm.ucdavis.edu/people/tim/lab/winxp/

Tim Leamy tcleamy@ucdavis.edu

Q&A

top related