在大规模的Linux应用环境中,利用传统的光驱、U盘安装操作系统方式过于缓慢,如web群集,分布式计算等,需要为数十乃至上百台服务器裸机快速安装系统,这里就需要用到PXE网络装机以及实现无人值守自动安装。

1、安装所需服务

yum install tftp-server -y

// tftp服务提供压缩内核和系统引导程序

vi /etc/xinetd.d/tftp

service tftp
{
    socket_type             = dgram
    protocol                = udp
    wait                    = yes
    user                    = root
    server                  = /usr/sbin/in.tftpd
    server_args             = -s /var/lib/tftpboot //(-c允许上传)
    disable                 = no  //开启tftp服务
    per_source              = 11
    cps                     = 100 2
    flags                   = IPv4
}

yum install dhcpd -y

// dhcp服务自动分配IP,使新机器和服务器在同一段落互联互通

vi /etc/dhcp/dhcpd.conf
# Use this to enble / disable dynamic dns updates globally.
ddns-update-style none;  //默认关闭,打开此选项,让dhcp服务支持DNS动态更新

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.
next-server 192.168.100.107;  //指定TFTP服务器地址//
filename "/pxelinux.0";  //引导文件TFTP上的位置//
subnet 192.168.100.0 netmask 255.255.255.0 {
        range 192.168.100.20 192.168.100.50;
        option routers 192.168.100.107; //注意此处网关为本服务器IP
}

yum install vsftp -y

// ftp服务用于挂载ISO系统镜像

mount /dev/sr0 /var/ftp/pub
//直接将系统镜像文件挂载到ftp共享目录下

2、复制网络启动所需文件到tftp服务器根目录下

yum -y instll syslinux
//安装引导加载程序//

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 
//复制引导加载程序到tftp服务器根目录下
mkdir /var/lib/tftpboot/pxelinux.cfg
//创建内核调用目录
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //安装菜单
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 //图形化安装菜单

3、启动服务

service dhcpd restart

service vsftpd restart

service xinetd restart

service iptables stop
//不关闭没法下载TFTP中的引导程序//
setenforce 0

到此完成服务器端配置,接下来,图解在一台新的机器在启动安装时关键步骤:
PXE高效批量网络装机
选择URL安装时,下面需要指定镜像文件所在位置:
PXE高效批量网络装机
指定完成后,点击OK,即可自动安装。

4、实现Kickstart无人值守安装

yum -y install system-config-kickstart

安装自动应答文件

图形界面打开kickstart进行配置 (注意 FTP目录,指定为pub)

PXE高效批量网络装机
PXE高效批量网络装机
PXE高效批量网络装机
PXE高效批量网络装机
PXE高效批量网络装机
PXE高效批量网络装机

默认保存在/root/ks.cfg中

PXE高效批量网络装机

mkdir /var/ftp/rhel6

//创建默认应答配置模板文件目录

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

//将自动应答配置文件模板复制到ftp目录下,方便加载ISO镜像文件时执行

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

//配置tftp系统引导文件

default vesamenu.c32
prompt 0  //设置响应时间
timeout 1 //设置超时时间
…………
label linux
menu label ^Install orupgrade an existing system
menu default
kernel vmlinuz
append ks=ftp://192.168.100.102/rhel6/ks.cfg initrd=initrd.img 
//加入自动配置文件位置

到此Kickstart无人值守安装配置完成,选择一台新机器连接重启即可自动无需手动操作安装。