PXE装机

本文详细介绍了如何配置PXE进行自动装机,包括DHCP服务器设置、TFTP服务安装与配置、菜单文件部署、FTP服务搭建以及无人值守安装的实现,特别提到了使用system-config-kickstart生成应答文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PXE自动装机

dhcp配置

yum -y install dhcpd

vim /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page

# A slightly different configuration for an internal subnet.
subnet 192.168.4.0 netmask 255.255.255.0 {
  range 192.168.4.100  192.168.4.200;
  option domain-name-servers 192.168.4.7;
  option routers 192.168.4.254;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.4.7;#下一个服务器的IP地址,一般将PXE安装其他服务一台主机,所以还是指定本机
  filename "pxelinux.0";
  #指明网卡引导文件(网络装机说明书 二进制文件)名称,安装软件默认获得名称为pexlinux.0
}

systemctl restart dhcpd


部署pexlinux.0文件
[root@svr7 ~]# yum provides */pxelinux.0
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
iso/filelists_db                                                                   | 6.9 MB  00:00:00
myrpm/filelists_db                                                                 | 2.2 kB  00:00:00
syslinux-4.05-13.el7.x86_64 : Simple kernel loader which boots from a FAT filesystem
源    :iso
匹配来源:
文件名    :/usr/share/syslinux/pxelinux.0



syslinux-tftpboot-4.05-13.el7.x86_64 : SYSLINUX modules in /var/lib/tftpboot, available for network
                                     : booting
源    :iso
匹配来源:
文件名    :/var/lib/tftpboot/pxelinux.0

#一般装上面syslinux,然后复制syslinux0到对应目录/var/lib/tftpboot/pxelinux.0,为什么不装直接在/var/lib/tftpboot/pxelinux.0下的tftpboot包呢,因为它会在这个目录下产生除了syslinux.0外的大量其他文件

[root@svr7 ~]# yum -y install syslinux
[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0

tftp 传输众多的引导文件

tftp默认端口 69

默认共享主目录 ;/var/lib/tftpboot

yum -y install tftp-server

systemctl restart tftp

思路:

1. dhcp—>IP地址、next-server、filename pxelinux.0

2. tftp—> pxelinux.0

3. pxelinux.0—>读取菜单文件/var/lib/tftpboot/pxelinux.cfg/default

(菜单模板如 装机光盘挂载后iso下linux.cfg)

4. default—>图形模块、背景图片、内核、驱动程序

部署菜单文件

拷贝iso镜像下的菜单文件然后修改

isolinux.cfg

部署图形的模块(vesamenu.c32)和背景图片(splash.png)

驱动内核(vmlinuz)和驱动程序(initrd.img)

修改菜单文件内容
[root@svr7 /]# vim   /var/lib/tftpboot/pxelinux.cfg/default
末行模式   :set   nu  开启行号
  1 default   vesamenu.c32    #默认加载图形的模块
  2 timeout  600              #读秒时间,1/10秒
………
10 menu background splash.png     #背景图片
11 menu title NSD2007  PXE  Server    #菜单界面的标题
………
61 label linux
 62   menu label ^Install CentOS 7   #菜单显示内容
 63   menu   default                   #读秒结束后默认选择
 64   kernel vmlinuz                           #加载运行内核
 65   append initrd=initrd.img          #加载运行驱动程序


构建FTP服务,共享光盘的所有内容

1.安装软件包
[root@svr7 /]# yum -y install vsftpd
[root@svr7 /]# systemctl restart vsftpd

2.挂载光驱设备
[root@svr7 /]# mkdir /var/ftp/centos
[root@svr7 /]# mount /dev/cdrom   /var/ftp/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 /]# ls  /var/ftp/centos
[root@svr7 /]# curl    ftp://192.168.4.7/centos/  #测试

实现无人值守安装,生成应答文件

利用system-config-kickstart 图形工具

[root@svr7 /]# yum -y install system-config-kickstart

[root@svr7 /]# system-config-kickstart

需要本地yum支持来显示软件包选择(7系列bug)

system-config-kickstart程序需要Yum仓库的支持才能显示软件包的选择,必须要求Yum仓库的标识为**[development]**

1.配置ks.cfg 保存到/root/ks.cfg

2.利用FTP服务共享应答文件
[root@svr7 /]# cp   /root/ks.cfg    /var/ftp/
[root@svr7 /]# ls   /var/ftp/
centos  ks.cfg  pub

修改菜单文件,指定应答文件获取方式
[root@svr7 /]# vim   /var/lib/tftpboot/pxelinux.cfg/default
……..此处省略一万字
label linux
menu label ^Install CentOS 7
menu  default
kernel vmlinuz
append initrd=initrd.img  ks=ftp://192.168.4.7/ks.cfg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值