PXE批量部署的优点
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
PXE(Preboot eXcution Enviroment)
预启动执行环境,在操作系统之前运行
服务端
运行DHCP服务,用来分配地址、定位引导程序
运行TFTP服务,提供引导程序下载
客户端
网卡支持PXE协议
主板支持网络引导
一台图形化界面安装Centos 7.4系统的服务器,其中包含三个服务:DHCP、TFTP、FTP
三个服务作用
DHCP让客户端获取IP地址,能主动联网PXE服务器;配置中指向TFTP
TFTP快速加载引导程序,引导程序的容量较小,默认配置文件指向FTP镜像位置
FTP TCP:21端口,连接服务;20端口传输数据,系统镜像存放
需要两张网卡,一张做桥接,一张做VMnet1模式
分配的IP地址
安装所需要的服务(tftp-server/dhcp/ftp)
yum -y install tftp-server
vi /etc/xinetd.d/tftp
server_args = -s /var/lib/tftpboot -c (指定存储路径 -c:允许上传)
disable = no (开启tftp)
yum -y install dhcp
vi /etc/dhcp/dhcpd.conf
ddns-update-style none; //支持DNS动态更新,一般选择关闭//
next-server 192.168.100.10; //指定TFTP服务器地址//
filename "/pxelinux.0"; //引导文件TFTP上的位置//
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.150 192.168.100.200;
option routers 192.168.100.10;
option domain-name-servers 8.8.8.8, 114.114.114.114;
}
将光盘发布以ftp协议发布
yum -y install vsftpd
mount /dev/cdrom /var/ftp/pub # 让光盘挂载到共享目录下,让ftp客户机可访问光盘,目的是装机用。
复制网络启动所需要文件到服务器的根目录下
yum -y install syslinux //安装引导加载程序//
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
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 //图形化启动菜单
修改安装的配置文件
[root@localhost ]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto # 默认图形化安装(当你选择的时候什么也不选时自动加载的引导方式)
prompt 1 # 需要用户选择
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.1.100/pub # 指定图形化界面的光盘引导路径
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.1.100/pub # 指定文本的光盘引导路径
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.1.100/pub # 指定救援模式的光盘引导路径
启动所有服务器
启动所有服务器:
systemctl start tftp
service dhcpd restart
service vsftpd restart
yum -y install xinetd
service xinetd start
chkconfig --level 35 xinetd on
chkconfig --level 35 tftp on
service firewalld stop //不关闭没法下载TFTP中的引导程序//
setenforce 0
yum -y install system-config-kickstart #安装文件,可以图形化界面向导来配置安装应答文件。
图形界面打开kickstart进行配置 (注意 FTP目录 指定为pub)
安装后脚本设置:
cd /etc/yum.repos.d
rm -f *
echo -e "[base]" >> aa.repo
echo -e "baseurl=ftp://192.168.100.10/pub" >> aa.repo
echo -e "gpgcheck=0" >>aa.repo
脚本默认保存在/root/ks.cfg中
备注:修改ks.cfg内容
将服务器本地anaconda.ks.cfg内的%packages......%end内容即为gnome桌面开发环境必装软件添加进ks.cfg
cp /root/ks.cfg /var/ftp/ # 将应答文件考贝至ftp共享目录,目的是让客户机可访问
保存脚本
将/root目录下的anaconda-ks.cfg文件中以下内容复制到ks.cfg的末行
%packages
@^gnome-desktop-environment
@backup-client
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-apps
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@multimedia
@network-file-system-client
@networkmanager-submodules
@office-suite
@print-client
@security-tools
@smart-card
@x11
chrony
kexec-tools
%end
vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0 # 无需用户选择
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.10/pub ks=ftp://192.168.1.100/ks.cfg
# 指定引导光盘的路径及应答文件的路径
-------------------客户机设置:-------------
客户机重启虚拟机,将bios的boot选项选择为network启动方式。