linux网络之-------PXE自动化装机

PXE简介

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

严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。

实验环境

PXE:192.168.10.20/24 提供DHCP,TFTP,FTP功能,DHCP地址范围(192.168.10.100/24-192.168.10.200/24) vm1

首先配合ip地址 并完成全网互通 这里的vm8能上网

一、 先配置 路由器
1、在虚拟机上添加网卡vm1 并更改ip
在这里插入图片描述
1、虚拟机上配置vm1的IP地址 nmcli connection 获取并记录下UUID

nmcli connection	获取并记录下UUID
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vi ifcfg-ens36               更改相关的信息
IPADDR=192.168.10.3
PREFIX=24
#GATEWAY=12.0.0.2
#DNS1=8.8.8.8
#DNS2=114.114.114.114

systemctl restart network

二、安装PXE在192.168.10.20上
1、采用 FTP 协议发布安装源,可以在服务器上部署一个 YUM 软件仓库。

mkdir -p /var/ftp/centos7
mount /dev/cdrom /mnt
cp -rf /mnt/* /var/ftp/centos7
yum -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd

可以进行验证一下 如下图
在这里插入图片描述
2、安装并启用 TFTP 服务###
TFTP 服务由 tftp-server 软件包提供,配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable = yes”改为“disable = no”,然后启动 TFTP 服务即可。

yum -y install tftp-server
vi /etc/xinetd.d/tftp
service tftp
{
...
protocol = udp                            ###TFTP 采用 UDP 传输协议server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot             ###指定 TFTP 根目录disable = no                              ##仅修改这个就行 
####省略部分信息
}

systemctl start tftp
systemctl enable tftp
netstat -anup |grep 69      ##能过滤出来说明没有问题

3、准备 Linux 内核、初始化镜像文件#####用于 PXE 网络安装的 Linux 内核、初始化镜像文件可以从 CentOS 7 系统光盘获得,分别为 vmlinuz 和 initrd.img,位于文件夹 images/pxeboot 下。找到这两个文件并将其复制到 tftp 服务的根目录下。

cd /mnt/images/pxeboot/    ####切换到挂载目录/mnt/images/pxeboot/
cp vmlinuz initrd.img /var/lib/tftpboot/  ###两个文件并将其复制到 tftp 服务的根目录下

4、准备 PXE 引导程序####用于 PXE 网络安装的引导程序为 pxelinux.0,由软件包 syslinux 提供。安装好软件包syslinux,然后将文件 pxelinux.0 也复制到 tftp 服务的根目录下。

yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

5、安装并启用 DHCP 服务####由于 PXE 客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关引导文件,需要预先配置好 DHCP 服务来自动分配地址并告知引导文件位置。如 PXE 服务器的 IP 地址为 20.0.0.254, DHCP 地址池为 20.0.0.100~20.0.0.200,则可以参考以下操作来搭建 DHCP 服务器。

yum -y install dhcp
vi /etc/dhcp/dhcpd.conf
###省略部分信息  ####下面新增的多####
#   see dhcpd.conf(5) man page
#
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.10.0 netmask 255.255.255.0 {        
option routers          192.168.10.3;        
option subnet-mask      255.255.255.0;        
option time-offset      -18000;        
range dynamic-bootp 192.168.10.100 192.168.10.200;        
next-server 192.168.10.20;        
filename "pxelinux.0";
}

systemctl start dhcpd
systemctl enable dhcpd

6、配置启动菜单文件#####启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作手动建立。

mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vi/var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1timeout 600
#display boot.msg
label auto  
kernel vmlinuz  
append initrd=initrd.img method=ftp://192.168.10.20/centos7~            

7、可以进行实验看看能不能使用pxe创建虚拟机
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

开机 回车一下就能自动安装了

在这里插入图片描述
若要做无人值守yum -y install system-config-kickstart安装这个软件进入图形界面进行相关的设置就可进行实验 (就像是下面的步骤做成了脚本一样)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值