首页 > 其他分享 >06 PXE高效批量网络装机

06 PXE高效批量网络装机

时间:2024-06-20 13:00:51浏览次数:24  
标签:文件 06 客户机 配置 装机 服务器 安装 PXE

目录

6.1 部署PXE远程安装服务

        6.1.1 搭建PXE远程安装服务器

                1. 准备CentOS 7安装源

                2. 安装并启用TFTP服务

                3. 准备Linux内核、初始化镜像文件

                4. 准备PXE引导程序

                5. 安装并启用DHCP服务

                6. 配置启动菜单文件

        6.1.2 验证PXE网络安装

6.2 实现Kickstart无人值守安装

        6.2.1 准备安装应答文件

                1. 配置安装应答参数

                        1. 基本配置及安装方式

                        2. 分区信息

                        3. 网络配置及防火墙配置

                        4. 软件包选择

                        5. 安装脚本

                        6. 其他信息

                2. 保存自动应对文件

        6.2.2 实现批量自动装机

                1. 启动自动应答文件

                2. 验证无人值守安装


6.1 部署PXE远程安装服务

        在大规模的Linux应用环境中,如 Web群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢﹖传统的USB光驱、移动硬盘等安装方法显然已经难以满足需求。

        本章将学习基于PXE(Preboot eXecution Environment,预启动执行环境)技术的网络装机方法,并结合Kickstart配置实现无人值守自动安装。

        上述服务器的批量部署方法,具备以下三个优点:

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

        PXE是由Intel公司开发的网络引导技术,工作在ClientlServer模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。若要搭建PXE 网络体系,必须满足以下几个前提条件。

  1. 客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。
  2. 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。
  3. 服务器通过TFTP (Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。

        其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数PC都能够提供此支持,只需在BIOS设置中允许从 Network或LAN启动即可。下面将介绍PXE远程安装服务的基本部署过程。

        6.1.1 搭建PXE远程安装服务器

                1. 准备CentOS 7安装源

        CentOS 7的网络安装源一般通过HTTP、FTP协议发布,另外也支持 NFS (NetworkFile System,网络文件系统)协议

        例如,若采用FTP协议发布安装源,可以在服务器上部署一个 YUM软件仓库。

                2. 安装并启用TFTP服务

        TFTP服务由tftp-server 软件包提供,配置文件位于letc/xinetd.d/tftp。配置时只要将“disable = yes"改为“disable = no”,然后启动TFTP服务即可。

                3. 准备Linux内核、初始化镜像文件

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

                4. 准备PXE引导程序

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

                5. 安装并启用DHCP服务

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

        从上述过程可以看到,与一般DHCP服务不同的是,配置文件中增加了netx-server和filename这两行记录,分别用来指定TFTP服务器的地址和 PXE引导程序的文件名。

                6. 配置启动菜单文件

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

        上述配置记录中定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。其中,prompt用来设置是否等待用户选择; label用来定义并分隔启动项; kernel和 append用来定义引导参数。引导入口的个数及内容根据需要自行定义。例如,实现无人值守安装时只需要一个入口就够了。

        6.1.2 验证PXE网络安装

        搭建好PXE远程安装服务器以后,就可以使用客户机进行安装测试了。对于新购买的服务器或PC裸机,一般不需要额外设置;若要为已有系统的主机重装系统,则可能需要修改BIOS 设置,将""Boot First"设为“NETWORK"或"LAN",然后重启主机;若使用VMware创建的虚拟机进行测试,虚拟机内存至少需要2GB,否则在启动安装时会报错。

        在提示字串""boot:"后直接按Enter键(或执行"auto"命令),将会进入默认的图形安装入口;若执行linux text"命令,则进入文本安装入口;若执行"linux rescue"命令,则进入救援模式。

        直接按Enter键确认后将自动通过网络下载安装文件,并进入图形安装程序界面,如图6.2所示。

6.2 实现Kickstart无人值守安装

        6.2.1 准备安装应答文件

        在 CentOS 7系统中安装system-config-kickstart工具之后,即可通过图形化向导工具来配置安装应答文件。如果用户对自动应答文件的配置比较熟悉,也可以直接编辑Centos7安装后自动创建的应答文件(Jrootanaconda-ks.cfg),根据需要适当修订后使用。

                1. 配置安装应答参数

        通过桌面菜单"应用程序"→“系统工具”→“Kickstart"即可打开"Kickstart配置程序"窗口。在""Kickstart 配置程序"窗口中,可以针对基本配置、安装方法、引导装载程序选项、分区信息、网络配置等各种安装设置进行指定,如图6.3所示。

                        1. 基本配置及安装方式

        “基本配置"可参考图6.3来指定。例如,将默认语言设为“中文(简体)",时区设为“Asia/Shanghai",根口令设为“pwd123",高级配置中勾选"安装后重启”。

        在"安装方法"界面中,应正确指定CentOS 7的安装方法,如图6.4所示。若有用户验证信息也需一并指定。在“引导装载程序选项"界面中,选择安装新引导装载程序。

                        2. 分区信息

        在"分区信息"界面中,需正确规划硬盘分区方案。例如,可划分一个500MB 的/boot分区、4GB的/home 分区、2GB的swap分区,将剩余空间划分给根分区,如图 6.5所示。

                        3. 网络配置及防火墙配置

        在"网络配置”界面中,添加一个网络设备"ens33",将网络类型设为“DHCP”。

        在“防火墙配置"界面中,可以选择禁用SELinux、禁用防火墙。

                        4. 软件包选择

        CentOS7系统开始不再提供软件包的选择,如图6.6 所示。如果需要安装软件包,可以根据需要将/rootlanaconda-ks.cfg 的软件包安装脚本复制到ks.cfg 文件中,只需要复制%packages 到%end部分即可,在%packages 到%end之间,包含以@开头的软件包列表,将不需要的软件名删除,剩下的就是系统会自动安装的软件包。例如,仅保留以下内容即为采用最小化安装。

                        5. 安装脚本

        在“预安装脚本"界面、“安装后脚本"界面中,可以分别添加在安装前、安装后自动运行的可执行语句。此项设置使服务器的自动化配置变得更加容易。例如,可以使客户机在完成安装后自动设置YUM软件仓库,如图6.7所示。需要注意的是,应确保所编写的代码能够正确执行,以免安装失败。

                        6. 其他信息

        若没有特殊需求,在“验证"界面、“显示配置"界面中,保持默认设置就可以了。

                2. 保存自动应对文件

        选择“Kickstart配置程序"窗口的“文件”→“保存"命令,指定目标文件夹、文件名,将配置好的应答参数保存为文本文件,如lrootks.cfg。以后若要修改此应答配置,可以在"Kickstart配置程序"窗口中打开进行调整,或者直接用VI等文本编辑工具进行修改。

        6.2.2 实现批量自动装机

        有了自动安装的应答文件之后,只要将其放置PXE安装服务器的FTP目录下,并适当修改引导菜单,就可以实现基于网络的批量自动装机了。

                1. 启动自动应答文件

        在PXE远程安装服务器中,将上一节建立的应答文件复制到/var/ftplcentos7目录下,使客户机能够通过ftp:l1192.168.4.254/centos7/ks.cfg访问;然后编辑引导菜单文件default,添加 ks引导参数以指定ks.cfg应答文件的URL路径

                2. 验证无人值守安装

        启用自动应答安装之后,当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS7系统,而无须手工干预,如图6.8所示,这样就可以同时为多台客户机安装系统了。       

        客户机安装完成以后,检查其YUM软件仓库配置,可以发现已经按照"安装后脚本"的设置自动建立了/etc/yum.repos.d/centos7.repo文件。

 注意:如果是在VMware 虚拟机环境下,需要禁用VMware 的 DHCP功能;否则安装文件将无法加载。

标签:文件,06,客户机,配置,装机,服务器,安装,PXE
From: https://blog.csdn.net/m0_74210957/article/details/139808300

相关文章

  • ROS机器人虚拟仿真挑战赛持续学习笔记-20240619
    cartographer需要全手工编译……比较麻烦。如果使用新版ceres-solver,版本2.x,需要修改源码,部分“接口代码”有改动。稳妥使用ceres-solver-1.13.0,且需要安装abseil-cpp。验证是否成功,使用roscd或roslaunch,查看一下是否有对于功能包:map只有room_mini和tianracer_racetr......
  • 2024-06-20 HarmonyOs开发初体验
    2024华为开发者大会将于东莞松山湖举行,为此,特写此文。记录自己第一天入坑鸿蒙开发。鸿蒙开发简述:鸿蒙开发是指针对华为开发的一款全场景分布式操作系统的应用、服务和功能的开发工作,该操作系统名为鸿蒙,英文名为HarmonyOs。官网地址:https://hmxt.org/开发工具下载:https://hmxt.......
  • 2024/06/20笔记随笔
    Mysql常用工具表之间的链接查询:通过添加外键进行查询其中添加外键的表为从表;笛卡尔乘积(两张表所有数据相连--R表*S表)(笛卡尔乘积--S表的每个字段分别与R表的每个字段进行链接):使用交叉乘积():SELECT✳FROMR表,S表;简化:SELECT✳FROMR表CROSSJOINS表;两张表链接查询:(外键数据之......
  • PXE无人值守批量装机操作步骤
    目录PXEPXE所需环境开机过程部署PXE有人值守操作步骤一.配置环境FTPDHCP和TFTP二.测试部署无人值守操作步骤一.环境配置二.测试总结1.实现PXE远程装机所需要的组件2.PXE网络引导安装过程PXEPXE:PrebooteXecutionEnvironment(预启动执行环境)PXE是一个......
  • 【2024-06-09】连岳摘抄
    23:59我并没有去抗争命运,而是很顺其自然地去做一些事情,遇到困难,就应该去解决困难。                                                 ——庞众望人不可能要求外部环......
  • 李宏毅2023机器学习作业HW06解析和代码分享
    ML2023Spring-HW6相关信息:课程主页课程视频SamplecodeHW06视频HW06PDF个人完整代码分享:GitHub|Gitee|GitCodeP.S.HW06是在Judgeboi上提交的,出于学习目的这里会自定义两个度量的函数,不用深究,遵循Suggestion就可以达成学习的目的。每年的数据集si......
  • 【教学类-64-04】20240619彩色鱼骨图(一)6.5*1CM 6根棒子720种
    背景需求:幼儿益智早教玩具❗️鱼骨拼图-小红书在家也能自制的木棒鱼骨拼图,你也收藏起来试一试吧。#母婴育儿#新手爸妈#玩具#宝宝玩具怎么选#早教#早教玩具#幼儿早教#益智早教#玩具#宝宝早教#益智拼图#宝宝拼图#玩不腻的益智玩具#儿童益智桌游#早教日常#益智......
  • 人月神话阅读笔记06
    《计划丢弃一个》一章探讨了在软件开发项目中采用迭代开发和原型设计的重要性。布鲁克斯建议团队在项目早期阶段不要试图一次性实现一个完美的系统,而是通过逐步迭代和快速反馈的方式,发现和修正设计中的问题。在实践中,这种渐进式的开发方法能够显著降低项目失败的风险,并且有助于团......
  • 20240619打卡-个人总结博客
    个人总结1.回顾课程计划完成情况在第一周制定的课程计划中,我列出了具体的目标和期望,并计划通过一系列的学习和实践活动来实现这些目标。具体数据和实际例子如下:目标1:掌握SpringBoot和Vue框架的基本使用。完成情况:通过老师的指导和多次实践,我成功地完成了一个基于SpringB......
  • 进阶篇06——锁
    概述全局锁表级锁表锁元数据锁元数据锁是系统自动加的,不需要我们手动执行命令添加。意向锁 意向锁和元数据锁一样,也是在加行锁的时候自动给表加上相应的意向锁,不需要我们手动添加。行级锁行锁读锁和读锁兼容,写锁和读锁互斥,写锁和写锁也互斥间隙锁、临......