Linux网络服务之自动装机(PXE+KICKSTART)详解

news2024/11/24 22:23:43

自动装机

  • 一、启动操作系统的方式
    • 1.1 系统装机的三种引导方式
    • 1.2 系统安装过程
    • 1.3 三大文件
    • 1.4 如何实现自动装机?
  • 二、PXE
    • 2.1 PXE的简介和优点
    • 2.2 实现PXE的前提条件
    • 2.3 PXE实现过程
    • 2.5 要安装的服务
    • 2.6 实现PXE
      • 2.6.1 前置准备
      • 2.6.2 安装并配置DHCP
      • 2.6.3 安装并配置TFTP
      • 2.6.4 安装syslinux,找到第三个文件的位置
      • 2.6.5 安装vsfp
      • 2.6.6 将三大文件拷贝到/var/lib/tftpboot下
      • 2.6.7 PXE功能测试
  • 三、KICKSTART 无人值守安装
    • 3.1 kickstart 概述
    • 3.2 kickstart配置文件
    • 3.3 实现自动化装机(pxe+kickstart)
      • 3.3.1 安装kikcstart工具,在虚拟机中用软件修改配置
      • 3.3.2 查看kickstart文件,编辑default文件
      • 3.3.3 验证自动装机是否成功

一、启动操作系统的方式

1.1 系统装机的三种引导方式

  1. 硬盘
  2. 光驱
  3. 网络

1.2 系统安装过程

  1. 加载boot loader
  2. 加载启动安装菜单
  3. 加载内核和initrd系统(文件才能使用文件)
  4. 加载根系统()
  5. 运行anaconda的安装向导

1.3 三大文件

在网络引导过程中,这些文件通常用于加载操作系统。

pxelinux.0 是一个 PXE 引导加载程序,用于启动网络引导。

vmlinuz 是一个压缩的 Linux 内核文件,它包含了操作系统的核心功能和驱动程序。

initrd.img 是一个用于初始化 RAM 磁盘的初始 RAM 文件系统。它包含了操作系统启动时所需的基本文件和驱动程序。

1.4 如何实现自动装机?

Kickstart 和 PXE 结合使用可以实现自动化的网络安装过程。

二、PXE

2.1 PXE的简介和优点

简介

PXE(Preboot Execution Environment)是一种网络引导技术,允许计算机通过网络启动和安装操作系统。

PXE通过网卡引导启动。

优点

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

2.2 实现PXE的前提条件

  1. BIOS支持

  2. 网卡支持

  3. 需要在bios中开启开关,服务器一般没打开(bmc界面里打开)

  4. 有DHCP 服务器
    DHCP服务用于为客户机自动分配地址、指定引导文件位置

  5. 安装了TFTP服务
    TFTP服务(简单文件传输协议)用于提供系统内核和引导镜像的下载。

2.3 PXE实现过程

在这里插入图片描述

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

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

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

  4. bios执行引导程序

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

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

2.5 要安装的服务

DHCP

vim install -y dhcp 

TFTP

yun install -y tftp-service

VSFTPD

yum install -y tftp-server.x86_64

syslinux(小型的grub程序,为PXE提供引导)

yum install -y syslinux

2.6 实现PXE

2.6.1 前置准备

在这里插入图片描述

systemctl stop firewalld
setenforce 0  #关闭防火墙和selinux

2.6.2 安装并配置DHCP

yum install -y dhcp #安装

在这里插入图片描述

rpm -qc dhcp      #查看dhcp服务的配置文件

find / -name dhcp.conf.example #找到模板

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  dhcpd.conf #导入配置模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vim dhcpd.conf  #编辑配置文件

#关键内容#
next-server 192.168.2.100;#指定TFTP服务器的地址
filename "pxelinux.0";

在这里插入图片描述

systemctl start dhcpd #启动服务

systemctl status dhcpd #查看服务状态

在这里插入图片描述

2.6.3 安装并配置TFTP

yum install -y tftp-server.x86_64  #安装

rpm -ql tftp-server #查看目录

在这里插入图片描述

vim  /etc/xineted.d  #编辑配置文件

在这里插入图片描述

systemctl start tftp #启动tftp服务

systemctl status tftp #查看服务状态

在这里插入图片描述

2.6.4 安装syslinux,找到第三个文件的位置

yum install -y syslinux #安装syslinux 

rpm -ql syslinux | grep pxelinux.0 #第三个文件的位置

2.6.5 安装vsfp

yum install -y vsftpd #安装服务
cd /var/ftp 
mkdir test #创建挂载点目录
mount /dev/sr0   /var/ftp/test  #挂载,提供路径
cd /var/lib/tftptroot 

mkdir pxelinux.cfg #创建 pxelinux.cfg目录

cd /pxelinux.cfg  
 
touch defaults #创建默认配置文件
#内容可参考 /mnt/isolinux/isolinux.cfg文件
vim default #编辑文件

