pxe自动装机与无人值守

一、pxe与无人值守

pxe:c/s 模式,允许客户端通过网络从远程服务器(服务端)下载引导镜像,加载安装文件,实现自动化安装操作系统。

pxe的优点:

1、规模化 同时装配多台服务器(20多)不超过30台

2、自动化

3、远程实现,不需要光盘,u盘

c/s客户端和服务端都可以是多台。

pxe的安装条件:

硬件方面:网卡 支持pxe协议。主板支持网络引导。

软件方面:服务端要有dhcp,可以在客户机启动时,自动分配ip地址。

                 tftp:简单文件传输协议,传小文件,引导镜像文件很小,使用tftp

                 vsftp:文件传输协议,适用于大文件,安装文件。

无人值守:安装选项不需要人为干预,可以自动化实现。  

二、实验

实验准备工作

test3作为服务端,ip192.168.10.50

2.1、pxe自动装机

1、关闭防火墙以及安全机制

2、安装tftp以及tftp的辅助工具xinetd

xinetd配合tftp使用:网络守护进程服务程序,用来管理 轻量级的网络服务,管理tftp的文件传输

tftp是一个后台进程,使用的是udp协议,端口69。

 yum -y install tftp-server xinetd

3、 重启tftp,xinetd服务并设置为开机自启动

#重启
systemctl restart tftp
systemctl restart xinetd
#设置开机自启动
systemctl enable tftp
systemctl enable xinetd

4、修改xinetd的配置文件,保存退出,重启服务。

#进入配置文件
vim /etc/xinetd.d/tftp
#配置内容
service tftp
{socket_type             = dgramprotocol                = udp           #使用udp协议wait                    =no     #允许多个客户机一起连接,并行#默认yes允许一个客户机进行连接,串行user                    = root      server                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpboot  #tftp的根目录disable                 = no     #开启tftp的服务per_source              = 11cps                     = 100 2flags                   = IPv4
}

 5、DHCP配置,分配ip地址

下载DHCP

yum -y install dhcp

 /etc/dhcp/dhcpd.conf配置文件为空,需要复制

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

 编辑/etc/dhcp/dhcpd.conf,修改保存退出,重启dhcpd

#进入配置文件
vim /etc/dhcp/dhcpd.conf

 配置地址池

6、准备pxe的引导程序,通过光盘镜像把引导文件复制出来

先将光盘镜像与本地目录进行挂载

#光盘挂载
mount /dev/sr0 /mnt

第一步、进入挂载目录下镜像文件,将/mnt/images/pxeboot目录下的系统内核文件vmlinuz以及initrd.img初始化镜像文件,引导加载的模块文件,复制到/var/lib/tftpboot/目录下方便进行传送

安装pxe的引导程序

yum -y install syslinux

 将 /usr/share/syslinux/pxelinux.0 引导程序复制到/var/lib/tftpboot/

查看内核文件、镜像文件、引导程序是否全部复制成功,缺一不可

第二步,将光盘镜像文件复制到vsftp的/var/ftp/centos7目录下

下载vsftp

um -y install vsftpd

将 光盘镜像文件复制

