PXE高效批量网络装机实现Kickstart无人值守安装

1,什么是PXE

预启动执行环境,在操作系统之前运行

PXE(Pre-boot Execution Environment)是由Intel设计的协议,是远程引导技术,也叫预启动执行环境,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

同时它也是RPL(Remote Initial Program Load,远程启动服务)的升级产品。它们的不同之处为:RPL是静态路由,PXE是动态路由。不难理解:RPL是根据网卡上的ID号加上其它的记录组成的一个帧向服务器发出请求,而服务器那里早已经有了这个ID数据,匹配成功则进行远程启动;PXE则是根据服务器端收到的工作站MAC地址(就是网卡号),使用DHCP服务给这个MAC地址指定一个IP地址,每次重启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。

原理图如下
在这里插入图片描述

下图为装机过程开机自启动的流程:
在这里插入图片描述

2, PXE批量部署的优点

  • 规模化:同时装配多台服务器
  • 自动化:安装系统,配置各种服务
  • 远程实现:不需要光盘,U盘等安装介质

3,部署要求

服务端

  • 运行DHCP服务,用来分配地址,定位引导程序
  • 运行TFTP服务,提供引导程序下载

客户端

  • 网卡支持PXE协议
  • 主板支持网络引导

4, 搭建PXE远程安装服务器

PXE远程安装服务 ,工作在C/S模式,客户机通过网络从远程服务器下载引导镜像,并加载安装整个操作系统。
PXE远程服务器所需准备:

  • 安装源(系统盘文件);
  • TFTP服务;(发布装机文件,让客户机可访问)
  • XINETD服务;(因为tftp由xinetd管理)
  • DHCP服务;
  • Linux内核:
    所要实现的功能:
    能够向客户机裸机发送PXE引导程序
    启动菜单及无人应答文件等
    客户端要求:

客户端的网卡支持PXE协议,且主板支持网络引导(现在多数都支持);
设置BIOS允许NETwork或LAN启动;

5,等待用户控制的方式实现PXE启动菜单安装

服务器上的配置:

  • 1,安装需要的服务器(TFTP-server、DHCP/FTP)
`yum -y install tftp-server`
`vi /etc/xinetd.d/tftp`
   `  service_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.1.100; `` //指定TFTP服务器地址
`    filcname "/pxclinux.0";     `      //引导文件TFTP上的位置//
   `subnet 192.168.1.0 netmask 255.255.255.0 {
   range  192.168.1.150 192.168.1.200;
   option routers 192.168.1.100;
   option domain-name-servers 8.8.8.8 114.114.114.114;`
   将光盘发布以ftp协议发布
`   yum -y install vsftpd`
 `  mount /dev/cdrom /var/ftp/pub`   //让光盘挂载到共享目录下,让ftp客户机可访问光盘,目的是装机用。
   
  • 2,复制网络启动所需要文件到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`    // linux引导加载模块
` cp/mnt/images/pxcboot/vmlinuz/var/lib/tftpboot/  `     //压缩内核
` cp/mnt/isolinux/vesamenu.c32/var/lib/tftpboot  `       //图形化启动菜单 
  
修改安装的配置文件
`[root@1ocalhost ]# vi /var/lib/tftpboot/pxelinux.cfg/default`
`default auto_  `  #默认图形化安装(当你选择的时候什么也不选时自动加载的引导方式)
`prompt i   `   #需要用户选择
`label auto `
`kernel vmlinuz`
`append rescue 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` #指定救援模式的光盘引导路径

  • 3,启动所有服务器
`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``

客户机设置

客户机重启虚拟机,将bios的boot选项选择为network启动方式

6,PXE客户机自动安装—俗称无人值守(以上系统环境不用改变)

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中出现要填写参数的情况,安装程序首先会去查找ks.cfg文件,根据此文件的参数自动应答。ks.cfg文件涵盖了安装过程中可能出现的所有需要填写的参数从而实现无人值守自动安装。

【1】kickstart技术的实现
(1)创建应答文件ks.cfg,预先定义好各种安装设置
(2)免去交互设置过程,从而实现全自动化安装

【2】应答文件的来源
(1)应答文件来源,使用工具system-config-kickstart,在服务其上点击图形界面配置相关参数,最后生成ks.cfg文件
(2)ks.cfg文件中的软件包来源复制/root/anaconda-ks.cfg文件中的(root文件就是ks.cfg的模板)

服务器设置

  • 1.自动安装配置
`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.1.100/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共享目录,目的是让客户机可访问
`vi /var/1ib/ tftpboot/ pxelinux. cfg/ default`
`default auto`
`prompt 0` # 无需用户选择
`label auto`
`kernel vml inuz`
`append initrd-ini trd. img. method-ftp://192. 168. 1. 100/pub ks-ftp://192. 168. 1. 100/ks. cfg`
#指定引宁光盘的路径及应答文件的路径
  • 2,客户机设置

客户机重启虚拟机,将bios的boot选项选择为network启动方式即可。

猜你喜欢

转载自blog.csdn.net/Lihuihui006/article/details/112485394