简介

PXE:Pre-boot execution Environment,预启动执行环境,是由Inte公司开发的网络引导技术,工作在 Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统

安装条件

1、客户机的网卡支持PXE协议(集成 BOOTROM芯片),且主板支持网络引导。目前绝大多数服务器和大多数PC都能够提供此支持,只需在BIOS设置中允许从Network或LAN启动即可
2、网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置
3、服务器通过TFTP( Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。(之所以简单,不会像ftp一样存放大容量的文件,但是响应、执行速度比ftp快的多)

实验环境

系统环境:centos6.5
服务器端:192.168.1.77/24
yum挂载目录:/mnt/sr0
ftp站点目录:/var/ftp/redhat6

搭建步骤:

一、准备工作

1、服务器端、客户端关闭防火墙、Selinux

[root@Init5 ~]# vim /etc/sysconfig/selinux
PXE结合Kickstart实现无人值守安装CentOS6.5

[root@Init5 ~]# chkconfig iptables off #开机启动关闭防火墙
PXE结合Kickstart实现无人值守安装CentOS6.5

二、搭建PXE远程安装服务器

1、准备安装CentOS6安装源

[root@Init5 ~]# mount /dev/sr0 /mnt/sr0/            #挂载广盘目录
[root@Init5 ~]# yum -y install vsftpd               #安装vsftpd服务
[root@Init5 ~]# mkdir /var/ftp/redhat6              #ftp站点创建共享目录
[root@Init5 ~]# cp -rf /mnt/sr0/* /var/ftp/redhat6/ #将光盘文件拷贝到站点中
[root@Init5 ~]# /etc/init.d/vsftpd start          #启动ftp服务

[root@Init5 ~]# vim /etc/yum.repos.d/local.repo

PXE结合Kickstart实现无人值守安装CentOS6.5

2、安装并启用TFTP服务

[root@Init5 ~]# yum -y install tftp-server
[root@Init5 ~]# vim /etc/xinetd.d/tftp  #tftp是交由xinetd管理,xinetd目录下有对应的和安装的软件包相同的文件

PXE结合Kickstart实现无人值守安装CentOS6.5

[root@Init5 ~]# /etc/init.d/xinetd start #启动服务

[root@Init5 ~]# tail /var/log/messages 

PXE结合Kickstart实现无人值守安装CentOS6.5

3、准备内核、初始化镜像文件

[root@Init5 ~]# cd /mnt/sr0/images/pxeboot/
[root@Init5 pxeboot]# ls

PXE结合Kickstart实现无人值守安装CentOS6.5

[root@Init5 pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/ #将内核和镜像文件拷贝到tftp的根目录下

4、准备PXE引导程序、启动菜单文件、图形化安装菜单

[root@Init5 ~]# yum -y install syslinux #pxe的引导程序名字是pxellinux.0,需要手工安装
[root@Init5 ~]# cd /usr/share/syslinux/
[root@Init5 syslinux]# ls

PXE结合Kickstart实现无人值守安装CentOS6.5

[root@Init5 syslinux]# cp pxelinux.0 /var/lib/tftpboot/ #将引导程序放在tftp的根目录下,注意此时内核、镜像文件、引导程序已经安装完成

[root@Init5 ~]# cd /mnt/sr0/isolinux/
[root@Init5 isolinux]# cp isolinux.cfg /var/lib/tftpboot/  #将启动菜单放入tftp根目录下
[root@Init5 isolinux]# cp vesamenu.c32 /var/lib/tftpboot/  #将图形化安装菜单放入tftp根目录下

[root@Init5 ~]# cd /var/lib/tftpboot/
[root@Init5 tftpboot]# mkdir pxelinux.cfg #创建启动菜单目录
[root@Init5 tftpboot]# cp isolinux.cfg pxelinux.cfg/default #将启动菜单放入到固定目录中,并且修改文件名为default,硬性指标!

5、安装并启用DHCP服务

[root@Init5 ~]# yum -y install dhcp
[root@Init5 ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 
[root@Init5 ~]# vim /etc/dhcp/dhcpd.conf

PXE结合Kickstart实现无人值守安装CentOS6.5

[root@Init5 ~]# /etc/init.d/dhcpd start

三、验证PXE网络安装,为客户机安装系统

1、调整BIOS设置,以便从网络引导

PXE结合Kickstart实现无人值守安装CentOS6.5

2、自动获取IP地址,并指定CentOS安装源

PXE结合Kickstart实现无人值守安装CentOS6.5

3、陆续安装

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

四、Kickstart无人值守安装

1、配置安装应答参数

[root@Init5 ~]# yum -y install system-config-kickstart
PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5
PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

PXE结合Kickstart实现无人值守安装CentOS6.5

2、保存自动应答文件

PXE结合Kickstart实现无人值守安装CentOS6.5

[root@Init5 ~]# vim ks.cfg #将其保存到root家目录中

PXE结合Kickstart实现无人值守安装CentOS6.5

五、PXE与kickstart结合使用实现批量自动装机

1、将应答文件部署在客户机可访问的位置

[root@Init5 ~]# cp ks.cfg /var/ftp/redhat6/
[root@Init5 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

PXE结合Kickstart实现无人值守安装CentOS6.5

2、新建虚拟机,测试

PXE结合Kickstart实现无人值守安装CentOS6.5

3、安装过程自动化,略……

4、验证无人值守安装

PXE结合Kickstart实现无人值守安装CentOS6.5