PXE+Kickstart无人值守安装安装Centos7.9

2024-05-14 07:44

本文主要是介绍PXE+Kickstart无人值守安装安装Centos7.9,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、什么是PXE
      • 1、简介
      • 2、工作模式
      • 3、工作流程
    • 二、什么是Kickstart
      • 1、简介
      • 2、触发方式
    • 三、无人值守安装系统工作流程
    • 四、实验部署
      • 1、环境准备
      • 2、服务端:关闭防火墙和selinux
      • 3、添加一张仅主机的网卡
      • 4、配置仅主机的网卡
        • 4.1、修改网络连接名
        • 4.2、配IP地址
        • 4.3、重启网卡
      • 5、配置DHCP服务
        • 5.1、关闭仅主机网卡的本地DHCP服务
        • 5.2、配置服务端DHCP服务器
      • 6、安装tftp
      • 7、安装syslinux
        • 7.1、将pxelinux.0配置文件以及光盘镜像中的文件复制到tftp目录中
        • 7.2、配置syslinux服务程序
      • 8、安装vsftpd服务
      • 9、创建Kickstart应答文件
    • 五、自动部署客户端主机

一、什么是PXE

1、简介

PXE(Preboot Execution Environment,预启动执行环境)是一种由Intel公司设计的网络引导技术协议。它使计算机能够在没有本地操作系统、硬盘或引导媒体的情况下,通过网络接口卡(NIC)从远程服务器下载引导程序和其他操作系统安装文件,进而实现远程安装操作系统或其他软件。

2、工作模式

基于Client/Server架构

  • PXE客户端:通常内置在支持PXE的网络适配器的只读存储器(ROM)中,当计算机启动时,BIOS将控制权交给PXE客户端软件,该软件通过网络发出启动请求。
  • PXE服务器:接收到客户端的请求后,会分配IP地址给客户端(通常通过DHCP服务器),并提供引导文件(如Linux内核、初始化RAM磁盘等)供客户端下载。这些文件常常通过TFTP(Trivial File Transfer Protocol)协议传输。

3、工作流程

A1A32KFOkgu9AAAAAElFTkSuQmCC

1、启动过程:计算机在启动时通过BIOS或UEFI发出PXE启动请求,并广播该请求到网络中的所有设备。2、DHCP提供IP地址:PXE客户端接收到广播请求后,会通过DHCP(Dynamic Host Configuration Protocol)协议向DHCP服务器发送请求,以获取IP地址和其他网络配置信息。3、DHCP回应:DHCP服务器接收到PXE客户端的请求后,会分配一个可用的IP地址,并将其作为回应发送给PXE客户端。4、TFTP加载启动文件:PXE客户端通过TFTP(Trivial File Transfer Protocol)从网络中的TFTP服务器下载启动文件(通常称为pxelinux.0)。5、启动文件执行:PXE客户端执行下载的启动文件,该文件包含了操作系统镜像的位置和其他配置信息。6、操作系统镜像下载:根据启动文件中指定的位置,PXE客户端通过TFTP从网络中的TFTP服务器下载操作系统镜像文件。7、操作系统加载和安装:一旦操作系统镜像文件下载完成,PXE客户端会将其加载到计算机的内存中,并开始执行操作系统的安装过程。

二、什么是Kickstart

1、简介

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为 ks.cfg的文件。

如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找 Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。

所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装

2、触发方式

  • 通过网络使用 PXE(预启动执行环境)引导时引用 Kickstart 文件位置。
  • 使用光盘、USB等可移动介质上的引导菜单选项指定 Kickstart 文件路径。
  • 在虚拟化平台中,通过ISO映像或配置管理工具传递Kickstart配置。

三、无人值守安装系统工作流程

152331551083531

四、实验部署

1、环境准备

实验环境:VMware Workstation 16 Pro

系统平台:Centos7.9(最小化安装)

2、服务端:关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

image-20240513213156925

3、添加一张仅主机的网卡

image-20240513213833879

image-20240513214050506

image-20240513214202430

image-20240513214358617

4、配置仅主机的网卡

4.1、修改网络连接名

默认的以太网连接会被命名为"有线连接 1"

image-20240513214605429

nmcli connection modify '有线连接 1' con-name ens36
4.2、配IP地址

按照自己的ip地址网段和网络连接名修改

nmcli connection modify ens36 ipv4.addresses 192.168.80.10/24 autoconnect yes ipv4.method manual

image-20240513215700591

image-20240513215748867

4.3、重启网卡
nmcli connection down ens36
nmcli connection up ens36

image-20240513220132947

5、配置DHCP服务

5.1、关闭仅主机网卡的本地DHCP服务

编辑–>虚拟网络编辑器

image-20240513220551037

5.2、配置服务端DHCP服务器
yum -y install dhcp -y
vim /etc/dhcp/dhcpd.conf
subnet 192.168.80.0 netmask 255.255.255.0 {
range 192.168.80.100 192.168.80.199;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.80.10;
filename "/pxelinux.0";
}

