PVE+CEPH+HA部署搭建测试
一、基本概念介绍
Proxmox VE
Proxmox Virtual Environment (Proxmox VE) 是一款开源的虚拟化管理平台,基于 Debian Linux 开发,支持虚拟机和容器的混合部署。它提供基于 Web 的集中管理界面,简化了计算、存储和网络资源的配置与监控。Proxmox VE 内置工具支持高可用性(HA)、备份/恢复和集群管理,适用于企业级虚拟化及私有云部署。
Ceph
Ceph 是一个高度可扩展的分布式存储系统,设计用于提供高性能、无单点故障的存储服务。其核心是 RADOS(可靠自主分布式对象存储),通过动态数据分片和副本机制实现数据的高可用性和自我修复能力。Ceph 支持块存储(RBD)、文件存储(CephFS)和对象存储接口,可无缝集成到 Proxmox VE、OpenStack 等平台,满足大规模存储需求。
HA(高可用性集群)
高可用性(High Availability, HA) 是一种通过冗余设计确保服务持续运行的解决方案。在 Proxmox VE 等平台中,HA 集群通过多节点协作和自动故障转移机制,实时检测物理机或虚拟机的故障,并快速将服务迁移到健康节点。结合 Ceph 等分布式存储,HA 可消除单点故障,保障关键业务在硬件或软件故障时的零停机或极短恢复时间。
二、环境介绍
本次采用3台虚拟机安装验证。
访问官网下载ISO镜像文件,根据需要选择版本:
https://www.proxmox.com/en/downloads/category/iso-images-pve
三台虚拟机设置:
A.CPU勾选虚拟化支持

B.虚拟机各添加2块磁盘,一块系统盘,一块CEPH使用
三、PVE安装
3.1 选择第一个选项,安装PVE

3.2 同意协议

3.3 选择系统盘
注意:此处多块硬盘时,根据规划选择相应磁盘为系统盘,同时如果自定义修改系统盘分配,可以点击option,否则会默认分配系统盘空间。

3.4 配置国家、地区

3.5 配置密码、邮箱
如果为生产环境务必配置为强口令。邮箱建议配置为真实邮箱。

3.6 配置网卡、主机名、IP地址、DNS等信息

3.7 检查无误后点击安装

安装结束后重启,通过浏览器访问,出现以下页面内容证明安装成功。
地址:https://你的IP地址:8006
用户名:root
密码:为安装时配置的密码。
域:选择Linux PAM
3.8 按照此方法安装全部服务器
四、集群组建
创建集群,将三台节点加入同一集群。
1、在其中一个节点上点击,”数据中心“ — ”集群“ — ”创建集群“。
点击加入信息,复制加入信息。

2、在其他两个节点上,点击加入集群,粘贴加入信息,然后输入第一台节点的root密码,即可完成加入。

3、加入集群完成后需要刷新页面才能正常使用,全部加入完成后,就可以在一个节点上管理集群中所有节点。

五、CEPH安装
5.1 更换系统软件仓库源
由于自带的软件源速度较慢,此处选择科大源:http://mirrors.ustc.edu.cn
涉及的软件源有三个,分别为debain、pve、ceph,需要分别修改下列文件。
echo "deb http://mirrors.ustc.edu.cn/proxmox/debian/ceph-octopus/ buster main " > /etc/apt/sources.list.d/ceph_mirror.list
echo "deb http://mirrors.ustc.edu.cn/proxmox/debian bookworm pve-no-subscription " > /etc/apt/sources.list.d/pve-enterprise.list
echo "# 默认不包含非自由固件
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free
# 或仅包含自由软件
# deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib
# 包含非自由固件及镜像站内软件源
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free" > /etc/apt/sources.list
5.2 安装ceph软件
在全部节点中,安装ceph组件。
注意,实际操作中此步骤会在 /etc/apt/sources.list.d/ceph.list 文件中配置官方源。
1) 选择节点 — ”ceph“ 点击 ” Install ceph ”

