当前位置: 首页 > news >正文

PXE_Kickstart_无人值守自动化安装系统

文章目录

  • 1. PXE
  • 2. 配置服务参数
    • 2.1 tftp服务配置
    • 2.2 dhcp服务配置
    • 2.3 http服务配置
  • 3. 配置PXE环境
    • 3.1 网络引导文件pxelinux.0
    • 3.2 挂载镜像文件
    • 3.3 创建配置文件default
    • 3.4 复制镜像文件和驱动文件
    • 3.5 修改default文件
    • 3.6 配置ks.cfg文件
  • 4. PXE客户端
    • 4.1 创建虚拟机,不放镜像
  • 5. 踩坑记录
    • 1. PXE-E53:No boot filename received
    • 2. Failed to load ldlinux.c32
    • 3. warning :/dev/root does not exist
    • 4. http服务异常-Forbidden
    • 5. pxe客户机安装一半卡住了-软件源未设置
    • 6. pxe客户机安装系统到最后了,但是不自动重启系统
    • 7. 客户机已禁用cpu

1. PXE

PXE:Pre-boot Execution Environment,预启动执行环境。

  • PXE是Client/Server模式的。

在这里插入图片描述

在这里插入图片描述

2. 配置服务参数

  • 关闭vmnet8的dhcp服务
  • 下载相关软件:yum install syslinux tftp-server dhcp httpd
  • 把防火墙关闭
  • 配置好yum源

2.1 tftp服务配置

  • tftp的配置文件:/etc/xinetd.d/tftp
service tftp
{socket_type             = dgramprotocol                = udp	# 依赖于udp协议wait                    = no	# 非阻塞模式;tftp一次可连接多个用户user                    = root	# 服务进程以root用户运行server                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpboot	# 用户访问的目录disable                 = no	# 启用服务per_source              = 11	# 最大连接数cps                     = 100 2flags                   = IPv4
}
  • 启动该服务
    [root@oldboy99 ~]# systemctl start tftp.service 
    [root@oldboy99 ~]# systemctl status tftp.service 
    ● tftp.service - Tftp ServerLoaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)Active: active (running) since Wed 2025-04-30 09:12:55 CST; 6s agoDocs: man:in.tftpdMain PID: 30669 (in.tftpd)Tasks: 1Memory: 96.0KCGroup: /system.slice/tftp.service└─30669 /usr/sbin/in.tftpd -s /var/lib/tftpboot430 09:12:55 oldboy99 systemd[1]: Started Tftp Server.
    

2.2 dhcp服务配置

  • dhcp的配置文件:/etc/dhcp/dhcpd.conf
subnet 10.0.0.0 netmask 255.255.255.0{	# 子网配置参数option subnet-mask 255.255.255.0;	# 子网掩码option domain-name-servers 10.0.0.203;	# dns服务器地址range dynamic-bootp 10.0.0.100 10.0.0.200;	# 地址池范围default-lease-time 21600;max-lease-time 43200;next-server 10.0.0.203;	# tftp服务器地址#leagcy启动方式引导文件filename "pxelinux.0";	# 通过BIOS引导启动时的文件名
}
  • 启动该服务
    [root@oldboy99 ~]# systemctl start dhcpd.service 
    [root@oldboy99 ~]# systemctl status dhcpd.service 
    ● dhcpd.service - DHCPv4 Server DaemonLoaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)Active: active (running) since Wed 2025-04-30 14:12:20 CST; 5s agoDocs: man:dhcpd(8)man:dhcpd.conf(5)
    

2.3 http服务配置

  • httpd的配置文件:/etc/httpd/conf/httpd.conf
  • 启动该服务
    [root@oldboy99 ~]# systemctl start httpd.service 
    [root@oldboy99 ~]# systemctl status httpd.service 
    ● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: active (running) since Wed 2025-04-30 14:13:36 CST; 9s agoDocs: man:httpd.service(8)
    

3. 配置PXE环境

3.1 网络引导文件pxelinux.0

  • 该文件不在本地,只能通过软件包下载