image-20240513221209163

  • subnet 192.168.80.0 netmask 255.255.255.0 { ... }:这部分定义了一个DHCP服务将管理的子网。192.168.80.0是子网的网络地址,netmask 255.255.255.0(或简写为/24)指定了子网掩码
  • range 192.168.80.100 192.168.80.199;:定义了DHCP服务器动态分配给客户端的IP地址池。这意味着当客户端请求IP地址时,DHCP服务器将从这个范围内随机选择一个未分配的IP地址分配给客户端。(注意不要将服务器端的ip地址包含在地址池内)
  • option subnet-mask 255.255.255.0;:设置客户端的子网掩码为255.255.255.0。
  • default-lease-time 21600;:设置客户端默认的IP地址租约时间为21600秒,即6小时。
  • max-lease-time 43200;:设置客户端最大IP地址租约时间为43200秒,即12小时。
  • next-server 192.168.80.10;:指定下一个启动服务器(Next Server)的IP地址为192.168.80.10。这是用于PXE引导的重要设置,指明了应该从哪个服务器获取启动文件。
  • filename "/pxelinux.0";:指定了PXE引导过程中客户端应请求的启动文件名。在这个例子中,客户端将尝试从TFTP服务器(通常与DHCP服务器是同一台机器)下载/pxelinux.0文件来继续启动过程。

重启DHCP服务并开机自启

systemctl restart dhcpd
systemctl enable dhcpd

image-20240513221840977

6、安装tftp

  • PXE客户端在启动过程中,通过网络向PXE服务器请求引导信息。TFTP服务器负责提供这些初始引导文件
  • 在PXE引导过程中,客户端还需要获取安装过程中的其他必要文件,如Linux内核(vmlinuz)、初始化RAM磁盘(initrd.img)等,这些都是通过TFTP协议从服务器下载的。
yum install -y tftp-server
systemctl start tftp
systemctl enable tftp

image-20240513222521085

7、安装syslinux

7.1、将pxelinux.0配置文件以及光盘镜像中的文件复制到tftp目录中

安装syslinux的目的是简化首次安装或其他特殊用途的启动盘

yum install syslinux -y
cd /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir -p /media/cdrom
mount /dev/cdrom /media/cdrom/
cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} /var/lib/tftpboot/

image-20240513222956668

  • cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/:复制Syslinux安装目录下的pxelinux.0文件到TFTP根目录。这个文件是PXE引导加载程序,允许客户端通过网络启动并加载菜单或直接加载内核。
  • cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/:从光盘的images/pxeboot/目录中复制vmlinuz(Linux内核映像)和initrd.img(初始化RAM磁盘映像)到TFTP根目录。这两个文件是PXE引导后,客户端实际使用的操作系统核心和早期用户空间环境
  • cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} /var/lib/tftpboot/:从光盘的isolinux/目录中复制vesamenu.c32(一个用于提供图形化菜单的库文件)和boot.msg(可能包含启动时显示的消息或欢迎信息的文本文件)到TFTP根目录。这通常用于增强PXE引导时的用户体验,比如显示一个图形化的启动菜单供用户选择不同的安装或引导选项。
7.2、配置syslinux服务程序
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default1 default linux
64   append initrd=initrd.img inst.stage2=ftp://192.168.80.10 ks=ftp://192.168.80.10/pub    /ks.cfg quiet

image-20240513224013890

  • initrd=initrd.img: 指定使用名为initrd.img的初始化RAM磁盘作为临时根文件系统。
  • inst.stage2=ftp://192.168.80.10: 设置第二阶段安装源为FTP服务器,地址为192.168.80.10。这意味着操作系统安装文件将从该FTP服务器上获取。
  • ks=ftp://192.168.80.10/pub/ks.cfg: 指定了Kickstart配置文件的路径,同样通过FTP从192.168.80.10服务器的pub/ks.cfg位置获取。Kickstart文件自动执行安装过程,定义了安装时的各种配置选项。
  • quiet: 这个参数告诉安装程序在安装过程中保持安静模式,即尽量减少屏幕输出信息,仅显示错误和重要状态更新。

8、安装vsftpd服务

光盘镜像时通过ftp协议传输的,因此要用到vsftpd服务程序

yum install -y vsftpd
systemctl restart vsftpd
systemctl enable vsftpd
cp -r /media/cdrom/* /var/ftp/

image-20240513224534172

9、创建Kickstart应答文件

Kickstart应答文件中包含了系统安装过程中需要使用的选项和参数信息。

系统可以自动调取这个应答文件的内容,从而彻底实现无人值守安装系统。

cp ~/anaconda-ks.cfg /var/ftp/pub/ks.cfg
chmod +r /var/ftp/pub/ks.cfg
vim /var/ftp/pub/ks.cfg5 url --url=ftp://192.168.80.10      # 删除原本的cdrom
30 clearpart --all --initlabel         # 意思是清空所有磁盘内容并初始化磁盘

五、自动部署客户端主机

  • 创建虚拟机
  • 自定义
  • 下一步

image-20240513225459957

下一步

image-20240513225526081

稍后安装操作系统–> 下一步

image-20240513225544166

下一步

image-20240513225745619

管理好虚拟机名称和位置,下一步

image-20240513225959301

下一步

image-20240513230056176

下一步

image-20240513230206854

网络类型选仅主机

image-20240513230318673

下一步

image-20240513230354919

下一步

image-20240513230416131

下一步

image-20240513230437911

下一步

image-20240513230458191

下一步

image-20240513230520833

完成

image-20240513230547172

开启测试

image-20240513230649804

不影响无人值守

image-20240513230751101

开始设置安装源

image-20240513231118250

自动设置root密码,在anaconda-ks.cfg中

image-20240513231325365

成功安装

image-20240513231510156

登录密码与服务端虚拟机的登录密码一致

image-20240513231641006

ip地址也在地址池中

image-20240513231749807

anaconda-ks.cfg就是original-ks.cfg

image-20240513231831651

  • anaconda-ks.cfg:安装程序自动生成的
  • original-ks.cfg:模板的Kickstart配置文件

至此PXE+Kickstart无人值守安装centos7.9操作系统完成

这篇关于PXE+Kickstart无人值守安装安装Centos7.9的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/988161

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud