[Linux] PXE批量装机

一、PXE批量装机简介

1.1 常见的三种系统安装方式

u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装

光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机

网络下载安装:在网上下载相关镜像系统,进行安装

1.2  PXE的简介

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

若想进行PXE批量桩基,首先要搭建 PXE 远程安装服务器。而PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。 

1.3 进行PXE装机的前提

        客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从 Network 或 LAN 启动即可。

        网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。

        服务器要通过 TFTP服务(简单文件传输协议)来提供引导镜像文件的下载。

1.4 PXE 装机的优势

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

1.5 PXE装机过程

  1. 客户机的网卡查找相关的dhcp服务器(获取地址和时间)。
  2. DHCP服务器给客户机分配IP地址和引导程序(boot loader)的地址 ,同时通过offer报文把TFTP服务器的地址发给客户机。
  3. TFTP服务器把引导文件(pxelinux.0)传给客户机。
  4. 客户机将引导程序加载到内存中来。
  5. 引导程序去TFTP服务器中查找配置文件,服务器将配置文件传给客户机。(配置文件中指定客户机使用ftp方式连接服务器获取系统镜像文件)
  6. 服务端安装并启动vsftpd服务,客户机使用ftp服务获取系统镜像文件。

二、PXE安装前准备

 2.1 PXE装机所需的四大文件

       1. pxelinux.0:引导程序。(来自syslinux程序)

       2. default:引导程序的配置文件。(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)

       3. vmlinuz:内核文件。(从光盘中获取,位于 isolinux 目录下)

       4. initrd.img: 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)

2.2 搭建PXE过程中所需服务

2.2.1 DHCP服务

DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,同时也能配合DNS解析使用,让指定范围内的客户机能够自动获取解析域名的后缀。

DHCP作为用应用层协议,它依靠并且使用着传输层中udp协议。对于DHCP中分为客户端,和服务端。客户端用的端口为68 ,服务端的端口为67。

2.2.2  vsftpd服务

 vsftpd服务是Linux中使用最多的运用ftp的服务,它是用于Internet上的控制文件的双向传输的一种有效手段,其中有两个端口号均是TCP传输方式,分别为

20端口用于建立数据连接,并传输文件数据

21端口用于建立控制连接,并传输FTP控制命令  

2.2.3 TFTP服务

TFTP(简单文件传输协议),是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。

TFTP服务默认由xinetd服务进行管理,使用UDP69端口。TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。它的位置存在:/var/lib/tftpboot

2.2.4 syslinux 

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

三、PXE批量安装过程

yum install -y  dhcp  vsftpd   tftpd  syslinux    //同时安装四个软件服务
                                                 //也可以一个一个的进行安装

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example   /etc/dhcp/dhcpd.conf    //生成dhcp 配置文件

vim   /etc/dhcp/dhcpd.conf                       //修改配置文件
subnet 192.168.136.0 netmask 255.255.255.0 {
  range 192.168.136.20 192.168.136.50;
  option routers 192.168.136.66;
  next-server 192.168.136.66;
  filename "pxelinux.0";
}
systemctl restart dhcpd

vim /etc/xinetd.d/tftp                                     //修改  tftp  配置文件  将yes 改为no
 准备四大文件
pxelinu.0
cp /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/

准备内核  驱动文件  
mount  /dev/sr0    /mnt
cd /mnt/isolinux/
cp vmlinuz  initrd.img    /var/lib/tftpboot/
 

手写配置文件 
cd  /var/lib/tftpboot/
mkdir pxelinux.cfg
vim  pxelinux.cfg/default

准备yum仓库 
mkdir /var/ftp/centos7
mount /dev/sr0  /var/ftp/centos7/

准备应答文件 自动安装操作系统 
yum install system-config-kickstart -y      // 安装图形化界面  制作应答文件的工具

进入虚拟机设置自动安装 

 

 

 

 

 

 

 启动服务
systemctl start dhcpd
systemctl start tftp.socket
systemctl start vsftpd

测试

 

 

 

 

 

 

 正在安装

总结 :

