Linux网络—PXE高效批量网络装机

目录

一、部署PXE远程安装服务

1、搭建PXE远程安装服务器

1)安装并启用 TFTP 服务

2)安装并启用 DHCP 服务

3)准备 Linux 内核、初始化镜像文件

4)准备 PXE 引导程序

5)安装FTP服务,准备CentOS 7 安装源

2、验证PXE网络安装

二、实现Kickstart无人值守安装

1、安装应答文件

1)安装system-config-kickstart 工具

2)打开“Kickstart 配置程序”窗口

3)配置kickstart选项

4)保存自动应答文件

5)配置需要安装的软件包

6)编辑引导菜单文件 default,添加 ks 引导参数

2、实现批量自动装机


一、部署PXE远程安装服务

PXE具备以下三个优点:

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

若要搭建 PXE 网络体系,必须满足以下几个前提条件:
客户端:
1.客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从 Network 或 LAN 启动即可。
服务端:
2.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
3.服务器要通过 TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载。

1、搭建PXE远程安装服务器

1)安装并启用 TFTP 服务

yum -y install tftp-server xinetd
#修改TFTP服务的配置文件

vim /etc/xinetd.d/tftp

2)安装并启用 DHCP 服务

yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#修改DHCP服务的配置文件

vim /etc/dhcp/dhcpd.conf

3)准备 Linux 内核、初始化镜像文件

mount /dev/sr0 /mnt
cd /mnt/images/pxeboot
cp vmlinuz /var/lib/tftpboot/ #复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/      #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

4)准备 PXE 引导程序

yum -y install syslinux #PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制 PXE引导程序 到TFTP根目录下

5)安装FTP服务,准备CentOS 7 安装源

yum -y install vsftpd

6)配置启动菜单文件

默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default

default auto #指定默认入口名称

prompt 1 #设置是否等待用户选择,“1”表示等待用户控制


label auto #图形安装(默认)引导入口,label 用来定义启动项

kernel vmlinuz #kernel 和 append用来定义引导参数

append initrd=initrd.img method=ftp://20.0.0.100/centos7


label linux text #文本安装引导入口

kernel vmlinuz

append text initrd=initrd.img method=ftp://20.0.0.100/centos7


label linux rescue #救援模式引导入口

kernel vmlinuz

append rescue initrd=initrd.img method=ftp://20.0.0.100/centos7

7)关闭防火墙,验证 PXE 网络安装

systemctl stop firewalld.service

setenforce 0

2、验证PXE网络安装

使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令)

将会自动通过网络下载安装文件,并进入默认的图形安装入口;
若执行“linux text”命令,则进入文本安装入口;若执行 “linux rescue”命令,则进入救援模式。

二、实现Kickstart无人值守安装

1、安装应答文件

1)安装system-config-kickstart 工具

yum install -y system-config-kickstart

2)打开“Kickstart 配置程序”窗口

通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开或执行 “system-config-kickstart” 命令打开

3)配置kickstart选项

4)保存自动应答文件

选择“Kickstart 配置程序”窗口的“文件”-->“保存”命令,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfg

5)配置需要安装的软件包

可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分即可。

cp /root/ks.cfg /var/ftp/ks.cfg

如要求最小化安装,可复制下面内容:

vim ks.cfg
%packages
@^minimal
%end

6)编辑引导菜单文件 default,添加 ks 引导参数



#添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径

2、实现批量自动装机

当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,而无须手工干预。

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

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

相关文章

OpenCV 入门(一) —— OpenCV 基础

OpenCV 入门系列: OpenCV 入门(一)—— OpenCV 基础 OpenCV 入门(二)—— 车牌定位 OpenCV 入门(三)—— 车牌筛选 OpenCV 入门(四)—— 车牌号识别 OpenCV 入门&#xf…

Springboot框架web开发实用功能-02

在些模块中汇总了一些web开发常用的配置和功能。 涉及的模块 springboot-common-config, 端口号:17000 Springboot框架web开发常用功能 Restful接口定义 查询参数 Data public class QueryParam {private String key;private String value; }Control…

MATLAB实现杜拉德公式和凯夫公式的计算固液混合料浆临界流速

MATLAB实现杜拉德公式和凯夫公式的计算固液混合料浆临界流速: 杜拉德公式是用来计算非均质固液混合料浆在输送管中的临界速度的公式,具体形式为: uL FL (2gD / (ρ0 - ρ1))^(1/2) 其中: uL:表示料浆的临界速度,…

Hbase 常用shell操作

目录 1、创建表 1.1、启动HBase Shell 1.2、创建表 1.3、查看表 1.4、删除表 2、插入数据 2.1、put命令 3、查看数据 3.1、get命令 3.2、查询数据中文显示 4、更新数据 4.1、使用put来更新数据 5、删除数据 5.1、delete命令 5.2、删除指定列的数据 5.3、delete…

Pycharm debug 运行报错 (RuntimeError: cannot release un-acquired lock)

问题描述: 最近再跑一个 flask应用,Pycharm 运行没问题,debug断点启动时报错 如下: 解决方案: 在环境变量中增加 GEVENT_SUPPORTTrue 启动成功!

libcity笔记:添加新模型(以RNN.py为例)