#创建centos7目录
mkdir centos7 
#复制光盘镜像
cp -rf /mnt/* /var/ftp/centos7/ 
#重启
systemctl restart vsftpd

7、配置启动菜单文件

在/var/lib/tftpboot/目录下创建pxelinux.cfg目录

在pxelinux.cfg配置一个启动菜单文件

#配置default文件
vim default配置
#指定暗安装程序的入口,适用这个文件作为安装程序的入口,自动选择
default auto
#是否等待用户选择,0表示不等待用户输入,自动完成,1表示等待用户输入,手动完成
prompt 0#图形化界面的默认安装入口
label auto
#加载内核文件,vmlinuz
kernel vmlinuz
#引导模块文件,以及路径
append initrd=initrd.img method=ftp://192.168.10.50/centos7#字符界面,最小化安装
label linux text
#加载内核文件,vmlinuz
kernel vmlinuz
#引导模块文件,以及路径
append initrd=initrd.img method=ftp://192.168.10.50/centos7#救援模式的引导入口
label linux rescue
#加载内核文件,vmlinuz
kernel vmlinuz
#引导模块文件,以及路径
append initrd=initrd.img method=ftp://192.168.10.50/centos7

2.2、无人值守

 1、安装无人值守程序

yum -y install system-config-kickstart

2、使用虚拟机进入图形化界面

进行配置,开机时实现一键部署

基本配置:

安装方法:

引导装载程序选项:

分区信息:

网络配置:网络设备ens33

验证:跳过

防火墙配置:

显示配置:

软件包选择:跳过

预安装脚本:跳过

安装后脚本: 可跳过

进行保存设置

保存默认在root用户的家目录下,文件名默认  

使用xshell工具进入家目录,可以里面使用命令行添加一些脚本文件

增加一些包文件 

3、 安装图形化界面

第一步、进入/var/lib/tftpboot/pxelinux.cfg目录下的default文件,新增一行配置文件

将ks.cfg放到 ftp的根目录/var/ftp/下

cp ks.cfg /var/ftp/

安装文件以及安装选择全部存在即可实现一键部署

一键部署实现自动化安装虚拟机 

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

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

相关文章

Script和创建对象

一、方法 1.indexof 查找字符串 如果找到的情况下,返回的是当前该字符的下标; 如果不存在的情况下,返回的是结果是-1; 2.math(不查找特殊字符)查找特定字符串 有:返回的是数组,…

Puppeteer 中的 iFrame使用(包括多重嵌套)指南

iframe或内联框架是一种 HTML元素,可用于在当前页面中嵌入另一个网页或文档。在进行网页抓取时,开发人员经常会遇到带有内嵌 iframe 的网页,其中包含重要信息。弹出窗口、交互式表单、广告和动态内容通常包含在这些 iframe 中。要访问和提取这…

Java 中 IOC 和 AOP 机制详解

Java 中 IOC 和 AOP 机制详解 1. IOC (Inversion of Control) 控制反转 1.1 定义 控制反转:将对象的创建和依赖关系的管理从应用程序代码中转移到外部容器中。简单来说,就是把对象的创建和管理交给容器负责,而不是由程序员自己手动创建和管…

zookeeper启动(一)

1.zookeeper启动入口 在zkServer.sh的启动命令中,我们可以找到zookeeper启动的关键类org.apache.zookeeper.server.quorum.QuorumPeerMain QuorumPeerMain#main 我们可以直接看org.apache.zookeeper.server.quorum.QuorumPeerMain中的main方法,从下面的main方法中,我们可以…

专为Mac设计的窗口管理Magnet 中文

Magnet是一款专为Mac设计的窗口管理工具软件。它具备强大的多窗口管理能力,支持用户通过简单的拖放操作,将应用程序窗口快速对齐、排列和分组。此外,Magnet还提供了预设的布局选项和自定义设置功能,帮助用户实现个性化的窗口布局。…

本地部署GLM-4-9B清华智谱开源大模型方法和对话效果体验

GLM-4-9B是清华大学和智谱AI推出的最新一代预训练模型GLM-4系列中的开源版本。在语义、数学、推理、代码和知识等多方面的数据集测评中,GLM-4-9B及其人类偏好对齐的版本GLM-4-9B-Chat均表现出较高的性能,其通用能力评测结果甚至超越了Llama-3-8B开源大模…

多样本上下文学习:开拓大模型的新领域

大模型(LLMs)在少量样本上下文学习(ICL)中展现出了卓越的能力,即通过在推理过程中提供少量输入输出示例来学习,而无需更新权重。随着上下文窗口的扩展,我们现在可以探索包含数百甚至数千个示例的…

pdf怎么编辑修改内容?3个实用软件!

在当今数字化时代,PDF文件因其跨平台、格式固定的特性,成为我们日常工作和生活中不可或缺的一部分。然而,PDF文件的修改和编辑往往成为许多人的难题。本文将为您详细介绍如何编辑修改PDF文件的内容,并推荐几款实用的编辑软件&…

搭建多平台比价系统需要了解的电商API接口?

搭建一个多平台比价系统涉及多个步骤,以下是一个大致的指南: 1. 确定需求和目标 平台选择:确定你想要比较价格的平台,例如电商网站、在线旅行社等。数据类型:明确你需要收集哪些数据,如产品价格、产品名称…

github的个人readme文件

一个好的svg图: Simon-He95/profile-3d-contrib/profile-season-animate.svg at 4281d9f46e3d5416bd8f8cc5779157bfdaa8589d Simon-He95/Simon-He95 GitHub 请访问他的主页从提交记录就可以看到这个立体的登录github的图

nginx中配置ssl证书(宝塔面板)

首先申请一个SSL证书,这里我申请的joyssl的免费证书。提交订单申请后,按照页面提示在域名解析中将CNAME和记录值配置好。 比如我用的阿里云, 这是好后,需要等几分钟,然后域名检验成功。 然后点击joyssl的左侧菜单的“证…

消息队列笔记

异步技术 企业级应用中广泛使用的三种异步消息传递技术 原文链接:https://blog.csdn.net/qq_55917018/article/details/122122218 三种异步消息传递技术 JMS (java message service) 一个Java规范,等同于JDBC规范,提供了与消息服务相关的…

Oracle数据库面试题-9

81. 请解释Oracle数据库中的林业数据处理方法。 Oracle数据库中的林业数据处理 在Oracle数据库中处理林业数据涉及到存储、管理、分析和可视化与林业相关的数据。以下是林业数据处理的一些关键方面以及如何使用Oracle数据库进行示例性的SQL说明: 数据库设计&#…

Web后端开发(请求-简单参数)(一)

原始方式: 在原始的web程序中,获取请求参数,需要通过HttpServletRequest 对象手动获取。 RequestMapping("/simpleParam") public String simpleParam(HttpServletRequest request){//获取请求参数String name request.getParame…

小阿轩yx-iptables 防火墙

小阿轩yx-iptables 防火墙 Linux 防火墙基础 体系主要工作在 网络层针对TCP/IP 数据包实施过滤和限制 属于典型的包过滤防火墙(或者称为网络层防火墙) 体系基于内核编码实现 好处 具有非常稳定的性能高效率 防火墙两个表示 netfilteriptables …

代码随想录算法训练营第四天|24. 两两交换链表中的节点 |19.删除链表的倒数第N个节点 | 面试题 02.07. 链表相交 | 142.环形链表II

24. 两两交换链表中的节点 文档讲解:代码随想录 视频讲解:帮你把链表细节学清楚! | LeetCode:24. 两两交换链表中的节点_哔哩哔哩_bilibili 1. 第一想法是不知道这个题如何做,知道有改变指针这个操作。 2. 双指针也太…

学习分享-为什么把后台的用户验证和认证逻辑放到网关

将后台的用户验证和认证逻辑放到网关(API Gateway)中是一种常见的设计模式,这种做法在微服务架构和现代应用中有许多优势和理由: 1. 集中管理认证和授权 统一的安全策略 在一个包含多个微服务的系统中,如果每个服务…

优化扩散模型中的采样计划

在生成模型领域,扩散模型(Diffusion Models, DMs)因其卓越的生成质量而成为最新的技术趋势。但这些模型的一个关键缺点是它们的采样速度较慢,需要通过大型神经网络进行多次顺序函数评估。扩散模型通过一个称为采样计划的离散噪声水…

Golang | Leetcode Golang题解之第130题被围绕的区域

题目&#xff1a; 题解&#xff1a; var (dx [4]int{1, -1, 0, 0}dy [4]int{0, 0, 1, -1} ) func solve(board [][]byte) {if len(board) 0 || len(board[0]) 0 {return}n, m : len(board), len(board[0])queue : [][]int{}for i : 0; i < n; i {if board[i][0] O {q…

xmind父主题快捷键Ctrl+Enter

xmind父主题快捷键 CtrlEnter