您现在的位置是:首页 >技术杂谈 >【PXE高效的批量网络装机】网站首页技术杂谈

【PXE高效的批量网络装机】

桦皪 2023-06-10 16:00:03
简介【PXE高效的批量网络装机】


一、PXE的概述

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

1.1、PXE批量部署的优点

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

在这里插入图片描述

1.2、搭建PXE满足的以下的前提条件

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

1.3、搭建PXE远程安装

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

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

守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。守护进程独立于控制终端,它们常常跟随系统启动时启动,在系统关闭时才结束。
守护进程周期性的执行某些任务或者等待处理某些事件,Linux上的大多数服务器都是用守护进程实现的。

在系统启动中默认的守护进程的父进程ID全都是init,守护进程特征就是在程序运行名后加了一个d,但不是所有的尾字母是d的进程都是守护讲程

二、搭建PXE远程安装服务器

1、安装并启动 TFTP 服务

1、临时关闭防火墙

开机后设置关闭防火墙和临时关闭selinux防火墙
systemctl stop firewalld
setenforce 0

2、开机自动关闭防火墙设置

systemctl disable firewalld   实现开机自动关闭防火墙
vim /etc/sysconfig/selinux    关闭selinux防火墙

在这里插入图片描述

mount /dev/sr0 /mnt   光盘进行挂载

yum install -y xinetd tftp-server  安装这两个软件
一个xinetd  一个 tftp-server

cd /etc/xinetd.d/   
ls         查看xinetd里面看看有没有个tftp目录
vim tftp   进入tftp配置文件

在这里插入图片描述

systemctl enable --now xinetd tftp 
启动并且实现开机自启

在这里插入图片描述

2、安装并启用 DHCP 服务

安装DHCP服务

yum install -y dhcp   安装DHCP服务

cd /etc/dhcp  进入dhcp下载目录里
ls    查看文件,看到dhcpd.conf配置文件

vim dhcpd.conf  修改配置文件

在这里插入图片描述

cd /usr/share/doc/dhcp-4.2.5/   找到相同类型的文件

cp dhcpd.conf.example /etc/dhcp/dhcpd.conf   覆盖配置文件

在这里插入图片描述
2、修改DHCP服务的配置文件

vim dhcpd.conf

在这里插入图片描述

在这里插入图片描述

systemctl enable --now dhcpd    实现开机自动启动dhcpd服务

netstat -lntup | grep 67    
查看67号端口有没有打开,显示67号端口就是打开了

在这里插入图片描述

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

cd /mnt    进入mnt目录
ls   查看到一个images目录
cd images/   进入images目录,看见一个pxeboot目录

ls  在pxeboot目录里有

vmlinuz  系统的内核文件

initrd.img  镜像引导文件

在这里插入图片描述

cp vmlinuz initrd.img /var/lib/tftpboot/
复制内核文件和镜像引导文件

在这里插入图片描述

4、准备PXE 引导程序

yum install -y syslinux   PXE引导程由软件包syslinux提供文件

rpm -ql syslinux 使用此命令查看文件

找到 PXE引导程序文件
/usr/share/syslinux/pxelinux.0

cd /usr/share/syslinux/  进入PXE引导程序文件

cp pxelinux.0 /var/lib/tftpboot/   
将pxelinux.0 复制到 var/lib/tftpboot/ 根目录里

使用 ls !$ 查看到有三个文件:
initrd.img  镜像引导文件

pxelinux.0   pxe程序引导文件

vmlinuz   内核文件

在这里插入图片描述

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

yum install -y vsftpd  安装ftp服务

mkdir centos7  在ftp目录里创建一个centos7目录

mount /dev/sr0 /var/ftp/centos7/  
挂载centos7目录,使centos7目录里有光盘镜像文件

在这里插入图片描述

systemctl enable --now vsftpd  
让ftp直接启动,ftp直接启动开起了匿名服务,所以直接下载

在这里插入图片描述

ls /var/lib/tftpboot/ 
查看到ftp里安装了4个服务和设置了3个配置文件

在这里插入图片描述

6、配置启动菜单文件

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

cd /var/lib/tftpboot/   进入TFTP根目录

mkdir pxelinux.cfg/   创建一个子目录

cd pxelinux.cfg/     进入这个子目录

vim default         在子目录里设置一个文件名为default的文件
设置配置文件

在这里插入图片描述
在这里插入图片描述

进入TFTP根目录里使用
ls -R 查看是不是有以下配置文件

在这里插入图片描述

7、关闭防火墙,验证 PXE 网络安装

systemctl stop firewalld.service 
setenforce 0

8、测试

1、使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
在这里插入图片描述

2、开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口;

3、若执行“linux text”命令,则进入文本安装入口;若执行 “linux rescue”命令,则进入救援模式。
在这里插入图片描述
4、设置完成后就可以进行手动安装

在这里插入图片描述

三、实现Kickstart无人值守安装

mount /dev/sr0 /var/ftp/centos7/  挂载目录
yum install -y system-config-kickstart
安装系统工具

在这里插入图片描述

使用Kickstart配置自动安装
在这里插入图片描述
设置安装的FTP的服务地址和创建的子目录
在这里插入图片描述
设置安装的引导过程
在这里插入图片描述
设置磁盘分区
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
配置网络设置
在这里插入图片描述设置禁用防火墙在这里插入图片描述
设置yum源仓库安装的脚本文件
在这里插入图片描述
保存设置文件的位置和改名
在这里插入图片描述
进入系统家目录,可以看见 anaconda-ks.cfg ,ks.cfg

vim ks.cfg
查看到刚刚设置的配置文件

在这里插入图片描述

vim anaconda-ks.cfg   当前系统的应答文件

在这里插入图片描述

软件包的禁止怎么解除
在这里插入图片描述
解除方法:
将anaconda-ks.cfg 里面的应答文件复制到刚刚创建的 ks.cfg 文件的行尾

在这里插入图片描述

复制到ks.cfg行尾

在这里插入图片描述

生产环境中实现最小化安装,在设置文件的行尾输入以下命令,进行最小化安装

%packages
@^minimal
%end

设置图形环境的配置

在这里插入图片描述

1、模拟自动安装

设置用户自己选择和不用用户选择
在这里插入图片描述
设置为1时手动确定安装
在这里插入图片描述
设置为0后直接安装
在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。