实现PXE批量网络装机及kickstrat无人值守安装(富士山终究留不住欲落的樱花)

news2024/11/17 11:30:15

一、PXE概述和部署PXE批量装机

1.PXE简介

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

2.PXE优点

  • 规模化:同时装配多台服务器,无需每一台单独- 安装操作系统;
  • 自动化:实现服务器的自动安装及自动配置各种服务;
  • 远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。

3.搭建PXE网络体系前提条件

客户端

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

服务端

  • 需要有DHCP 服务以便为客户机自动分配地址、指定引导文件位置。
  • 服务器要通过 TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载。
  • 服务器中使用FTP服务(或http/nfs)font> :提供yum安装源
  • 安装软件包syslinux :提供PXE引导程序

4.PXE实现过程

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

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

–> 网卡使用tftp客户端把引导程序加载到内存中

–> bios执行引导程序

–> 引导程序会去TFTP去查找配置文件

–> 根据配置文件去引导安装系统

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

PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
(1)关闭防火墙和selinux

[root@localhost1 ~]#systemctl stop firewalld.service 
[root@localhost1 ~]#setenforce 0 

2)搭建本地yum仓库用于安装所需软件

[root@localhost1 ~]#mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost1 ~]#cd /etc/yum.repos.d/
[root@localhost1 yum.repos.d]#ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo
[root@localhost1 yum.repos.d]#mkdir repo.bak
[root@localhost1 yum.repos.d]#mv *.repo repo.bak/
[root@localhost1 yum.repos.d]#ls
repo.bak
[root@localhost1 yum.repos.d]#vim local.repo
[root@localhost1 yum.repos.d]#yum clean all
[root@localhost1 yum.repos.d]#yum makecache

(3)安装并启用 DHCP 服务

//下载dhcp服务
[root@localhost1 ~]#yum install -y dhcp
 
