PXE高效批量网络装机

文章详细介绍了PXE技术,包括其工作原理、批量部署的优势以及搭建PXE服务的步骤,如安装启用TFTP和DHCP服务,准备引导文件等。此外,还阐述了如何通过Kickstart实现Linux(CentOS7)的无人值守安装,包括配置应答文件和验证安装过程。
摘要由CSDN通过智能技术生成

目录

一、PXE概述

1.PXE介绍

2.PXE批量部署优点

3.搭建pxe网络体系的前提条件

4.PXE工作原理

二、搭建PXE服务

1.安装并启用TFTP服务 

2. 安装并启用DHCP服务

3. 准备linux内核,初始化镜像文件

4. 准备PXE引导程序

5. 安装FTP服务,准备centos7安装源

6.配置启动菜单文件

7.关闭防火墙,验证pxe网络安装

​编辑

三、实现Kickstart无人值守安装

1.Kickstart介绍

2. 配置kickstart无人值守安装

2.1安装应答文件,打开kickstart配置程序窗口

 ​编辑

2.2配置kickstart选项并保存

 2.3配置需要安装的软件包

​编辑2.4编辑引导菜单文件default,添加ks引导参数

2.5验证kickstart无人值守安装


一、PXE概述

1.PXE介绍

PXE,又称预启动执行环境。是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。

2.PXE批量部署优点

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

3.搭建pxe网络体系的前提条件

  1. 客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从Network或LAN启动即可。
  2. 网络中有一台DHCP服务器以便为客户机自动分配地址,指定引导文件位置。
  3. 服务器要通过TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载。

4.PXE工作原理

  1. pxe客户机向服务器发送DHCP请求,向dhcp服务器请求IP地址;
  2. DHCP服务器响应pxe客户机,并从地址池中分配IP地址给客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下;
  3. pxe客户机向TFTP服务器请求获取引导程序文件pxelinux.0;TFTP服务器响应pxe客户端的请求,将共享文件pxelinux.0发送给pxe客户机,客户机执行pxelinux.0文件;
  4. 客户机向TFTP发送针对本机的配置信息(记录在TFTP的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。
  5. 客户机向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给客户机;
  6. 客户机向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统;
  7. 客户机启动Linux内核;
  8. Client通过NFS下载镜像文件,读取autoyast自动化安装脚本。至此,Client正式进入自动化安装模式开始安装系统直到完成。

二、搭建PXE服务

1.安装并启用TFTP服务 

TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合小文件传输。TFTP服务默认由xinetd服务进行管理,使用UDP端口69。xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级internet服务。

yum -y install tftp-server xinetd

##修改TFTP服务配置文件

vim /etc/xinted.d/tftp

 socket_type             = dgram
        protocol                = udp                                #TFTP服务使用UDP协议
        wait                    = no             #no表示客户机可以多台一起连接,yes表示只能单台连接
        user                    = root
        server                  = /usr/sbin/in.tftpd             
        server_args             = -s /var/lib/tftpboot         #指定TFTP根目录(文件存储路径)
        disable                 = no                                   #no表示开启TFTP服务
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
 

systemctl enable --now tftp                      #开启服务并设为开机自启

systemctl enable --now xinetd

2. 安装并启用DHCP服务

DHCP服务为pxe客户机从指定IP地址池中分配可以IP。

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;                                             #禁用DNS动态更新

next-server 192.168.88.30;                                        #指定TFTP服务器的地址

filename "pxelinux.0";                                                #指定PXE引导程序的文件名

subnet 192.168.88.0 netmask 255.255.255.0 {         #声明分配的网段地址
  range 192.168.88.120 192.168.88.150;                   #设置地址池
  option routers 192.168.88.30;                                #默认网关地址指向TFTP服务器的IP地址
}

systemctl enable --now dhcpd

3. 准备linux内核,初始化镜像文件

mount /dev/sr0 /mnt                                       #已挂载可省略,df可以查看挂载情况

cd /mnt/images/pxeboot                                

cp initrd.img /var/lib/tftpboot/                       #复制初始化镜像文件到TFTP根目录下 

cp vmlinuz /var/lib/tftpboot/                         #复制内核文件到TFTP根目录下      

4. 准备PXE引导程序

yum -y install syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/     #复制pxe引导程序到TFTP根目录

5. 安装FTP服务,准备centos7安装源

yum -y install vsftpd

mkdir /var/ftp/centos7                                             #在ftp根目录创建centos7目录

mount /dev/sr0 /var/ftp/centos7/                            #将磁盘挂载在目录上

systemctl enable --now vsftpd

6.配置启动菜单文件

默认的启动菜单文件在TFTP根目录的pxelinux.cfg子目录下,文件名为default。

mkdir /var/lib/tftpboot/pxelinux.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default

default auto                           #指定默认入口名称
prompt 1                                #设置是否等待用户选择,1 表示等待用户控制  

label auto                            #图形安装引导入口,label用来定义启动项
kernel vmlinuz                     #kernel和append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.88.30/centos7

label linux text                     #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.88.30/centos7

label linux rescue               #救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.88.30/centos7

7.关闭防火墙,验证pxe网络安装

 systemctl stop firewalld                  #关闭防火墙

setenforce 0

在虚拟机中虚拟机编辑器中DHCP服务取消

 使用vmware创建的虚拟机进行测试,虚拟机内存至少需要2GB。

三、实现Kickstart无人值守安装

1.Kickstart介绍

KickStart 是一种无人值守的安装方式,KickStart 的工作原理是通过 记录典型的安装过程中记录所需要填写的各种参数 (语言、时区、密码、分区、键盘等),并生成一个ks.cfg的文件。 (名字可以修改,默认ks.cfg)

在其后的安装过程中,当出现要求填写参数的情况时,安装程序会首先去查找KickStart 生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数,就会卡着,需要人工干预。

如果KickStart 文件涵盖安装过程中所有需要填写的参数时,只需要告诉安装程序从何处取得 ks.cfg文件。 安装完毕后,安装程序会根据ks.cfg中设置的重启选项重启系统,并结束安装。

2. 配置kickstart无人值守安装

2.1安装应答文件,打开kickstart配置程序窗口

yum -y install system-config-kickstart    #安装system-config-kickstart工具

system-config-kickstart   #打开kickstart

 

2.2配置kickstart选项并保存

 基本设置:

默认语言设为:中文

时区设为“Asia/Shanghai”

设置root密码

高级配置中勾选“安装后重启”。

 安装方法:

选FTP

FTP服务器:ftp://192.168.88.30

FTP目录:centos7

 

引导装载程序选项 

分区信息配置

网络配置 

防火墙配置 

安装后脚本 

 保存应答文件,文件名为ks.cfg,保存路径在/root目录下。

 2.3配置需要安装的软件包

vim /root/anaconda-ks.cfg

将%packages到%end复制到ks.cfg文件中

cp /root/ks.cfg /var/ftp/ks.cfg

###最小化安装,直接在ks.cfg中添加

%packages

@^minimal

%end

2.4编辑引导菜单文件default,添加ks引导参数

vim /var/lib/tftpboot/pxelinux.cfg/default

default auto
prompt 0                                  #0 表示不等待用户控制

label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.88.30/centos7 ks=ftp://192.168.88.30/ks.cfg 

2.5验证kickstart无人值守安装

当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,而无须手工干预。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值