1、概述

PXE(Pre-boot Execution Environment)预启动执行环境,在操作系统之前运行,可用于远程安装

服务端:①运行FTP或HTTP服务,提供网络安装源

②运行DHCP服务,用来分配地址、定位引导程序

③运行TFTP服务,提供引导程序下载

客户端:网卡支持PXE协议、主板支持网络启动

2、搭建PXE网络服务器

1)构建vsftpd服务,准备安装源

rpm -ivh /mnt/iso/Packages/vsftpd-2.2.2-6.el6_0.1.i686.rpm

vi /etc/vsftpd/vsftpd.conf

anon_root=/mnt       

service vsftpd start

chkconfig vsftpd on

vi /etc/yum.repos.d/rhel6.repo

[rhel6]

name=rhel6

baseurl=ftp://192.168.4.254/iso

enabled=1

gpgcheck=0

2)构建TFTP服务,准备内核、初始化镜像、引导程序、启动菜单

yum -y install tftp-server

vi /etc/xinetd.d/tftp

disable = no

service xinetd start

cd /mnt/iso/images/pxeboot/

cp vmlinuz initrd.img /var/lib/tftpboot/

yum -y install syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg

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

default auto

prompt 1

label auto

    kernel vmlinuz

    append initrd=initrd.img devfs=nomount ramdisk_size=8192

label linux text

    kernel vmlinuz

    append text initrd=initrd.img devfs=nomount ramdisk_size=8192

label linux rescue

    kernel vmlinuz

append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192

注:TFTP服务默认由xinetd超级服务进行管理,使用udp 69端口

3)构建DHCP服务,自动分配地址并设置TFTP参数,告知引导文件位置

yum -y install dhcp

vi /etc/dhcp/dhcpd.conf

subnet 192.168.4.0 netmask 255.255.255.0 {

  range 192.168.4.100 192.168.4.200;

  next-server 192.168.4.254;

  filename "pxelinux.0";

}

service dhcpd start

3、kickstart无人值守安装

创建应答文件,预先定义好各种安装设置,从而实现全自动化安装

yum -y install system-config-kickstart

system-config-kickstart

cp /root/ks.cfg /mnt/ks.cfg

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

append  ks=ftp://192.168.4.254/ks.cfg  initrd=initrd.img devfs=nomount ramdisk_size=8092

注:①关闭Vmware自带的dhcp服务,避免dhcp服务相互干扰

②真实环境中通过PXE网络装机时,在检测硬件的时候时间会比较长,需要多等会

③vsftpd报错“226 Transfer done(but failed to open directory)”,解决:禁用SELINUX并重启