The requirements for NetBoot to function properly depend on the version of your
NetBoot system images and scale of your deployment. If your NetBoot images contain
Mac OS X v10.5 or Mac OS X v10.5 Server, the client Macs must meet the minimum system
requirement for that software. However, a Mac OS X v10.5 Server can host NetBoot
images containing systems software all the way back to Mac OS v9.2.
Note P The Mac OS X v10.5 Server tools will not allow you to create a NetBoot
image for previous versions of Mac OS.
The NetBoot service relies heavily on your computer’s built-in firmware to facilitate
network startup, so you must also make sure your Mac clients are updated to the latest
firmware. The NetBoot service included with Mac OS X v10.5 Server supports older
PowerPC-based computers as long as they have Macintosh firmware version 4.1.7 or later.
To check the version of a computer’s firmware locally, go to /Applications/Utilities/System
Profiler; remotely, use the report-gathering feature of Apple Remote Desktop (ARD) 3.
From an infrastructure perspective, there are no theoretical capacity limits for NetBoot
at this time. Rather, NetBoot capacity planning is based on network speed and server
performance. The total number of supportable NetBoot clients varies with network speeds
and reliability. NetBoot deployments between 10 to 50 clients require 100Base-T-switched
networking. Gigabit Ethernet is required to use the NetBoot service with more than 50 clients,
although Apple has no official test results for configurations beyond 50 clients.
Note P Apple does not support the use of multiple bonded Ethernet ports on
NetBoot clients.
Finally, the reliability and performance of your NetBoot deployment is directly affected by
your network and NetBoot server configuration.
NetBoot Image Contents
NetBoot system images are similar to regular system disk images but with a few key differences.
NetBoot images are actually bundles, which contain a system image file along with
the additional items required by the NetBoot service. These NetBoot image bundles are
easily identified by the .nbi filename extension.
The contents of a Mac OS X NetBoot image bundle include:
- A NetBoot property list file named NBImageInfo.plist that contains most of the configuration
settings for the NetBoot image: This file is created and modified using the
NetBoot administration tools, but as with any property list file, you can also manually
edit this file. This file is discussed in detail in the “Monitoring and Troubleshooting
the NetBoot Service”.
- A read/write disk image containing the full system volume that will be used by the
NetBoot clients: This disk image is usually named NetBoot.dmg or NetInstall.dmg,
but it can be named anything as specified by the NBImageInfo.plist file. By default,
standard NetBoot system images can be easily modified by simply mounting the volume
and making changes.
Note P Never modify an active NetBoot system image. Also, you should not apply full
system “point” updates to a NetBoot system image, because doing so will not update the
startup files used by NetBoot that are saved outside the system image volume.
- A folder, named i386, containing the fundamental core system files required to initiate
the Mac OS X startup process on Intel-based Macs. This folder includes the system
booter, Mac OS X kernel mach.macosx, and driver cache mach.macosx.mkext.
- A folder named ppc, containing the fundamental core system files required to initiate
the Mac OS X startup process on PowerPC-based Macs. This folder contains items
similar to those in the i386 folder but specific to PowerPC processors.
NetBoot Startup Process
When a client computer is tasked with starting from a NetBoot image, it performs a number
of steps that are considerably different from the standard Mac OS X startup routine:
- The client places a request for TCP/IP address information. When a Mac NetBoot client
is turned on or restarted, it requests TCP/IP address information from a Dynamic
Host Configuration Protocol (DHCP) server, via UDP port 67. The server providing
the DHCP service can be the same server providing the NetBoot service, but the two
do not have to be provided by the same device.
- After receiving TCP/IP address information, the NetBoot client sends out a request
for startup software using the Boot Service Discovery Protocol (BSPD), via UDP ports
67 and 68. The NetBoot server responds to the client with the information necessary
to initiate the boot process.
- The NetBoot server delivers the core system files, a booter file, and several kernel files
to the client using Trivial File Transfer Protocol (TFTP) via UDP 69.
- Once the client has started the core system, it can initiate a network mount and load
the remainder of the operating system from the NetBoot disk image. The images can
be served using Hypertext Transfer Protocol (HTTP) via TCP port 80 or network file
system (NFS) via various TCP/UDP ports.
After Mac OS X is started from the NetBoot image, the client again requests TCP/IP address
information from the DHCP server. Depending on the type of DHCP server used, the
NetBoot client might receive an IP address different from the one received in the first step.
When you start a client computer from a NetBoot image, the client computer uses a fresh
copy of the system volume. Users cannot store documents or preserve preferences on this
system volume because it’s mounted as a read-only volume.
When the Mac needs to write
anything back to its startup volume, NetBoot automatically redirects the written data to
the client’s shadow files (covered in the following section). Data in shadow files is only
retained for the duration of a NetBoot session. By using these temporary shadow files,
NetBoot guarantees that your Macs always start from a clean image.
|