pxe自动装机与无人值守

news2024/11/25 22:24:14

一、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             = dgram
        protocol                = udp           #使用udp协议
        wait                    =no     #允许多个客户机一起连接,并行
                                        #默认yes允许一个客户机进行连接,串行
        user                    = root      
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot  #tftp的根目录
        disable                 = no     #开启tftp的服务
        per_source              = 11
        cps                     = 100 2
        flags                   = 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.coloradmin.cn/o/1805852.html

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

相关文章

Hive知识体系保姆级教程

一. Hive概览 1.1 hive的简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 其本质是将SQL转换为MapReduce/Spark的任务进行运算,底层由HDFS来提供数据的存储,说白了h…

【wiki知识库】06.文档管理页面的添加--前端Vue部分

📝个人主页:哈__ 期待您的关注 目录 一、🔥今日目标 二、🐻前端Vue模块的改造 BUG修改 1.wangeditor无法展示问题 2.弹窗无法正常关闭问题 2.1 添加admin-doc.vue 2.1.1 点击admin-ebook中的路由跳转到admin-doc 2.2.2 进入…

【DrissionPage】Linux上如何将https改为http

最近有个老板找我做一个自动化的程序,要求部署到Linux上 这是一个http协议的网站,chrome在默认设置下,会将http的网站识别成不安全的内容,然后自动将http转化成https访问 但是,这个http的网站它的加载项里既有http的…

Java | Leetcode Java题解之第132题分割回文串II

题目&#xff1a; 题解&#xff1a; class Solution {public int minCut(String s) {int n s.length();boolean[][] g new boolean[n][n];for (int i 0; i < n; i) {Arrays.fill(g[i], true);}for (int i n - 1; i > 0; --i) {for (int j i 1; j < n; j) {g[i]…

Centos X系统yum安装mysql数据库

安装之前需要将系统自带的mariadb-libs软件包删除。 检查是否存在mariadb-libs包。 yum list installed|grep mariadb-libs 删除mariadb-libs包 yum -y remove mariadb-libs 声明&#xff1a; 系统&#xff1a;CentOS-7-x86_64-DVD-2009 安装为最小化安装&#xff0c;没…

[线程与网络] Java虚拟机常考面试题(线程与网络完结)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;线程与…

MySQL: 表的增删改查(基础)

文章目录 1. 注释2. 新增(Create)3. 查询(Retrieve)3.1 全列查询3.2 指定列查询3.3 查询字段为表达式3.4 别名3.5 去重: distinct3.6 排序: order by3.7条件查询3.8 分页查询 4. 修改 (update)5. 删除(delete)6. 内容重点总结 1. 注释 注释&#xff1a;在SQL中可以使用“–空格…

【React】Redux与React - 环境准备

配套工具 在React中使用redux&#xff0c;官方要求安装俩个其他插件 - Redux Toolkit 和 react-redux 配置基础环境 使用 CRA 快速创建 React 项目 npx create-react-app react-redux安装配套工具 npm i reduxjs/toolkit react-redux启动项目 npm run start

python中while循环实现九九乘法表

i 1while i < 9: # 控制行的循环j 1while j < i: # 控制每行的输出print(f"{j}*{i}{j * i}\t", end"")j 1print()i 1运行截图&#xff1a;

图解 Python 编程(12) | 文件和编码方式

&#x1f31e;欢迎来到Python 的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2024年6月9日&am…

《编译原理》期末考试复习手写笔记(二)+真题(第四、五、六章)+课后习题答案

第四章考试题型【自顶向下语法分析】 考点梳理&#xff1a; 1.语法分析程序的设计 2.确定的自顶向下分析思想2.1 FIRST集合 2.2 FOLLOW集合 2. 3 SELECT集合 2. 4 LL(1)文法 3.LL(1)文法的判别 如何消除左公因子? 如何消除左递归? 4.非LL(1)到LL(1)文法的等价变换 5.LL(1)分…

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

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

物资材料管理系统建设方案(Word)—实际项目方案

二、 项目概述 2.1 项目背景 2.2 现状分析 2.2.1 业务现状 2.2.2 系统现状 三、 总体需求 3.1 系统范围 3.2 系统功能 3.3 用户分析 3.4 假设与依赖关系 四、 功能需求 4.4.11.7 非功能性需求 五、 非功能性需求 5.1 用户界面需求 5.2 软硬件环境需求 5.3 产品质量需求 5.4 接口…

springAOP 使用aop代替SqlsessionUtil业务层操作

在Maven框架pom配置文件中导入spring相关依赖&#xff1a; <dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><dependency…

爬虫可以不必自己写,使用ChatGPT编写抓取电影评论数据脚本

经常去新华书店看看有没有什么新书上架&#xff0c;还是更新挺及时的&#xff0c;可以反映新的技术趋势。这不&#xff0c;最近就看到了这本《巧用 ChatGPT 快速搞定数据分析》&#xff0c;作者是个大牛&#xff0c;第一次看到prompt可以这么写&#xff0c;得写这么长&#xff…

LeMeViT:具有可学习元令牌的高效ViT

本文提出使用可学习的元令牌来制定稀疏令牌&#xff0c;这有效地学习了关键信息&#xff0c;同时提高了推理速度。从技术上讲&#xff0c;主题标记首先通过交叉关注从图像标记中初始化。提出了双交叉注意&#xff08;DCA&#xff09;来促进图像令牌和元令牌之间的信息交换&…

【JS】理解闭包及其应用

历史小剧场 明朝灭亡&#xff0c;并非是简单的政治问题&#xff0c;事实上&#xff0c;这是世界经济史上的一个重要案例。 所谓没钱&#xff0c;就是没有白银。----《明朝那些事儿》 什么是闭包&#xff1f; 闭包就是指有权访问另一个函数作用域中变量的函数 闭包变量存储位置&…

数据结构【堆排序】

前言 在上一篇文章主要讲解了二叉树的基本概念和堆的概念以及接口的实现&#xff08;点此处跳转&#xff09; 我们简回顾下堆的基本概念&#xff1a; 1.堆分为大堆和小堆 大堆&#xff1a;父亲结点比左右孩子都大&#xff0c;根结点是最大的小堆&#xff1a;父亲结点比左右孩…

关于CodeCombat(沙漠)布朗噪声的攻略

关于CodeCombat(沙漠)//布朗噪声的攻略 总的来说怎么猥琐怎么来 1.走到墙角骷髅看不到的位置&#xff0c;让宠物制造噪音&#xff0c;然后英雄走过去&#xff0c;就是这样没错&#xff08;坐标之类能明白) 最后看看运行结果吧 Rec 0002 希望天天开心

CAN协议简介

协议简介 can协议是一种用于控制网络的通信协议。它是一种基于广播的多主机总线网络协议&#xff0c;常用于工业自动化和控制领域。can协议具有高可靠性、实时性强和抗干扰能力强的特点&#xff0c;被广泛应用于汽车、机械、航空等领域。 can协议采用了先进的冲突检测和错误检测…