• PXE高效批量网络装机



    一、PXE原理与概念

    1.PXE的概述

    PXE(预启动执行环境)是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者这个操作系统
    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。PXE Client通过TFTP协议到TFTP Server上下载所需的文件

    2.PXE的优点

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

    3.搭建PXE的前提条件

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


    二、KickSrart概述

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


    三、PXE服务的构建过程

    PXE服务器和客户机的工作过程
    1.PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。
    2.DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给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客户机向文件共享服务器发起获取centos或windows系统安装文件的请求
    7.vsftp文件共享服务响应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   //用来无人值守安装
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.添加一张新的网卡

    1.添加一张网卡,网卡类型选择VMnet1(仅主机模式)
    在这里插入图片描述
    2.查看虚拟网络编辑器
    在这里插入图片描述
    3.复制配置信息到ifcfg-ens37
    在这里插入图片描述
    4.修改ifcfg-ens37的配置
    在这里插入图片描述
    在这里插入图片描述

    2.配置DHCP服务

    1.安装DHCP服务
    在这里插入图片描述
    2.复制模板
    在这里插入图片描述
    3.编辑DHCP配置文件
    在这里插入图片描述
    在这里插入图片描述
    4.开启DHCP服务
    在这里插入图片描述

    3.配置TFTP服务

    TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。
    TFTP服务默认由xinetd服务进行管理,使用UDP 端口69
    xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。
    TFTP和FTP的区别就是他没有交互式,并且不进行身份验证
    1.安装tftp-server和xinetd服务
    在这里插入图片描述
    2.更改配置文件,disable设置成no(开启TFTP服务)
    在这里插入图片描述
    3.挂载镜像,将初始化镜像文件和内核文件复制到TFTP根目录下
    在这里插入图片描述
    4.启动TFTP服务和xinetd
    在这里插入图片描述

    4.准备PXE引导镜像文件pxelinux.0

    pxelinux.0是个二进制文件,主要作用相当于一个系统安装步骤的指引,引导客户端如何安装系统
    1.查找pxelinux.0文件是由哪个软件包安装的
    在这里插入图片描述
    2.安装syslinux服务
    在这里插入图片描述
    3.查找pxelinux.0文件的路径
    在这里插入图片描述
    4.复制pxelinux.0文件到tftp根目录下
    在这里插入图片描述

    5.配置启动菜单文件

    启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载驱动。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下,典型的启动菜单配置可参考以下操作自动或手动建立。
    至于为什么要是/var/lib/tftpboot/pxelinux.cfg/default文件,因为是由pxelinux.0这个文件决定好的
    1.pxelinux.cfg是没有的,需要手动创建,它是一个目录而非文件,虽然是以.cfg结尾

    mkdir /var/lib/tftpboot/pxelinux.cfg
    
    • 1

    2.手工配置defaule菜单文件
    在这里插入图片描述

    6.安装FTP服务,准备centos7安装源

    1.安装vsftpd服务
    在这里插入图片描述
    2.创建centos7目录,将镜像文件复制到centos7目录中

    3.启动vsftpd服务
    在这里插入图片描述

    7.实现Kickstart无人值守安装

    1.安装system-config-kickstart工具
    在这里插入图片描述
    2.虚拟机打开应用程序中的系统工具,点击kickstart
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    3.保存好之后,可以在/var/ftp下找到ks.cfg文件,然后查看文件内容
    在这里插入图片描述
    4.将anaconda-ks.cfg文件中的一段复制到ks.cfg的最后
    在这里插入图片描述
    5.添加 ks 引导参数至引导菜单文件default
    在这里插入图片描述

    8.验证

    1.创建一台虚拟机
    注意:内存要给到2G以上,网卡类型选择VMnet1,不要给镜像文件
    2.然后重启虚拟机
    虚拟机会自动完成安装
    在这里插入图片描述


  • 相关阅读:
    Shell、终端、zsh
    移动硬盘被误删除了怎么找回呢?
    VMware 与 SmartX 超融合 I/O 路径对比与性能影响解析
    vscode 自定义(修改已有)主题教程
    微信营销软件可靠吗?
    Java进阶(7)——数组模拟栈/酒店管理系统练习
    [ESP32 IDF+Vscode]蓝牙配网后采用上传温湿度数据至阿里云(MQTT协议)
    cvpr24写作模板pdfLaTex编译器注意点小结
    数据结构中的树和二叉树(0基础讲解+代码)
    树的前序遍历非递归思路
  • 原文地址:https://blog.csdn.net/S314118142/article/details/125916771