Linux网络之PXE高效批量装机、Kickstart全自动化安装

news2024/11/23 15:48:40

一. PXE网络装机简介和相关知识

1. 常见的三种系统安装方式和相关文件

① 三种系统安装方式

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

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

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

② Linux安装光盘的相关文件

  • boot.cat: 相当于grub的第一阶段

  • isolinux.bin:光盘引导程序

  • isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件

  • vesamenu.c32:是光盘启动后的启动菜单图形界面

  • memtest:内存检测程序

  • splash.png:光盘启动菜单界面的背景图

  • vmlinuz:是内核映像

  • initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)

2. PXE简介

2.1 介绍

PXE 的全称是 preboot execute environment。它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。

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

2.2 优点

规模化:同时装配多台服务器,无需每一台单独安装操作系统;

自动化:实现服务器的自动安装及自动配置各种服务;

远程实现:不需要光盘、U盘等安装介质,方便快捷的同时又可以保障服务器安全。

3.进行PXE装机的前提条件

客户机

  • 客户机的网卡要支持PXE协议(集成BOOTROM芯片)

  • 主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可

服务端

  • DHCP 服务器 :为客户机自动分配地址、指定引导文件位置。

  • 服务器要开启 TFTP服务(简单文件传输协议):用来提供系统内核和引导镜像文件的下载。

  • 服务器中使用FTP服务(或http/nfs)font> :提供yum安装源

  • 安装软件包syslinux :提供PXE引导程序

4.PXE装机过程描述

4.1 过程

① 网卡需要查找相关的dhcp服务器(获取地址时间)

② 找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

③ 网卡使用tftp客户端吧引导程序加载到内存中来

④ bios执行引导程序

⑤ 引导程序会去TFTP去查找配置文件

⑥ 根据配置文件去引导安装系统

⑦ 系统安装过程

带着四大文件再来走一遍

4.2 需要安装软件详解

① TFTP服务

TFTP(简单文件传输协议):内核和引导文件

是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。

② vsftpd

安装系统镜像文件获取方式

③ syslinux

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

⑤ dhcp 

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

4.3 四大文件

查看是哪四大文件:

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

5.搭建安装具体过程

① 安装软件包

② 配置 dhcp 服务器

配置文件内容:

③ 修改 tftp 服务配置文件

④ 挂载光盘,安放三大文件

⑤ 创建子目录,在子目录下面编写引导程序

⑥ 配置vsftpd服务,关闭防护和防火墙,开启服务

在/var/ftp/下新建一个目录,并将光盘挂载到该目录下,供客户端下载

到这里已经实现了半自动化安装

再安装一个kickstart程序,实现全自动化安装

⑦ 安装 kickstart

⑧ 做 Kickstart 的一些基本操作

基本配置:

安装方法:

引导装载程序选项:

配置分区信息:

选择类型和分区大小:

防火墙配置:

显示配置:

安装后可以添加脚本:

保存:

因为是ftp服务,所以只能放在 /var/ftp 下面

⑨ 写入配置中

⑩ 测试

新建一台虚拟机

ここまで仮想マシンが構築できない場合は、南京で直接ビルを探して直接降りることをお勧めします

虚拟机内存需要大于 2GB,不然装不了

进入急救模式,选择Network这行

点击进去之后,就不需要再进行操作

玩一玩

等到出现下面页面,输入root  密码123 

再切换用户lisi,那就ok了

二. kickstart 

kickstart 实现了真正的全自动化。搭配PXE使用,实现一键批量装机。

#  安装 kickstart 服务程序
yum install  system-config-kickstart  -y

#  查看kickstart 形成的脚本
cat /var/ftp/ks.cfg   

kickstart 文件主要包括三个部分:命令段,程序段,脚本段

命令段:

keyboard设定键盘类型
lang语言类型
zerombr清除mbr
clearpart清除分区
part创建分区
rootpw指明root的密码
timezone时区
text文本安装界面
network指定网络设置
firewall设置防火墙设置
selinux设置selinux设置
reboot安装完自动重启
user安装完成后为系统创建新用户
url

指明安装源

程序包段:指明要安装的程序包组或程序包,不安装的程序包等

脚本段:

%pre: 安装前脚本

%post: 安装后脚本

三.Cobbler 

1.cobbler简介

① Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
② Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
③ Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
④ Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。


2.cobbler集成的服务

PXE服务支持。
DHCP服务管理。
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

