PXE批量安装

系统装机的三种引导方式

  • u盘
  • 光盘
  • 网络装机

光盘:

1.类似于usb模式

2.刻录模式

系统安装过程

  • 加载boot loader

Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境

  • 加载启动安装菜单
  • 加载内核和initrd系统(文件才能使用文件)
  • 加载根系统()
  • 运行anaconda的安装向导

Linux安装光盘的安装相关文件

在系统光盘的isolinux目录下有和安装相关的文件

  • boot.cat: 相当于grub的第一阶段
  • isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目
  • isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件
  • vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单
  • memtest:内存检测程序
  • splash.png:光盘启动菜单界面的背景图
  • vmlinuz:是内核映像
  • initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)

四大文件

vmlinux:是一个压缩的linux内核文件,它包含了操作系统的核心功能和驱动程序

initrd.img:是一个用于初始化RAM磁盘的初始RAM文件系统。它包含了操作系统启动时所需的基本文件和驱动程序

pxelinux.0:是一个PXE引导加载程序,用于启动网络引导

pxelinux.cfg/default:手动配置

实现自动化安装操作系统

Kickstart和PXE结合使用可以实现自动化的网络安装过程。

实现过程

1.网卡需要查找相关的dhcp服务器(获取地址)

2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

2.网卡使用tftp客户端把引导程序加载到内存中来

4.bios执行引导程序

5.引导程序会去TFTP去查找配置文件

6.根据配置文件去引导安装系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PXE优点

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

模拟PXE+KICKSTART无人值守安装操作系统

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install dhcp -y
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
[root@localhost ~]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 
subnet 192.168.118.0 netmask 255.255.255.0 {
  range 192.168.118.50 192.168.118.90;
  option routers 192.168.118.20;
  next-server 192.168.118.20;
  filename "pxelinux.0";
}
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 二 2024-05-07 16:12:45 CST; 16s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 12762 (dhcpd)
   Status: "Dispatching packets..."
   CGroup: /system.slice/dhcpd.service
           └─12762 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -g...
[root@localhost ~]# yum install tftp-server -y
[root@localhost ~]# rpm -qc tftp-server 
/etc/xinetd.d/tftp
[root@localhost ~]# vim /etc/xinetd.d/tftp 
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl status tftp
● tftp.service - Tftp Server
   Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
   Active: active (running) since 二 2024-05-07 16:30:51 CST; 8s ago
     Docs: man:in.tftpd
 Main PID: 13007 (in.tftpd)
   CGroup: /system.slice/tftp.service
           └─13007 /usr/sbin/in.tftpd -s /var/lib/tftpboot

5月 07 16:30:51 localhost.localdomain systemd[1]: Started Tftp Server.
5月 07 16:30:51 localhost.localdomain systemd[1]: Starting Tftp Server...
[root@localhost ~]# yum install syslinux -y
[root@localhost ~]# rpm -ql syslinux |grep "pxelinux.0"
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp -p /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# cd /var/ftp/centos7/
[root@localhost centos7]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost centos7]# cd images/
[root@localhost images]# ls
efiboot.img  pxeboot  TRANS.TBL
[root@localhost images]# cd pxeboot/
[root@localhost pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@localhost isolinux]# cp -p initrd.img vmlinuz /var/lib/tftpboot/
[root@localhost tftpboot]# mkdir pxelinux.cfg/
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default

default linux
timeout 600

label linux
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.118.20/centos7    ks=ftp://192.168.118.20/ks.cfg

label linux text
        kernel vmlinuz
        append text initrd =initrd.img method=ftp://192.168.118.20/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.118.20/centos7

