The NetBoot service is one of my personal favorites - using a mix of standard PXE boot technology and some of Apple’s own mumbo-jumbo, you can use it to serve up OS images to client Macs over the network. Its uses are diverse - you can boot up a simple operating system designed to deploy OS X images to multiple computers at once (I recommend the excellent, free DeployStudio for this sort of work), you can serve up a vanilla OS X install disk, or you can use the System Image Utility (another of the Server Admin Tools) to capture a pre-configured OS X environment that can be served to many clients at once - the latter is particularly useful in classrooms, computer labs, public-use kiosks, and anywhere with a lot of Macs that need to look and act the same, since getting a clean instance of the OS is as easy as rebooting the system.

There are three different types of NetBoot images: The first, called NetBoot, boots a Mac to an entirely server-hosted disk image where you can run apps and use the Mac pretty much as you normally would, though all user-created data is wiped out when the Mac is restarted. NetInstall can be used to make copies of OS X install media that are bootable from the network instead of discs or USB drives. The last, NetRestore, will copy the contents of an image to a Mac’s hard drive, making it easy to mass-deploy customized OS X images to multiple computers.

The actual setup and operation of the NetBoot service is basically identical to the way it was in Snow Leopard server (which looked a lot like Leopard’s implementation did, and so on). However, there are some inconveniences related to Lion’s dropping of support for Core Duo and Solo Macs if you’ve still got any hanging around - a bit of historical context will be useful here.

NetBoot dealt with the PPC-to-Intel transition by allowing administrators to choose what client architecture a particular image would boot - if you made one 10.4 NetBoot image for PowerPC systems and an equivalent image for Intel systems, you could set them both as the default images for their respective architectures, and offer the same services to all of your Macs regardless of architecture without incurring too much additional overhead.

10.5 made Universal images possible - these were simple times, because one image could boot basically all of your supported Macs (as long as you didn’t have any super-old G3s or G4s around), but you had to go back to the image-per-architecture model when 10.6 dropped support for PowerPC. It was a little extra work, but was totally doable.

As we discussed before, 10.7 drops support for the very earliest of the Intel Macs, but your Netboot architecture options remain the same - you can pick PowerPC, Intel, or Universal (for 10.5 images), but you can’t distinguish between supported and unsupported Intel Macs.

Granted, this problem will affect only a subset of Lion Server users - those who use NetBoot and need to support both the newest Macs (necessitating a recent 10.7 image, since as a rule OS X isn’t downgradeable) and a mix of older Macs - if this roughly describes your situation, begin devising workarounds now.

Using the System Image Utility

If you have several Macs on your network and are worried about Lion’s lack of restore media (and if, for some reason, you don’t want to make your own restore DVD or USB stick as we discussed in our Lion review), the NetBoot service provides you with one of the few supported methods for getting around it.

All you need to do is keep a copy of the Lion installer downloaded from the App Store. As long as you’ve got it stored somewhere on a drive that is readable by the computer, you can fire up the System Image Utility and see it listed as an image source.

Go ahead and create a basic NetInstall image of it, and save the resultant *.nbi folder to your server's \Library\NetBoot\NetBootSP0 folder, and then enable it in the Images tab in Server Admin (note that the NetBoot folder is only created once you choose to store images and client data on your hard drive in Server Admin, and that your images only become visible to clients when you’ve enabled NetBoot on your server’s Ethernet port).

Enabling ports and storage locations

Once everything is enabled, you should see your new NetBoot image as an option in the Startup Disk preference pane on your client Macs.

You can use the System Image Utility to make a NetBootable image of any OS X partition, as long as it’s running the same version of OS X as the Mac running the System Image Utility - Lion can make Lion boot images, Snow Leopard can make Snow Leopard boot images, and so on.

For the new MacBook Airs and Mac Minis without optical drives (and, one assumes, for many other models going forward), the NetBoot service provides the backbone of the new Internet Recovery feature - the only difference there is that you're NetBooting from one of Apple's servers instead of your own. NetBoot and Lion Server allow you to offer this functionality to all of your Macs.

Software Update

