用过syslinux的人应该都知道,可以实现PXE网络启动DOS和网络安装各种Linux(Redhat、CentOS、Debian等),但老版本的syslinux基于TFTP来传输所有的文件,这个传输速度比较慢、不稳定;特别是在跨网段的情况下,好在新版的syslinux增加了一些新的功能,其中就有gPXE和memdisk,gPXE支持通过HTTP、FTP和NFS方式传输文件,这样庞大的安装文件就可以走FTP等方式了,从而大大提高效率和稳定性。而新的memdisk则可以支持将ISO镜像直接载入到客户端内存中。

gPXE的配置方法很简单,只需更改DHCP配置文件,启动指向到gpxelinux.0就可以了。在此我将做一个gPXE服务器用来引导Linux和ISO镜像,实现PXE安装ESXi5和windows server 2008。
PXE需要DHCP、TFTP和FTP服务,因为linux下配置比较繁琐,新手配置起来有点困难,故选择在windows下架设PXE服务器。
 
1. 安装所有组件服务:DHCP使用windows自带的;TFTP服务器使用tftp32/64,当然也可以使用Solarwinds TFTP或3COM的3CDaemon等;FTP服务架设选择使用FileZilla FTP Server,其他FTP服务器软件也皆可。PXE服务器的IP:192.168.123.1
 
2. 组织目录结构和准备文件:在本地C盘根目录下新建tftpboot目录,并在其下新建子目录pxelinux.cfg、kickstart、ESXi5和ISO;最终目录结构如图
使用gPXE网络启动引导ISO和安装ESXi5
 
复制ESXi5安装光盘的所有文件到ESXi5目录下;
将PE和ESXi5的ISO镜像复制到ISO目录下;
复制ESXi5光盘根目录isolinux.cfg到tftpboot\pxelinux.cfg目录下;
 

使用gPXE网络启动引导ISO和安装ESXi5

在tftpboot\kickstart目录下新建ks.txt文
 
3. 设置pxelinux:
首先下载最新的syslinux包,解压syslinux包,提取gpxe\gpxelinux.0、memdisk\memdisk和com32\menu\menu.c32文件放到tftpboot目录下
 

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

所有文件准备就绪就开始配置了,有3个地方需要配置:
Ø tftpboot\kickstart\ks.txt
Ø tftpboot\ESXi5\boot.cfg
 
修改ks.txt如下:
# Accept the EULA
vmaccepteula
#Set root password
#Install on first local disk
install –firstdisk –overwritevmfs
#Config initial network settings
network –bootproto=dhcp –device=vmnic0
 
将tftpboot\pxelinux.cfg\isolinux.cfg文件复制改名为default,并修改格式如下图:
 

使用gPXE网络启动引导ISO和安装ESXi5

 

 

使用gPXE网络启动引导ISO和安装ESXi5

 
 
注意不要破坏文件的格式!主要修改菜单和kernel相关参数
DEFAULT ftp://192.168.123.1/menu.c32
MENU TITLE ESXi-5.0.0-469512-standard Boot Menu
NOHALT 1
PROMPT 0
TIMEOUT 80
LABEL install
 KERNEL ftp://192.168.123.1/ESXi5/mboot.c32
 APPEND -c ftp://192.168.123.1/ESXi5/boot.cfg
 MENU LABEL ESXi-5.0.0-469512-standard ^Installer
LABEL hddboot
 LOCALBOOT 0x80
 MENU LABEL ^Boot from local disk
 
gPXE引导ISO镜像的设置,此处以PE镜像做说明,PE从网络上下载的!ESXi5的ISO使用同一方法
LABEL Mounting windowsPE’ISO
MENU LABEL Mounting ^PE4.0 ISO
initrd ftp://192.168.123.1/ISO/Deepin_PE4.0.iso
append raw iso
 
 
 
 
 

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

 
4. 设置DHCP、TFTP和FTP服务!这里只介绍PXE相关的操作,基本安装和设置不做解释。主要是设置DHCP的066和067作用域选项;tftp服务和目录设置,FTP帐号和共享发布。
DHCP的设置如下:
 

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

 
TFTP服务的设置如下:
 

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

 
 
 
FTP服务的设置如下:
 
 

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

 

使用gPXE网络启动引导ISO和安装ESXi5

 
 

使用gPXE网络启动引导ISO和安装ESXi5

 
最后**DHCP、TFTP和测试下FTP
到此,所有PXE服务器的设置已经完毕!
5. 测试客户端PXE启动安装系统
 
 
 

使用gPXE网络启动引导ISO和安装ESXi5

 
 

使用gPXE网络启动引导ISO和安装ESXi5

 
 
观察PXE服务器上的服务log,可以看到客户端在下载相应文件!实现FTP传输文件了。
 

使用gPXE网络启动引导ISO和安装ESXi5

 
 
通过测试传送文件和挂载ISO镜像两种方式安装ESXi5都没有问题。