Linux基础PXE高效批量网络装机

部署PXE远程安装服务

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

PXE批量部署的优点

  1. 规模化:同时装配多台服务器
  2. 自动化:安装系统、配置各种服务
  3. 远程实现:不需要光盘、U盘等安装介质
    在这里插入图片描述

搭建PXE网络体系的前提条件

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

PXE安装前的配置

PXE装机所需的文件

文件位置作用
pxelinux.0来自syslinux程序引导程序的配置文件
vmlinuz从光盘中获取,位于 isolinux 目录下内核文件
initrd.img从光盘中获取,位于 isolinux 目录下系统启动镜像文件
default需要手写引导程序的配置文件

搭建PXE过程中使用的服务和程序

DHCP服务

DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,同时也能配合DNS解析使用,让指定范围内的客户机能够自动获取解析域名的后缀。
DHCP作为用应用层协议,它依靠并且使用着传输层中udp协议。对于DHCP中分为客户端,和服务端。客户端用的端口为68 ,服务端的端口为67.

vsftpd服务

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令

TFTP服务

TFTP(简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
TFTP服务默认由xinetd服务进行管理,使用UDP69端口。TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。它的位置存在:/var/lib/tftpboot

syslinux

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。

搭建PXE远程安装服务器

PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。

安装相关软件服务并打开和修改配置文件

安装TFTP服务

  1. 安装TFTP
yum -y install tftp-server xinetd

在这里插入图片描述

  1. 修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp
protocol   = udp	#TFTP使用UDP协议	
wait     = no   #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args       = -s /var/lib/tftpboot #指定TFTP根目录(文件存储路径)
disable    = no			#no表示开启TFTP服务

在这里插入图片描述

  1. 启动TFTP服务
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

在这里插入图片描述

安装DHCP服务

  1. 安装并启用 DHCP 服务
    在这里插入图片描述

  2. 修改DHCP服务的配置文件

vim /etc/dhcp/dhcpd.conf
ddns-update-style none;		#禁用 DNS 动态更新
next-server 192.168.80.10; 	#指定 TFTP 服务器的地址
filename "pxelinux.0";		#指定 PXE 引导程序的文件名

subnet 192.168.80.0 netmask 255.255.255.0 {	  #声明要分配的网段地址
  range 192.168.80.100 192.168.80.200;		#设置地址池
  option routers 192.168.80.10;				#默认网关地址指向TFTP服务器的IP地址
}

在这里插入图片描述

  1. 开启dhcpd服务
    在这里插入图片描述

准备 Linux 内核、初始化镜像文件

cd /mnt/images/pxeboot				#已事先把光盘挂载到/mnt目录中
cp vmlinuz /var/lib/tftpboot/		#复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/     #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

在这里插入图片描述

准备PXE引导程序

yum -y install syslinux     #PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/	 #复制 PXE引导程序 到TFTP根目录下

在这里插入图片描述

安装FTP服务,准备CentOS 7 安装源

  1. 安装FTP服务
yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/

systemctl start vsftpd
systemctl enable vsftpd

在这里插入图片描述

  1. 打开FTP服务
    在这里插入图片描述

配置启动菜单文件

默认的启动菜单文件在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.80.10/centos7

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

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

在这里插入图片描述

关闭防火墙,验证 PXE 网络安装在这里插入图片描述

在这里插入图片描述

实现Kickstart无人值守安装

上面的安装,是通过PXE技术远程安装系统的方法,安装介质不再受限于光盘,移动硬盘等设备,大大提高了系统安装的灵活性。然而安装期间仍需要手动选择语言、键盘类型、指定安装源等一系列交换操作,当需要大批量安装时仍然很麻烦。所以要想实现真正的全自动化,就要引入Kickstart程序服务,实现真正完全全自动化安装。
在这里插入图片描述

打开“Kickstart 配置程序”窗口

在这里插入图片描述

配置kickstart选项

  1. 基本配置

在这里插入图片描述

  1. 安装方法

在这里插入图片描述
3. 引导装载程序选项
在这里插入图片描述
4. 分区信息
在这里插入图片描述
5.网络配置
在这里插入图片描述
6. 防火墙配置
在这里插入图片描述
7.安装后脚本
在这里插入图片描述

  1. 保存自动应答文件

在这里插入图片描述

  1. 配置需要安装的软件包
    将 /root/anaconda-ks.cfg 的软件包安装脚本中 %packages 到%end 部分复制到 ks.cfg 文件中。

vim ks.cfg

在这里插入图片描述

  1. 编辑引导菜单文件 default,添加 ks 引导参数
    vim /var/lib/tftpboot/pxelinux.cfg/default
    在这里插入图片描述
  2. 进行测试,只需要打开虚拟机,不用做任何操作
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值