部署PXE远程安装服务和Kickstart无人值守安装
应用场景
- 在我们平常的工作中,系统一般都是单个安装,但这种方法仅适用于需要安装的服务器较少的情况,一旦现场的裸机较多,手动显然是不可行的,因此PXE远程安装以及Kickstart无人值守安装就显得十分方便。
搭建PXE远程安装服务器
1.安装并启用TFTP服务
- TFTP是简单文件传输协议,适合小文件传输。TFTP服务默认由xinetd服务进行管理,UDP端口为69.
xinetd是新一代的网络守护进程服务程序,常用来管理多种轻量级Lnternet服务
yum -y install tftp-server xinetd
- 修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp
protocol = udp
wait = no
server_args = -s /var/lib/tftpboot
disable = no
- 开启设备并设置开机自启
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
2.安装并启用DHCP
- 安装
yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
- 修改DHCP服务的配置文件
vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
next-server 192.168.199.10;
filename "pxelinux.0";
subnet 192.168.199.0 netmask 255.255.255.0 {
range 192.168.199.11 192.168.199.19;
option routers 192.168.199.10;
}
- 开启设备并设置开机自启
systemctl start dhcpd
systemctl enable dhcpd
3,准备Linux内核,初始化镜像文件
cd /mnt/images/pxeboot
cp vmlinuz /var/lib/tftpboot/
cp initrd.img /var/lib/tftpboot/
4.准备PXE引导程序
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
5.安装FTP服务,准备CentOS7安装源
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7
systemctl start vsftpd
systemctl enable vsftpd
6.配置启动菜单文件
- 默认的启动菜单文件在TFTP根目录的pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.199.10/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.199.10/centos7
7.关闭防火墙,验证PXE网络安装
systemctl stop firewalld.service
setenforce 0
在完成以上操作之后,我们就可以通过网络引导进行安装了。因为我是在VMware中进行实验的,我这面就说一下操作步骤,首先在启动界面引导的时候,按esc就可以进入界面,然后选择network boot from intel e1000,通过网络引导进行安装。
- 到了这一步就基本已经完成了,这就是已经通过网络引导进行安装成功了。
实现 Kickstart 无人值守安装
1.安装system-config-kickstart工具
yum install -y system-config-kickstart
2.打开"Kickstart 配置程序" 窗口
- 这个窗口位于左上角的应用程序里面的系统工具。
3.配置kickstart选项
关于kickstart的基本配置都在下面,我们按照图片一步一步设置即可
- 这一点我需要补充一下,这个安装后脚本是可设置可不设置,我这面设置的是安装后写入的脚本,这面是自动安装yum源仓库。
- 然后我们将设置好的Kickstart自动应答文件存入root下面的ks.cfg中。
-
然后我们把root里面的文件复制到/var/ftp/ks.cfg中
-
配置需要安装的安装包
将/root/anaconda-ks.cfg里面的%packages到%end复制到/var/ftp/ks.cfg中
- 编辑引导菜单文件 default,添加ks引导参数
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.199.10/centos7 ks=ftp://192.168.199.10/ks.cfg
验证无人值守安装
-
当我们每次以PXE方式引导的时候,都将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS7系统
-
下面就放几张无人值守安装的截图
无人值守安装可能遇到的问题
- 在进行加载tftp的时候,可能会遇到连接超时的情况,这里是因为防火墙没有关闭导致的,将防火墙关闭就ok了。(图片我忘记截图了,当时被这个问题搞得炸裂)