PXE

前言

PXE就是预启动执行环境,是一种引导启动的方式。这种协议一般由两部分构成,一部分是服务器端,一个是客户端。简单来说,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。在实现无人值守的安装前,我们必须要搭建一些服务,来实现服务器的建立,例如ftp、http、tftp、dhcp等。

一、PXE原理及使用条件

1、前提条件

1)客户机的网卡支持PXE协议,且主板支持网络引导,目前绝大多数服务器和PC都支持此项。
2)网络中有一台DHCP服务器,以便为客户机自动分配ip,指定引导文件位置
3)服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载。

2、原理

PXE客户端通过网卡向局域网内发送ip请求,然后DHCP服务器会提供给给它一个ip地址和系统安装所需要的文件,接下使用接收到的文件进行系统安装。而安装的过程又需要服务器提供的资源,例如:yum源,内核文件等,当主机拿到这些资源,便可以顺利的安装了。最终结果是:任意一台主机在选则网络启动时会获取DHCP服务器分发的ip,通过获取到的ip地址与局域网内的TFTP服务器通信并获取启动文件,与FTP或者HTTP通信并获取yum源文件及内核文件等。之后开始自动安装,而这个过程不需要人再做任何操作。
xinetd用于管理tftp服务,tftp用于共享安装引导选项,vsftpd用于共享镜像给客户机提供安装支持,dhcpd用于分配地址(指定tftp服务器地址和要下载的文件地址)。在这里插入图片描述

二、PXE网络批量装机搭建流程

1、客户机准备工作;
客户端新建虚拟机,选择仅主机模式,这里注意在虚拟网络编辑器中关闭对应仅主机网卡的dhcp自动获取功能,保证客户机会使用我们自己安装的dhcp服务器。随后保持机器关闭状态就OK。

2、服务器端配置安装环境;
注意:笔者使用同一台CentOS6.8带图形化的主机作为tftp、ftp、DHCP服务器。
yum -y install vsftpd dhcp tftp syslinux tftp-server

3、服务器端拷贝镜像文件到ftp共享目录 ;
mkdir /var/ftp/pub/dvd
#此目录用于拷贝当前服务器的ISO镜像文件用于后续ftp给客户机共享
cp -a /media/cdrom/* dvd/
#将当前主机系统的镜像文件复制到dvd目录下
chown -R ftp:ftp /var/ftp/pub/dvd
#修改镜像文件的所有者所属组为ftp

4、服务器端搭建 DHCP 服务;
vim /etc/dhcp/dhcpd.conf
subnet 192.168.45.0 netmask 255.255.255.0 {
range 192.168.45.1 192.168.45.255;
#分配地址的范围
next-server 192.168.45.11;
#DHCP服务器,也就是tftp server的ip
filename “pxelinux.0”;
#告诉客户机pxe引导程序的文件名
}
service dhcpd start && chkconfig dhcpd on

5、服务器端开启 tftp 服务;
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
mkdir /tftpboot

6、服务器端创建相关文件存放目录并拷贝所需文件;
mkdir -p /tftpboot/pxelinux.cfg
cp /var/ftp/pub/dvd/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
chmod 644 /tftpboot/pxelinux.cfg/default
cp -a /var/ftp/pub/dvd/isolinux/* /tftpboot/

7、开启相关服务并设置为自动启动;
service dhcpd restart && chkconfig dhcpd on
service xinetd restart && chkconfig xinetd on
service vsftpd restart && chkconfig vsftpd on
提示:xinetd用于管理tftp服务,tftp用于共享安装引导选项,vsftpd用于共享镜像给安装提供支持,dhcpd用于分配地址,指定tftp服务器地址和要下载的文件地址。

8、在服务器端配置 kisckstart 无人值守安装脚本;
yum -y install system-config-kickstart
init 5
#服务器端进入图形界面使用system-config-kickstart工具生成ks脚本
右键打开终端open in terminal == > 输入:system-config-kickstart
#执行脚本后会跳出下列弹窗
基础配置:
在这里插入图片描述

安装方法:
在这里插入图片描述

引导加载程序选项:
在这里插入图片描述

分区信息:
在这里插入图片描述

防火墙状态:
在这里插入图片描述

方案选择:
在这里插入图片描述

安装后执行的脚本:
在这里插入图片描述

保存:
在这里插入图片描述

选择存放路径:
在这里插入图片描述
9、回到字符界面;
cd ~
sz ks.cfg
#传到windows桌面
cat anaconda-ks.cfg
#在字符界面打开服务器端记录服务器安装系统过程的文件
windows桌面打开ks.cfg文件,可以按照anaconda-ks.cfg修改时区等信息。最主要的是将 anaconda-ks.cfg文件中%packages到%end区域中表明的图形化界面需要安装的软件包复制到ks.cfg文件中,保存后再将linux中的ks.cfg文件删掉,将windows桌面的ks.cfg文件传到linux中。
rm -rf ks.cfg
#删除linux中的ks.cfg文件
rz -E
#将桌面改好的文件传进来
mv ks.cfg /var/ftp/
vim /tftpboot/pxelinux.cfg/default
default linux
#顶头标签改为Linux,减少等待时间
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.45.11/ks.cfg
#原文中修改蓝色字体部分,告诉客户机选择这个系统安装的话要到此路径获取并执行这个脚本

10、最后一步:启动客户机,自动完成安装。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值