欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

PXE网络装机

发布时间:2025/3/21 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 PXE网络装机 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

 

网络装机

部署DHCP服务器

部署过程:装包,配置,起服务

PXE网络装机

网络装机的优势

PXE网络

PXE工作模式

PXE组件及过程

一.DHCP服务器

构建网络装机服务器

二.TFTP服务器,提供众多的引导文件

初步测试:

三.web服务,提供光盘的所有内容

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


网络装机

部署DHCP服务器

  • DHCP:

动态主机配置协议,由IETF组织制定,用来简化地址分配管理

  • 主要分配:

1.IP地址/子网掩码/广播地址

2.默认网关地址.DNS服务器地址

3.PXE引导装置

  • DHCP概述及原理:

DHCP地址分配的四次会话(广播,先到先得)

DISCOVER---->OFFER------>REQUEST-------->ACK

一个网络里只能有一个DHCP

  • DHCP默认端口:67

部署过程:装包,配置,起服务

1.安装软件包:

[root@svr7 ~]# yum -y install dhcp

2.修改配置文件:

[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf # # DHCP Server Configuration file. #   see /usr/share/doc/dhcp*/dhcpd.conf.example #配置文件模板 #   see dhcpd.conf(5) man page #:r  /usr/share/doc/dhcp*/dhcpd.conf.example #在末行模式读入文件

     最后配置文件内所有保留的信息: 

# DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example subnet 192.168.4.0netmask 255.255.255.0 { #作用域,分配的网段和子网掩码range 192.168.4.100 192.168.4.200; #地址池,分配IP地址的范围option domain-name-servers 192.168.4.7; #域名的服务器名字(告诉客户端寻找该DNS)option routers 192.168.4.254; #分配的网关default-lease-time 600; #默认租期(客户端获取到IP地址后使用该IP的时间)max-lease-time 7200; #最长租期(最长使用该IP的时间) }

租期:允许客户机租用IP地址的时间期限,单位为秒

作用域:分配给客户机的IP地址所在的网段

地址池: 用来动态分配IP地址的范围

3.起服务:

[root@svr7 ~]# systemctl restart dhcpd

PXE网络装机

网络装机的优势

  • 规模化:同时装配多台主机
  • 自动化:装系统.配置各种服务
  • 远程实现:不需要光盘.U盘等物理安装介质

PXE网络

  • 预启动执行环境,在操作系统之前运行
  • 可用于远程安装

PXE工作模式

  • PXE Client  集成在网卡的启动芯片中
  • 当计算机引导时,从网卡中把PXE Client调入内存执行,获取PXE server 配置,显示菜单,根据用户选择将远程引导程序下载到本机运行

PXE组件及过程

  • 需要的服务组件(服务端)

DHCP服务,分配IP地址,定位引导程序

TFTP服务.提供引导程序下载

HTTP服务(或FTP/NFS),提供网络yum源

  • 客户机应具备的条件

网卡芯片必须支持PXE协议

主板支持从网卡启动


一.DHCP服务器

构建网络装机服务器

1.构建dhcp服务,指定下一个服务器地址

# DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example 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; #指定下一个服务器地址filename "pxelinux.0"; #指定网卡引导文件 }

pxelinux.0:网卡引导文件(网络装机说明书),二进制文件

                安装一个软件即可获得,默认名称pxelinux.0

2.重起服务

[root@svr7 ~]# systemctl restart dhcpd

二.TFTP服务器,提供众多的引导文件

TFTP:简单的文件传输协议,默认端口69

默认的路径:/var/lib/tftpboot

  • 1.装包
[root@svr7 ~]# yum -y install tftp-server
  • 2.启动服务
[root@svr7 ~]# systemctl restart tftp
  • 3.部署pxelinux.0文件
[root@svr7 ~]# yum provides */pxelinux.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
  • 4.部署菜单文件 

首先关闭该虚拟机,以图形方式添加光驱设备

       

 

 

[root@svr7 ~]# mount /dev/cdrom /mnt mount: /dev/sr0 写保护,将以只读方式挂载 [root@svr7 ~]# ls /mnt CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL

 

或者利用光盘镜像文件直接挂载

[root@svr7 ~]# mount /root/CentOS7-1804.iso  /opt/ mount: /dev/loop0 写保护,将以只读方式挂载 [root@svr7 ~]# ls /opt/

 

[root@svr7 ~]# mkdir  /var/lib/tftpboot/pxelinux.cfg #创建专门存放菜单文件的目录 [root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #将菜单文件的模板文件复制到存放菜单文件的目录中 (一定要在挂载的情况下复制)[root@svr7 ~]# ls /var/lib/tftpboot/pxelinux.cfg/ default #查看是否复制成功
  • 5.图形的模块(vesamenu.c32)与背景图片(splash.png)
[root@svr7 ~]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/ #将图形模块和背景图片复制到菜单文件的目录中 [root@svr7 ~]# ls /var/lib/tftpboot/ #查看该目录 pxelinux.0 pxelinux.cfg splash.png vesamenu.c32
  • 6.部署启动内核(vmlinuz)与驱动程序(initrd.img)
[root@svr7 ~]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/ #拷贝启动内核以及驱动程序 [root@svr7 ~]# ls /var/lib/tftpboot/ #查看该目录 initrd.img pxelinux.0 pxelinux.cfg splash.png vesamenu.c32 vmlinuz#集齐这六样就可以召唤神龙啦!!!!!!!!!!!!!!!!
  • 7.修改菜单文件
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 1 default vesamenu.c32 #默认加载图形模块2 timeout 600 #默认读秒时间(秒)10 menu background splash.png #背景图片11 menu title CentOS 7 #标题(可以自行修改)64行以后dd掉, 64行变为 append initrd=initrd.img 61 label linux62 menu label ^Install CentOS 7 #菜单的显示 添加:63 menu default #读秒之后默认的选择64 kernel vmlinuz #加载内核65 append initrd=initrd.img #加载驱动程序

初步测试:

  • 1.必备的服务进行重起
[root@svr7 ~]# systemctl restart dhcpd [root@svr7 ~]# systemctl restart tftp
  • 2.新建一台虚拟机 

以图形化方式装机,选择网络引导(PXE)

前进,内存选择2048M

前进,网络选择和提供PXE装机服务器的网络一样,选择private1

前进,出现以下界面:



三.web服务,提供光盘的所有内容

  • 1.安装httpd软件
[root@svr7 ~]# yum -y install httpd
  • 2.挂载方式
[root@svr7 ~]# mkdir /var/www/html/centos [root@svr7 ~]# ls /var/www/html/centos [root@svr7 ~]# mount /dev/cdrom /var/www/html/centos mount: /dev/sr0 写保护,将以只读方式挂载 [root@svr7 ~]# ls /var/www/html/centos CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
  • 3.重起httpd服务,测试访问
[root@svr7 ~]# systemctl restart httpd [root@svr7 ~]# firefox 192.168.4.7/centos

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

  • 1.图形工具system-config-kickstart
[root@svr7 ~]# yum -y install system-config-kickstart
  • 2.以英文方式,运行图形的工具
[root@svr7 ~]# LANG=en system-config-kickstart  [root@svr7 ~]# vim /etc/yum.repos.d/local.repo [development] #把yum仓库的名称改为developmentname=CentOS-$releasever - Basebaseurl="ftp://192.168.4.254/centos-1804"enabled=1gpgcheck=0

再次执行

[root@svr7 ~]# LANG=en system-config-kickstart

点击软件包选择(Package Selection)

 


 

  • 3.查看应答文件
[root@svr7 ~]# ls  ~/ks.cfg  /root/ks.cfg                                              #查看图形软件的所有设置保存是否成功
  • 4.利用web传输应答文件
[root@svr7 ~]# cp /root/ks.cfg /var/www/html [root@svr7 ~]# ls /var/www/html centos ks.cfg
  • 5.修改菜单文件,指定获取应答文件的路径及名称
61 label linux62 menu label ^Install CentOS 763 menu default64 kernel vmlinuz65 append initrd=initrd.img ks=http://192.168.4.7/ks.cfg #让客户端找到192.168.4.7的装机文件

 



思路:

1.dhcp服务器------>IP地址    next-server   filename   pxelinux.0

2.tftp服务器----->pxelinux.0

3.pxelinux.0--------->菜单文件

                                /var/lib/tftpboot/pxelinux.cfg/default

4.default--------> 图形模块.驱动.内核.ks应答文件

5.ks应答文件------>时区  密码   软件包...

                     --url="httpd://192.168.4.7/centos"

 

 

 

 

总结

以上是生活随笔为你收集整理的PXE网络装机的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。