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电脑自动部署进行装机,节省了大量的时间。

相关推荐
绿箭柠檬茶2 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
工藤新一¹3 小时前
Linux —— 虚拟进程地址空间
linux·运维·服务器·c/c++·虚拟进程地址空间
Aspiresky3 小时前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather
奔跑吧 android3 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】
linux·数据结构·input·kernel·input_dev·input_handler·input_handle
再难也得平3 小时前
Linux初级篇
linux·运维·服务器
小猫挖掘机(绝版)4 小时前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh
ajassi20005 小时前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源
方先森有点懒5 小时前
CentOS 7.2 虚机 ssh 登录报错在重启后无法进入系统
linux·运维·centos·ssh
shylyly_5 小时前
Linux->日志的实现
linux·运维·服务器
想成为大佬的每一天6 小时前
Linux:NTP服务
linux·网络