Linux网络-PXE高效批量网络装机(命令+截图详细版)

news/2024/9/24 16:28:30/

目录

一.部署PXE远程安装服务

1.PXE概述

1.1.PXE批量部署的优点

1.2.要搭建PXE网络体系的前提条件

2.搭建PXE远程安装服务器

2.1.修改相关网络配置(仅主机模式)

2.2.关闭防火墙(老规矩)

2.3.保证挂载上

2.4.准备好配置文件并安装TFTP服务

修改配置文件

启动服务

检查状态

2.5.安装并启用dhcp服务(VMware虚拟机需注意关闭自带DHCP 上文有)

修改配置

启动并查看服务状态

2.6.准备PXE引导程序

2.7.准备Linux内核和初始化文件

2.8.安装FTP服务

2.9.准备CentOS 7 安装源

2.10.配置启动菜单文件

3.验证PXE网络安装

3.1.使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错

3.2.设置仅主机模式

3.3.进入安装界面(基本上完成)

3.4.设置密码 重启即可

二.实现Kickstart无人值守安装

1.准备安装应答文件

1.1.安装system-config-kickstart 工具

1.2.打开“Kickstart 配置程序”窗口

1.3.配置kickstart选项

基本配置

安装方法

引导程序

分区信息

网络配置

防火墙配置

安装后脚本

保存自动应答文件

配置安装包

2.验证无人值守安装

2.1.全自动(将prompt 1→0 上图)

2.2.等待安装结束即可


一.部署PXE远程安装服务

1.PXE概述

PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,工作在

Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操

作系统

1.1.PXE批量部署的优点

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

1.2.要搭建PXE网络体系的前提条件

客户端

  • 主板支持网络引导
  • 网卡支持PXE协议(现在基本都有)

服务端

  • 运行DHCP服务,用来分配地址、定位引导程序
  • 运行TFTP服务,提供引导程序下载

2.搭建PXE远程安装服务器

PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务、FTP 服务,能够向客

户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件

2.1.修改相关网络配置(仅主机模式)

