PXE高效批量网络装机

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

PXE业格来说并不是一种安装万式,而是一种引导的万式。进行PXE安装的必要条件是要安装的什算儿中包含一个PXE支持的网卡(NIC),即网卡中必须要有PXEClient。PXE(Pre-boot Execution Environment)协议使计算机可以通过网络启动。
协议分为client和server端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,由PXE client将放置在远端的文件通过网络下载到本地运行。
运行PXE协议需要设置DHCP服务器和TFTP服务器。DHCP服务器用来给PXE client(将
要安装系统的主机)分配一个IP地址,由于是给PXE client分配IP地址,所以在配置DHCP服务
器时需要增加相应的PXE设置。
比外,在PXE client的ROM中,已经存在了TFTP Client。PXE Client通过TFTP(端口:69)协议到TFTP Server上下载所需的文件。
优点:
规模化:同时装配多台服务器:
自动化:安装系统、配置各种服务;
远程实现:不需要光盘、·盘等安装介质。

前提条件:
客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网路引导。
网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。
服务器通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数PC都能够提供此支持,只需在BIOS设置中允许从Network或LAN(局域网)启动即可。

PXE服务的构建过程

PXE服务器和客户机的工作过程:
1.PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。(四次报文)
2.DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件oxelinux.0,默认在TFTP共享目录/var/1ib/tftpboot/下
3.PXE客户机向TFTP服务器发起获取pxe1inux.0引导程序文件的请求。
4.TFTP服务器响应PXE客户机的请求,将其共享的oxelinux.0文件传输给PXE客户机。
5.PXE客户机通过网络来启动到系统安装主界面。(有镜像)
6.PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows.系统安装文件的请求。
7.(vsftp)文件共享服务响应PE客户机的请求,将共享的系统安装文件传输给PE客户机。
8.PXE客户机进入到安装提示向导界面(提示语言),用户需要手动来完成系统安装的操作

核心:
1、DHCP给新建机器IP地址,然后告知客户机网卡(NIC)中pxe客户机的TFTP位置。

2、PXE_client端向TFTP请求下载操作系统镜像引导文件
3、pxe通过网络向vsftp请求下载操作系统安装文件
4、直接通过从TFTP获得的引导文件+从vsftp获得的操作系统安装文件来进行引导、加载,然后到达安装向导界面

PS:4、黑频(PXE-CLIENT)进入白屏(安装向导、语言选择这里)
白屏操作-自动化->需要kickstart(软件定义一个选择的模板)

搭建PXE远程安装服务器
所需安装包
vsftpd//用来放置安装镜像,通过ftp访问镜像安装
dhcp.x866412:4.2.5-7pd-3.0.2-27.e17.x8664.r9.e17.centos//用来给客户机分配iP
syslinux-4.05-15.e17.x86_64.rpm//用来提供pxe的引导程序
tftp-server.x86_640:5.2-22.e17.rpm/用来提供引导镜像文件的下载
xinetd.x86642:2.3.15-14.e17//用来托管tftp
system-config-kickstart.noarch 0:2.9.7-1.el7.rpm//用来无人值守安装

环境准备:
一台作为pxe服务器,一台作为裸金属客户机,绑定同一块网络适配器网关,裸金属客户机vmnet1网卡取消勾选dhcp配置关闭selinux和防火墙

主机服务器地址:192.168.58.133主机名:KY20

思路:

一台主机:1)配置双网卡一个作用是dhcp,一个是使用网络源安装环境包
1.1)NAT192.168.226.128
1.2)net1192.168.100.100
2)DHCP部署
3)tftp-server 服务器通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载(默认共享目录/var/Iib/t ftpboot)。
4)syslinux//用来提供pxe的引导程序
5)xinetd//用来托管tftp
6)vsftpd//用来放置安装镜像,通过ftρ访问镜像安装
7)kickstart//用来无人值守安装(定义模板-应答文件,白屏点点点定义安装向导中选择的模板)

添加新网卡

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens35
vim ifcfg-ens35
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pFAaXDj6-1655963869304)(C:\Users\灰灰\AppData\Roaming\Typora\typora-user-images\image-20220617121538420.png)]

systemctl restart network #重启网络服务

安装并启用 DHCP 服务

yum -y install dhcp(如果失败尝试ifdown关闭新增网卡)
cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #因为etc下的dhcp.conf文件内容为空,拷贝默认配置文件作为模板使用

配置文件里做如下设置:
vim /etc/dhcp/dhcpd.conf
ddns-update-style none; // 禁止动态更新

subnet 192.168.100.0 netmask 255.255.255.0 { //配置网段
range 192.168.100.40 192.168.100.50; //配置地址池
option routers 192.168.100.100; //配置网关
option domain-name-servers 114.114.114.114;
next-server 192.168.100.100; //指定tftp服务器的地址(
filename “pxelinux.0”; //指定pxe引导程序的文件名(

}