[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinu
[root@localhost pxelinux.cfg]# yum install system-config-kickstart -y

在这里插入图片描述

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

在这里插入图片描述

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

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

相关文章

jmeter分布式集群压测

目的:通过多台机器同时运行 性能压测 脚本,模拟更好的并发压力 简单点:就是一个人(控制机)做一个项目的时候,压力有点大,会导致结果不理想,这时候找几个人(执行机&#x…

java10基础(this super关键字 重写 final关键字 多态 抽象类)

目录 一. this和super关键字 1. this关键字 2. super关键字 二. 重写 三. final关键字 四. 多态 五. 抽象类 1. 抽象方法 2. 抽象类 3. 面向抽象设计 一. this和super关键字 1. this关键字 this 当前对象的引用 this.属性 this.方法名() this() -- 调用构造函数 …

电源功率模组: 完整的设计和验证流程解决四个维度的设计挑战

概述 电动汽车、新能源、光伏、风电等领域广泛使用高功率开关电源功率模组。IGBT和MOSFET是模组中常用器件。本文讨论这些技术,以及为实现高达1700伏特电压、1600安培电流、温度稳定和低电磁辐射的复杂指标带来的设计挑战。本文也总结今天的设计方法和优缺点。最后…

Java毕业设计 基于SpringBoot vue企业信息管理系统

Java毕业设计 基于SpringBoot vue企业信息管理系统 SpringBoot 企业信息管理系统 功能介绍 员工:登录 个人中心 修改密码 个人信息 会议管理 公告管理 个人计划管理 通讯录管理 外出登记管理 请假管理 上下班打卡管理 管理员:登录 个人中心 修改密码 …

跨越语言界限,多语言盲盒小程序带你领略全球风情

在全球化的今天,我们生活在一个多元文化的世界中,不同的语言、风俗、习惯共同构成了这个五彩斑斓的地球村。为了让每个人都能轻松体验到世界各地的独特风情,一款创新的多语言盲盒小程序应运而生,它跨越了语言的界限,让…

【linux-IMX6ULL中断配置流程】

目录 1. Cortex-A7和GIC中断概述1. 1 Cortex-A7中断系统:1. 2 GIC中断控制器简介: 2. 中断配置概述3. 底层中断文件配置3.1 对启动文件.s的配置思路3.2 对中断函数配置思路 4. 上层中断配置流程 1. Cortex-A7和GIC中断概述 学习IMX6UL的中断处理系统&…

页面嵌套,界面套娃,除了用iframe,还有其他方式吗?

UIOTOS可以了解下,uiotos.net,通过连线来代替脚本逻辑开发,复杂的交互界面,通过页面嵌套轻松解决,是个很新颖的思路,前端零代码! 蓝图连线尤其是独创的页面嵌套和属性继承技术,好家…

独有病眼花,春风吹不落。 (二维坐标压缩成一个点,并查集)

本题链接:登录—专业IT笔试面试备考平台_牛客网 题目: 样例: 输入 3 8 1 1 D 1 1 R 1 2 D 2 1 D 2 2 R 3 1 R 3 2 R 2 3 D 输出 8 思路: 根据题意,要求连接线段后,操作多少次,连接的线段闭合&…

javaweb学习笔记1

1、基本概念 1.1、前言 web开发: web,网页的意思,www.baidu.com 静态web html,css 提供给所有人看的数据始终不会发生变化! 动态web 淘宝,几乎是所有的网站; 提供给所有人看的数据始终会发生变化&…

00后设计师如何通过咸鱼接单实现副业月入过万?

大家好,我是一个00后,拥有6年设计经验的平面/包装/品牌设计师。在裸辞探索自由职业的过程中,误打误撞地通过咸鱼接单做副业,首月收入竟然超过了万元!在这里,我将分享具体的实操经验、心得体会以及一些额外的…

c++游戏小技巧16:实例1(地牢生成算法)

1.前言 (头图) (其实最开始是想写恶魔轮盘的,但没想到它竟然更新了) (等我有时间在更,最近很忙,玩第五玩的) 想法来源:房间和迷宫:一个地牢生成算法https://indienova…

【牛客】值周

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 差分。 因为l<100000000,所以数组开1e8。 唯一需要注意的点就是前面给b[0]单独赋值为1&#xff08;因为如果在循环中给b[0]赋值&…

MIT加州理工等革命性KAN破记录,发现数学定理碾压DeepMind!KAN论文解读

KAN的数学原理 如果f是有界域上的多元连续函数&#xff0c;那么f可以被写成关于单个变量和加法二元操作的连续函数的有限组合。更具体地说&#xff0c;对于光滑函数f&#xff1a;[0, 1]ⁿ → R&#xff0c;有 f ( x ) f ( x 1 , … , x n ) ∑ q 1 2 n 1 Φ q ∑ p 1 n …

解决Pyppeteer下载chromium慢或者失败的问题[INFO] Starting Chromium download.

文章目录 1.进入网址2.选择上面对应自己系统的文件夹进去3. 然后找到自己的python环境中的site-packages中pyppeteer中的chromium_downloader.py文件并打开 在首次使用Pyppeteer时需要下载chromium 1.进入网址 https://registry.npmmirror.com/binary.html?pathchromium-bro…

贪心算法应用例题

最优装载问题 #include <stdio.h> #include <algorithm>//排序int main() {int data[] { 8,20,5,80,3,420,14,330,70 };//物体重量int max 500;//船容最大总重量int count sizeof(data) / sizeof(data[0]);//物体数量std::sort(data, data count);//排序,排完数…

品高虚拟化后端存储的发展演进

在品高虚拟化技术不断发展的过程中&#xff0c;虚拟化的后端存储一直是关注的焦点之一。 本文将从最初的文件存储和NFS开始&#xff0c;追溯到集中式存储SAN&#xff0c;然后选择了Ceph的RBD方式&#xff0c;并最终抵达选择支持vhost协议的后端存储的现状&#xff0c;我们将探…

使用wxPython和pandas模块生成Excel文件

介绍&#xff1a; 在Python编程中&#xff0c;有时我们需要根据特定的数据生成Excel文件。本文将介绍如何使用wxPython和pandas模块来实现这个目标。我们将创建一个简单的GUI应用程序&#xff0c;允许用户选择输出文件夹和输入的Excel文件&#xff0c;并根据Excel文件中每个单…

图像处理技术与应用(四)

图像处理技术与应用入门 颜色空间及其转换 颜色空间是一种用于在数字图像中表达和指定颜色的方法。不同的颜色空间使用不同的方式来定义颜色&#xff0c;每种方式都有其特定的用途和优势。以下是一些常见的颜色空间及其特点&#xff1a; RGB&#xff08;红绿蓝&#xff09;&a…

每日一题(PTAL2):列车调度--贪心+二分

选择去维护一个最小区间 代码1&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n;cin>>n;int num;vector <int> v;int res0;for(int i0;i<n;i){cin>>num;int locv.size();int left0;int rightv.size()-1;while(left<…

AIGC技术带给我们什么?基于AIGC原理及其技术更迭的思考

AIGC技术带给我们什么&#xff1f;基于AIGC原理以及技术更迭的思考 前言 AI&#xff0c;这个词在如今人们的视野中出现频率几乎超过了所有一切其他的事物&#xff0c;更有意思的是&#xff0c;出现频率仅次于这个词的&#xff0c;几乎都会加上一个修饰亦或是前缀——AI&#…