How useful is PXE booting

pxe-boot

How fast is booting over PXE?. Is it conceivable to boot a linux installation? Does it take a long time? I have never really looked into it at all, but I was considering setting up a compiler farm and thought this might be interesting to try.

Does one have a main computer that the PXE answers to to get its image? Can you have multiple PXE images to pick from?

Thanks!

Best Answer

PXE booting is awesome. I manage a cluster of about 20 physical machines that are located on the opposite side of the globe, and they're all installed automatically without any physical intervention from anyone at the DC. I couldn't do my job nearly so well without PXE booting -- all the other remote installation options (virtual media, getting a DC tech to shuffle CDs, whatever) are very poor substitutes.

To answer your specific questions:

  1. "Does it take a long time?" If you mean install time, it takes less than 10 minutes to go from "burnt-in" to "booted into the installed OS". In terms of setting things up, it'll take a while the first time, but I've got it all automated so a new PXE server can be installed all by itself if I need it.
  2. "Does one have a main computer?" Yes, the PXE system relies on you having a server (which I call the "Gold" server, based on the nomenclature and concepts at http://infrastructures.org/) that instructs PXE clients what to do. In theory you can have several servers which contain different images, but I've yet to exercise that functionality, and I expect it would be a lot more complexity than it's worth in a greenfields installation.
  3. "Can you have multiple PXE images to choose from?" Yes, I use this functionality heavily to do my burn-ins -- all machines start with a memtest boot option, then when they've passed that I toggle a flag in the build system and reboot, and they get the burnin boot image. When they pass that, another flag gets toggled and they install. One more flag toggle and they'll boot off the local disks (and hence locally installed OS) from then on. All this decision making is based on the MAC address of the machine. For our general-purpose infrastructure at work (a couple of hundred physical machines) we also use this to perform the installs of client machines -- we've got PXE images of most Fedora/RHEL/CentOS/Ubuntu/Debian versions for customers to choose from.