PXE批量安装系统及无人值守

一、PXE简介

1. PXE网络装机的概念

        PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。基于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

2. PXE装机流程

(1):PXE Client从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络中的DHCP服务器索取IP。

(2):DHCP服务器收到客户端的请求,验证是否来至自合法的PXE Client的请求,验证通过后它将给客户端一个响应,这个响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。

(3):客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、vmlinuz、pxelinux.cfg/default、initrd.img等文件。

(4):当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM由TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。

(5):客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

(6):客户端安装操作系统 将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。 OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。   

3. Kickstart简介

kickstart是一个利用Anconda工具实现服务器自动化安装的方法;通过生成的kickstart配置文件ks.cfg,服务器安装可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置。

二、安装PXE服务端需要的各种服务。

本文档以Centos7为例,搭建PXE服务器。(服务器IP 10.10.121.30)

  1. 配置网络yum源或本地yum源,安装下列服务
  2. 包括FTP服务,DHCP服务,TFTP服务,XINETD守护进程,以及SYSLINUX
  3. 命令如下:

        yum -y install vsftpd

        yum -y install tftp-server

        yum -y install xinetd

        yum install dhcp

        yum -y install syslinux 

三、配置相关服务

1. 关闭系统的防火墙

systemctl stop firewalld

setenforce 0

systemctl disable firewalld

2. 挂载需要安装的镜像

mount -o loop BlackCube6.6.6_CentOS7.9_AMD_210326.iso /mnt/centos/

3. 创建ftp共享目录,并将文件拷贝到ftp共享目录

mkdir /var/ftp/black

cp -rf /mnt/centos/* /var/ftp/black

4. 启动ftp服务,网页验证访问

systemctl start vsftpd

访问路径:ftp://10.10.121.30/black/

5. 配置tftp服务守护进程

vi /etc/xinetd.d/tftp

修改disable为no

启动服务: systemctl start xinetd

查看69端口是否被xinetd启动: netstat -antlupe | grep 69

6. 拷贝系统引导文件至tftp共享目录

引导文件介绍:

  1. pxelinux.0:pxe引导程序,由syslinux包提供。
  2. pxelinux.cfg/default:系统启动配置文件,指定加载内核及inird镜像。
  3. vmlinuz:linux内核镜像。
  4. initrd.ing:初始化镜像文件,存放了引导时的一些驱动程序

操作步骤:

  1. \cp -rf /var/ftp/black/isolinux/*  /var/lib/tftpboot/
  2. mkdir /var/lib/tftpboot/pxelinux.cfg
  3. cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
  4. cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

7. 配置dhcp服务

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

修改dhcpd.conf

启动DHCP服务:systemctl start dhcpd

四、PXE无人值守配置

1. 修改系统启动配置文件

/var/lib/tftpboot/pxelinux.cfg/default修改系统加载盘为ftp服务器,加入无人值守ks启动文件路径。

2. 无人值守配置文件ks.cfg

修改package加载的安装选项,定制安装的系统rpm包。

加入%post --nochroot 和 %post ,定制安装依赖unary。

五、PXE无人值守安装。

1. 无人值守安装条件

  1. 安装的客户端需要和服务器在同一网络内。
  2. 客户端启动项需要以网络方式启动

2. 以本地虚拟机为例

1. 修改虚拟机网络配置,自定义网卡,去除dhcp服务。

2. 配置PXE服务器的网络适配器,选择上面配置的自定义网卡

3. 新建虚拟机,不指定光盘位置。

4. 新建虚拟机,网络适配器的配置保持和PXE服务器一致

5. 启动虚拟机,自动从dhcp获取ip,通过ftp网络安装系统。

FAQ:

  1. dhcp client无法连接,可能是地址池容量满了。

清空服务端地址池: echo “” > /var/lib/dhcpd/dhcpd.leases

  1. dhcp client无法连接,可能是服务端与客户端网络不通。
  2. dhcp及ftp无法连接,服务端防火墙未关闭。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值