PXE远程安装服务器

目录

搭建PXE远程安装服务器

1、准备Linux安装源:

2、安装并启用TFTP服务:

3、准备Linux内核、初始化镜像文件

4、准备PXE引导程序

5、安装并启用DHCP服务

6、(1)配置启动菜单文件(有人应答)

‌6、(2)配置启动菜单文件(无人应答)

PXE部署流程总结表‌


搭建PXE远程安装服务器

1、准备Linux安装源:

复制代码
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#systemctl disable firewalld
[root@localhost ~]#setenforce 0
[root@localhost ~]#mkdir /media/cdrom
[root@localhost ~]#mount /dev/cdrom /media/cdrom/
[root@localhost ~]#dnf -y install vsftpd
[root@localhost ~]#mkdir /var/ftp/euler
[root@localhost ~]#cp -rf /media/cdrom/* /var/ftp/euler
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES    #修改项
[root@localhost ~]#systemctl start vsftpd

2、安装并启用TFTP服务:

复制代码
[root@localhost ~]#dnf -y install tftp-server
[root@localhost ~]#vim /etc/xinetd.d/tftp

service tftp
{    ...    #省略部分信息
protocol=udp    #TFTP采用UDP传输协议
server=/usr/sbin/in.tftpd
server_args=-s /var/lib/tftpboot    #指定TFTP根目录
disable=no
    ...    #省略部分信息
}

[root@localhost ~]#systemctl start tftp
[root@localhost ~]#systemctl enable tftp

3、准备Linux内核、初始化镜像文件

复制代码
[root@localhost ~]#cd /media/cdrom/images/pxeboot
[root@localhost pxeboot]#cp vmlinuz initrd.img /var/lib/tftpboot
[root@localhost pxeboot]#cd /media/cdrom/isolinux/
[root@localhost isolinux]#cp ldlinux.c32 libcom32.c32 /var/lib/tftpboot/

4、准备PXE引导程序

复制代码
[root@localhost ~]#dnf -y install syslinux
[root@localhost ~]#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

5、安装并启用DHCP服务

复制代码
[root@localhost ~]#dnf -y install dhcp
[root@localhost ~]#vim /etc/dhcp/dhcpd.conf

    ...    #省略部分信息
subnet 192.168.137.0 netmask 255.255.255.0 {
    range 192.168.137.1 192.168.137.253;
    next-server 192.168.137.101;    #指定TFTP服务器的地址
    filename "pxelinux.0";    #指定PXE引导程序文件
}

[root@localhost ~]#systemctl start dhcpd
[root@localhost ~]#systemctl enable dhcpd

6、(1)配置启动菜单文件(有人应答)

复制代码
[root@localhost ~]#mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]#vim /var/lib/tftpboot/pxelinux.cfg/default

default auto
prompt 1

label auto
kernel vmlinuz
append initrd=initrd=initrd.img inst.repo=ftp://192.168.137.101/euler

‌6、(2)配置启动菜单文件(无人应答)

在编辑启动菜单时,我们需要先编辑好应答文件做基础。命令如下:

复制代码
[root@localhost ~]#grep -v ^# /root/ks.cfg

url --url="ftp://192.168.137.101/euler"
#系统语言设置
lang zh_CN.UTF-8
keyboard us
#网络配置(以DHCP为例)
network --bootproto=dhcp --device=eth0 --activate
#安全策略
authselect --enableshadow --passalgo=sha512
selinux --enforcing
rootpw --iscrypted ...    ...(加密格式的密码,自己想办法了吧)
#时区设置
timezone Asia/Shanghai
#分区方案(自动分区示例)
autopart --type=lvm --fstype=ext4
bootloader --location=mbr
#清理旧系统并初始化磁盘
cleanpart --all --initlabel
#软件包选择
%packages --nocore
@^minimal-environment
kernal
grub2
efibootmgr
%end
#后安装脚本
%post
#关闭防火墙(根据实际需求选择)
systemctl disable firewalld
#配置SSH允许root登录(按需启用)
#sed -i  's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/shh/shhd_config
%end
#重启配置
reboot

菜单文件

复制代码
[root@localhost ~]#cp /root/ks.cfg /var/ftp/ks.cfg
[root@localhost ~]#vi /var/lib/tftpboot/pxelinux.cfg/default

default auto
prompt 0

label auto
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.137.101/ks.cfg inst.repo=ftp://192.168.137.101/euler

PXE部署流程总结表

步骤 操作内容 关键文件/服务
1. 环境准备 确保服务器静态IP、客户端支持PXE,安装DHCP/TFTP/HTTP服务。 静态IP、兼容网卡
2. 配置DHCP服务 分配IP范围,指定TFTP服务器地址及引导文件路径。 dhcpd.confnext-server
3. 配置TFTP服务 提供引导文件(pxelinux.0vmlinuzinitrd.img)。 /var/lib/tftpboot/
4. 配置启动菜单 定义安装选项(内核路径、安装源URL、Kickstart文件)。 pxelinux.cfg/default
5. 准备系统镜像 将ISO解压至HTTP/FTP目录,配置无人值守文件。 ks.cfg、HTTP安装源
6. 客户端启动安装 从网络引导,自动加载安装程序并按预设完成部署。 BIOS/UEFI网络启动
相关推荐
Coder_Boy_几秒前
分布式系统设计经验总结:金融vs电商的核心差异与决策思路
java·运维·微服务·金融·电商
彷徨而立3 分钟前
【SDL】多线程中,SDL_Init() 接口被两个线程同时调用了,会有啥问题?
linux·sdl
铅笔侠_小龙虾3 分钟前
Ubuntu 搭建前端环境&Vue实战
linux·前端·ubuntu·vue
世转神风-4 分钟前
linux-嵌入式开发基础-网线直连-局域网传输文件-快速完成文件替换
linux·嵌入式
biubiubiu07066 分钟前
Ansible自动化
运维·自动化·ansible
Python大数据分析@7 分钟前
使用Dify搭建工作流,实现自动化商品采集分析
运维·python·自动化·网络爬虫
code tsunami7 分钟前
如何将 Helium 与 CapSolver 集成,实现无缝 CAPTCHA 自动化解决
运维·数据库·人工智能·爬虫·python·自动化
sz66cm10 分钟前
Linux基础 -- xargs 结合 `bash -lc` 参数传递映射规则笔记
linux·笔记·bash
Tipriest_20 分钟前
Linux rpm 系和 debian 系发展史,相同,不同点详细介绍
linux·运维·debian·rpm
怪我冷i24 分钟前
win11使用minikube搭建K8S集群基于podman desktop( Fedora Linux 43)
linux·kubernetes·ai编程·ai写作·podman