PXE(Preboot Execute Environment)预启动执行环境,为Client/Server架构。在启动过程中,终端要求服务器分配IP地址,再通过TFTP协议下载启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置。
首先我们需要搭建一些服务,如HTTP、TFTP、DHCP等。
[root@server ~]# yum install httpd dhcp tftp-server syslinux -y
###
httpd ##通过http共享安装资源
dhcp ##分配ip地址,并让客户端读取pexlinux.0文件
pexlinux.0 ##预安装环境 头文件,用来指定读取后续文件的程序
tftp-server ##提供tftp协议,令客户主机可以读取到预安装环境
syslinux ##提供pexlinux.0文件
启用tftp服务
##修改配置文件
[root@server ~]# 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
disable = no ##tftp服务开启
per_source = 11
cps = 100 2
flags = IPv4
}
##重启服务
[root@server ~]# systemctl restart xinetd
##查看状态
[root@server ~]# chkconfig --list
启用dhcp服务
[root@server ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@server ~]# vim /etc/dhcp/dhcpd.conf
# option definitions common to all supported networks...
option domain-name "example.com"; ##客户主机域名
option domain-name-servers 10.0.0.10; ##客户主机获得到的dns
default-lease-time 600; ##默认租约期
max-lease-time 7200; ##最长租约期
log-facility local7; ##日志级别
subnet 172.25.254.0 netmask 255.255.255.0 { ##网段、子网掩码
range 172.25.254.50 172.25.254.70; ##IP地址池
option routers 172.25.254.80; ##客户端获得到的网关
filename "pxelinux.0"; ##客户主机获得的预安装环境 头文件
next-server 172.25.254.143; ##指定头文件所在主机的ip
}
[root@server ~]# systemctl start dhcpd
[root@server ~]# systemctl enable dhcpd
ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'
配置安装源和预安装环境
###安装源###
[root@server ~]# systemctl start httpd
[root@server ~]# mkdir /var/www/html/rhel7.0
[root@server ~]# mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/
[root@server ~]# echo mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/ >> /etc/rc.d/rc.local
[root@server ~]# chmod +x /etc/rc.d/rc.local
###预安装环境###
[root@server ~]# cp /var/www/html/rhel7.0/isolinux/* /var/lib/tftpboot/
[root@server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@server ~]# cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
###准备安装自动应答文件###
[root@server ~]# yum install system-config-kickstart.noarch -y
[root@server ~]# system-config-kickstart ##执行kickstart,依次选择相关配置,保存
[root@server ~]# vim /var/www/html/ks.cfg
%packages ##指定安装包
@base ##安装包
%end
%post ##安装完成后执行内容
安装后执行的命令
%end
###设置预安装###
[root@server ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
###菜单样式###
menu clear
menu background splash.png ##背景图片
menu title
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13
###菜单内容###
label linux
menu default ##光标默认停留位置
menu label ^Install Red Hat Enterprise Linux 7.0 ##显示名
kernel vmlinuz
append initrd=initrd.img inst.stage2=http://172.25.254.143/rhel7 ks=http://172.25.254.143/ks.cfg quiet ##安装源及应答文件位置
###可以设置多个应答文件和安装源
通过网络启动即可进入我们配置的菜单了