PXE高效批量网络装机

目录

部署PXE远程安装服务

PXE 原理和概念

服务端

客户机

PXE批量部署的优点

KicStart概述

PXE服务的构建过程

PXE服务器和客户机的工作过程

搭建PXE远程安装服务器

环境准备

实现Kickstart无人值守安装

准备安装应答文件

实现批量自动装机

 本章总结


部署PXE远程安装服务

PXE 原理和概念

PXE 是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

PXE 严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。


协议分为 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。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

客户机

客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导。
网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。 
其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数 PC 都能够提供此支持,只需在 BIOS 设置中允许从 Network 或 LAN 启动即可。

TFTP端口:69

PXE批量部署的优点

  • 规模化:同时装配多台服务器
  • 自动化:安装系统、配置各种服务
  • 远程实现:不需要光盘、U 盘等安装介质

KicStart概述

KickStart 是一种无人职守安装方式。KickStart 的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件;在其后的安装过程中(不只局限于生成 KickStart 安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找 KickStart 生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果 KickStart 文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取 ks.cfg 文件,然后去忙自己的事情。等安装完毕,安装程序会根据 ks.cfg 中设置的重启选项来重启系统,并结束安装

PXE服务的构建过程

PXE服务器和客户机的工作过程

  1.  PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。 
  2. DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引      导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下
  3. PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
  4.  TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
  5.  PXE客户机通过网络来启动到系统安装主界面。
  6.  PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求。
  7.  文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。
  8.  PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作

搭建PXE远程安装服务器

所需安装包
vsftpd   //用来放置安装镜像,通过ftp访问镜像安装
dhcp.x86_64 12:4.2.5-7pd-3.0.2-27.el7.x86_64.r9.el7.centos  //用来给客户机分配ip
syslinux-4.05-15.el7.x86_64.rpm  //用来提供pxe的引导程序
tftp-server.x86_64 0:5.2-22.el7.rpm   //用来提供引导镜像文件的下载
xinetd.x86_64 2:2.3.15-14.el7    //用来托管tftp
system-config-kickstart.noarch 0:2.9.7-1.el7.rpm   //用来无人值守安装

环境准备


一台作为pxe服务器,一台作为裸金属客户机,绑定同一块网卡,裸金属客户机vmnet1网卡取消勾选dhcp配置
关闭selinux和防火墙

主机服务器地址:192.168.10.17主机名:ky19

一台主机:

  1. 配置双网卡 一个作用是dhcp,一个是使用网络源安装环境包
  2. DHCP部署     
  3. ftp-server 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
  4. syslinux  //用来提供pxe的引导程序
  5. xinetd  //用来托管tftp
  6. vsftpd   //用来放置安装镜像,通过ftp访问镜像安装
  7. kickstart //用来无人值守安装

思路

1、安装并启用 DHCP 服务

yum -y install dhcp
cp -rfp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

配置文件里做如下设置:
vim /etc/dhcp/dhcpd.conf 
ddns-update-style none;   // 禁止动态更新

subnet 192.168.100.0 netmask 255.255.255.0 {     //配置网段
  range 192.168.100.40 192.168.100.50;  //配置地址池
  option routers 192.168.100.100;   //配置网关
  option domain-name-servers 114.114.114.114;
  next-server 192.168.100.100;    //指定tftp服务器的地址(*)
  filename "pxelinux.0";    //指定pxe引导程序的文件名(*)
}

systemctl start dhcpd
systemctl enable dhcpd

注:可先安装pxelinux.0

 

 添加网卡

配置ens36信息

 

 保存退出并重启网卡

 开启服务并查看状态

2、安装并启用 TFTP 服务

TFTP:(Trivial File Transfer Protocol)是一个小而易于实现的文件传送协议。TFTP是基于UDP数据报,需要有自己的差错改正措施。TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别。但它的代码所占内存较小,不需要硬盘就可以固化TFTP代码,很适合较小的计算机和特殊用途的设备。

TFTP和FTP一个主要的区别就是它没有交互式,且不进行身份验证。
TFTP一般用于传输小文件

安装服务

[root@fl network-scripts]# vim /etc/xinetd.d/tftp 

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes                   #wait no表示客户机可以多台一起连接, 
                                                         yes表示客户机只能一台一台连接,表示 
                                                         是否开启多线程一起工作,否则需要等待
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot  #指定TFTP根目录(引导文件的存储路径) 
                                                         -c允许上传
        disable                 = no                    #表示开启TFTP服务  
        per_source              = 11                    #通过限制一个主机的最大连接数,从而 
                                                         防止某个主机独占某个服务,这里每个 
                                                         IP地址的连接数是11个
        cps                     = 100 2                 #表示服务器最多启动100个连接,如果达 
                                                         到这个数目将停止启动新服务2秒。在此 
                                                         期间不接受任何请求
        flags                   = IPv4
}

3、准备 PXE 引导程序pxelinux.0

pxelinux.0是个二进制文件,主要作用相当于一个系统安装步骤的指引,引导客户端如何安装系统

yum provides */pxelinux.0                              #查找这个文件是由哪个软件包安装的,当 
                                                        不是一个路径和一个软件包时用*/
yum -y install syslinux
rpm -ql syslinux | grep pxelinux                       #查找pxe引导程序的位置
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/   #拷贝到tftp的根目录下,系统引导文件

 

 注:只有安装了 system-config-kickstart 软件包,才会有/usr/share/syslinux/目录及目录中的文件

4、配置启动菜单文件

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

vim /var/lib/tftpboot/pxelinux.cfg/default 
以下为纯手工配置default菜单文件

default auto                           #指定默认入口名称 ,对应下面的label auto
prompt 1                               #设置是否等待用户选择,1 表示等待用户控制,0表示不等待 
                                        用户控制,安装时会出现boot:如果按回车表示选择auto模式


label auto                             #默认的图形安装
      kernel vmlinuz 
      append initrd=initrd.img method=ftp://192.168.100.100/centos7  #method必须指定网络路径

label linux text                     #文本安装模式,出现boot:时输入linux text
      kernel vmlinuz 
      append text initrd=initrd.img method=ftp://192.168.100.100/centos7 

label linux rescue                   #救援模式,出现boot:时输入linux rescue
      kernel vmlinuz 
	  append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7

 5、安装ftp服务,准备 CentOS 7 安装源

yum -y install vsftpd
mount /dev/cdrom /mnt
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7    #将镜像复制其中
systemctl start vsftpd  

实现Kickstart无人值守安装

准备安装应答文件

实现批量自动装机

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 本章总结

  • 部署PXE远程安装服务
  • 实现PXE+kickstart无人值守安装操作系统

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值