Mass Unattended Linux Installation
Aaron Crane
UKUUG Linux 2003 Conference • August 2003
This view lists all the slides from the talk in a continuous format. There is a PDF version available, suitable for printing on A4 paper.
The slides are also designed to be viewed as a slideshow from this file with Mozilla or a compatible browser. JavaScript is used to make pressing N
progress to the next slide. The slides fit on a 1024 × 768 pixel display. To toggle full-screen mode in Mozilla press F11
.
Switch to the slideshow view.
1 Installing Linux
- Installing an operating system is usually fairly straightforward
- Certainly for modern Linux distributions
- General procedure:
- Boot the system from the install media
- ‘Handhold’ the installation program, answering questions as
appropriate
- Most distributions reduce the handholding phase as much as
possible
2 Zero Interaction
- Handholding an installation is not always appropriate
- Many situations require a large set of identical or near-identical
hosts:
- Server farm (web serving, rendering, etc.)
- Classroom laboratory in a university or school
- Nodes in a Beowulf cluster
- Automating installation has many benefits:
- Minimise effort
- Reduce cost of adding or replacing equivalent hosts
- Avoid mistakes and consequent loss of reliability
3 Obstacles
- Variety of obstacles to unattended installation
- Not all apply in all situations
- Repeatable package selection
- Network configuration
- Hardware detection
- User accounts
4 Characteristics of a Solution
- Not an auto-installer per se, but an auto-install
builder
- Different situations require slightly different solutions
- Might need several distinct automated installs
- Often need support from the operating system vendor
- Especially for hardware detection/configuration and package
selection
- Many generic system-administration tools are helpful:
- DHCP to control network configuration
- Centralised site-wide user account management
5 Auto-Installation Tools
- Most operating systems have auto-installation tools
- KickStart for Red Hat
- ALICE for SuSE
- Three for Debian: FAI, Progeny auto-installer, Replicator
- SystemImager works with a variety of Linux distributions
- Non-Linux systems as well:
- JumpStart for Solaris
- RoboInst for Irix
- Ignite-UX for HP-UX
- Relatively few differences between their approaches
6 Installation Method
- Two basic techniques
- ‘Golden image’:
- Keep a disk image from a perfect installation
- Some systems insist that you keep an untouched, unused ‘golden
host’
- Usually offers extremely fast installation
- Automated full install:
- The installer performs the same steps as full installation
- Better suited to situations with varying hardware
7 Boot and Install Media
- Variety of boot and install media used
- PXE a good choice for booting in many environments
- Modern systems support PXE network booting out of the box
- CD/DVD or floppy if network booting isn’t appropriate
- Where does the installed software come from?
- CD/DVD, NFS, HTTP/FTP, rsync, …
8 Configuration Differences
- Two relevant cases:
- Distinct use patterns for different groups of auto-installed
machines
- Different hardware within one group
- Two main ways to select a usage pattern:
- Make the admin specify when starting the install
- Tie configuration data to the machine’s MAC address
- Handling hardware differences:
- Choosing by usage pattern might work
- Hardware detection (like a manual installation)
9 Case Study: GBdirect
-
GBdirect Ltd:
consultancy,
bespoke software development,
technical training
- Enormous rise in volume of training
- Cost of delivery increasingly an issue
- Existing procedures somewhat ad hoc and unreliable
- Decision to create a mobile training suite:
- Custom-built flight case
- Set of laptops with all software needed for any course
- Students change things — reinstall after every course
10 Unusual Requirements
- Change installed software comparatively frequently
- Reinstall in remote locations, without internet access
- Use CD/DVD for both boot and software
- No server to support installed systems
- Can’t use DHCP or centralised user accounts
- Provide user environment suitable for customers with no Linux
experience
- Laptop hardware can cause problems
- No built-in Ethernet cards on some machines
- PCMCIA poorly supported by many auto-install tools
11 Approach to a Solution
- Considerable in-house Debian expertise
- Building packages an option, unlike for other distributions
- Non-Debian choice sensible for us only if Debian can’t do the
job
- Progeny auto-install supports single-CD operation
- Also permits network operation where available
- Some configuration (host names, etc.) tied to MAC address
- Choose matching inventory numbers for laptops and PCMCIA Ethernet
cards — simplifies administration
12 Problems Encountered
- Installation based on Debian 3.0 ‘Woody’
- Incomplete support for unattended installation
- Needed to rebuild a few critical packages to avoid interaction
- Forthcoming ‘Sarge’ release almost certainly won’t need this
step
- Progeny auto-install didn’t seem to handle PCMCIA well
- Use a 2.4-series kernel, with large build
- Mysterious problems with modules, so everything compiled in
- No direct support for 2.8Mb-floppy boot image
- No
ext3
support — convert after install
13 Current State
- Reasonably fast
- Install a laptop in 30 to 45 minutes (depending on hardware)
- Install a whole suite in less than an hour if need be
- Security updates fairly straightforward
- Simple, powerful method for post-install actions
- Successfully coped with changing requirements:
- USB floppy drive for floppy-free laptops
- Wireless Ethernet to let students share data
- Reliable production use for over a year
© Copyright GBdirect Ltd 2003
This material may not be distributed without explicit permission.