目录

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

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda

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

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

服务器bios改sda 服务器bios设置pxe设置_vim_02

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

服务器bios改sda 服务器bios设置pxe设置_vim_03

然后给ens37配置网卡目录

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

cp ifcfg-ens33 ifcfg-ens37

vim ifcfg-ens37

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

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

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

服务器bios改sda 服务器bios设置pxe设置_linux_04

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

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_05

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

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

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_06

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

从上到下依次表示:

禁止动态更新

网段

地址池

网关

dns地址

指定tftp服务器地址

指定pxe引导程序的文件名

最后systemctl start dhcpd     #开启dhcp服务

systemctl enable dhcpd    #开机自启动

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_07

yum -y install tftp-server    

yum -y install xinetd

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

服务器bios改sda 服务器bios设置pxe设置_vim_08

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

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

服务器bios改sda 服务器bios设置pxe设置_linux_09

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

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

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_10

进入内核文件 将内核初始化镜像文件复制到 /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

服务器bios改sda 服务器bios设置pxe设置_linux_11

yum provides /pxelinux.0 

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

yum -y install syslinux

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

服务器bios改sda 服务器bios设置pxe设置_vim_12

cp复制第二个

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

服务器bios改sda 服务器bios设置pxe设置_vim_13

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

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

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

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

服务器bios改sda 服务器bios设置pxe设置_服务器_14

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

yum -y install vsftpd   #安装ftp服务

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_15

mkdir /var/ftp/centos7   

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

最后systemctl start vsftpd #开启ftp服务

systemctl enable  vsftpd  #开机自启 

服务器bios改sda 服务器bios设置pxe设置_linux_16

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

服务器bios改sda 服务器bios设置pxe设置_vim_17

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

 

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_18

服务器bios改sda 服务器bios设置pxe设置_linux_19

服务器bios改sda 服务器bios设置pxe设置_linux_20

服务器bios改sda 服务器bios设置pxe设置_linux_21

服务器bios改sda 服务器bios设置pxe设置_linux_22

服务器bios改sda 服务器bios设置pxe设置_vim_23

服务器bios改sda 服务器bios设置pxe设置_vim_24

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_25

服务器bios改sda 服务器bios设置pxe设置_linux_26

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_27

服务器bios改sda 服务器bios设置pxe设置_服务器_28

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_29

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

服务器bios改sda 服务器bios设置pxe设置_linux_30

ls查看一下文件

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_31

cd /root  #进入家目录

vim anaconda-ks.cfg   

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


服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_32

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

服务器bios改sda 服务器bios设置pxe设置_服务器_33

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

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

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_34

至此配置完成

验证

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

服务器bios改sda 服务器bios设置pxe设置_linux_35

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

服务器bios改sda 服务器bios设置pxe设置_服务器_36

服务器bios改sda 服务器bios设置pxe设置_服务器_37

服务器bios改sda 服务器bios设置pxe设置_linux_38

服务器bios改sda 服务器bios设置pxe设置_服务器bios改sda_39