2) 选择版本,此处选择 “ 18.2 ”

3) 输入 ” Y “ 开始安装
如果软件包下载速度较慢,可以先安装一台,然后将安装包拷贝到其他节点相同路径中。
安装包保存路径:/var/cache/apt/archives

5.3 ceph配置
此配置是将硬盘创建pool,命名为hdd_data。
1) 创建osd
在 ”ceph“ — ”osd“ 选项卡创建OSD。
正常情况下磁盘类型会自动识别,如果识别的不正确,注意手动调整。


2) 创建class rule
ceph osd crush rule create-replicated hdd_rule default host hdd
3)创建存储池
ceph osd pool create hdd_data hdd_rule
ceph osd pool application enable hdd_data hdd_data
4) 添加存储池至PVE
”数据中心“ — ”存储“ — ”添加“ — ”RBD“。

六、HA组建测试
此群组用于设置参与ha的节点,并设置节点设备故障后能够迁移的优先级、
1)数据中心-HA-群组-创建
#创建完成
#这里会显示HA集群的状态

2)创建参与HA的对象
#数据中心-HA-资源-添加参与ha的容器或者虚拟机(这里的虚拟机一定要是存储在cephrbd盘里面的才行)


3) 验证HA故障迁移
#强制关闭pve03,观察vm100的迁移情况
#vm100已经顺利的迁移至pve01并已顺利启动

