[ipxe-devel] Thoughts about an enterprise use for iPXE

Brian Rak brak at gameservers.com
Sat Mar 15 21:31:46 UTC 2014


On 2/21/2014 2:29 PM, Andrew "Arthur" Summers wrote:
>
> As I'm sure you're aware, no enterprise datacenter uses DHCP for its 
> systems. What's more, even if DHCP is used for backend interfaces, 
> this becomes a problem when NATs and subnets are part of the picture. 
> Even more frustrating is the fact that reconfiguring a system or 
> attaching an ISO to an iLO or a VM usually requires involving a 
> different team, filling out a form, logging hours, and jumping through 
> a dozen or so hoops. Further, performing a zero-touch install 
> generally requires creating a preseeded image for every target, and 
> these generally aren't as tiny as an iPXE ISO.
>
These are mostly management issues, not technical ones.  There is no 
reason that DHCP can't be used with different subnets, nor behind NAT 
(though, you need the NAT box to do it).  Subnets can just use IP 
helpers, as someone else mentioned.


> When the client boots, iPXE loads, configures static IP information, 
> and reaches out to the repository. If the repository is unavailable 
> for some reason, iPXE continues to boot from local media. Otherwise, 
> the repository looks at its database for config information for the 
> client. If this is the first request from the client or it has been 
> marked for reimaging, the configuration data is dynamically returned 
> to the client, the database is updated to allow the client to boot 
> from local media on subsequent boots, and the client boots 
> appropriately. If the client has previously made a request or is not 
> marked for reimaging, the repository simpy dynamically returns a 
> script instructing iPXE to boot the client from local media.

It's all doable, it just depends on how much time you want to spend 
doing it.  I've implemented something pretty similar for us, but it's 
not really in any sort of state where I could distribute it.  I imagine 
the problems you'll have are not technical ones, but cultural ones.  If 
you've already got complicated server management, bringing some new 
technology onboard isn't really going to help.


On 3/14/2014 6:10 AM, Floris Bos wrote:
> - While iPXE is able to pass the static IP configuration easily to the 
> installer of Linux distributions as kernel parameters, this is not the 
> case for other operating systems. If you also want fully automated 
> deployments of Windows and FreeBSD you have a problem.
It's not really a problem, it's just a *lot* more work.  I've solved 
this for both Windows and FreeBSD, and it's pretty annoying.

Windows is actually the easier of the two (assuming your doing 
installs).  You create a WinPE image, and have it boot from DHCP and 
start the Windows installer.  The Windows installer uses an unattend 
file to complete the installation.  Your unattend file contains a 
configuration that causes another script to run after the OS install 
complete.  Said script reaches out to a remote server to grab the 
install information.  In theory, you could even pull this information 
right from DHCP again.  Windows does have an API for this, though I 
can't say that I've used it.

There are a lot of irritating steps for Windows, but it's definitely 
doable if you're motivated enough.  I've been through all sorts of 
different methods[1] for installing Windows, and this is the one I like 
best.

FreeBSD is pretty similar.  Generate yourself an iso with mfsbsd, and 
use that to invoke one of the FreeBSD installers.  Again, this would 
have to reach out to a remote server to grab configuration information.


[1] 
http://blog.devicenull.org/2013/08/09/the-evolution-of-our-windows-installation-methods.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140315/31428896/attachment.htm>


More information about the ipxe-devel mailing list