PXE+Kickstart无人值守批量装机
前言
搭建PXE远程安装服务器。PXE是由Intel公司开发的网络引导技术,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。必须满足以下几个前提条件。
1)客户机的网卡支持PXE协议,且主板支持网络引导,目前绝大多数服务器和PC都支持此项。
2)网络中有一台DHCP服务器,以便为客户机自动分配ip,指定引导文件位置
3)服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载。
1.安装前环境准备
Centos7服务器 1台
Centos7的光盘镜像
虚拟机网卡采用NAT模式,不要使用桥接模式,DHCP服务器,在同一局域网多个DHCP服务会有冲突。
VMware的NAT模式的dhcp服务要关闭,避免干扰。
避免干扰建议关闭防火墙和selinux
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #永久关闭
vim /etc/selinux/config # 修改文件永久关闭selinux
SELINUX=disabled # 设置SELINUX的值为disabled
设置静态IP地址
2.部署相关服务
1 安装tftp服务
yum install -y tftp-server #安装服务
systemctl restart tftp #启动服务
2 拷贝系统引导文件,菜单文件到tftp根目录
安装syslinux生成引导文件
yum install -y syslinux
查找引导文件并将其拷贝到/var/lib/tftpboot/目录下
rpm -ql syslinyx|grep pxelinux.0
\cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
3 部署菜单文件,内核,驱动程序
挂载镜像文件到/var/ftp/pub目录下
mount -a 挂载
将isolinux目录下的 vmlinuz vesamenu.c32 initrd.img拷贝到tftp根目录
\cp /var/ftp/pub/isolinux/vmlinuz /var/lib/tftpboot/
\cp /var/ftp/pub/isolinux/vesamenu.c32 /var/lib/tftpboot/
\cp /var/ftp/pub/isolinux/initrd.img /var/lib/tftpboot/
创建菜单文件的目录
mkdir /var/lib/tftpboot/pxelinux.cfg/ -p
拷贝挂载目录下isolinux.cfg文件到菜单目录下并命名为default
cp /var/ftp/pub/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
查看tftp根目录
4 部署DHCP服务
安装dhcp软件
yum install -y dhcp
配置dhcp主配置文件 /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
ip地址段根据自己虚拟机的实际情况修改
重启dhcp服务并设为开机自启
systemctl restart dhcpd
systemctl enable dhcpd
5 部署ftp服务
安装ftp软件vsftpd,不需要任何配置
yum install -y vsftpd
重启服务
systemctl restart vsftpd
systemctl enable vsftpd
3 配置ks应答文件
1 安装system-config-kickstart软件
yum install -y system-config-kickstart
2 图形化界面运行system-config-kickstart
基本配置
安装方法选着ftp
引导程序
分区信息
网络配置选这dhcp
关闭selinux和防火墙
选着安装包
安装前执行脚本
安装后执行的脚本
将文件保存到/var/ftp目录下
3 修改default菜单文件
4 新建虚拟机装机测试
新建虚拟机光盘检测设为自动检测
打开虚拟机