Software Update downloads every update in Apple’s catalog and allows you to serve them up to your users. This includes every product updated by Software Update: OS X (versions 10.5, 10.6, and 10.7 are supported), Final Cut, iLife, iWork, and various firmware updates included. With Final Cut and others making the transition to the App Store, it’s uncertain whether Software Update will continue to offer updates for these products. Another question is whether iOS updates will be offered via Software Update once over-the-air delta updates become the norm in iOS 5 - as usual, we’ll have to wait and see.

Why do this when your Macs could just talk to Apple’s servers? First and foremost, it can help you if you need to conserve Internet bandwidth: instead of having 20 computers download a 1GB update from Apple, you can have one computer download the 1GB update from Apple, and have 20 computers download the update from it. This is also usually faster than connecting to Apple’s server, especially over a modern gigabit network.

The other advantage is that you can choose exactly which updates to serve to your clients. If, for example, you know that 10.7.1 deletes user data, or that iTunes 10.5 is going to have problems that are fixed days later by iTunes 10.5.1, or that Safari 5.2 causes problems with some internal sites you depend on, you can uncheck those updates and elect only to serve them up after issues have been fixed.

All you have to do is point your client computers to your Software Update server. This is easily done via policies in Workgroup Manager or Profile Manager for managed Macs, or via some command line trickery for non-managed Macs. Downloading the entire update catalog does consume a fair amount of disk space, so make sure you've got a few dozen spare GB on your drive somewhere before turning the service on.
Server Admin Tools: DHCP, DNS, Firewall, NAT, and RADIUS Xgrid and Xgrid Admin
Comments Locked


View All Comments

  • Kristian Vättö - Tuesday, August 2, 2011 - link

    Your Twitter was right, this really is endless
  • CharonPDX - Tuesday, August 2, 2011 - link

    It was that pesky loop that started on page 23 that circled you back to page 8. By the time you'd read page 23, you'd forgotten what was on page 8, so you didn't notice you were in a loop until you were at what you thought was page 157...
  • B3an - Tuesday, August 2, 2011 - link

    Very in depth article... but i feel you've wasted time on this. No one in there right mind would use OSX as a server. Apart from Apple fanboys that choose an inferior product over better alternatives because it has an Apple logo, but i emphasize the words "right mind".
  • FATCamaro - Tuesday, August 2, 2011 - link

    For enterprise work, or a Windows-only network this is certainly true. For SMB, or even 500 mac/mixed users I think it could work if you can provide some glue to handle fail-over.
    Windows server is better for Office for sure as is Linux for web & applications.
  • Spivonious - Wednesday, August 3, 2011 - link

    I can run a web server on the client version of Windows. It's just not installed by default.
  • mino - Saturday, August 6, 2011 - link

    Hint: for how many users/connections ....

    If it was THAT simple there would be no Web Edition, mind you.
  • AlBanting - Friday, August 19, 2011 - link

    Same thing for client version of Mac OS X. I've done this for years.
  • KPOM - Tuesday, August 2, 2011 - link

    True, for an enterprise user. However, a small business or tech-savvy home user trying to manage multiple Windows PCs, Macs, and iOS devices might well be tempted by the $50 price tag.

    If should be obvious by the price drop and the discontinuation of the XServe that Apple no longer intends to compete with Windows Server or Linux in the enterprise market. They are a consumer-oriented company, and released a server OS intended for a consumer market.
  • zorxd - Tuesday, August 2, 2011 - link

    Tech-savvy home user will run a free linux distro for a server. Plus it will work on any hardware, not only on a Mac. Many use older PCs as servers.
    Also the Mac Pro is too expensive and the Mac Mini can't even have 3.5" drives which mean that it is a bad solution for a file server.
  • richardr - Tuesday, August 2, 2011 - link

    Actually, I have a real use case, though it may be a bit specialised for your tastes... non-computing departments of universities are full of people with underused desktops running Word, but also have other people doing analyses that take ages to run on their machines. Making them all Macs (you'll never persuade them to use linux) and wiring them up with xgrid and OSX Server is a pretty pain-free way of running my analyses on their machines without too much disruption to their lives...

Log in

Don't have an account? Sign up now