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

相关文章

无人值守工厂设备日志采集工具

免费试用下载: Gitee下载 最新版本 优势: A. 开箱即用. 解压直接运行.不需额外安装. B. 批管理设备. 设备配置均在后台管理. C. 无人值守 客户端自启动,自更新. D. 稳定安全. 架构简单,内存占用小,通过授权访问.

PXE无人值守批量装机操作步骤

目录 PXE PXE所需环境 开机过程 部署PXE有人值守操作步骤 一. 配置环境 FTP DHCP和TFTP 二. 测试 部署无人值守操作步骤 一. 环境配置 二. 测试 总结 1. 实现PXE远程装机所需要的组件 2. PXE网络引导安装过程 PXE PXE:Preboot eXecution Environment(预启动执行环境) PXE是一个规范

6 PXE高效批量网络装机

6.1部署PXE远程安装服务 在大规模的Liunx应用环境中,如web群集,分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢?传统的USB光驱,移动硬盘等安装方法显然已经难以满足需求。 PXE技术的网络装机方法,并结合Kisckstart配置实现无人值守自动安装。 规模化:同时装配多台服务器; 自动化:安装系统,配置各种服务; 远程实现

抖音直播伴侣和快手直播伴侣如何实现无人直播还能防封号

近期,做了一个usb摄像头的开发,实现循环播放优盘内的多个视频,声音正常,没有杂音。 众所周知抖音直播伴侣和快手直播伴侣是官方出的用于电脑端直播的软件,但是如果播放视频是会被封号的。那么怎么才能既能直播又不会被封号呢。    这里介绍一种方法,通过模拟摄像头的方式来直播,也就是将视频流转成摄像头数据,让系统识别为是一个摄像头设备。基本思路:USB UAC+UVC+U盘播放器。

格雷母线在无人天车定位中的应用

随着工业自动化的不断发展,实现无人天车的精准定位与高效运行,一套高精度的位移测量系统显得至关重要。格雷母线高精度位移测量系统,凭借其卓越的定位性能,成为无人天车的理想选择。 格雷母线高精度位移测量系统由武汉市微深节能科技有限公司研发,它结合了格雷母线、天线箱、地址编码器和地址解码器等核心组件,为无人天车提供了精确、可靠的位置信息。该系统的工作原理类似于一把有刻度的尺子,格雷母线作为“尺子”沿着移动

【电脑小白】装机从认识电脑部件开始

前言 在 B 站上刷到了一个很牛逼的电脑装机视频,很适合电脑小白学习,故用文本记录下。 推荐对组装台式电脑有兴趣的小伙伴都去看看这个视频: 原视频链接:【装机教程】全网最好的装机教程,没有之一_哔哩哔哩_bilibili 一、认识部件 一台常规的游戏主机的主要部件有: CPU 主板 内存 显卡 硬盘 散热 电源 机箱 1. CPU CPU 是电脑的大脑,负责几

装机后操作纪录

刚刚装完机 什么都没有 就像在一片一望无际的草原 要恢复原来笔记本的“秩序” 就像在这个草原建立全新的王国 1、关于显示器电脑屏幕图标巨大且糊的处理方法 用一台可正常使用的电脑,到主板官网下载相关驱动。(铭瑄B760M D4 WIFI驱动下载) 2、关于桌面没有显示“我的电脑”选项 选择“桌面图标设置”,并选择 想要显示的图标即可 3、设置了磁盘分区为什么文档内不显示 右击“此电脑

CentOS7.6 U盘装机,附无法读取内核的解决方案

CentOS7 U盘装机 下载镜像刻盘安装 下载镜像 建议下载DVD版(标准版) 阿里云镜像地址 刻盘 之前一直用UltraISO软件刻盘,打开镜像,选择“启动”——“写入硬盘镜像”即可,选择写入方式为:USB-HDD+ 可是这次刻盘出现了错误 error: Can't read kernel /images/pxeboot/vmlinuz.error: you need

Win8.1 装机个人禁用服务选择

写这个只为我之后重装系统时用的 Diagnostic Policy Service Diagnostic Service Host Diagnostic System Host Microsoft Keyboard Filter Internet Connection Sharing(ICS) HomeGroup Listener HomeGroup Provider Net.Tc

【全开源】Java无人共享棋牌室茶室台球室系统JAVA版本支持微信小程序+微信公众号

无人共享棋牌室系统——棋牌娱乐新体验 🎲引言 随着科技的不断发展,传统棋牌室正逐渐迈向智能化、无人化。今天,我要为大家介绍的就是这款引领潮流的“无人共享棋牌室系统”。它不仅为棋牌爱好者提供了全新的娱乐体验,更在便捷性、安全性上有了质的飞跃。 🔍一、系统概述 无人共享棋牌室系统,顾名思义,就是一套基于无人值守、自助服务的棋牌室管理系统。它整合了智能门禁、自助结算、在线预约等多项功能,让棋