PXE装机

泄露秘密 提交于 2020-03-17 15:23:31

PXE装机

在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量。
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。现代的网卡,一般都内嵌支持PXE的ROM芯片。当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。PXE依赖的服务有DHCP、TFTP、HTTP等。                 

PXE协议的成功运行需要解决以下两个问题: 

1、既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;  
2、通过什么协议下载Linux内核和根文件系统  
对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。  
至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。  
这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。  

工作过程

如下图,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server一般运行在一台Linux Server上。也可通过DHCP配置文件的next-server选项指定其他机器。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在TFTP服务器的根目录下。  
PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。 

   

pxe环境搭建 

1、安装dhcp服务

yum install httpd

vim /etc/httpd/conf/httpd.conf   #主要设置DocumentRoot参数(默认发布目录)

systemctl restart httpd

2、安装TFTP服务

TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。

yum install xinetd

yum install tftp-server

vim /etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。开启TFTP服务

主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:

说明:修改项server_args= -s <path> -c,其中<path>处可以改为tftp-server的根目录,作为pxe环境中的tftp服务器,路径应为/data/tftfboot

参数-s指定chroot-c指定了可以创建文件

systemctl restart xinetd

netstat -antlp | grep tftp

3、编辑引导配置文件

yum install syslinux

cp /usr/share/syslinux/pxelinux.0 /data/tftpboot

mkdir /data/tftpboot/pxelinux.cfg

cp isolinux.cfg /data/tftpboot/pxelinux.cfg/default

cp vmlinux initrd.img /data/tftp    

4、安装dhcp服务

yum install dhcp

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf

vim /etc/dhcp/dhcpd.conf   #主要是配置filename和next-server

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!