1/09/2009

OS provisioning in large scale data centers

In large scale data centers, manually installing OS is not practical due to its huge time/labor cost. There must be a way to enable auto OS installation, so here comes the - PXE(Preboot eXecution Environment) technology.

PXE is maintained by the Intel Corporation, it is an industry standard client/server interface that allows networked computers that are not yet loaded with an operating system to be configured and booted remotely by an administrator. The PXE code is typically delivered with a new computer on a read-only memory chip or boot disk that allows the computer (a client) to communicate with the network server so that the client machine can be remotely configured and its operating system can be remotely booted.

PXE provides three things:
1) The Dynamic Host Configuration Protocol (DHCP), which allows the client to receive an IP address to gain access to the network servers.
2) A set of application program interfaces (API) that are used by the client's Basic Input/Output Operating System (BIOS) or a downloaded Network Bootstrap Program (NBP) that automates the booting of the operating system and other configuration steps.
3) A standard method of initializing the PXE code in the PXE ROM chip or boot disk.

The PXE process consists of:
1. The client notifying the server that it uses PXE. If the server uses PXE, it sends the client a list of boot servers that contain the operating systems available.
2. The client finds the boot server it needs and receives the name of the file to download. The client then downloads the file using Trivial File Transfer Protocol (Trivia File Transfer Protocol) and executes it, which loads the operating system.
3. If a client is equipped with PXE and the server is not, the server ignores the PXE code preventing disruption in the DHCP and Bootstrap Protocol (BP) operations.

Reference:
1. MSDN on PXE
2. Wikipedia on PXE
3. PXE wiki
4. PXE Spec

No comments: