PXE + Kickstart 无人值守装机

2024-05-27 15:28

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

目录

一、简介

二、PXE工作流程

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

1.安装包准备

2.环境准备

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

(1)关闭 firewalld 和 selinux

(2)配置双网卡

1)添加硬件网卡

2)编辑网卡配置文件

3)重启网卡 

(3) 安装并启动 DHCP 服务

1)安装DHCP

2)配置DHCP服务

3)启动DHCP

(4)安装并启动 ftp 服务

1)安装 ftp 服务

2)配置共享目录 

3)启动 ftp 服务 

 4)检查 ftp 服务启动状态,以及镜像共享情况

(5)安装并启动TFTP服务

1)安装TFTP

2)配置TFTP服务

3)启动 TFTP 服务

(6)准备 PXE 引导程序

1)查找pxelinux.0是哪个软件包安装的

2)安装syslinux服务

3)复制系统引导文件至共享目录

4)将内核文件、引导菜单文件放到tftp共享目录下

(7)配置启动菜单文件

4.实现Kickstart无人值守安装

(1)准备安装应答文件

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

(3)配置kickstart选项

1)基本配置

2)安装方法

3)引导装载程序选项

4)分区信息

5)网络配置

6)防火墙配置

7)安装后脚本

8)保存自动应答文件

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

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

(4)验证无人值守安装


一、简介

       PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。PXE协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统(共享的操作系统引导程序)通过网络下载到本地运行。PXE在其启动过程中,客户端请求服务器分配IP地址,之后PXE Client使用TFTP Client通过TFTP(Trivial File Transfer Protocol)协议下载启动安装程序所需的文件。

       PXE网络安装:客户机通过支持PXE的网卡向网络中发送请求DHCP信息的广播请求IP地址等信息,DHCP服务器给客户端提供IP地址和其它信息(TFTP服务器、启动文件等),之后请求并下载安装需要的文件。

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

二、PXE工作流程

PXE工作流程:

    1.PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP和安装相关文件

    2.DHCP 服务器返回分配给客户机的IP地址,以及PXE文件的存放位置(TFTP服务器的地址)

    3.PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件(启动引导程序,选择内核版本,过   程不可见)

    4.PXE Client 取得pxelinux.0 文件后之执行该文件

    5.根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统

    6.进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装相关软件包

    7.pexlinux:启动菜单(选择操作系统) vmliunx(内核文件) initrd(辅助文件)

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

1.安装包准备

vsftpd //用来放置安装镜像,通过ftp访问镜像安装

dhcp.x86_64 12:4.2.5-7pd-3.0.2-27.el7.x86_64.r9.el7.centos //用来给客户机分配ip

syslinux-4.05-15.el7.x86_64.rpm //用来提供pxe的引导程序

tftp-server.x86_64 0:5.2-22.el7.rpm //用来提供引导镜像文件的下载

xinetd.x86_64 2:2.3.15-14.el7 //用来托管tftp

system-config-kickstart.noarch 0:2.9.7-1.el7.rpm //用来无人值守安装

2.环境准备

一台作为pxe服务器,一台作为测试安装客户机

主机服务器地址:192.168.94.19主机名:localhost

一台主机:1)配置双网卡 一个作用是dhcp,一个是使用网络源安装环境包

2)DHCP部署

3)tftp-server 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。

4)syslinux //用来提供pxe的引导程序

5)xinetd //用来托管tftp

6)vsftpd //用来放置安装镜像,通过ftp访问镜像安装

7)kickstart //用来无人值守安装

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

(1)关闭 firewalld 和 selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/configsetenforce 0
systemctl stop firewalldsystemctl disable firewalld

(2)配置双网卡

作用:一个作用是dhcp,一个是使用网络源安装环境包

1)添加硬件网卡

 2)编辑网卡配置文件
#查看新添加网卡设备名
ip link show | grep ens

cd /etc/sysconfig/network-scripts/cp ifcfg-ens33 ifcfg-ens36vim ifcfg-ens36

3)重启网卡 
systemctl restart networksystemctl status network

(3) 安装并启动 DHCP 服务

1)安装DHCP
yum -y install dhcp
#将dhcp配置模板复制到dhcp配置文件中
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
2)配置DHCP服务
vim /etc/dhcp/dhcpd.conf

subnet 192.168.188.0 netmask 255.255.255.0 {range 192.168.132.200 192.168.132.249;option domain-name-servers 114.114.114.114,8.8.8.8;option routers 192.168.188.2;default-lease-time 600;max-lease-time 7200;next-server 192.168.188.100;  #填写tftp服务器IP地址(本机)filename "pxelinux.0";        #填写引导文件名称
}
3)启动DHCP
systemctl start dhcpd && systemctl enable dhcpdsystemctl status dhcpd

(4)安装并启动 ftp 服务

       在http的网页共享目录下创建新目录,并将光盘挂载到此目录,实现光盘内容共享.

       主要目的是操作系统安装的最后一个步骤需要安装软件。

1)安装 ftp 服务
yum -y install vsftp
2)配置共享目录 
# 创建共享目录
mkdir /var/ftp/centos7
#挂载本地光盘镜像
vim /etc/fstab
/dev/sr0   /mnt/centos7   iso9660 defaults  0 0#挂载
mount -a#复制文件至 ftp 共享目录
cp -rf /mnt/centos7/* /var/ftp/centos7
3)启动 ftp 服务 
systemctl start vsftpd && systemctl enable vsftpdsystemctl status vsftpd

 4)检查 ftp 服务启动状态,以及镜像共享情况
#查看端口监听情况
ss -tlunp|grep vsftpd文件管理器访问
ftp://192.168.106.252/centos7

(5)安装并启动TFTP服务

1)安装TFTP
#安装tftp服务
yum install -y tftp-server.x86_64#安装xinetd对TFTP服务进行管理,tftp被xinet所托管,xinetd默认没有安装
#xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。
#经常用来管理多种轻量级Internet服务。xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。
yum install -y xinetd
2)配置TFTP服务
vim /etc/xinetd.d/tftpservice tftp
{socket_type		= dgramprotocol			= udpwait				= yes   #yes表示客户机只能一台一台连接,no表示可以堕胎一起去连接user				= rootserver			= /usr/sbin/in.tftpdserver_args		= -s /var/lib/tftpboot		#共享文件的路径(放在此目录下) disable			= no    #开启tftp服务per_source		= 11    #通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每个IP地址的连接数是11个cps				= 100 2 #表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求flags			    = IPv4
}

3)启动 TFTP 服务
systemctl start xinetd && systemctl enable xinetdsystemctl start tftp && systemctl enable tftpsystemctl status xinetd.service && netstat -atnulp | grep xinet

(6)准备 PXE 引导程序

说明:

pxelinux.0是个二进制文件,主要作用相当于一个系统安装步骤的指引,引导客户端如何安装系统

yum provides /pxelinux.0        #查找这个文件是由哪个软件包安装的,当不是一个路径和一个软件包时用/

yum -y install syslinux

rpm -ql syslinux | grep pxelinux #查找pxe引导程序的位置

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷贝到tftp的根目录下,系统引导文件

注:只有安装了 system-config-kickstart 软件包,才会有/usr/share/syslinux/目录及目录中的文件

1)查找pxelinux.0是哪个软件包安装的
 yum provides */pxelinux.0

2)安装syslinux服务
yum -y install syslinux

3)复制系统引导文件至共享目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
4)将内核文件、引导菜单文件放到tftp共享目录下
#用来预加载的内核和驱动文件,然后使用预加载内核进行系统安装
cp -a /var/ftp/centos7/images/pxeboot/{vmlinuz,initrd.img}   /var/lib/tftpboot/
 

(7)配置启动菜单文件

       启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载驱动。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作自动或手动建立。至于为什么要是/var/lib/tftpboot/pxelinux.cfg/default文件,因为是由pxelinux.0这个文件决定好的

mkdir /var/lib/tftpboot/pxelinux.cfg        #默认pxelinux.cfg是没有的需要手动创建,注意它是一个目录而非文件虽然是以.cfg结尾

