PXEIntel公司开发的技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并加载安装文件或者整个操作系统。若要搭建PXE网络体系,需要满足以下几个条件:

l  客户机的网卡支持PXE协议,且主板支持网络引导。

l  网络中有一台DHCP服务器以便客户机自动分配地址、指定引导文件文件位置。

l  服务器通过TFTP提供引导镜像文件的下载

 

实验准备

一台Linux服务器(IP:192.168.175.106/24),提供dhcp服务,ftp服务和tftp-server服务。

一台新建的空白虚拟机(如需要需更换网络启动方式)

 

PXE自动装机服务搭建步骤

1. 挂载镜像文件,创建yum仓库


2.搭建tftp-server服务

2.1 安装tftp-server软件包

yum -y install tftp-server

2.2 修改tftp服务配置文件

vim /etc/xinetd.d/tftp

protocol   = udp                     #TFTP服务采用UDP协议、端口号69

wait       = no                      #yes表示客户机一台一台连接,no表示可以多台一起连接

server_args  = -s /var/lib/tftpboot  #指定TFTP根目录

disable    = no                      #开启TFTP服务

 

3.搭建DHCP服务

3.1 安装dhcp软件包

yum -y install dhcp

3.2 修改dhcp服务配置文件

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcp.conf

ddns-update-style none;                  #关闭DNS动态更新

next-server 192.168.175.106;             #指定TFTP服务器地址

filename "/pxelinux.0";                  #引导文件TFTP上的位置

subnet 192.168.100.0 netmask 255.255.255.0 {

range  192.168.175.10 192.168.175.20;

option routers 192.168.175.106;     #网关指向PXE服务器的IP地址

}

 

4.搭建FTP服务

4.1安装vsftp软件包

yum -y install vsftpd

4.2 将光盘挂载到ftp服务器的站点,归档自动装机所需文件

mount /dev/sr0 /var/ftp/pub

 

5.安装引导加载程序

yum -y install syslinux

 

6.复制网络自动装机启动需要的文件到tftp服务的根目录下

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/        #引导加载程序

cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/        #初始化镜像文件(linux引导加载模块)

cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/           #压缩内核

cp  /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/           #图形化安装菜单

mkdir /var/lib/tftpboot/pxelinux.cfg 

cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default     #默认的启动菜单文件

 

7.设置无人值守安装功能

7.1 安装system-config-kickstart软件包

yum -y install system-config-kickstart

7.2 配置的应答参数

 

7.3将应答文件复制到FTP的站点内。

mkdir /var/ftp/rhel6                  #创建rhel6的文件夹

cp /root/ks.cfg /var/ftp/rhel6/

7.4 配置安装菜单文件

vim /var/lib/tftpboot/pxelinux.cfg/default

default vesamenu.c32

prompt 0

timeout 1

label linux

  menu label ^Install or upgrade an existing system

  menu default

  kernel vmlinuz

  append ks=ftp://192.168.175.106/rhel6/ks.cfg initrd=initrd.img

 

8. 启动所有的服务,关闭Linux防火墙及selinux

service dhcpd restart       #dhcp服务

service vsftpd restart      #ftp服务

service xinetd start        #tftp服务

service iptables stop

setenforce 0

 

9.开启新建的空白主机即可自动安装系统