pxe批量装机: 

        1.安装4个软件包:dhcp、tftp-server、vsftpd、syslinux(取得prelinux.0文件)。

        2.配置DHCP服务器,分配IP地址,指明tftp服务器的地址。(虚拟机需要开启仅主机模式,模拟内网环境)

        3.编辑TFTP服务配置文件,开启服务(默认是关闭状态)。

        4.挂载软件安装源(通常情况下都使用光盘中的安装源,即挂载光驱),并将三大文件先拷入/var/lib/tftpboot/ 目录中:pxelinux.0,vmlinuz,initrd.img。

        5.在/var/lib/tftpboot/ 目录下,创建子目录pxelinux.cfg,在子目录下编写引导程序的配置文件default。

        6.关闭防火墙和selinux。启动dhcpd、tftp、vsftpd。

        7.使用空白客户机(裸机)测试能否自动装机

自动装机-kickstart:

1.安装kickstart服务 

2.进行kickstart设置

3.如果写简易脚本,就保存在家目录

4.将原本的预设值加装软件添加到kickstart生成的文件

5.把该文件移动到ftp下

6.修改ftfp配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/163704.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue之浏览器存储方法封装实例

我们在项目中通常会对缓存进行一些操作,为了便于全局调用,会对缓存的设置、获取及删除方法进行封装成一个工具类。 首先我们在src目录下创建一个plugins文件夹,在plugins下创建cache文件夹并创建index.js,代码如下: c…

C++之函数对象

C之函数对象 #include<iostream> using namespace std; #include<string> ///函数对象 (仿函数) //函数对象在使用时&#xff0c;可以像普通函数那样调用&#xff0c;可以有参数&#xff0c;可以有返回值 //函数对象超出普通函数的概念&#xff0c;函数对象可以有自…

Windows 下 Sublime Text 3.2.2 下载及配置

1 下载地址&#xff1a; https://www.sublimetext.com/3 Sublime Text 3.2.2 (此版本选择了 portable version)&#xff0c;直接解压就可以使用。 https://download.sublimetext.com/Sublime Text Build 3211.zip 2 相关配置 2.1 取消自动更新(需重启)&#xff1a; Preferen…

橱柜的装修干货|板材、五金、高度、配色4个方面。福州中宅装饰,福州装修

引言 橱柜的装修干货。 橱柜是厨房的核心&#xff0c;一个好的橱柜能让厨房变得实用又美观。以下是关于橱柜装修的几个问题解答。 1. 橱柜的柜门常用的板材有哪些&#xff1f; 橱柜的柜门常用的板材有实木板、防火板、烤漆板、包复框、PVC板、膜压板等。不同板材有不同的特点…

macOS 后台项目已添加 “Google Updater添加了可在后台运行的项目。你可以在“登陆项”设置中管理

文章目录 Intro解决查看三个文件夹分析 & 操作确认结果是否生效 Intro 我的macbook上经常弹出这样的通知狂&#xff1a; macOS 后台项目已添加 “Google Updater添加了可在后台运行的项目。你可以在“登陆项”设置中管理 不胜其扰&#xff0c;终于决定禁用它。以下为方法…

大厂数仓专家实战分享:企业级埋点管理与应用

一.什么是埋点 埋点&#xff08;Event Tracking&#xff09;&#xff0c;是互联网数据采集工作中的一个俗称&#xff0c;正式应该叫事件跟踪&#xff0c;英文为 Event Tracking&#xff0c;它主要是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。 二.埋…

C# 电脑程序控制电路开关

最近在做系统的监控&#xff0c;想到能不能做一个酷点的功能&#xff0c;当收到异常消息时桌面上的红色小灯&#xff08;或报警灯&#xff09;会亮起来。于是在淘宝上找了一下&#xff0c;有这种小设备&#xff0c;插入USB设备&#xff0c;通过串口控制这个设备的继电器来实现&…

【小黑送书—第八期】>>别再吐槽大学教材了,来看看这些网友强推的数学神作!