# 查找该文件存在于哪个软件包
[root@oldboy99-Kylin-pxeServer ~]# yum provides "*/pxelinux.0"
上次元数据过期检查:2:42:40 前,执行于 2025年05月10日 星期六 18时53分35秒。
syslinux-nonlinux-6.04-10.ky10.noarch : syslinux modules which aren't run from linux
仓库        :ks10-adv-os
匹配来源:
文件名    :/usr/share/syslinux/pxelinux.0syslinux-nonlinux-6.04-14.ky10.noarch : syslinux modules which aren't run from linux
仓库        :@System
匹配来源:
文件名    :/usr/share/syslinux/pxelinux.0
……
[root@oldboy99-Kylin-pxeServer ~]# yum install -y syslinux
上次元数据过期检查:2:44:16 前,执行于 2025年05月10日 星期六 18时53分35秒。
软件包 syslinux-6.04-14.ky10.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
  • 该文件存在于 /usr/share/syslinux/pxelinux.0目录下
  • 将该文件移动到tftp的文件目录下:/var/lib/tftpboot

在这里插入图片描述

3.2 挂载镜像文件

在这里插入图片描述

点击设置,挂载kylin系统的镜像文件

在这里插入图片描述

最后vm右下角的CD图标有绿点表示挂载成功!

  • 镜像文件一般在/dev/cdrom下,将其挂载到http协议的文件目录下
  • 可以先创建个系统名的文件夹
[root@oldboy99-Kylin-pxeServer /var/www/html/kylin]# mount /dev/cdrom ./
mount: /var/www/html/kylin: WARNING: source write-protected, mounted read-only.
[root@oldboy99-Kylin-pxeServer /var/www/html/kylin]# cd ..
[root@oldboy99-Kylin-pxeServer /var/www/html]# ll ./kylin/
总用量 544
dr-xr-xr-x 3 root root   2048  315  2023 EFI
dr-xr-xr-x 3 root root   2048  315  2023 images
dr-xr-xr-x 2 root root   2048  315  2023 isolinux
dr-xr-xr-x 5 root root   2048  324  2023 kylin-sm-package
-r--r--r-- 1 root root    441  331  2023 LICENSE
dr-xr-xr-x 2 root root   2048  315  2023 manual
dr-xr-xr-x 2 root root 538624  324  2023 Packages
dr-xr-xr-x 2 root root   4096  324  2023 repodata
-r--r--r-- 1 root root   2883  331  2023 TRANS.TBL
  • 通过网页查看一下

在这里插入图片描述

3.3 创建配置文件default

  • 需要在tftp的文件根目录(/var/lib/tftpboot)下创建目录:pxelinux.cfg
  • default文件就是网络引导文件需要的配置文件,只要是系统启动后选择的系统菜单,该文件在镜像中也有。
  • [root@oldboy99-Kylin-pxeServer /var/lib/tftpboot/pxelinux.cfg]# cp /var/www/html/kylin/isolinux/isolinux.cfg ./default
  • 注意路径

3.4 复制镜像文件和驱动文件

  • [root@oldboy99-Kylin-pxeServer /var/lib/tftpboot]# cp /var/www/html/kylin/isolinux/* ./
  • [root@oldboy99-Kylin-pxeServer /var/lib/tftpboot]# mkdir kylin
  • [root@oldboy99-Kylin-pxeServer /var/lib/tftpboot]# cp /var/www/html/kylin/images/pxeboot/{vmlinuz,initrd.img} ./kylin/
  • 最后效果:

在这里插入图片描述

在这里插入图片描述

3.5 修改default文件

  • 直接复制上面的 label linux模板,再修改
  • label的名字不能冲突
  • menu default只能有一个

在这里插入图片描述