systemctl start dhcpd
systemctl enable dhcpd

安装并启用 TFTP 服务

TFTP:(Trivial File Transfer
Protocol)是一个小而易于实现的文件传送协议。TFTP是基于UDP数据报,需要有自己的差错改正措施。TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别。但它的代码所占内存较小,不需要硬盘就可以固化TFTP代码,很适合较小的计算机和特殊用途的设备。TFTP和FTP一个主要的区别就是它没有交互式,且不进行身份验证。
TFTP一般用于传输小文件

yum -y install tftp-server
yum -y install xinetd

vim /etc/xinetd.d/tftp //tftp被xinet所托管,xinetd默认没有安装,配置文件。

disable 设置 no

用于 PXE 网络安装的 Linux 内核、驱动文件可以从 CentOS 7 系统光盘/镜像获得, 分别为 vmlinuz 和 initrd.img,位于光盘目录 images/pxeboot 下。找到这两个文件并将其复制到 tftp 服务的根目录下。vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。initrd是“initial ramdisk”的简写(系统初始化文件)。 initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。initrd.img主要是用于加载ext4等文件系统及scsi设备的驱动。比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱 动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/modules下。为了解决这个问题,可以引导一个能够读实际内核的initrd内核并用initrd修正scsi引导问题。

准备 tftp 需要共享出去的文件

mount /dev/cdrom /mnt#挂载镜像文件
cd /mnt/images/pxeboot/#内核文件 内核初始化镜像文件
cp initrd.img vmlinuz /var/lib/tftpboot/#将文件复制到tftp根目录下

systemctl start xinetd
systemctl enable xinetd
systemctl start tftp
systemctl enable tftp

以上就是为了将镜像中的内核文件+系统的初始化文件 丢到tftp的默认共享的目录中,以便后续pxe-client来下载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBL2R4hN-1655963869305)(C:\Users\灰灰\AppData\Roaming\Typora\typora-user-images\image-20220617150656939.png)]

准备 PXE 引导程序pxelinux.0

pxelinux.0是个二进制文件,主要作用相当于一个系统安装步骤的指引,引导客户端如何安装系统
yum provides * /pxelinux.0 //查找这个文件是由哪个软件包安装的,当不是一个路径和一个软件包时用*/
yum -y install syslinux
rpm -ql syslinux | grep pxelinux #查找pxe引导程序的位置
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷贝到tftp的根目录下,系统引导文件
ls /var/lib/tftpboot/

配置启动菜单文件

启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载驱动。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作自动或手动建立。/var/lib/tftpboot/pxelinux.cfg/default文件是由pxelinux.0这个文件决定好的。

mkdir /var/lib/tftpboot/pxelinux.cfg //默认pxelinux.cfg是没有的需要手动创建,它是一个目录而非文件虽然是以.cfg结尾。
vim /var/lib/tftpboot/pxelinux.cfg/default 纯手工配置default菜单文件
default auto //指定默认入口名称 ,对应下面的label auto
prompt 1 //设置是否等待用户选择,1 表示等待用户控制,0表示不等待用户控制,安装时会出现boot:如果按回车表示选择auto模式

label auto //默认的图形安装
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7 //method必须指定网络路径

label linux text //文本安装模式,出现boot:时输入linux text

label linux rescue //救援模式,出现boot:时输入linux rescue

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

yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7 #将镜像复制其中
systemctl start vsftpd

实现Kickstart无人值守安装

1.准备安装应答文件
(1)安装system-config-kickstart工具

yum install -y system-config-kickstart

(2)打开"Kickstart配置程序”窗口
通过桌面菜单"应用程序"–>“系统工具”–>"Kickstart”打开或执行"system-config-kickstart”命令打开

(3)配置kickstart选项
基本配置:
默认语言设为"中文(简体)”时区设为"Asia/ shanghai"
设置root密码
高级配置中勾选"安装后重启"。
安装方法:
选FTP
FTP服务器:ftp://192.168.100.100
FTP目录: centos7

导装载程序选项:安装新引导装载程序
主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
添加分区:正常分区(需求)

添加网络设备 ens33
网络类型设为 DHCP
验证:无需操作
防火墙:禁用
安装后脚本 /bin/bash

安装后脚本的运行

ls -a

cat anaconda-ks.cfg #复制%packages~%end

vim ks.cfg
添加%packages~%end

mkdir /etc/yum.repos.d/bak

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak

echo "[local]

name=local baseurl=ftp://192.168.100.100/centos7 enabled=1 gpgcheck=0" > /etc/yum.repos.d/local.repo

添加 ks 引导参数至引导菜单文件

vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0 ##值为“0”时表示自动执行ks.cfg文件(无人值守)、为“1”时表示手动配置(有人值守
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg

注意格式,ks前仅有一个空格,不要换行,可能影响无人值守启动。

客户端验证无人值守安装
客户端调整引导方式为网络启动

systemctl status dhcpd tftp vsftpd xinetd

ernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg

注意格式,ks前仅有一个空格,不要换行,可能影响无人值守启动。

客户端验证无人值守安装
客户端调整引导方式为网络启动

systemctl status dhcpd tftp vsftpd xinetd

systemctl start dhcpd tftp vsftpd xinetd

25PXE高效批量网络装机相关推荐

  1. PXE高效批量网络装机

    前言 目录 前言 1.1 PXE简介 1.2 PXE批量部署的优点 1.3 KickStart 概述 1.4  PXE服务器和客户机的工作过程: ​ 二.配置PXE装机服务器 2.1 搭建 PXE 远 ...

  2. PXE高效批量网络装机(含PXE+kickstart自动安装)

    目录 一.PXE概述 PXE批量部署的优点 PXE(Preboot eXcution Environment) 服务端 客户端 二.配置PXE装机服务器 基本部署过程 1.准备CentOS 7 安装源 ...

  3. 第四十集 Linux PXE高效批量网络装机部署

    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 Linux PXE高效批量网络装机部署 PXE概述 部署PXE远程安装服务 PXE高效批量网络装机 PXE概述 1.PXE全名: (P ...

  4. Linux-PXE高效批量网络装机!超详细的实验步骤+超详细的理论!(可跟做!新手都能做起来)

    PXE高效批量网络装机 一.部署PXE远程安装服务 1.1.搭建PXE远程安装服务器 1.1.1.PXE概述 1.1.2.配置PXE装机服务器 1.2.验证PXE网络安装 二.实现Kickstart无 ...

  5. Linux网络服务:PXE高效批量网络装机

    目录 一.理论 1.PXE批量网络装机概述 2.搭建 PXE 远程安装服务器 3.实现Kickstart无人值守安装 二.实验 1.搭建PXE远程安装服务器 2.安装Kickstart无人值守安装 3 ...

  6. PXE高效批量网络装机比较乱,用心看

    1.部署 PXE 远程安装服务 在大规模的 Linux 应用环境中,如 Web 群集.分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢?传统的 US ...

  7. pex高效批量网络装机

    目录 前言 1.PXE概述 1.1PXE概述 1.2配置PXE装机服务器 2.PXE 原理和概念: 3.KickStart 概述 4.PXE服务的构建过程 5.搭建 PXE 远程安装服务器 6.实现K ...

  8. Linux--PXE 高效批量网络装机(虚拟机模拟详解实验)

    文章目录 前言 一.部署PXE 远程安装服务 1.1.PXE 概述 1.2.搭建PXE 远程安装服务器 1.2.1.准备CentOS 安装源 1.2.2.安装并启用TFTP 服务 1.2.3.准备Li ...

  9. 自动服务器批量装机,PXE高效批量网络装机

    在大规模的Linux应用环境中,利用传统的光驱.U盘安装操作系统方式过于缓慢,如web群集,分布式计算等,需要为数十乃至上百台服务器裸机快速安装系统,这里就需要用到PXE网络装机以及实现无人值守自动安 ...

最新文章

  1. java分布式锁解决方案 redisson or ZooKeeper
  2. XP的DNS服务器(BIND)配置
  3. vuex保存用户信息_你想要的,vuex干货分享
  4. Web——Request请求
  5. 计算机公共基础知识论文,计算机等级考试二级公共基础知识汇总.doc
  6. GitHub Desktop离线安装包
  7. whereis linux用法,whereis命令使用详解
  8. 百万年薪的腾讯员工买得起深圳房子吗?
  9. sql复制表结构和数据_SQL复制表
  10. Vue-cli的安装与基本操作
  11. 买房应该全款还是贷款
  12. 英式音标26字母(U-Z)
  13. opengl生成图片php,(转)使用OpenGL显示图像(七)Android OpenGLES2.0——纹理贴图之显示图片...
  14. 机制设计专栏(2)-说一说IC机制
  15. 第六课_进制3_进制的表示
  16. 简单的@keyframes效果
  17. 零售行业交易数据分析(2)——RFM模型分类及可视化(Python实现)
  18. 音视频积累-Wakeups 解决
  19. UML系列图——用例图(Use Case)
  20. IE8 未知的运行时错误(ueditor编辑器在ie8、ie7下出现JS错误的解决方法)

热门文章

  1. CCF CSP认证考试在线评测系统
  2. 医学图像 .nii文件格式详解
  3. 股票预测论文精读:Astock: a new dataset automated stock trading based on stock-specific news analyzing mod
  4. 计算机网红,网红短句
  5. 德国语言+留学签证递交材料详解(上海)
  6. mysql中数据库字段类型详解
  7. 遇到问题--hadoop---cdh--SERVICE_MONITOR_LOG_DIRECTORY_FREE_SPACE has become bad
  8. 初识语音视觉交互芯片——CSK6
  9. 4 分钟,快速了解声网 Agora SDK 3.0
  10. 河北钢铁的数字化雄心