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、挂载本地光盘

PXE安装centos6.5_通过pxe结合kickstart文件来自


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


PXE安装centos6.5_通过pxe结合kickstart文件来自_02           

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

PXE安装centos6.5_通过pxe结合kickstart文件来自_03

   

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



PXE安装centos6.5_通过pxe结合kickstart文件来自_04    

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


  4、安装tftp服务

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

chkconfig tftp on

service xinetd restart

PXE安装centos6.5_通过pxe结合kickstart文件来自_05


  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这个包

PXE安装centos6.5_通过pxe结合kickstart文件来自_06

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


  6、安装http

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

yum -y install httpd

PXE安装centos6.5_通过pxe结合kickstart文件来自_07

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

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

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

PXE安装centos6.5_通过pxe结合kickstart文件来自_08

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

service httpd start


  7、配置kickstart文件

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

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

PXE安装centos6.5_通过pxe结合kickstart文件来自_09

PXE安装centos6.5_通过pxe结合kickstart文件来自_10

PXE安装centos6.5_通过pxe结合kickstart文件来自_11


PXE安装centos6.5_通过pxe结合kickstart文件来自_12

PXE安装centos6.5_通过pxe结合kickstart文件来自_13

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

PXE安装centos6.5_通过pxe结合kickstart文件来自_14


PXE安装centos6.5_通过pxe结合kickstart文件来自_15            


PXE安装centos6.5_通过pxe结合kickstart文件来自_16

PXE安装centos6.5_通过pxe结合kickstart文件来自_17


PXE安装centos6.5_通过pxe结合kickstart文件来自_18

PXE安装centos6.5_通过pxe结合kickstart文件来自_19

PXE安装centos6.5_通过pxe结合kickstart文件来自_20


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

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

PXE安装centos6.5_通过pxe结合kickstart文件来自_21

  8、最后关闭防火墙及selinux

service  iptables stop

chkconfig iptables off

setenforce  0

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