在这里插入图片描述

systemctl start vsftpd #启动服务

2.6.6 将三大文件拷贝到/var/lib/tftpboot下

三大文件
vmlinuz,initrd.img,pxelinux.0

cd /var/ftp/test #切换到挂载点目录

cp initrd.img /var/lib/tftpboot/ #第一个文件
cp vmlinuz /var/lib/tftpboot/    #第二个文件

rpm -ql syslinux | grep pxelinux.0 #找到第三个文件的位置

cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot #拷贝第三个文件

在这里插入图片描述

cd /var/lib/tftpboot 

tree #查看是否拷贝成功

在这里插入图片描述

2.6.7 PXE功能测试

新建虚拟机

安装过程不再赘述,不要使用ISO映像文件
在这里插入图片描述

开启虚拟机,进入等待界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开始安装虚拟机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、KICKSTART 无人值守安装

3.1 kickstart 概述

Kickstart 文件是一个包含安装配置信息的文本文件。通过将Kickstart文件放置在网络上的可访问位置,并将PXE服务器进行相应的配置,可以实现使用Kickstart文件来配置和自动化执行操作系统安装过程

3.2 kickstart配置文件

vim ks.cfg 

在这里插入图片描述

1. `install`: 告诉安装程序执行新安装而不是升级操作。
2. `url`: 指定安装源的 URL,可以是一个 HTTP、FTP 或 NFS 的 URL。
3. `keyboard`: 设置键盘布局或键盘类型。
4. `timezone`: 指定时区,可以使用正常的时区名称,例如 "America/New_York"5. `rootpw`: 设置 root 用户的密码,可以使用明文密码或加密密码。
6. `network`: 配置网络相关设置,如网络设备、IP 地址、子网掩码、网关和 DNS 服务器。
7. `part`: 配置磁盘分区设置,指定文件系统类型、分区大小等。
8. `%packages`: 列出要安装的软件包,可以是软件包组(如 "@base""@core")或具体的软件包名称。
9. `%post`: 在安装完成后执行的脚本,可以用于自定义配置和安装其他软件。

3.3 实现自动化装机(pxe+kickstart)

3.3.1 安装kikcstart工具,在虚拟机中用软件修改配置

yum install -y  system-config-kickstart #安装图形化工具 

在这里插入图片描述
1.修改基本设置
在这里插入图片描述

2.修改基本设置
在这里插入图片描述
3.修改优点引导文件在这里插入图片描述
4.修改分区信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.添加网络配置
在这里插入图片描述
6.添加安装后脚本
在这里插入图片描述
7. 保存文件
在这里插入图片描述
在这里插入图片描述

3.3.2 查看kickstart文件,编辑default文件

ls /var/ftp

在这里插入图片描述
在这里插入图片描述

vim defalut 

在这里插入图片描述

3.3.3 验证自动装机是否成功

新建虚拟机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Nginx负载均衡搭建

目录 1、准备一台装有nginx服务的主机 2、所需模块说明: 3、两台Web服务器主机 4、 修改nginx的配置文件 5、查看结果: 1、准备一台装有nginx服务的主机 LVS—DR集群的搭建_.98℃的博客-CSDN博客 2、所需模块说明: Nginx http 功能模…

【音视频】vms布署说明

目录 外场布署场景(99%) 研发实验场景(1%) 高级玩法 证书安装方法 外场布署场景(99%) 下面两种场景,为本产品主要应用场景,2023-08-08日后(统一所有证书)…

入门平台工程的福音,麦肯锡刚发布了平台工程蓝图

在软件开发和工程效能领域,平台工程 (Platform Engineering) 是继 DevOps 后逐渐兴起的主流概念。平台工程,顾名思义,就是通过组合一系列标准化的软件开发工具,构建起一个标准化的研发平台。目标则是为了提高开发者体验和生产力。…

构建Docker容器监控系统 (1)(Cadvisor +InfluxDB+Grafana)

目录 Cadvisor InfluxDBGrafana 1. Cadvisor 2.InfluxDB 3.Grafana 开始部署: 下载组件镜像 创建自定义网络 创建influxdb容器 创建数据库和数据库用户 创建Cadvisor 容器 准备测试镜像 创建granafa容器 访问granfana 添加数据源 Add data source 新建 …

python接口自动化之自动发送测试报告邮件

前言 ​ SMTP(Simple Mail Transfer Protocol)也就是简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。python的smtplib模块就提供了一种很方便的途径发送电子邮件,它对smtp协议进行了简单的封装。 ​ python发邮件主…

四 、Mysql 开发

四 、Mysql开发 102 可以使用MySQL直接存储文件吗? 可以使用 BLOB (binary large object),用来存储二进制大对象的字段类型。 TinyBlob 255 值的长度加上用于记录长度的1个字节(8位) Blob 65K值的长度加上用于记录长度的2个字节(16位) MediumBlob 16M值…