2.2.关闭防火墙(老规矩

systemctl disable --now firewalldsetenforce 0vim /etc/selinux/config

2.3.保证挂载上

mount /dev/sr0 /mntdf

2.4.准备好配置文件并安装TFTP服务

  • 是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69
  • xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务
 ls /etc/yum.repos.d/

yum install -y xinetd tftp-server

修改配置文件
 cd /etc/xinetd.d/lsvim tftp

protocol       = udp                         TFTP使用UDP协议   wait           = no                          no表示客户机可以多台一起连接,yes表示客户机只能一 台一台连接server_args    = -s /var/lib/tftpboot        指定TFTP根目录(文件存储路径)disable        = no                          no表示开启TFTP服务

启动服务
[root@localhost xinetd.d]# systemctl enable --now xinetd
[root@localhost xinetd.d]# systemctl enable --now tftp

检查状态
systemctl status tftpsystemctl status xinetd

2.5.安装并启用dhcp服务(VMware虚拟机需注意关闭自带DHCP 上文有

yum install -y dhcp

cd /usr/share/doc/dhcp-4.2.5/ls\cp -f dhcpd.conf.example /etc/dhcp/dhcpd.conf

修改配置
cd /etc/dhcp/lsvim dhcpd.conf

ddns-update-style none;                        禁用 DNS 动态更新next-server 192.168.80.101;                    指定 TFTP 服务器的地址filename "pxelinux.0";                         指定 PXE 引导程序的文件名


subnet 192.168.80.0 netmask 255.255.255.0 {    声明要分配的网段地址range 192.168.80.100 192.168.80.200;          设置地址池option routers 192.168.80.101;                默认网关地址指向TFTP服务器的IP地址
}

启动并查看服务状态
systemctl enable --now dhcpdsystemctl status dhcpd

2.6.准备PXE引导程序

yum install -y syslinux

cd /usr/share/syslinux/ls[root@localhost syslinux]# cp pxelinux.0 /var/lib/tftpboot/
[root@localhost syslinux]# ls /var/lib/tftpboot/
pxelinux.0

2.7.准备Linux内核和初始化文件

cd /mnt/lscd images/lscd pxeboot/lscp vmlinuz initrd.img /var/lib/tftpboot/ls /var//lib/tftpboot/

2.8.安装FTP服务

yum install -y vsftpd

2.9.准备CentOS 7 安装源

systemctl enable --now vsftpdcd /var/ftpmkdir centos7ls /mnt/mount /dev/sr0 /var/ftp/centos7/cd /var/ftp/centos7/lscd /var/lib/tftpboot/ls

2.10.配置启动菜单文件

cd /var/lib/tftpboot/lsmkdir pxelinux.cfglscd pxelinux.cfg/touch defaultlsvim defaultcd ..pwdls -R

default auto 							指定默认入口名称
prompt 1 								设置是否等待用户选择,“1”表示等待用户控制label auto								图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz							kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.101/centos7label text						        文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.80.101/centos7label rescue						    救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.80.101/centos7

3.验证PXE网络安装

3.1.使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错

3.2.设置仅主机模式

  • 开启虚拟机,在提示字符串“boot:”后直接按Enter键(或执行“auto”命令),将会自动通过网络下载安装文件,并进入默认的图形安装入口
  • 若执行“linux text”命令,则进入文本安装入口
  • 若执行 “linux rescue”命令,则进入救援模式

3.3.进入安装界面(基本上完成)

3.4.设置密码 重启即可

二.实现Kickstart无人值守安装

1.准备安装应答文件

1.1.安装system-config-kickstart 工具

yum install -y system-config-kickstart

1.2.打开“Kickstart 配置程序”窗口

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

1.3.配置kickstart选项

基本配置
  • 默认语言设为“中文(简体)”
  • 时区设为“Asia/Shanghai”
  • 设置root密码
  • 高级配置中勾选“安装后重启”
     

安装方法
  • 选FTP
  • FTP服务器:ftp://192.168.80.101
  • FTP目录:centos7

引导程序

分区信息

网络配置

防火墙配置

安装后脚本

勾选“使用解释程序”:/bin/bashmkdir /etc/yum.repos.d/repo.bakmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bakecho '[local]name=localbaseurl=ftp://192.168.80.10/centos7enabled=1gpgcheck=0' > /etc/yum.repos.d/local.repo

保存自动应答文件
  • 选择“Kickstart 配置程序”窗口的“文件”-->“保存”命令,选择指定保存位置,文件名为ks.cfg
  • 默认保存在/root/ks.cfg
  • cp /root/ks.cfg /var/ftp/ks.cfg
配置安装包

vim anaconda-ks.cfg

复制后在最后一行插入

vim ks.cfg

复制

cp ks.cfg /var/ftpcd /var/ftp/lscd /var/lib/tftpboot/lscd pxelinux.cfg/ls

修改引导菜单文件

vim default

ks=ftp://192.168.80.101/ks.cfg

2.验证无人值守安装

2.1.全自动(将prompt 1→0 上图)

2.2.等待安装结束即可


http://www.ppmy.cn/news/1456781.html

相关文章

简述前后端分离架构案例

Hello , 这里是小恒不会java 。今晚1点写写关于RESTful接口的使用案例,本文会通过django原生js前后端分离的案例简单讲解。本文带你认识一下简化版的前后端分离架构 代码 本文案例代码在GitHub上 https://github.com/lmliheng/fontend前后端分离 先说说什么是前后…

再议大模型微调之Zero策略

1. 引言 尽管关于使用Deepspeed的Zero策略的博客已经满天飞了,特别是有许多经典的结论都已经阐述了,今天仍然被问到说,如果我只有4块40G的A100,能否进行全量的7B的大模型微调呢? 正所谓“纸上得来终觉浅,…

常见比较实用的Chrome命令/扩展程序

文章目录 一、Chrome命令二、Chrome操作三、Chrome扩展程序 一、Chrome命令 Chrome浏览器提供了一系列实用的内部命令和URL,这些命令可以帮助用户快速访问浏览器的各种功能和设置。以下是一些实用的Chrome命令: 查看所有支持的命令: 直接在…

(✌)粤嵌—2024/5/7—除自身以外数组的乘积

代码实现&#xff1a; /*** Note: The returned array must be malloced, assume caller calls free().*/ int* productExceptSelf(int *nums, int numsSize, int *returnSize) {// 左乘积int l[numsSize];l[0] 1;for (int i 1; i < numsSize; i) {l[i] l[i - 1] * nums[…

使用Simulink Test进行单元测试

本文摘要&#xff1a;主要介绍如何利用Simulink Test工具箱&#xff0c;对模型进行单元测试。内容包括&#xff0c;如何创建Test Harness模型&#xff0c;如何自动生成excel格式的测试用例模板来创建测试用例&#xff0c;如何手动填写excel格式的测试用例模板来手动创建测试用例…

QT creator qt6.0 使用msvc2019 64bit编译报错

qt creator qt6.0报错&#xff1a; D:\Qt6\6.3.0\msvc2019_64\include\QtCore\qglobal.h:123: error: C1189: #error: "Qt requires a C17 compiler, and a suitable value for __cplusplus. On MSVC, you must pass the /Zc:__cplusplus option to the compiler."…

《QT实用小工具·六十》Qt 多列时间轴控件

1、概述 源码放在文章末尾 Qt 多列时间轴控件。 可与多段字符串格式自由转换&#xff0c;也可手动添加列表项。 专门用来以时间轴作为事件线发展顺序的故事大纲。 特点 时间背包功能&#xff1a;记录所有物品或属性发生的变化&#xff0c;随时回溯 时间可输入任意内容&…

深入Django:用户认证与权限控制实战指南

title: 深入Django&#xff1a;用户认证与权限控制实战指南 date: 2024/5/7 18:50:33 updated: 2024/5/7 18:50:33 categories: 后端开发 tags: AuthDecoratorsPermissionsGuardianRESTAuthSessionMgmtMFA 第1章&#xff1a;入门Django与设置 1.1 Django安装与环境配置 在…