Date post: | 20-Dec-2015 |
Category: |
Documents |
View: | 217 times |
Download: | 0 times |
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 [email protected]
Q&A