一、PXE高效批量网络装机
1、PXE批量部署的优点
- 规模化:同时装配多台服务器
- 自动化:安装系统、配置各种服务
- 远程实现:不需要光盘、U盘等安装介质
2、PXE:预启动执行环境
服务端:
- 运行DHCP服务,用来分配地址,定位引导程序
- 运行TFTP服务,提供引导程序下载
客户端:
- 网卡支持PXE协议
- 主板支持网络引导
二、配置PXE装机服务器
1、基本部署过程
①、准备CentOS 7安装源(yum仓库)
②、安装并启动TFTP服务
③、提供Linux内核,PXE引导程序等
④、安装并启动DHCP服务
⑤、配置启动菜单
2、准备CentOS 7 安装源
CentOS7安装源支持HTTP、FTP、NFS、等协议发布
- yum -y install vsftpd
- mkdir /var/ftp/centos7
- cp -rf /media/cdrom/* /var/ftp/centos7
- systemctl start vsftpd
3、安装并启用TFTP服务
- 安装tftp-server软件包,启动tftp服务
- 配置文件位于/etc/xinetd.d/tftp
- yum -y install tftp-server
- vi /etc/xinetd.d/tftp ##修改配置文件
4、准备Linux内核,PXE引导程序
- Linux内核,初始化镜像文件分别为vmlinux和initrd.img
- 引导程序为pxelinux.0,由软件包syslinux提供
5、DHCP服务的PXE设置
yum -y install dhcp
vi /etc/dhcp/dhcpd.conf
next-server 192.168.10.10 ##指定ftp服务器的地址
filename “pxelinux.0”##指定要下载的进程文件
systemctl start dhcpd
systemctl enable dhcpd
6、配置启动菜单文件
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpbood/pxelinux.cfg/default##启动菜单
vi /var/lib/tftpboot/pxeliunx.cfg/default
promt 1 ##手动
label auto ##自动模式
append text initrd ##文本模式
append rescue initrd ##救援模式
7、验证PXE网络安装
为客户机安装系统
- 调整BIOS设置,以便从网络引导
- 自动获取IP地址,并指定CentOS 7 安装源
- 其余过程与本地安装相同
三、kickstart无人值守技术
kickstart创建应答文件,应答文件来源:
- 编辑CentOS 7 系统中现有的应答文件
- /root/anaconda-ks.cfg
- 使用system-config-kickstart工具创建新的应答文件
- 需要安装system-config-kickstart软件包
四、项目实践
需求:利用PXE在虚拟机上完成自动化装机
1、安装tftp服务,并修改配置文件
yum -y install tftp-server.x86_64
vi /etc/xinetd.d/tftp
2、安装DHCP服务,并修改配置文件
yum -y install dhcp.x86_64
vi /etc/dhcp/dhcpd.conf
3、安装vsftp服务
yum -y install vsftpd.x86_64
将光盘以ftp协议发布
mount /dev/cdrom /var/ftp/pub/
4、复制网络启动所需文件到tftp服务器的根目录下
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/
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
5、编辑安装的配置文件
vi /var/lib/tftpboot/pxelinux.cfg/default
6、启动所有服务
systemctl start dhcpd
systemctl start vsftpd
yum -y install xinetd.x86_64
systemctl start xinetd
chkconfig --level 35 xinetd on
chkconfig --level 35 tftp on
7、自动安装配置
yum -y install system-config-kickstart.noarch
8、配置kickstart