相关文章:
PVE+CEPH+HA部署搭建测试
一、基本概念介绍 Proxmox VE Proxmox Virtual Environment (Proxmox VE) 是一款开源的虚拟化管理平台,基于 Debian Linux 开发,支持虚拟机和容器的混合部署。它提供基于 Web 的集中管理界面,简化了计算、存储和网络资源的配置与监控。P…...
【Leetcode 每日一题 - 补卡】1534. 统计好三元组
问题背景 给你一个整数数组 a r r arr arr,以及 a 、 b 、 c a、b 、c a、b、c 三个整数。请你统计其中好三元组的数量。 如果三元组 ( a r r [ i ] , a r r [ j ] , a r r [ k ] ) (arr[i], arr[j], arr[k]) (arr[i],arr[j],arr[k]) 满足下列全部条件ÿ…...
ROS ROS2 机器人深度相机激光雷达多传感器标定工具箱
系列文章目录 目录 系列文章目录 前言 三、标定目标 3.1 使用自定义标定目标 四、数据处理 4.1 相机数据中的标定目标检测 4.2 激光雷达数据中的标定目标检测 输入过滤器: 正常估算: 区域增长: 尺寸过滤器: RANSAC&a…...
android rtsp 拉流h264 h265,解码nv12转码nv21耗时卡顿问题及ffmpeg优化
一、 背景介绍及问题概述 项目需求需要在rk3568开发板上面,通过rtsp协议拉流的形式获取摄像头预览,然后进行人脸识别 姿态识别等后续其它操作。由于rtsp协议一般使用h.264 h265视频编码格式(也叫 AVC 和 HEVC)是不能直接用于后续处…...
熊海cms代码审计
目录 sql注入 1. admin/files/login.php 2. admin/files/columnlist.php 3. admin/files/editcolumn.php 4. admin/files/editlink.php 5. admin/files/editsoft.php 6. admin/files/editwz.php 7. admin/files/linklist.php 8. files/software.php 9. files…...
滑动窗口209. 长度最小的子数组
1.题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入&…...
SQL(8):INSERT INTO SELECT与SELECT INTO,选数据出来,放到另一个表中
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中; SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中 想象一下你有两个本子(数据库里的表): 本子A (源头)&…...
DeepSeek 与开源:肥沃土壤孕育 AI 硕果
当 DeepSeek 以低成本推理、多模态能力惊艳全球时,人们惊叹于国产AI技术的「爆发力」,却鲜少有人追问:这份爆发力的根基何在? 答案,藏在中国开源生态二十余年的积淀中。 从倪光南院士呼吁「以开源打破垄断」…...
2025高频面试算法总结篇【动态规划】
文章目录 直接刷题链接直达编辑距离最长回文子串完全平方数最长递增子序列正则表达式匹配零钱兑换鸡蛋掉落单词拆分 直接刷题链接直达 动态规划(Dynamic Programming, DP)是一种通过拆解子问题并利用子问题的最优解来构建整体问题的最优解的方法&#x…...
Maven中clean、compil等操作介绍和Pom.xml中各个标签介绍
文章目录 前言Maven常用命令1.clean2.vaildate3.compile4.test5.package6.verify7.install8.site9.deploy pom.xml标签详解格式<?xml version"1.0" encoding"UTF-8"?>(xml版本和编码)modelVersion(xml版本)groupIdÿ…...
力扣刷题-热题100题-第35题(c++、python)
146. LRU 缓存 - 力扣(LeetCode)https://leetcode.cn/problems/lru-cache/?envTypestudy-plan-v2&envIdtop-100-liked 双向链表哈希表 内置函数 对于c有list可以充当双向链表,unordered_map充当哈希表;python有OrderedDic…...
Nautilus 正式发布:为 Sui 带来可验证的链下隐私计算
作为 Sui 安全工具包中的强大新成员,Nautilus 现已上线 Sui 测试网。它专为 Web3 开发者打造,支持保密且可验证的链下计算。Nautilus 应用运行于开发者自主管理的可信执行环境(Trusted Execution Environment,TEE)中&a…...
云服务器CVM标准型S5实例性能测评——2025腾讯云
腾讯云服务器CVM标准型S5实例具有稳定的计算性能,CPU采用采用 Intel Xeon Cascade Lake 或者 Intel Xeon Cooper Lake 处理器,主频2.5GHz,睿频3.1GHz,CPU内存配置2核2G、2核4G、4核8G、8核16G等配置,公网带宽可选1M、3…...
优化方法介绍(二)——BFGS 方法介绍
优化方法介绍(二) 本博客是一个系列博客,主要是介绍各种优化方法,使用 matlab 实现,包括方法介绍,公式推导和优化过程可视化 1 BFGS 方法介绍 BFGS 的其实就是一种改良后的牛顿法,因为计算二阶导数 Hessian 矩阵所需的计算资源是比较大的,复杂度为 O ( 2 ⋅ n 2 ) …...
leetcode面试经典算法题——2
链接:https://leetcode.cn/studyplan/top-interview-150/ 20. 有效的括号 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足&#x…...
Ubuntu20.04安装企业微信
建议先去企业微信官网看一下有没有linux版本,没有的话在按如下方式安装,不过现在是没有的。 方案 1、使用docker容器 2、使用deepin-wine 3、使用星火应用商店 4. 使用星火包deepin-wine 5、使用ukylin-wine 本人对docker不太熟悉,现…...
在Ubuntu服务器上部署xinference
一、拉取镜像 docker pull xprobe/xinference:latest二、启动容器(GPU) docker run -d --name xinference -e XINFERENCE_MODEL_SRCmodelscope -p 9997:9997 --gpus all xprobe/xinference:latest xinference-local -H 0.0.0.0 # 启动一个新的Docker容…...
异步编程——微信小程序
1. 前言 引用来自:微信小程序开发中的多线程处理与异步编程_微信小程序 多线程-CSDN博客 微信小程序是基于JavaScript开发的,与浏览器JavaScript不同,小程序运行在WebView内部,没有多线程的概念。小程序的 JavaScript 是单线程的…...
Hive null safe的用法
总结: null safe 是用<> 代表比较,而不是用 。null <> null 返回 true, 而 null null 代表 false。 NULL 和任意字符比较都返回 NULL,而不是 true 或者 false。如 SELECT 1 1, NULL NULL, 1 NULL;输出 true NULL NULL如果我…...
STM32 四足机器人常见问题汇总
文章不介绍具体参数,有需求可去网上搜索。 特别声明:不论年龄,不看学历。既然你对这个领域的东西感兴趣,就应该不断培养自己提出问题、思考问题、探索答案的能力。 提出问题:提出问题时,应说明是哪款产品&a…...
鸿蒙NEXT开发文件预览工具类(ArkTs)
import { uniformTypeDescriptor } from kit.ArkData; import { filePreview } from kit.PreviewKit; import { FileUtil } from ./FileUtil; import { AppUtil } from ./AppUtil; import { WantUtil } from ./WantUtil;/*** 文件预览工具类* 提供文件预览、加载、判断等功能。…...
Windows 下实现 PHP 多版本动态切换管理(适配 phpStudy)+ 一键切换工具源码分享
🚀 Windows 下实现 PHP 多版本动态切换管理(适配 phpStudy) 一键切换工具源码分享 📦 工具特点🧪 效果展示🧱 环境要求🧑💻 源码展示:php_switcher.py🛠 打…...
ReportLab 导出 PDF(图文表格)
ReportLab 导出 PDF(文档创建) ReportLab 导出 PDF(页面布局) ReportLab 导出 PDF(图文表格) 文章目录 1. Paragraph(段落)2. Table(表格)3. VerticalBarChart࿰…...
【Kubernetes基础--Service深入理解】--查阅笔记4
目录 Service 的用法docker 对外提供服务service 对外提供服务 从集群外部访问 Pod 或 Service将容器应用的端口号映射到物理机将 Service 的端口号映射到物理机 Ingress:HTTP 7层路由机制创建Ingress Controller和默认的backend服务 k8s 通过创建 Serviceÿ…...
蓝桥杯 5. Excel地址
原题目链接 题目描述 Excel 单元格的地址表示很有趣,它使用字母来表示列号。例如: A 表示第 1 列B 表示第 2 列...Z 表示第 26 列AA 表示第 27 列AB 表示第 28 列BA 表示第 53 列... Excel 的最大列号是有限的,但本题将这种表示法一般化&…...
yolov8复现
Yolov8的复现流程主要包含环境配置、下载源码和验证环境三大步骤: 环境配置 查看电脑状况:通过任务管理器查看电脑是否有独立显卡(NVIDIA卡)。若有,后续可安装GPU版本的pytorch以加速训练;若没有࿰…...
C#学习第15天:泛型
什么是泛型? 定义:泛型允许您在类、接口和方法中定义占位符,这些占位符在使用时可以指定为具体的类型。作用:通过减少重复代码和提供更强的类型检查,提高了代码的可重用性和性能。 泛型的核心概念 1.泛型类 泛型类能…...
WPF ObjectDataProvider
在 WPF(Windows Presentation Foundation)中,ObjectDataProvider 是一个非常有用的类,用于将非 UI 数据对象(如业务逻辑类或服务类)与 XAML 绑定集成。它允许在 XAML 中直接调用方法、访问属性或实例化对象,而无需编写额外的代码。以下是关于 ObjectDataProvider 的详细…...
Windows系统安装RustDesk Server的详细步骤和客户端设置
Windows系统安装RustDesk Server的详细步骤 在Windows系统上安装RustDesk Server涉及几个关键步骤,包括安装必要的依赖、下载RustDesk Server程序、配置并启动服务。以下是详细的步骤: 1. 安装Node.js和PM2 RustDesk Server的某些版本可能需要Node.js环境来运行,而PM2是一…...
RestSharp和Newtonsoft.Json结合发送和解析http
1.下载RestSharp和Newtonsoft.Json 2编写ApiRequest和ApiResponse和调用工具类HttpRestClient 请求模型 /// <summary>/// 请求模型/// </summary>public class ApiRequest{/// <summary>/// 请求地址/api路由地址/// </summary>public string Route {…...
