搭建PXE无盘站
--centos7



一、PXE


PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。


二、PXE启动原理


当计算机引导时,BIOS把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。


三、启动过程


PXE是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:


客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。


Bootprom 送出 BOOTP/DHCP 要求以取得 IP。


如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括


客户端的 IP 地址, 预设网关, 及开机映像文件。否则,服务器会忽略这个要求。


Bootprom 由 TFTP 通讯协议从服务器下载开机映像文件。


个人电脑通过这个开机映像文件开机, 这个开机文件可以只是单纯的开机程式也可


以是操作系统。


开机映像文件将包含 kernel loader 及压缩过的 kernel,此 kernel 将支持NTFS root


系统。


远程客户端根据下载的文件启动机器。


(此文重要讲操作 原理可以参照其他的详细资料)


四、操作步骤


1、配置DHCP服务—提供IP


.# yum -y install dhcp


搭建的pxe服务器的ip是192.168.6.100 则对DHCP的配置文件


/etc/dhcp/dhcpd.conf 配置如下:


esxi无盘工作站 esxi无盘启动_操作系统

启动并配置开启启动dhcp服务

.# systemctl start dhcpd

.# systemctl enable dhcpd

2、安装tftp服务和关联包

.# yum install -y tftp*

安装xinetd守护进程,因为tftp依赖于xinetd

.# yum install -y xinetd

修改tftp配置文件/etc/xinetd.d/tftp,将disable= yes改为disable=no

esxi无盘工作站 esxi无盘启动_操作系统_02

启动并配置开机自动启动xinetd进程

.# systemctl start xinetd

.# systemctl enable xinetd

.# systemctl start tftp

3、配置http为文件仓库

安装http服务

.# yum -y install httpd

放入待安装系统盘,并直接用光盘的package当做安装仓库

.# mkdir /var/www/html/centos7

.# mount /dev/cdrom /var/www/html/centos7/

4、修改ks.Cfg

将当前系统中的ks文件拷贝到/var/www/html/路径下

.# cp /root/anaconda-ks.cfg /var/www/html/ks.cfg

ks.cfg的作用是预先指定好需要的安装选项(包括系统镜像路径,安装组件,系统语言,网络配置,用户及密码等),当正式安装时PXE Client将会很据该文件去自动配置安装,从而避免了大规模部署时的大量重复操作。(具体的原理 可以自行在网上了解 后期我会补上来

esxi无盘工作站 esxi无盘启动_linux_03


5、 相关系统引导文件存储

安装syslinux,它是一个功能强大的引导加载程序,而且兼容各种介质。

.

# yum install -y syslinux
pxelinux.0文件名要和dhcp配置文件内的一致
.# cp/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/copy光盘目录中的vmlinuz和initrd.img,这两个文件相当于系统启动时/boot目录下的启动文件,这个用来引导anacoda而不是根
.# cp/mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} \
/var/lib/tftpboot/copy pxe引导所需要的配置文件,splash.png:背景图.boot.msg启动标语,vesamenu.c32:显示同行界面用的程序.
.# cp/mnt/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.png}\
 /var/lib/tftpboot/pxe启动时显示配置文件信息,和光盘启动类似.
.# mkdir/var/lib/tftpboot/pxelinux.cfg
.# cp/mnt/cdrom/isolinux/isolinux.cfg\
 /var/lib/tftpboot/pxelinux.cfg/default

6、配置default系统启动文件

在default配置文件/var/lib/tftpboot/pxelinux.cfg/default中找到下面标签

esxi无盘工作站 esxi无盘启动_操作系统_04

它的目的是用于告诉PXEClient去哪里可以找到镜像文件以及ks.cfg配置文件。
7、 检查PXE Server的状态并关闭防火墙、启动PXE Client
.# service dhcpd status
.# service tftp status
.# service httpd status
以上三者结果都应该为active(running)
.# systemctl stop firewalld
.# systemctl disable firewalld

.# service firewalld status
结果都应该为inactive(dead)