PXE原理与配置

本文详细介绍了如何构建和配置PXE(预启动执行环境)服务,包括PXE的基本原理、服务构建步骤、配置DHCP和TFTP服务器、安装FTP服务以及设置kickstart自动安装。此外,还提供了验证配置是否成功的操作指南,帮助读者实现通过网络自动安装系统。
摘要由CSDN通过智能技术生成

目录

PXE介绍

PXE服务的构建过程

配置PXE

验证


PXE介绍

PXE是由intel公司开发的网络引导技术,工作再C/S模式下,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个系统。

PEX严格来说并不是一种安装方式,而是一种引导方式。进行PXE安装的必要条件是安装的计算机中包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE Client。 PXE协议使计算机可以通过网络启动。

协议分为client和server端,PEX client 在网卡的ROM中,当计算机引导,BIOS把PXE client调入内存执行,由PXE client将放置在远端的文件通过网络下载到本地运行。运行PXE协议需要设置DHCP服务器和TFTP服务器。DHCP服务器用来给PXE client分配一个IP,由于是给PXE client分配地址,所以在配置DHCP服务器时需要增加想要的PXE设置。

PXE服务的构建过程

1、PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。

2、DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftoboot下

3、PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。

4、TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。

5、PXE客户机通过网络来启动到系统安装主界面

6、PXE客户机向文件共享服务器(ftp、http、nfs)发起获取centos系统或windows系统安装文件的请求。

7、vsftp文件共享服务响应PXE请求,将共享额系统安装文件传输给PXE客户机。

8、PXE客户机进入到安装提示向导界面,用户需要手动完成系统安装的操作  

配置PXE

首先禁用防火墙

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

需要配置双网卡一个作用是dhcp,一个使用网络源安装环境包

dhcp自动分配IP的网卡得是net1仅主机模式

然后查看一下是否添加成功,多了一个ens37则代表添加成功

然后给ens37配置网卡目录

cd /etc/sysconfig/network-scripts  #进入网卡配置目录

cp ifcfg-ens33 ifcfg-ens37

vim ifcfg-ens37

进入ens37要把uuid删掉,不然会起冲突出bug

ip地址要在net1网段内,网关可以不用配置

配置完之后,systemctl restart network重启网卡服务

然后yum安装dhcp服务,已安装的也可以yum一下进行升级

vim /etc/dhcp/dhcpd.conf  #进入配置文件

cp -p  /usr/share/doc/dhcp*/dhcpd.conf.example  /etc/dhcp/dhcpd.conf  #-p连带文件属性一起复制,是否覆盖输入y表示yes

 vim /etc/dhcp/dhcpd.conf  #再次进入编辑

从上到下依次表示:

禁止动态更新

网段

地址池

网关

dns地址

指定tftp服务器地址

指定pxe引导程序的文件名

最后systemctl start dhcpd     #开启dhcp服务

systemctl enable dhcpd    #开机自启动

yum -y install tftp-server    

yum -y install xinetd

{tftp是一个小并且易于实现的文件传输协议,tftp是基于UDP数据报,需要有自己的差错改正措施。tftp只支持文件传输,不支持交互,没有庞大的命令集。安全性低,不支持身份验证}

 vim /etc/xinetd.d/tftp   配置tftp

只需要把disable那一行改成no即可(双重否定,表示开启tftp服务)

mount /dev/cdrom /空目录         挂载镜像文件

df -Th查看一下是否挂载成功

进入内核文件 将内核初始化镜像文件复制到 /var/lib/tftpboot

cd /mnt/images/pxeboot

cp initrd.img vmlinuz /var/lib/tftpboot  #复制内核初始化文件

vmlinuz:是可引导的、压缩的内核

initrd.img:系统初始化文件

最后systemctl start xinetd        开启服务

systemctl enable xinetd

systemctl start tftp

systemctl enable tftp

yum provides /pxelinux.0 

 #查找这个文件是哪个安装包安装的,当不是一个路径和一个软件包时用

yum -y install syslinux

rpm -ql syslinux | grep pxelinux.0  #查找pxe引导程序的位置

cp复制第二个

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot  #拷贝tftp的根目录下,系统引导文件

mkdir /var/lib/tftpboot/pxelinux.cfg/

#默认pxelinux.cfg是没有的需要手动创建,注意它是一个目录而非文件虽然是以.cfg结尾

vim /var/lib/tftpboot/pxelinux.cfg/default  #配置菜单文件

(这一步不需要添加后面的ks=ftp://192.168.100.111/ks.cfg)

安装ftp服务,准备centos7的安装源

yum -y install vsftpd   #安装ftp服务

mkdir /var/ftp/centos7   

cp -rf /mnt/* /var/ftp/centos7   #将镜像复制到其中

最后systemctl start vsftpd #开启ftp服务

systemctl enable  vsftpd  #开机自启 

yum -y install system-config-kickstart       #安装system-config-kickstart工具

进入桌面左上角应用程序,选择系统工具,选择kickstart,然后一步一步进行设置

 

配置完之后保存到/var/ftp中,改名ks.cfg

ls查看一下文件

cd /root  #进入家目录

vim anaconda-ks.cfg   

将里面的下图内容,复制到var/ftp/ks.cfg中

 

复制粘贴之后cat /var/ftp/ks.cfg查看一下

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

#进入菜单文件进行优化,将ks引导参数至引导菜单文件

至此配置完成

验证

创建一台空的虚拟机,不要给镜像文件

 然后开启虚拟机让它自动安装即可

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值