PXE批量装机

目录

前言

一、交互式

(一)、搭建环境

(二)、配置dhcp服务

(三)、FTP服务

(四)、配置TFTP服务

(五)、准备pxelinx.0文件、引导文件、内核文件

(六)、测试

二、非交互式

(一)、配置pxe无人值守安装

(二)、修改ks.cfg文件

(三)、修改default文件

(四)测试

总结



前言

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

PXE是什么?

批量装机系统,网络安装linux操作系统。需要客户端的网卡支持pxe网络启动。
RHEL 8无此服务包,此实验在RHEL 7上完成!

|-------------------------|-------------------------------------------|
| dhcp | 动态主机配置协议 |
| xinted | 可以监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来 处理连接请求 |
| tftp-server | 简单文件传输协议 |
| vsftpd | 为客户端提供系统安装时所需的文件 |
| syslinux | 产生pxelinux.0文件 |
| system-config-kickstart | 生成kickstart配置文件 |

一、交互式

(一)、搭建环境

防火墙设置,宽容模式

添加网络,将分配取消

配置网卡和本地yum源,后挂载mount /dev/sr0 /mnt

安装服务,dhcp,vsftp,tftp,syslinux

复制代码
yum install -y dhcp xinetd tftp-server vsftpd syslinux 

(二)、配置dhcp服务

复制代码
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf

启动服务

复制代码
systemctl start dhcpd

(三)、FTP服务

将/dev/sr0挂载到ftp服务目录上或者将内容全部复制到ftp服务目录里

这里选用的后者

复制代码
mkdir -p /vat/ftp/centos7
cp /mnt/* /vat/ftp/centos7/

启动服务

复制代码
systemctl start vsftpd

(四)、配置TFTP服务

复制代码
vim /etc/xinetd.d/tftp

启动服务

复制代码
systemctl start tftp

(五)、准备pxelinx.0文件、引导文件、内核文件

复制代码
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cd /mnt/images/pxeboot
cp initrd.img vmlinuz /var/lib/tftpboot
mkdir -p /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default

(六)、测试

新开虚拟机网络适配器为vmnet2

显示OK后enter

后续操作与新安装虚拟机操作一样。

二、非交互式

接着上面继续操作

(一)、配置pxe无人值守安装

Kickstart :是一种无人值守的安装方式,提前定义好Linux安装过程的配置文件,名为
ks.cfg,这个文件预先定义了安装要求从而进行自动化安装。

复制代码
yum install -y system-config-kickstart.noarch

system-config-kickstart

自行添加网络设备,防火墙默认SElinux为激活,其余可不管

切记要保持再退出,否则要重新配置

(二)、修改ks.cfg文件

查看家目录能看到文件ks.cfg

从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg

vim ks.cfg

复制代码
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
chrony
kexec-tools

%end

(三)、修改default文件

复制代码
vim /var/lib//tftpboot/pxelinux.cfg/default

将修改后的ks.cfg文件复制到/var/ftp

复制代码
cp /root/ks.cfg  /var/ftp

(四)测试

新开虚拟机网络适配器为vmnet2等待自动安装(时间稍微长点),登录root用户即可


总结

pxe配置非常适用批量的装机,利用dhcp自动分配IP将同网段IP电脑自动部署进行装机,节省了大量的时间。

相关推荐
teacher伟大光荣且正确1 小时前
Linux 下编译openssl
linux·运维·服务器
dlz08361 小时前
--group-start/--group-end 能不能解决 OpenSSL 1.0 vs 1.1 的优先级问题?
linux·运维·服务器·软件需求
小池先生2 小时前
activemq延迟消息变成实时收到了?
linux·数据库·activemq
tryCbest3 小时前
Linux系统下安装使用Redis
linux·运维·redis
AuroBreeze4 小时前
xv6-2023 - primes Lab
linux·运维·服务器
DIY机器人工房4 小时前
NAT 模式、命令行版、桥接模式方式给ubuntu虚拟机配网步骤:
linux·网络协议·ubuntu·嵌入式·桥接模式·diy机器人工房
wdfk_prog5 小时前
[Linux]学习笔记系列 -- lib/sort.c 通用的排序库(Generic Sorting Library) 为内核提供标准的、高效的排序功能
linux·运维·c语言·笔记·stm32·学习·bug
黑马金牌编程5 小时前
简易分析慢 SQL 的流程和方法
linux·数据库·mysql·性能优化·性能分析·慢日志
什么半岛铁盒5 小时前
C++项目:仿muduo库高并发服务器---------LoopThreadPool模块和TcpServer模块的实现
linux·服务器·c++·mysql·ubuntu
Lin_Aries_04217 小时前
容器化 Flask 应用程序
linux·后端·python·docker·容器·flask