导读&#xff1a;关于大学数学教材的吐槽似乎从来没停止过。有人慨叹&#xff1a;数学教材晦涩难懂。错&#xff01;难懂&#xff0c;起码还可以读懂。数学教材你根本读不懂&#xff1b;也有人说&#xff1a;数学教材简直就是天书。 数学教材有好有坏&#xff0c;这话不假&…

Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式

By: Ailson Jack Date: 2023.11.19 个人博客&#xff1a;http://www.only2fire.com/ 本文在我博客的地址是&#xff1a;http://www.only2fire.com/archives/164.html&#xff0c;排版更好&#xff0c;便于学习&#xff0c;也可以去我博客逛逛&#xff0c;兴许有你想要的内容呢。…

如何使用websocket+node.js实现pc后台与小程序端实时通信

如何使用websocketnode.js实现pc后台与小程序端实时通信 一、使用node.js创建一个服务器二、pc后台连接ws三、小程序端连接ws四、实现效果 实现功能:实现pc后台与小程序端互发通信能够实时检测到 一、使用node.js创建一个服务器 1.安装ws依赖 npm i ws2.创建index.js const…

知道数字孪生发展的四个阶段,你就能明白数字孪生的真正价值了

数字孪生的发展经历了四个阶段。以下是每个阶段的详细描述&#xff1a; 1、数字孪生萌芽期&#xff1a;这个阶段以模型仿真驱动为特征。20世纪80年代以来&#xff0c;CAD、CAE、CAM等计算机建模、模拟仿真技术开始迅猛发展&#xff0c;并在制造业领域广泛应用。该阶段主要通过…

【C语言期末不挂科——指针初阶篇】

C语言指针初阶 文章目录 C语言指针初阶**什么是指针&#xff1f;**   **1&#xff09;初识指针**  **2&#xff09;地址的大小**  **3&#xff09;指针变量** **指针的类型**   **1)指针对整数加减运算**  **2&#xff09;指针的解引用** **野指针**  **1&#xff…

【LLM】基于LLM的agent应用(上)

note 在未来&#xff0c;Agent 还会具备更多的可扩展的空间。 就 Observation 而言&#xff0c;Agent 可以从通过文本输入来观察来理解世界到听觉和视觉的集成&#xff1b;就 Action 而言&#xff0c;Agent 在具身智能的应用场景下&#xff0c;对各种器械进行驱动和操作。 Age…

Java Swing垃圾分类器

内容要求 1) 本次程序设计是专门针对 Java 课程的,要求使用 Java 语言进行具有一定代码量的程序开发。程序的设计要结合一定的算法&#xff0c;在进行代码编写前要能够设计好自己的算法。 本次程序设计涉及到 Java 的基本语法&#xff0c;即课堂上所介绍的变量、条件语句、循…

如何从Android恢复出厂设置后的手机恢复数据

如果您已使用出厂设置删除了Android设备上的所有数据&#xff0c;或者有一段时间未使用&#xff0c;则需要恢复出厂设置以从Android设备中检索数据。 奇客数据恢复安卓版是一个有用的工具&#xff0c;可以在重置后检索Android数据。 将Android设备恢复出厂设置 如果您需要将A…

Java集合大总结——Collection接口

集合概述 Java 集合可分为 Collection 和 Map 两大体系&#xff1a; Collection接口&#xff1a;用于存储一个一个的数据。 List子接口&#xff1a;用来存储有序的、可以重复的数据&#xff08;主要用来替换数组&#xff0c;也被称作"动态"数组&#xff09; 实现类…

麻将馆电脑计费系统,棋牌室怎么用电脑控制灯计时,佳易王计时计费系统软件下载

麻将馆电脑计费系统&#xff0c;棋牌室怎么用电脑控制灯计时&#xff0c;佳易王计时计费系统软件下 棋牌室电脑灯控系统&#xff0c;需要安装一个灯控器&#xff0c;软件发出开灯和关灯的指令&#xff0c;相应的灯就打开或关闭。在点击开始计时的时候&#xff0c;开灯&#xff…

fusion 360制作机械臂

参考教程&#xff1a;Industrial Robot ( PART - 5) - FUSION 360 TUTORIAL_哔哩哔哩_bilibili