3.6 配置ks.cfg文件

  • Kickstart的作用就是生成ks.cfg文件,使系统在安装时能自动选择选项或配置参数。
  • Kickstart只能在图形化界面中操作
  • 用户家目录下有个文件:anaconda-ks.cfg,同ks.cfg的原理相同,是记录了安装系统时选择的种种参数。
  • 直接修改该文件即可:
  • 注释行:#cdrom
  • 新增行:url --url=“http://10.0.0.203/kylin”
  • 在文件最后一行增加:reboot

在这里插入图片描述

4. PXE客户端

4.1 创建虚拟机,不放镜像

在这里插入图片描述

  • 内存设置大些,否则会报错。
  • 进入菜单选择界面时可以看自己设置的系统名称
  • 自动化安装系统,无需手动干预,一会再来看看就行。

5. 踩坑记录

1. PXE-E53:No boot filename received

在这里插入图片描述

  • 找不到网络引导文件:pxelinux.0
  • 多半是dhcp的配置文件或tftp未启动造成的

在这里插入图片描述

  • 之前多次打开dhcp的配置文件,造成了小故障
  • 按照(2)所写的删除该文件即可

在这里插入图片描述

  • 果然是配置文件异常,将#号去掉

在这里插入图片描述

  • 修改文件后要重启服务

2. Failed to load ldlinux.c32

在这里插入图片描述

  • 系统找到网络引导文件后,还需要配置文件

在这里插入图片描述

  • 将镜像文件中isolinux/*所有文件复制到该目录即可

3. warning :/dev/root does not exist

在这里插入图片描述

  • 系统准备安装系统了,但是找不到镜像文件

在这里插入图片描述

  • 在default文件中配置镜像文件的地址

4. http服务异常-Forbidden

在这里插入图片描述

  • http的目录下文件权限较少

在这里插入图片描述

5. pxe客户机安装一半卡住了-软件源未设置

在这里插入图片描述

在这里插入图片描述

  • 在ks.cfg文件中指定镜像地址即可,镜像文件中有所需安装包

6. pxe客户机安装系统到最后了,但是不自动重启系统

在这里插入图片描述

  • 直接在ks.cfg文件最后添加reboot

7. 客户机已禁用cpu

在这里插入图片描述

在这里插入图片描述

  • pxe客户机内容至少4g
http://www.xdnf.cn/news/370261.html

相关文章:

  • 物业企业绩效考核制度与考核体系
  • 前端弹性布局:用Flexbox构建现代网页的魔法指南
  • vue2 上传pdf,拖拽盖章,下载图片
  • 前端开发实战:用React Hooks优化你的组件性能
  • [C] 第10章 预处理命令
  • LeetCode热题100--240.搜索二维矩阵--中等
  • 达索MODSIM实施成本高吗?哪家服务商靠谱?
  • 思考:(linux) tmux 超级终端快速入门的宏观思维
  • Java—— 集合 List
  • 程序代码篇---Python视频流
  • JSON|cJSON 介绍以及具体项目编写
  • STM32CUBEIDE开发实战:ADC与UART应用
  • 网络原理(Java)
  • 使用python脚本连接SQL Server数据库导出表结构
  • 解决虚拟机挂起之后的网络问题
  • 鸿蒙系统使用ArkTS开发语言支持身份证阅读器、社保卡读卡器等调用二次开发SDK
  • 单片机-STM32部分:11、ADC
  • MCP项目实例 - client sever交互
  • Python+OpenCV打造AR/VR基础框架:从原理到实战的全链路解析
  • Kotlin高阶函数多态场景条件判断与子逻辑
  • Android 13 默认打开 使用屏幕键盘
  • macOS 15.4.1 Chrome不能访问本地网络
  • 深入解析C++11 auto 关键字:类型推导的现代实践
  • 青藏高原七大河流源区径流深、蒸散发数据集(TPRED)
  • PCB设计实践(十二)PCB设计电容选型:功能、材质、规则
  • C++发起Https连接请求
  • 两个数组的交集(暴力、set、哈希)
  • 【小沐学GIS】基于C++绘制二维瓦片地图2D Map(QT、OpenGL、GIS)
  • 二、Hive安装部署详细过程
  • USR-M100采集数据并提交MQTT服务器