//将dhcp配置模板文件拷贝到dhcp配置文件中
[root@localhost1 ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
 
//修改dhcp配置文件
[root@localhost1 ~]#vim /etc/dhcp/dhcpd.conf 
ddns-update-style none;       --禁用 DNS 动态更新
next-server 192.168.116.10;      --指定 TFTP 服务器的地址
filename"pxelinux.0";      --指定 PXE 引导程序的文件名
 
subnet 192.168.116.0 netmask 255.255.255.0 {   --声明要分配的网段地址
  range 192.168.116.100 192.168.116.200;      --设置ip地址池
  option routers 192.168.116.10;    --默认网关地址指向TFTP服务器的IP地址
}
 
//开启dhcp服务
[root@localhost1 ~]#systemctl start dhcpd

(4)安装并启用 TFTP 服务

TFTP(简单文件传输协议):传输内核和引导文件
是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。

//下载tftp服务相关软件
[root@localhost1 ~]#yum install -y tftp-server
[root@localhost1 ~]#yum install -y xinetd.x86_64 
 
//查找并修改TFTP服务配置文件 /etc/xinetd.d/tftp
[root@localhost1 ~]#cd /etc/xinetd.d/
[root@localhost1 xinetd.d]#ls
chargen-dgram   daytime-stream  echo-dgram     tftp
chargen-stream  discard-dgram   echo-stream    time-dgram
daytime-dgram   discard-stream  tcpmux-server  time-stream
[root@localhost1 ~]#vim /etc/xinetd.d/tftp
service tftp
{
        socket_type             = dgram
        protocol                = udp     --TFTP使用UDP协议	
        wait                    = no    --no表示客户机可以多台一起连接,yes表示客户机只能逐台连接
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot  --指定TFTP根目录(文件存储路径)
        disable                 = no    --no表示开启TFTP服务
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
 
//开启服务(注意顺序)
[root@localhost1 xinetd.d]#systemctl start tftp
[root@localhost1 xinetd.d]#systemctl start xinetd

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

//光盘中存放pxe启动文件的位置在 images/pxeboot/ 下
[root@localhost1 ~]#cd /mnt
[root@localhost1 mnt]#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@localhost1 mnt]#cd images/
[root@localhost1 images]#ls
efiboot.img  pxeboot  TRANS.TBL
[root@localhost1 images]#cd pxeboot/
[root@localhost1 pxeboot]#ls
initrd.img   TRANS.TBL  vmlinuz
    ^                      ^
初始化镜像文件           Linux内核
 
//复制初始化镜像文件和Linux内核文件到TFTP根目录下
[root@localhost1 pxeboot]#cp vmlinuz /var/lib/tftpboot/
[root@localhost1 pxeboot]#cp initrd.img /var/lib/tftpboot/

(6)安装syslinux,准备pxe引导程序

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

//安装syslinux
[root@localhost1 pxeboot]#yum install -y syslinux
 
//把pxe引导程序文件放到/var/lib/tftpboot/下
[root@localhost1 pxeboot]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

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

//安装ftp服务
[root@localhost1 pxeboot]#yum install -y vsftpd
[root@localhost1 pxeboot]#cd /var/ftp
[root@localhost1 ftp]#ls
pub
 
//在ftp根目录/var/ftp目录下创建一个目录centos7用于放Linux镜像文件
[root@localhost1 ftp]#mkdir centos7
[root@localhost1 ftp]#cp -rf /mnt/* /var/ftp/centos7/   --事先将镜像挂载在了mnt目录下
 
//启动ftp服务
[root@localhost1 ftp]#systemctl start vsftpd

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

[root@localhost1 ftp]#cd /var/lib/tftpboot/
[root@localhost1 tftpboot]#ls
initrd.img  pxelinux.0  vmlinuz
[root@localhost1 tftpboot]#mkdir pxelinux.cfg
[root@localhost1 tftpboot]#cd pxelinux.cfg/
 
//编写配置
[root@localhost1 pxelinux.cfg]#vim default
default auto    --指定默认入口名称
prompt 1      --设置是否等待用户选择,“1”表示等待用户控制
 
label auto    --图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz   --指定内核
append initrd=initrd.img method=ftp://192.168.116.10/centos7  --指定初始化镜像文件(ftp源)
 
label linux text  --文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.116.10/centos7
 
label linux rescue  --急救模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.116.10/centos7

(9)测试安装
新键一台虚拟机并打开
在这里插入图片描述
(2)安装方法

在这里插入图片描述
(3)引导装载程序选项
在这里插入图片描述
(4)分区信息
在这里插入图片描述
在这里插入图片描述
(5)网络配置
在这里插入图片描述
(6)防火墙配置
在这里插入图片描述
(7)安装后执行的脚本
在这里插入图片描述
8)保存文件
选择“Kickstart 配置程序”窗口的“文件”–>“保存”命令,选择指定保存位置,默认文件名为ks.cfg ,保存在/root/ks.cfg
在这里插入图片描述
(9)配置需要安装的软件包

    可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分即可。
//查看文件中的软件包字段
[root@localhost1 ~]#cat anaconda-ks.cfg 
 
...
 
%packages
 
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
 
%end
 
//添加图形化界面安装
[root@localhost1 tftpboot]#vim /var/ftp/ks.cfg 
%packges
@^gnome-desktop-environment
%end

(10)编辑引导菜单文件 default,添加 ks 引导参数,使自定义配置生效

[root@localhost1 ~]#vim /var/lib/tftpboot/pxelinux.cfg/default 
default auto
prompt 0
 
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.116.10/centos7 ks=ftp://192.168.116.10/ks.cfg

(11)测试安装
当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,而无须手工干预。过程全自动化,不再演示。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023_8.0.33版windows版MySql安装_配置远程连接_修改设置初始密码---MySql工作笔记0001

MySQL :: Download MySQL Community Server https://dev.mysql.com/downloads/mysql/ 首先去下载mysql 可以看到这里下载第一个就可以了,最新版的8.0.33 这里点击仅仅下载 just start my download 然后解压到一个文件夹,然后配置一下环境变量 然后新建一个my.ini文件 然后把…

ubuntu22.04下挂载第二块硬盘

文章目录 一、查看硬盘情况二、找到nvme1n1三、挂载四、修改分区文件 一、查看硬盘情况 首先要查看一下系统识别出来的设备。也就是说,我希望知道,ubuntu到底发现了几块硬盘。用命令:lsblk 显示结果如下: 有两块硬盘&#xff1a…

Win11打开移动热点后电脑无法上网怎么办?

Win11打开移动热点后电脑无法上网怎么办?有用户将自己的电脑开启移动热点来使用的时候,发现自己的电脑出现了无法上网的情况。那么为什么开启热点之后,就会无法进行上网呢?来看看以下的解决方法分享吧。 Win11打开移动热点无法上网…

virtual kubelet 简单使用例子

virtual kubelet 简单使用例子 实现过程制作virtual kubelet节点证书下载virtual kubelet代码并编译virtual kubelet virtual kubelet 顾名思义就是虚拟的kubelet节点 效果如下: 实现过程 制作virtual kubelet节点证书 openssl genrsa -out client.key 2048 opens…

EPICS aSub记录使用实例

本实例描述了在数据库中如何使用aSub记录 本实验中使用了三个k型热电偶,一个3路k型热电偶变送器以及一个串口服务器: 温度变送器参数: 串口服务器: 1) 用makeBaseApp.pl构建IOC应用程序的目录结构: [blctrllocalhost…

OpenGL入门教程之 摄像机

引言 前面的教程中我们讨论了观察矩阵以及如何使用观察矩阵移动场景。OpenGL本身没有摄像机的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,这样感觉就像我们在移动,而不是场景在移动。  本节我们将会讨论如何…

从零开始学架构——高可用存储架构

双机架构 存储高可用方案的本质都是通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用,其复杂性主要体现在如何应对复制延迟和中断导致的数据不一致问题。因此,对任何一个高可用存储方案,我们需要从以下几个方面去进…

【MySQL】一个脚本启动MySQL 8.0并初始化数据库

引 很多情况下需要在客户端发布时发布 MySQL 数据库,这种发布方式虽然存在文件资源较大、易出错等缺点,但是却可以让桌面产品的发布更加完整。 本文将阐述如何使用一个脚本启动并初始化 MySQL 8.0 的方法,涵盖数据库下载、脚本源码、测试及…

PFSK162 3BSE015088R1通常都要做空载全电压合闸冲击试验

​ PFSK162 3BSE015088R1通常都要做空载全电压合闸冲击试验 变压器励磁涌流影响的保护整定 摘要:在大型变压器空栽冲击过程中,由于励磁涌流和负序电压的存在,如果定值整定不得当,会导致差动保护,复压过流保护等误动作&…

设计模式——组件协作模式之观察者模式

文章目录 前言一、“组件协作” 模式二、Observer 观察者模式1、动机2、模式定义3、伪代码示例①、第一种方案,最朴素的方式②、第二种方案,重构使得遵循DIP原则:③、进一步的小优化:④、修改使得支持多个观察者: 4、结…

028:Mapbox GL 绘制线段,实时测量长度距离值

第028个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中添加draw组件,绘制线段,编辑线段,实时显示长度值。这里使用turf来计算长度值,采用默认的单位千米。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代…

Elasticsearch:Standard Text Analyzer - 标准文本分析器

Elasticsearch 提供了超过很多开箱即用的分析器,我们可以在文本分析阶段使用它们。 这些分析器很可能足以满足基本情况,但如果需要创建自定义分析器,可以通过使用构成该模块的所需组件实例化一个新的分析器模块来实现。 下表列出了 Elasticse…

SuSE linux server 11通过SAP来安装oracle11g

这里安装通过xmanager4进行安装,之前文章已经说了怎么通过xmanager4来连接linux系统,这里说一下安装oracle11g。 我这里是通过sap来安装oracle11g,所以需要 export LD_LIBRARY_PATH/oracle/P90/112_64/lib/:/sapmnt/P90/exe/ 同时在orap90用…

Mac使用命令行工具解压和压缩rar文件

目前在Mac电脑里支持解压缩的格式主要有:zip、gz等,但是还不支持rar格式的文件,接下来带着大家学习一下如何解压缩rar格式文件。 1.下载rar工具 打开:https://www.rarlab.com/download.htm 根据自己电脑的芯片要求选择自己的安装…

马云的创业故事及他人生中的摆渡人-卖掉中国黄页去北漂(四)

马云上京,是在外经贸部一位名叫王建国的朋友牵线之下,受邀担任外经贸部下属的中国国际电子商务中心(下面简称EDI)总经理,负责搭建外经贸部官网和网上中国商品交易市场。 马云团队在潘家园租了房子,白天上班…

如何编写高质量代码、提高编程效率?

一、 前言 高质量代码是指在满足功能需求的基础上,具备高性能、安全、可扩展、易维护、可测试等特点的代码。它不仅可以提高开发效率和代码质量,更能有效减少代码维护成本,促进团队协作和项目成功。因此,编写高质量代码对程序员来…

妙记多「我的主页」升级,日历聚合任务待办,为你打造个人时间管理系统⏰

我们应该如何处理“日程”和“待办”的关系? 日程和待办的区别与联系 从字面意义上来理解,日程是这一天的安排,待办是需要去完成的事情,日程与待办本质上是一种相互包含的关系。将所有事情都视作待办显然是不科学的,那…

二叉树的非递归遍历

目录 前言: 一:前序遍历 二:中序遍历 三:后序遍历 四:层序遍历 前言: 二叉树的非递归遍历需要借助栈和队列以及二叉树的一些基础接口,这些在之前的文章中有讲过,这里就不赘述&…

SSD目标检测

数据集以及锚框的处理 数据集: 图像:(batch_size , channel , height , width) bounding box: (batch_size , m , 5) m: 图像中可能出现的最多边界框的数目 5: 第一个数据为边界框对应的种…

tongweb

13051667606 东方通产品介绍 产品兼容 硬件要求 安装 安装目录结构 启动tongweb 停止tongweb bin下常用命令 企业版管理控制台 文档:产品简介及安装指南 绿色版直接解压安装 tar -zxvf …tar.gz Tongweb的配置文件 在conf的tongweb.xml 修改端口等信息 通过页面…