创建的新模型应该继承AbstractModel或AbstractTrafficStateModel 交通状态预测任务——>继承 AbstractTrafficStateModel类轨迹位置预测任务——>继承AbstractModel类 1 AbstractTrafficStateModel 2 RNN 2.1 构造函数 2.2 predict 2.3 calculate_loss

博客系统项目测试报告

文章目录 一.报告概要二.测试环境三.手工测试用例四.编写测试用例五.自动化测试Selenium测试项目主要特点 一.报告概要 项目概要 本项目是一个全功能的个人博客系统,旨在提供一个用户友好、功能全面的平台,允许用户注册、登录、浏览博客、查看详细内容、…

Mac跑llama.cpp过程中遇到的问题

原repo 在华为手机上安装termux、下载库:顺利在电脑上安装Android NDK:先下载Android Studio,再在里面下载Android SDK 安装Android Studio时,SDK的某些组件总是下载不成功。后来关了梯子、改了hosts,重新安装就成功了…

Golang | Leetcode Golang题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; func setZeroes(matrix [][]int) {n, m : len(matrix), len(matrix[0])col0 : falsefor _, r : range matrix {if r[0] 0 {col0 true}for j : 1; j < m; j {if r[j] 0 {r[0] 0matrix[0][j] 0}}}for i : n - 1; i > 0; i-- {for …

Go实现树莓派控制舵机

公式说明 毫秒&#xff08;ms&#xff09;是时间的单位&#xff0c;赫兹&#xff08;Hz&#xff09;是频率的单位&#xff0c;而DutyMax通常是一个PWM&#xff08;脉冲宽度调制&#xff09;信号中表示最大占空比的值。以下是它们之间的关系和一些相关公式&#xff1a; 频率&…

【华为】路由策略小实验

【华为】软考中级-路由策略实验 实验需求拓扑配置AR1AR2需求1需求2 AR3 检验 实验需求 1、让 R3 可以学到R1的 192.168.10.0/24和192.168.20.0/24的 路由&#xff0c;不能学到192.168.30.0/24。 2、让 R1可以学到 R3 的 172.16.20.0/24和172.16.30.0/24的路由&#xff0c;不能…

opencv图像处理详细讲(二)

联通组件分析 联通组件定义&#xff1a;像素值相同&#xff0c;通过四邻域或者八邻域相互连通的像素块。 换句话说&#xff0c;就是使用四邻域或八邻域的连通性&#xff0c;遍历图像的像素&#xff0c;并确定像素值相同并且连通的像素块&#xff0c;将它们标记为一个联通组件 两…

虚拟机VM VirtualBox安装openEuler+UKUI的安装和卸载_2024

虚拟机VM VirtualBox安装openEuler ps. 建议先看最后的其他 下载openEuler openEuler官网下载 一般来说标准版就够用了 使用虚拟机VM VirtualBox安装openEuler 新建虚拟机 修改用户名密码&#xff0c;建议修改&#xff0c;虽然之后还可以通过命令行修改&#xff08;注意密…

pyecharts绘制世界动态轨迹图(v0.5.X与v1.X版本对比)

一、问题引入 pyecharts官网&#xff1a;https://pyecharts.org/#/zh-cn/intro 在使用Geo或者GeoLines绘制动态轨迹图时&#xff0c;如果所选地区是中国的省份或者城市&#xff0c;是能够匹配到对应的经纬度并且正常绘制的&#xff1b;如果所选地区涉及到其他国家或者国外城市&…

Docker-harbor

一、搭建本地私有仓库 1.1 下载Registry镜像 1.2 添加本地私有仓库配置 1.3 重启服务并运行Registry容器 1.4.容器的操作 1.4.1 拉取Nginx镜像并为镜像打标签 1.4.2 上传到私有仓库 1.4.3 列出私有仓库所有镜像 1.4.4 列出私有仓库的镜像的所有标签 1.4.5 先删除原有…

Anaconda删除虚拟环境目录pkgs和envs|conda瘦身

这个文件夹里面是专门放不同环境中的包的&#xff0c;只是没有区分环境&#xff0c;都混在一起了&#xff0c; 一般在想要删除一个虚拟环境&#xff0c;除了在命令行中输入conda remove -n your_env_name(虚拟环境名称) --all 然后在envs中删除虚拟环境的文件夹&#xff0c; 还…

企业微信hook接口协议,ipad协议http,客户群发送任务,获取要发送的客户群列表

客户群发送任务&#xff0c;获取要发送的客户群列表 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信 请求示例 {"uuid": "1688853790533324","id":1101292747044333637, //群发任务id"keyword…

【Unity】如何获得TMP Button下的text内容

【背景】 unity项目中使用了TMP命名空间的Button UI组件。脚本中需要获得Button下Text的内容,但是发现用TextMeshPro仍然无法获得button下的text对象。 【分析】 Hierarchy结构上看明确Button下是有Text组件的: 括号里是TMP,所以理论上用TextMeshPro类型去FindComponent…

navicat 连接 阿里云 RDS mysql 数据库

首先上官方教程连接 下面是我的实操记录 1、先输入正确的账号、密码 2、再加上数据库名称

鸢尾花分类-pytorch实现

前言 本文用pytorch实现了鸢尾花分类&#xff0c;数据不多&#xff0c;只做代码展示用&#xff0c;后续有升级版本。 代码 -*- coding: utf-8 -*- File : main.py Author: Shanmh Time : 2024/05/06 上午9:37 Function&#xff1a;import torch from sklearn import datase…