3.工作原理

  • client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP

  • DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址

  • client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求

  • cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port

  • client裸机通过上面告知的TFTP server地址通信,下载引导文件

  • client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image

  • cobbler server发送请求的kickstart和os iamge

  • client裸机加载kickstart文件

  • client裸机接收os image,安装该os image

4. 实际操作

① 安装软件

② 开启服务

③ 核对当前设置是否有问题

④ 生成新的密码

⑤ 修改下面的几个配置

#根据以上提示,只需要做1,2,8这三项即可,修改下面四行
[root@centos7 ~]#vim /etc/cobbler/settings 
default_password_crypted: "$1$1spuisnh$j34LNmyTQWs3l6xKxCZY60"
next_server:< tftp服务器的 IP 地址>   192.168.44.20
server:<cobbler服务器的 IP 地址>
manage_dhcp:1  #设置为1,表示通过cobbler生成dhcpd.conf配置文件
pxe_just_once: 1 #设置为1,防止重复安装系统
[root@centos7 ~]#systemctl restart cobblerd

⑥ 修改dhcp里面配置,实现dhcp服务

⑦ 开启服务,同步生成配置文件

⑧ 查看 帮你生成好了

⑨ 先挂载    再安装 --name  表示安装源名称    --path 指定镜像路径     --arch  指定安装源平台

镜像拷到了这个目录下,查看大小

一键安装

BIOS   2T以下   Win10

UEFI 可以对2T+  Win10以上

有点小问题,但是问题不大!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1394303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】栈的远房亲戚——队列

队列的基本概念 前言一、队列的定义二、队列的重要术语三、队列的基本操作四、数据结构的三要素4.1 线性表的三要素4.2 栈的三要素4.3 队列的三要素 结语 前言 大家好&#xff0c;很高兴又和大家见面啦&#xff01;&#xff01;&#xff01; 在经过前面内容的介绍&#xff0c;…

LabVIEW交变配流泵性能测试系统

利用LabVIEW软件与高级硬件结合&#xff0c;开发交变配流泵性能测试系统。该系统不仅提高了测试精度&#xff0c;还优化了工业自动化流程&#xff0c;代表了液压系统测试技术的进步。 开发了一种高精度的测试系统&#xff0c;该系统能够综合评估交变配流泵的性能&#xff0c;包…

【计算机硬件】2、指令系统、存储系统和缓存

文章目录 指令系统计算机指令的组成计算机指令执行过程指令的寻址方式&#xff08;怎么样找到操作数&#xff1f;&#xff09;1、顺序寻址2、跳跃寻址 指令操作数的寻址方式&#xff08;怎么样找到操作数&#xff1f;&#xff09;1、立即寻址方式2、直接寻址方式3、间接寻址方式…

Nginx 基础使用

目录结构 进入Nginx的主目录我们可以看到这些文件夹 client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp其中这几个文件夹在刚安装后是没有的&#xff0c;主要用来存放运行过程中的临时文件 client_body_temp fastcgi_temp proxy_temp scg…

QT获取程序编译时间与当前时间的区别及应用场景

一.获取编译时间与当前时间的区别 1.编译日期时间&#xff1a;这个信息通常用于标识某个源代码文件或整个应用程序的编译时间&#xff0c;程序一旦编译出来不会再改变&#xff0c;通常用于记录或跟踪代码的版本和更改历史。 2.运行当前日期时间&#xff1a;这是指程序在运行时…

刷题总结1.18 下午 (堆)

关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它&#xff0c;还可以使用字符串或者其他类型的值&#xff08;除了NULL&#xff09;来索引它。 关联数组和数组类似&#xff0c;由以名称作为键的字段和方法组成。 它包含标量数据&#xff0c;可用索引值来单独…

基于springboot+vue的免税商品优选购物商城系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

文本生成探索:方法、任务与测评

目录 前言1 文本生成简介2 文本生成任务2.1 data-to-text2.2 对话生成2.3 机器翻译2.4 诗歌生成2.5 风格转移2.6 故事生成2.7 总结生成 3 语言建模4 译码策略4.1 贪婪译码策略4.2 Beam Search decoding4.3 Sampling based decoding 5 控制文本生成5.1 在文本前面加prompt5.2 修…

Node+Express编写接口---服务端

开始&#xff1a; 个人兴趣爱好&#xff0c;欢迎大家多多指教&#xff01;(点击直达源码!) node_vue_admin: 第一个以node为后端,vue为前端的后台管理项目https://gitee.com/ah-ah-bao/node_vue_admin.git 第一步:安装 安装Node.js 点击直达Node.js (nodejs.org) 安装Navic…

