最近在定制Centos 7系统,需要经常重复安装测试,如果每次都要重新打包很浪费时间,于是就想到了用PXE的方式全自动安装。
一、DHCP安装配置
1、安装DHCP
# yum -y install dhcp
2、配置DHCP
# vim /etc/dhcpd.conf ddns-update-style interim; ignore client-updates; #allow booting; allow bootp; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.254; ##网关 option subnet-mask 255.255.255.0; option time-offset -18000; # Eastern Standard Time range dynamic-bootp 192.168.1.10 192.168.1.20; ##dhcp地址范围 default-lease-time 21600; max-lease-time 43200; next-server 192.168.1.10; ##tftp服务器ip filename "pxelinux.0"; ##告诉从TFTP 根目录下载boot loader } # /etc/init.d/dhcpd restart ##重启DHCP
3、修改DHCP监听网口
DHCP默认会识别机器的第一张网卡当做监听口,如果我们需要设置其他网卡做为监听口需要修改dhcp文件
# vim /etc/sysconfig/dhcpd DHCPDARGS=eth1 ##监听哪个就修改为哪个,修改后重启dhcp服务
二、TFTP安装配置
1、安装TFTP
# yum install tftp-server
2、配置TFTP
# vim /etc/xinetd.d/tftp service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot ##tftpboot路径 per_source = 11 cps = 100 2 flags = IPv4 } # mkdir -p /var/lib/tftpboot ##创建tftpboot文件夹,所有通过tftp提供的资料都要放在这个路径下 # /etc/init.d/xinetd restart ##重启tftp # chkconfig xinetd on ##设置开机启动 # netstat -tulnp | grep xinetd ##查看tftp服务 注意有端口69以及xinetd这个启动服务名才对
三、展示菜单配置
可以直接在ISO包的isolinux目录下拷贝出vesamenu.c32文件放在tftpboot目录下;也可以安装syslinux,从里面拿出vesamenu.c32文件。
# yum install syslinux # cp /usr/share/syslinux/vesamenu.c32 > /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ # mkdir /var/lib/tftpboot/pxelinux.cfg # ll /var/lib/tftpboot/ -rw-r--r-- 1 root root 26771 Aug 12 17:38 pxelinux.0 ##开机管理程序 drwxr-xr-x 2 root root 4096 Aug 17 15:56 pxelinux.cfg ##开机的选项设定 -rw-r--r-- 1 root root 153104 Aug 15 15:02 vesamenu.c32 ##图形化界面菜单
四、设定开机选项
PXE用户是通过网络向TFTP获取开机管理程序核心档案,那么pxelinux.0这个开机管理程序又可以去抓取预设的开机选项设定(pxelinux.cfg/default中的内容)。
# vim default default vesamenu.c32 ##使用 vesamenu.c32 这个图形界面 prompt 1 timeout 100 ##单位为 0.1秒 display boot.msg ##提供一些额外的信息,让使用者更清楚菜单意思 label intranet ##第一个菜单的选项 menu label ^Install intranet system CentOS 7 ##菜单名称 kernel ./pxelinux.cfg/vmlinuz ##告诉系统去哪里获取ks文件 append ks=http://192.168.1.10/intranet/7/7.1/ks.cfg initrd=./pxelinux.cfg/initrd.img label online ##第二个菜单的选项 menu label Install online system CentOS 7 menu default kernel ./pxelinux.cfg/vmlinuz append ks=http://192.16.1.10/7/7.1/ks.cfg initrd=./pxelinux.cfg/initrd.img
其中vmlinuz和initrd.img也可以冲ISO中的isolinux目录下获取,放在和default同一层目录下。
五、KS文件配置
上面搭建好了PXE环境,接下来对ks文件进行修改才能达到无人值守安装。
把原来的cdron安装方式改成http # url --url=http://192.168.1.10/intranet/7/7.1 ##ISO文件放在这个路径下 - base - images - isolinux - ks.cfg - LiveOS - Packages - repodata - scripts

聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客
2016年9月1日 下午3:29 沙发
谢谢分享,顶一个!