• Linux网路服务之“PXE网络批量装机和Kickstart全自动化安装”


    内容预知

     1.PXE网络批量装机的简介和相关知识

     1.1 常见的三种系统安装方式

    1.2  PXE的简介

    1.3 进行PXE装机的前提条件 

    1.4 PXE 装机的优势

    1.5 PXE装机的过程描述

     2.PXE 安装进行前的配置了解

       2.1 PXE装机所需的四大文件

    2.2 搭建PXE 过程中的服务介绍

     2.2.1 DHCP服务

    2.2.2  vsftpd服务

    2.2.3 TFTP服务

    2.2.4 syslinux 

    3.PXE批量安装的具体操作过程

     第一步:安装四个相关的软件包

    第二步:添加第二块虚拟机网卡, 修改相关配置,构建内网环境

     第三步:配置DHCP服务器,分配IP地址,指明tftp服务器的地址。

     第四步:修改TFTP服务配置文件/etc/xinetd.d/tftp将服务打开

     第五步:挂载光盘,安放三大文件

     第六步:创建子目录,在子栏目下编写引导程序

    第七步:关闭selinux和防火墙, 启动所有相关的服务

    第八步装机测试: 

     4.Kickstart全自动化安装

    4.1  Kickstart运用的目的

     4.2 Kickstart具体操作步骤

     第一步:安装kickstart服务程序

     第二步:返回虚拟机,进行设置

     

    第三步:将保存修改后的ks.cfg  文件移动到ftp中

    第四步:再次修改ftfp文件配置,让ks.cfg文件配置生效

    第五步:进行测试,只需要打开虚拟机,不用做任何操作


     1.PXE网络批量装机的简介和相关知识

     1.1 常见的三种系统安装方式

    u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装

    光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机

    网络下载安装:在网上下载相关镜像系统,进行安装

     

    1.2  PXE的简介

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

    若想进行PXE批量装机,首先要搭建 PXE 远程安装服务器。而PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。 

     

    1.3 进行PXE装机的前提条件 

    •  客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从 Network 或 LAN 启动即可。
    • 网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
    • 服务器要通过 TFTP服务(简单文件传输协议)来提供引导镜像文件的下载。

     

    1.4 PXE 装机的优势

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

     

    1.5 PXE装机的过程描述

     

    1. 客户机的网卡查找相关的dhcp服务器(获取地址和时间)。
    2. DHCP服务器给客户机分配IP地址和引导程序(boot loader)的地址 ,同时通过offer报文把TFTP服务器的地址发给客户机。
    3. TFTP服务器把引导文件(pxelinux.0)传给客户机。
    4. 客户机将引导程序加载到内存中来。
    5. 引导程序去TFTP服务器中查找配置文件,服务器将配置文件传给客户机。(配置文件中指定客户机使用ftp方式连接服务器获取系统镜像文件)
    6. 服务端安装并启动vsftpd服务,客户机使用ftp服务获取系统镜像文件。

     

     

     2.PXE 安装进行前的配置了解

       2.1 PXE装机所需的四大文件

     

    • pxelinux.0:引导程序。(来自syslinux程序)
    • default:引导程序的配置文件。(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)
    • vmlinuz:内核文件。(从光盘中获取,位于 isolinux 目录下)
    • initrd.img: 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)

     

    2.2 搭建PXE 过程中的服务介绍

     

     2.2.1 DHCP服务

    DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,同时也能配合DNS解析使用,让指定范围内的客户机能够自动获取解析域名的后缀。

    DHCP作为用应用层协议,它依靠并且使用着传输层中udp协议。对于DHCP中分为客户端,和服务端。客户端用的端口为68 ,服务端的端口为67. 

    具体操作可以了解我之前的博客:

    linux的网络服务之DHCP_站在这别动,给你买橘子去的博客-CSDN博客icon-default.png?t=M7J4https://blog.csdn.net/qq_62462797/article/details/126322729?spm=1001.2014.3001.5501

    2.2.2  vsftpd服务

     vsftpd服务是Linux中使用最多的运用ftp的服务,它是用于Internet上的控制文件的双向传输的一种有效手段,其中有两个端口号均是TCP传输方式,分别为

    20端口用于建立数据连接,并传输文件数据

    21端口用于建立控制连接,并传输FTP控制命令  

     

    具体操作可以了解我之前的博客:

     Linux网络服务之ftp_站在这别动,给你买橘子去的博客-CSDN博客icon-default.png?t=M7J4https://blog.csdn.net/qq_62462797/article/details/126328751?spm=1001.2014.3001.5501

    2.2.3 TFTP服务

     

    TFTP(简单文件传输协议),是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。

    TFTP服务默认由xinetd服务进行管理,使用UDP69端口。TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。它的位置存在:/var/lib/tftpboot

    2.2.4 syslinux 

     

    syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间, 并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后, sysLinux启动盘就可以引导各种基于DOS的工具, 以及MS-DOS/Windows或者 任何其它操作系统。

    3.PXE批量安装的具体操作过程

     第一步:安装四个相关的软件包

    1. yum install -y dhcp vsftpd tftpd syslinux //同时安装四个软件服务
    2. 也可以一个一个的进行安装

     

    第二步:添加第二块虚拟机网卡, 修改相关配置,构建内网环境

     

     添加新网卡:

     改变网卡的自动分配网络功能:

    设置第二块网卡:
     

    1. cd /etc/sysconfig/network-scripts/ //进入到网卡配置所在目录。
    2. cp -p ifcfg-ens33 ./ifcfg-ens36 //初始没有新加网卡ens36的配置,复制一份,认定为ens36的配置
    3. vim ifcfg-ens36 //进入ens36网卡配置中进行修改,修改如图

    保存退出并重启网卡服务:

     

    systemctl restart network
    

     

     第三步:配置DHCP服务器,分配IP地址,指明tftp服务器的地址。

     

    1. [root@localhost ~]# cd /usr/share/doc/dhcp-4.2.5/
    2.  [root@localhost dhcp-4.2.5]# ls
    3.  [root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
    4. [root@localhost ~]# vim /etc/dhcp/dhcpd.conf

    另外还可以在里面添加:  ddns-update-style none;           #禁用 DNS 动态更新 

     完成后进行保存退出

     第四步:修改TFTP服务配置文件/etc/xinetd.d/tftp将服务打开

    vim /etc/xinetd.d/tftp

     

    注意:该配置保存退出后即生效 

     第五步:挂载光盘,安放三大文件

    1.  [root@localhost ~]# cd /var/ftp
    2.  [root@localhost ftp]# mkdir centos7
    3.  [root@localhost ftp]# mount /dev/sr0 centos7 //将光盘挂载到/var/ftp/centos7/目录下
    4. [root@localhost centos7]# cd isolinux
    5. [root@localhost isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot
    6. //将光盘内的2个文件拷入tftpboot目录
    7. [root@localhost tftpboot]# rpm -ql syslinux |grep pxelinux.0 //查找pxelinux.0文件位置
    8. [root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
    9. //将pxelinux.0文件拷入tftpboot目录

     

     第六步:创建子目录,在子栏目下编写引导程序

     

    1. #默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
    2. mkdir /var/lib/tftpboot/pxelinux.cfg
    3. vim /var/lib/tftpboot/pxelinux.cfg/default

     

     

    第七步:关闭selinux和防火墙, 启动所有相关的服务

     关闭防火墙和selinux。启动 dhcpd、tftp、vsftpd 三个服务。

    1.  [root@localhost ~]# systemctl stop firewalld.service
    2.  [root@localhost ~]# setenforce 0
    3.  [root@localhost ~]# systemctl start dhcpd
    4.  [root@localhost ~]# systemctl start tftp
    5.  [root@localhost ~]# systemctl start vsftpd

    第八步装机测试: 

     1.

     2.

    3. 4.

     5.

     6.

     7.

     8.

     9.

     4.Kickstart全自动化安装

    4.1  Kickstart运用的目的

     

     上面的安装,是通过多种服务单配,省略了导入镜像,并且只要是同一网段的机器,开机就能自动获取镜像,安装镜像,配置基础网路配置。但是后半部分依旧需要手动安装。要知道,现实生产环境中,不会给公司的每一台服务器配上显示器和输入设备。所以要想实现真正的全自动化,就要引入Kickstart程序服务,实现真正完全全自动化安装。

     

     4.2 Kickstart具体操作步骤

     

     第一步:安装kickstart服务程序

    yum install -y   system-config-kickstart
    

     

     

     第二步:返回虚拟机,进行设置

     1.

     2.

     3.

     4.

     5.

     

    6.

     7.

     8.

     9.

     10.

     11.就现实环境来说Linux系统自带的防火墙作用可以是忽略不计,而且会影响网络服务的正常允许。

     

    12 .

     13.

     14.

     15.

    16.

     

     17.

    vim ~/ks.cfg   //查看kickstart 形成的脚本

     

     

    18.

     

     19.

     20.

    注意:下图第二个软件包,和桌面有关,但是我们在kickstart中设置了无桌面,所以它不生效。 

     保持后并退出

    第三步:将保存修改后的ks.cfg  文件移动到ftp中

    1. [root@localhost ~]# cp -p ks.cfg /var/ftp
    2. [root@localhost ~]# cd /var/ftp
    3. [root@localhost ftp]# ls

     

     

     

    第四步:再次修改ftfp文件配置,让ks.cfg文件配置生效

    1. [root@localhost tftpboot]# cd /var/lib/tftpboot/pxelinux.cfg
    2. [root@localhost pxelinux.cfg]# ls
    3. [root@localhost pxelinux.cfg]# vim default

     

     保持后并退出,设置算完成了

     

     

    第五步:进行测试,只需要打开虚拟机,不用做任何操作

     

     结果:

     总结

     

    pxe批量装机: 

    • 安装4个软件包:dhcp、tftp-server、vsftpd、syslinux(取得prelinux.0文件)。
    • 配置DHCP服务器,分配IP地址,指明tftp服务器的地址。(虚拟机需要开启仅主机模式,模拟内网环境)
    • 编辑TFTP服务配置文件,开启服务(默认是关闭状态)。
    • 挂载软件安装源(通常情况下都使用光盘中的安装源,即挂载光驱),并将三大文件先拷入/var/lib/tftpboot/ 目录中:pxelinux.0,vmlinuz,initrd.img。
    • 在/var/lib/tftpboot/ 目录下,创建子目录pxelinux.cfg,在子目录下编写引导程序的配置文件default。
    • 关闭防火墙和selinux。启动dhcpd、tftp、vsftpd。
    • 使用空白客户机(裸机)测试能否自动装机

    自动装机-kickstart:

    1.安装kickstart服务 

    2.进行kickstart设置

    3.如果写简易脚本,就保存在家目录

    4.将原本的预设值加装软件添加到kickstart生成的文件

    5.把该文件移动到ftp下

    6.修改ftfp配置


     

  • 相关阅读:
    大模型在时间序列预测领域的最新15篇论文
    【JavaWeb - 网页编程】四 jQuery 操作
    二叉树中和为某一值的路径(一)(二)(三)(剑指offer)
    【子矩阵数量统计】CF1181C Flag子矩阵数量统计
    [Machine Learning][Day1]监督学习和无监督学习
    英语进阶指南:高效学习方法,提升英语水平 | 开源专题 No.35
    【LeetCode每日一题】——905.按奇偶排序数组
    人工智能 AI 3:全连接网络,前馈神经网络卷积神经网络:非全连接网络CNN:循环神经网络
    软件测试技术题目大全【含答案】
    2 files found with path ‘lib/armeabi-v7a/liblog.so‘ from inputs:
  • 原文地址:https://blog.csdn.net/qq_62462797/article/details/126438472