旅游项目day03

1. 前端整合后端发短信接口 2. 注册功能 后端提供注册接口&#xff0c;接受前端传入的参数&#xff0c;创建新的用户对象&#xff0c;保存到数据库。 接口设计&#xff1a; 实现步骤&#xff1a; 手机号码唯一性校验&#xff08;后端一定要再次校验手机号唯一性&#xff09…

vue3使用vue-masonry插件实现瀑布流

《Vue插件》瀑布流插件vue-masonry的使用与踩坑记录 参数:item-selector transition-duration column-width origin-left origin-top gutter 前言: 之前其实有分享过一篇纯CSS实现瀑布流的方法: https://oliver.blog.csdn.net/article/details/126450691&#xff0c;但纯CSS实现…

金融行业翻译怎么样,哪个翻译公司比较靠谱?

众所周知&#xff0c;金融翻译是一项具有高难度挑战性的任务&#xff0c;它会涉及到错综复杂的层面和专业性。随着国际间金融贸易的交流日益密切&#xff0c;金融翻译的需求也如春潮般汹涌而至。那么&#xff0c;这个金融行业翻译究竟有何独特之处&#xff0c;北京哪个翻译公司…

精通Discord营销:多账号注册与管理,高效打造矩阵

Discord虽然是一个海外小众平台&#xff0c;但在Z世代群体来说却非常受欢迎。通常在游戏行业、年轻化的电商特定品类、软件等业务中&#xff0c;Discord的社群营销可以起到非常卓越的效果。但是&#xff0c;您必须学会管理不同的帐户&#xff0c;以构成矩阵打造社区&#xff0c…

1. 安装Git

01. 安装Git 最早Git是在Linux上开发的&#xff0c;很长一段时间内&#xff0c;Git也只能在Linux和Unix系统上跑。不过&#xff0c;慢慢地有人把它移植到了Windows上。现在&#xff0c;Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。 要使用Git&#xff0c;第一…

flutter 五点一:MaterialApp Theme

ThemeData factory ThemeData({bool? applyElevationOverlayColor, //material2的darkTheme下 增加一个半透明遮罩 来凸显阴影效果 material3下无效 貌似没啥用NoDefaultCupertinoThemeData? cupertinoOverrideTheme, //ios组件样式 Iterable<ThemeExtension<dyn…

Elasticsearch:聊天机器人教程(一)

在本教程中&#xff0c;你将构建一个大型语言模型 (LLM) 聊天机器人&#xff0c;该机器人使用称为检索增强生成 (RAG) 的模式。 使用 RAG 构建的聊天机器人可以克服 ChatGPT 等通用会话模型所具有的一些限制。 特别是&#xff0c;他们能够讨论和回答以下问题&#xff1a; 你的…

IPhone、IPad、安卓手机、平板以及鸿蒙系统使用惠普无线打印教程

演示机型&#xff1a;惠普M281fdw&#xff0c;测试可行机型&#xff1a;惠普M277&#xff0c;惠普M452、惠普M283 点击右上角图标。 点击WI-FI Direct 开&#xff0c;(如果WI-FI Direct关闭&#xff0c;请打开&#xff01;) 记录打印机的wifi名称(SSID)和密码。 打开IPhone、I…

Altium Designer简介以及下载安装

阅读引言&#xff1a; Altium Designer的离线安装包在文章最后&#xff0c; 注意该软件只能用于个人的学习使用&#xff0c; 不能用于商业用途&#xff0c; 文章主题图片来自网络。 一、Altium Designer简介 Altium Designer是一款功能强大的电子设计自动化&#xff08;EDA&…

HBase学习六:LSM树算法

1、简介 HBase是基于LSM树架构实现的,天生适合写多读少的应用场景。 LSM树本质上和B+树一样,是一种磁盘数据的索引结构。但和B+树不同的是,LSM树的索引对写入请求更友好。因为无论是何种写入请求,LSM树都会将写入操作处理为一次顺序写,而HDFS擅长的正是顺序写(且HDFS不…

高光谱分类论文解读分享之Grid Network: 基于各向异性视角下特征提取的高光谱影像分类

IEEE GRSL 2023&#xff1a;Grid Network: 基于各向异性视角下特征提取的高光谱影像分类 题目 Grid Network: Feature Extraction in Anisotropic Perspective for Hyperspectral Image Classification 作者 Zhonghao Chen , Student Member, IEEE, Danfeng Hong , Senior …