mkdir /var/lib/tftpboot/pxelinux.cfgvim /var/lib/tftpboot/pxelinux.cfg/default
default auto         #指定默认入口名称,对应下面的label auto
prompt 1             #设置是否等待用户选择,“1”表示等待用户控制,0表示不等待用户控制,安装时会出现boot:如果按回车表示选择auto模式label auto           #图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz       #kernel 和 append用来定义引导参数
append initrd=initrd.img method=http://192.168.106.252/centos7label linux text     #文本安装引导入口 出现boot:时输入linux text
kernel vmlinuz
append text initrd=initrd.img method=http://192.168.106.252/centos7label linux rescue   #救援模式引导入口出现boot:时输入linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=http://192.168.106.252/centos7

4.实现Kickstart无人值守安装

(1)准备安装应答文件

#准备安装应答文件
yum install -y system-config-kickstart

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

通过桌面菜单“应用程序”–>“系统工具”–>“Kickstart” 打开

执行 “system-config-kickstart” 命令打开

(3)配置kickstart选项

1)基本配置

默认语言设为“中文(简体)”

时区设为“Asia/Shanghai”

设置root密码

高级配置中勾选“安装后重启”。

2)安装方法

3)引导装载程序选项

“安装类型”:安装新引导装载程序

“安装选项”:在主引导记录(MBR)中安装引导装载程序

4)分区信息

主引导记录:不清除主引导记录

分区:删除所有现存分区

磁盘标签:初始化磁盘标签

布局:添加分区

挂载点:/boot,文件系统类型:xfs,固定大小:500M

文件系统类型:swap,固定大小:4096M

挂载点:/home,文件系统类型:xfs,固定大小:4096M

挂载点:/,文件系统类型:xfs,使用磁盘上全部未使用空间

5)网络配置

添加网络设备“ens33”

网络类型设为“DHCP”

6)防火墙配置

禁用 SELinux、禁用防火墙

7)安装后脚本
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
echo “[local]
name=local
baseurl=ftp://192.168.188.100/centos7
enabled=1
gpgcheck=0” > /etc/yum.repos.d/local.repo

8)保存自动应答文件

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

默认保存在/root/ks.cfg

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

将文件放到/var/ftp下 

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$CqygEHhD$j13QTJ13yN.ZK0llPk70U/
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="ftp://192.168.188.100/centos7"
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=500
part /home --fstype="xfs" --size=4096
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1%packages
@^gnome-desktop-environment  #安装桌面环境(需要保证共享的操作系统镜像包含这些组件集合)
@base  ##安装基础软件包
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
%end#最小化安装(当共享镜像为简洁版时,采用最小化安装)
#%packages
#@core
#%end%post
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
echo “[local]
name=local
baseurl=ftp://192.168.188.100/centos7
enabled=1
gpgcheck=0” > /etc/yum.repos.d/local.repo
%end
10)编辑引导菜单文件 default,添加 ks 引导参数
vim /var/lib/tftpboot/pxelinux.cfg/defaultdefault auto         #指定默认入口名称,对应下面的label auto
prompt 0             #设置是否等待用户选择,“1”表示等待用户控制,0表示不等待用户控制,安装时会出现boot:如果按回车表示选择auto模式label auto           #图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz       #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.188.100/centos7 ks=ftp://192.168.188.100/ks.cfglabel linux text     #文本安装引导入口 出现boot:时输入linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.188.100/centos7 ks=ftp://192.168.188.100/ks.cfglabel linux rescue   #救援模式引导入口出现boot:时输入linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.188.100/centos7 ks=ftp://192.168.188.100/ks.cfg

(4)验证无人值守安装

新建虚拟机内存至少为2G,网卡需要与dhcp服务器网络相通。

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



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

相关文章

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

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

2300年都无人能知有长度不同的伪≌射线