AutoJS自定义悬浮菜单(附完整代码)

我们在开发Autojs脚本时,需要使用到悬浮窗功能来控制脚本。那么到底要如何来做呢?今天给大家分享一些,先来看看效果: 调整移动和贴边。 防止滑出屏幕 附上完整代码 var storage storages.create("日赚3万_短视频合集&quo…

以Java的方式将文件上传到阿里云OSS

文章目录 1. 开通对象存储服务2. 创建 AccessKey 密钥3. 通用代码实现 1. 开通对象存储服务 控制台 → 对象存储 OSS → 立即开通 Bucket列表 → 点击创建 Bucket 填写名称、地域,名称创建后不可修改,地域选择最近的,存储类型选择标准存储&…

OpenCV: 对“google::protobuf::internal::Release_CompareAndSwap”的未定义

解决办法: 需要在文件 protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h 中的以下补丁 inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, Atomic64 old_value, …

Ajax-AJAX请求的不同发送方式

🥔:你一定能成为想要成为的人 发送AJAX请求不同方式 发送AJAX请求不同方式1、jQuery发送AJAX请求2、axios发送AJAX请求(重点)3、fetch发送AJAX请求 发送AJAX请求不同方式 1、jQuery发送AJAX请求 首先需要jquery的js文件&#xf…

Linux shell yes命令(不停输出换行的y)(不停输出换行的指定字符串)(脚本自动确认y)

文章目录 yes命令功能doc文档英文中文翻译完整文档 示例应用案例自动为脚本多次确认y yes命令功能 yes命令可以不断地输出换行的指定字符串,不加参数时,不断输出换行的“y”,有时我们需要执行一些需要用户键入“y”确认的脚本,但…

挖掘Java集合:深入探索List接口与HashSet

文章目录 引言LinkedList:双向链表的实现构造方法LinkedList中的常用方法HashSet:无序且唯一的集合HashSet的实现方式LinkedHashSet:有序且唯一可变长度参数结论 引言 在广阔的Java编程领域中,集合就如同宝库,提供了多…

Clickhouse学习系列——一条SQL完成gourp by分组与不分组数值计算

笔者在近一两年接触了Clickhouse数据库,在项目中也进行了一些实践,但一直都没有一些技术文章的沉淀,近期打算做个系列,通过一些具体的场景将Clickhouse的用法进行沉淀和分享,供大家参考。 首先我们假设一个Clickhouse数…

python基础3——流程控制

文章目录 一、操作符1.1 比较操作符1.2 逻辑操作符1.3 成员操作符1.4 身份操作符 二、流程控制2.1 条件判断2.2 循环语句2.2.1 for循环2.2.2 while循环 2.3 continue与break语句2.4 文件操作函数 三、函数3.1 定义函数3.2 作用域3.3 闭包3.4 函数装饰器3.5 内建函数 一、操作符…

一文看懂 D类数字功放原理及应用

他V hezkz17进数字音频系统研究开发交流答疑群(课题组) D类放大器工作在开关状态,作为控制元件的晶体管本身消耗功率较低,功放的效 率就高,可达 90%以上,因此能较大地降低能源损耗,减小放大器体积。D 类音 频功率放大器…

面试热题(最长上升子序列)

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 输入&#xff1…

Docker容器监控(Cadvisor +Prometheus+Grafana)

环境部署,接着上一篇文章Docker容器部署(Cadvisor InfluxDBGrafana)开始 目录 1、先清理一下容器 2、部署Cadvisor 3、访问Cadvisor页面 4、部署Prometheus 5、准备配置 6、运行prometheus容器 7、访问prometheus页面 8、部署Grafan…

录屏怎么录声音?很简单,轻松操作!

“录屏的时候怎么把声音录进去呀?今天用手机录了一段视频,录完后打开却发现没有声音,真的服了,录了好久了,有没有人知道怎么才能录制声音呀?” 录屏是一种非常实用的技术,可以帮助我们记录屏幕…

PHPstudy配置伪静态步骤,tp5.1的框架

搜索mod_rewrite.so&#xff0c;然后去掉前面的#&#xff08;即放开注释&#xff09; 2.找到index.php 同级文件.htaccess&#xff08;没有就新建&#xff09; 这些是tp5.1自带的内容&#xff0c;把它注释掉&#xff0c;是错误的内容&#xff0c;添加下面的这段配置 #<If…

SIT1042AQ5V 供电,IO 口兼容 3.3V,±58V 总线耐压,CAN FD 待机模式总线收发器

等领域&#xff0c;支持 5Mbps 灵活数据速率 CAN FD &#xff0c;具有在总线与 CAN 协议控制器之间进行差分信号传 输的能力。 SIT1042AQ 为 SIT1042Q 芯片的升级版本&#xff0c;改善了总线信号的对称性&#xff0c;拥有更低的电磁辐射性能。 另外&#xff0c;SIT104…