PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户?)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux等。

服务器环境:

  dhcp服务,centos6.5  tftp  httpd  syslinux

基础服务安装配置

  首先安装软件我们得配置yum仓库

  1、挂载本地光盘

wKiom1ed7IzBLscDAAAZo9k3ORY438.jpg-wh_50


  2、配置yum仓库,编辑/etc/yum.repos.d目录下以repo结尾的文件


wKiom1ed7NeTNth_AABj-RQ40TY195.jpg-wh_50           

  3、安装dhcp服务(我这里已经安装过,安装时会提示已经安装)

wKiom1ed7X3y0wO1AABGW-O5Rbs471.jpg-wh_50

   

安装完成后,我们就开始配置dhcp服务器,我的服务器地址是10.1.252.100/16,我们需要将dhcp配置我的主机地址在同一个网段里,还有就是,刚安装dhcp主配置文件是没有的,需要将/usr/share/doc/dhcp-version/dhcpd.conf.sample文件复制到/etc/dhcp/dhcpd.conf



wKiom1ed7qyh917NAADDxtf31AY516.jpg-wh_50    

配置好之后,我们开始启动dhcp服务,service  dhcpd  start


  4、安装tftp服务

由于tftp服务瞬时守护进程,所以我们还需要安装xinetd(有的话就不用装了),tftp服务是由xinetd超级守护进程管理的,我这里已经安装,安装之后只需要只需要启动服务即可,启动方法如下:

chkconfig tftp on

service xinetd restart

wKiom1ed8BSgYIsFAABXZqofPA8843.jpg-wh_50


  5、复制pxe启动需要的文件

将所需要的文件复制到tftp服务的根目录下,这里我从光盘里面复制过来,我光盘是挂载在/mnt/目录下

cp  /mnt/p_w_picpaths/pxelinux/{vmlinuz,initrd.img}  /var/lib/tftpboot/ 复制内核文件及根文件系统到tftp根目录下

cp /mnt/isolinux/{vesamenu.c32,splash.jpg,boot.msg} /var/lib/tftpboot/

复制启动菜单文件时,最好在/var/lib/tftpboot/目录下创建一个名为pxelinux.cfg,并且将文件复制过来改名为default

mkdir /var/lib/tftpboot/pxelinux.cfg

cp /mnt/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

还有一个网卡文件需要提供,但系统默认是没有安装的,所以我们需要安装syslinux这个包

wKiom1ed8syw8d7YAAA9w-saAFE366.jpg-wh_50

安装完成后,将/usr/share/syslinux/目录下的pxelinux.0复制到//var/lib/tftpboot/下


  6、安装http

安装http是为了提供安装时所需要目录树,也就是装操作系统需要的镜像文件

yum -y install httpd

wKioL1ed9YKhSScyAAA_ACs3XUo736.jpg-wh_50

安装完成后,我们web服务根目录下创建一个目录

mkdir  /var/www/html/centos6,之后我们将光盘里面的内容挂载到centos6这个目录里面来,

mount --bind  /mnt/  /var/www/html/centos6

wKioL1ed9mzj8emTAABG3LxxUdE832.jpg-wh_50

一切配置完成之后我们来启动httpd服务

service httpd start


  7、配置kickstart文件

我这里是将系统上的kickstart文件直接复制过来修改里面的内容的,如果没有的话,还有一种方法就是安装一个图形工具,system-config-kickstart,来完成kickstart文件的生成。这里我简单的讲解一下

yum -y install system-config-kickstart,安装完成之后我们在命令行里面输入system-config-kickstart,就会弹出一个图形界面

wKiom1ed9M_DUw8pAAD2keLgWp0128.jpg-wh_50

wKiom1ed9QPSJ5A8AABrhuP9pH4210.jpg-wh_50

wKiom1ed9rbDbFc1AAC1Lo2v3Ps266.jpg-wh_50


wKioL1ed9ySjCeF2AADSS5TmVLk279.jpg-wh_50

wKiom1ed933j1mx6AAC9h9wgvA0231.jpg-wh_50

认证配置,这里保持默认就可

wKioL1ed97PAsZPLAACfSWpdzJw750.jpg-wh_50


wKioL1ed9-6xxkTVAACEkH_Uj8A435.jpg-wh_50            


wKioL1ed-EDijgGDAABvFSMDv6Q812.jpg-wh_50

wKiom1ed-HGAhyiyAADZpbJnX34722.jpg-wh_50


wKiom1ed-KujXue2AAChwOidmrM484.jpg-wh_50

wKiom1ed-Q3xcOh3AACyrUCMqY8422.jpg-wh_50

wKioL1ed-X6B-Af8AADS3r5Gc5E119.jpg-wh_50


将配置完成的kickstart文件复制到/var/www/html/ks.cfg 并且给这个文件640的权限

最后我们来修改/var/lib/tftpboot/pxelinux.cfg/default文件

wKiom1ed-m_jYFPNAADe8pNGqFU516.jpg-wh_50

  8、最后关闭防火墙及selinux

service  iptables stop

chkconfig iptables off

setenforce  0

  9、创建虚拟机将网络类型设置和服务一样都使用仅主机模式,最后开机即可,等待系统安装完成