黄小宁 【摘要】自有射线概念后的2300年里一直无人能知有长度不同的射线。保距变换和≌图概念是能放大无穷大倍的思维望远镜使人能一下子看到有长度不同的伪重合、伪≌射线。 变量x所取各数也均由x代表,x代表其变域(x所有能取的数组成的集)内任一元。设集A={x}表A各元均由x代表,{x}中变量x的变域是A。其余类推。“实数集”R所有非负元x≥0组成R+={x≥0},这里的x≥0不是表示x可取一切非负

兔子-系统的纯净版,装机版,深度和GHOST的区别

纯净版就是要自己装软件. 装机版就是别人装好了基本常用软件,当然,那些软件是装机人员按自己的喜好写入的,所以,一般推荐用户选择纯净版,不是很懂电脑的选择装机版较好,方便些。 深度和GHOST,建议维修专业人员选择,普通用户还是算了,容易出故障。挺麻烦的。

【文献精读】基于驱动力表的无人车终端无约束预测纵向控制(TVT)

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒 若您觉得内容有价值,还请评论告知一声,以便更多人受益。 转载请注明出处,尊重原创,从我做起。 👍 点赞、评论、收藏,三连走一波,让我们一起养成好习惯😜 在这里,您将

35~750kV 变电站无人值守与集中监控的智能运维模式

1、引言         电力行业的快速发展和电网规模的持续扩张,使得传统的变电站运维模式日渐不能满足现代电网对于安全性、可靠性和效率的更高要求。因此,向无人值守与集中监控过渡,已经逐渐成为了整个行业发展的主旋律。 2、关键技术支撑 2.1 自动化监控技术 为了实现对变电站的全面监控与管理,安装在变电站的高清摄像头、红外测温仪、烟雾探测器等设备扮演着至关重要的角色。它们可以实现对变电站

DHCP和PXE

目录 1. 如何使用DHCP服务? 2. Linux主机如何配置DHCP客户端服务? 3. 什么是DHCP? 4. DHCP的工作过程? 5. 什么是PXE? 1. 如何使用DHCP服务? 路由器一般会开启DHCP服务,电脑需要开启DHCP client服务。   2. Linux主机如何配置DHCP客户端服务? vim /etc/sysconfig/network-scr

装机那些事

前言 我之前本来想装双系统,奈何主板没有ubuntu的驱动,于是只能继续虚拟机,中途有很多经验我觉得有必要分享一下,希望你们不要走我的弯路。 一、不是所有的主板都支持ubuntu 有过装机经验的同学应该知道,装机前有一个准备工作,就要进的bios把secure boot置为disable。 前方高能,请注意了!!! 不是所有的主板可以设置secure boot,也不是所有的主板都提供ub

AI助力水体保护区无人值守垂钓智能预警,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建水体保护区场景下无人值守垂钓智能检测预警系统

保护我们赖以生存的自然生态环境,无疑是一项意义深远且需要长期坚持的任务。自然界的生态系统,由水、气、森林、土壤等多要素组成,它们相互依存、相互影响,共同维系着地球的生态平衡。然而,在人类活动的影响下,这一平衡正遭受着前所未有的挑战。因此,加强环境监管治理,保护我们的自然资源,显得尤为迫切和重要。在以往的环境监管治理中,针对大气的工作相对较多,这主要源于大气污染对人类生活的直接影响更为显著。然而,近

2024世界机器人大会盛大开幕,卓翼飞思携无人智能领域产品集中亮相 !

开放创新 聚享未来!万众瞩目的2024世界机器人大会暨博览会于8月21日在北京亦创国际会展中心盛大开幕。大会聚焦机器人技术与产业前沿趋势,展示机器人创新应用赋能千行百业的多元场景,全球顶尖的机器人科学家、行业领袖、创新精英汇聚一堂,围绕机器人技术与产业的前沿话题,深度剖析机器人技术如何塑造并驱动各行各业的未来发展。 在此次盛会上,卓翼智能携其明星产品TS-X12系留无人机系统

流量掘金付费进群源码,最新无人直播变现玩法

外面1800流量掘金付费进群搭建 最新无人直播变现玩法 流量掘金付费进群网站源码 源码下载:https://download.csdn.net/download/m0_66047725/89662670 更多资源下载:关注我。