ceph、gluster、longhorn选型对比

Ceph

Ceph是一个分布式的存储系统,可以在统一的系统中提供唯一的对象、块和文件存储。

名词解释:

  1. RADOS: 由自我修复、自我管理、智能存储节点组成的可靠、自主、分布式对象存储
  2. LIBRADOS: 一个允许应用程序直接访问 RADO 的库,支持 C、C++、Java、Python、Ruby 和 PHP
  3. RADOSGW: 基于存储桶的 REST网关,兼容s3和Swift
  4. RBD: 一个负责任的,完全-分布式块设备,使用Linux内核cliont和QEMU/KVM驱动程序
  5. CEPHFS: 符合POSIX标准的分发文件系统,具有Linux内核客户端和对FUSE的支持

进程结构:

https://docs.ceph.com/en/latest/_images/ditaa-a05e8639fc0d9031e9903a52a15a18e182d673ff.png

  1. 1. Ceph监视器(ceph-mon):用来维护集群状态的映射,包括监视器映射,管理器映射,OSD映射,MDS映射和CRUSH映射,这些映射是ceph守护程序相互协调所需的关键状态,另外还负责客户端到ceph存储的身份验证;通常要实现高可用,需要3个或以上的ceph-mon服务
  2. 2. Ceph管理器(ceph-mgr):ceph manager守护进程负责跟踪运行时指标和ceph集群当前的状态,包括存储利用率,当前性能指标和系统负载等,ceph-mgr还托管一些python模块,以实现基于web的ceph仪表盘和rest api,通常要实现高可用至少需要2个ceph-mgr进程,通常ceph-mon和ceph-mgr个数相同,1个ceph-mon同节点会伴随1个ceph-mgr守护进程。Mgr有主从之分。
  3. 3. Ceph对象存储(ceph-osd):Ceph OSD是对象存储守护程序,是用来存储数据的核心组件,实现数据存储、数据复制和恢复、数据的重新平衡,并会检查其他Ceph OSD守护程序的心跳来向ceph-mon和ceph-mgr提供一些监控信息,通常至少需要3个ceph-osd才能实现冗余和高可用性,部署的时候ceph-osd会和ceph-mon分开节点部署.
  4. 4. Ceph元数据服务(ceph-mds):Ceph MDS为ceph文件系统存储元数据,注意Ceph块设备和对象存储不用mds存储元数据,Ceph MDS允许POSIX文件系统用户执行基本命令,而不会将压力都集中到Ceph OSD集群上,通常mds可以选择部署至少2个节点,可以和其他组件一起也可以分开。Mds有主从之分。

存储过程:首先osd需要干净的磁盘或分区。为文件计算一个值,根据值放在某个pg上(pg属于某个osd),文件的其他副本放到其他osd上。

文件实际是使用对象存储存到osd上,因为脱离了linux文件系统,所以无法在磁盘直观的看到文件,只能通过ceph挂载查看。

Gluster

Gluster 是一个可扩展的分布式文件系统。有点像nfs,可以把gluster-server所在节点的目录作为存储目录,gluster-client进行挂载。

进程结构:gluster-server进程,gluster-client进程。

卷类型:

  1. 分布卷:如文件1放在节点1,文件2放在节点2。
  2. 复制卷,有两个server节点,文件1在两个节点都存有一份文件。
  3. 分散卷:文件1分成两块,一块放在节点1,另一块放在节点2,这样读写更快。
  4. 分布复制卷:节点 1234,文件1在节点12,文件2在节点34。
  5. 分布分散,节点1234,文件1的两块各在12,文件2的两块各在34。

高可用gluster-server部署两个以上的节点,gluster-server没有主从之分、是对等的。通过复制卷可以实现数据高可用,一个文件分别存在两个节点上,有一个节点宕机,文件依然能正常读写。

Longhorn

Longhorn 是一款Kubernetes 分布式块存储系统。只能用k8s部署。

进程结构:

  1. Longhorn Backing Image Manager:支持磁盘中的备份映像下载、同步和删除
  2. Longhorn Engine:核心控制器/副本逻辑。每个卷对应一个engine。
  3. Longhorn Instance Manager:控制器/副本实例生命周期管理
  4. Longhorn Manager:Longhorn 编排,包括适用于 Kubernetes 的 CSI 驱动程序
  5. Longhorn Share Manager:NFS 置备程序,将 Longhorn 卷公开为 ReadWriteMany 卷
  6. Longhorn UI:NFS 置备程序,将 Longhorn 卷公开为 ReadWriteMany 卷

高可用:卷有多个副本(可设置),卷默认目录/var/lib/longhorn,进程pod在各节点都有运行。

容器通过pv使用卷,文件在宿主机目录不能查看。

比较

Ceph

Gluster

Longhorn

定位

分布式存储系统

分布式文件系统

分布式块存储系统

使用Linux文件系统

进程种类

4

2

6

安装方式

手动安装、k8s

手动安装

K8s

安装维护难度

UI页面

可额外加

额外功能

块存储、对象存储

-

可视化页面维护卷、快照、备份、恢复、定时任务

官方最低硬件

(cpu/ram/disk)

Osd:1c,4g 

Mon:2c,5g,100g

Mds:2c,2g,1g

-

3节点,每个节点4c,4g

Pod配置卷

支持

1.25移除

不支持

PV持久卷

支持

-

支持

高可用故障测试

有停顿时间,无法读写,等待pg降级

有停顿时间,无法读写

-

缺点

安装、维护复杂

不能通过pv使用,测试同步文件有两秒延迟

宿主机无法查看文件,运维无法在宿主机生成配置文件

优点

功能全

使用简单

K3s推荐使用

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

虚幻UE 材质-进阶边界混合之运行时虚拟纹理

之前在学习空山新雨后时对于边缘虚化过渡处理有很多技术 今天又要介绍一个边缘过渡的方法:运行时虚拟纹理 文章目录 前言一、运行时虚拟纹理二、使用步骤总结 前言 边缘过渡柔和的方式我们之前介绍了很多,但是效果也不是最好的。 像素偏移PDO和我们今天…

查准率与查全率在自然语言处理中的核心概念与联系、核心概念和实践应用,如何使用朴素贝叶斯、SVM 和深度学习实现查准率和查全率的计算?

查准率与查全率在自然语言处理中的核心概念与联系、核心概念和实践应用,如何使用朴素贝叶斯、SVM 和深度学习实现查准率和查全率的计算? 人工智能核心技术有:1. 深度学习;2.计算机视觉;3.自然语言处理;4.数据挖掘。其中,深度学习就是使用算法分析数据,从中学习并自动归…

jsonvue-mobile 联动方式说明。

目录 jsonvue-mobile的联动类型分为两种 一种是命令式的: 另一种是响应式的: 联动场景 场景一:某一个字段的值变化时,同步修改另一个字段的值 命令式: 响应式: 场景一演示效果GIF 场景二&#xff1…

对外贸易数据平台解析_外贸三大支撑力_箱讯科技

添加图片注释,不超过 140 字(可选) 三大支撑力支撑我国外贸持续回暖 海关总署近日发布数据显示,今年前11个月,我国进出口总值37.96万亿元,与去年同期持平。进入四季度,我国外贸发展的积极因素…

k8s--动态pvc和pv

前情回顾 存储卷: emptyDir 容器内部,随着pod销毁,emptyDir也会消失 不能做数据持久化 hostPath:持久化存储数据 可以和节点上目录做挂载。pod被销毁了数据还在 NFS:一台机器,提供pod内容器所有的挂载点…

css设置内嵌样式阴影

.box{box-shadow: inset 0 0 10px #f1e227, inset 0 0 10px #b6b70f, inset 0 0 10px #879017, inset 0 0 10px #485b22, inset 0 0 10px #0a272e;/* 这是一个CSS的box-shadow属性的值,用于创建一个元素的内部阴影效果。具体的意思是在元素的边界内部添加五个不同颜…

Java项目:119SpringBoot废品回收系统

博主主页:Java旅途 简介:分享计算机知识、学习路线、系统源码及教程 文末获取源码 一、项目介绍 废品回收系统是由SpringBootMybatis开发的,分为前台和后台,前台进行下单,后台处理。 后台功能如下: 类型…

源码搭建教学:连锁餐饮APP开发实战

连锁餐饮APP,对于很多从事餐饮行业的人来说不会陌生,同样这个项目本身就有着很高的热度。今天,小编将深入为大家讲述一下此系统的前后端开发、数据库设计、用户界面设计等方面,让您深入了解全栈开发的方方面面。 一、项目准备与规…

1.6计算机网络的性能指标

1.6计算机网络的性能指标 常用的计算机网络的性能指标有7个:速率、带宽、吞吐量、时延、往返时间、利用率、丢包率 1.6.1速率 计算机发送的信号是以二进制数字形式的。一个二进制数字就是一个比特(bit,binary digit)字节:Byte,1Byte8bit(1…

android APP修改为鸿蒙APP

将一个Android应用(Android APP)修改为鸿蒙应用(HarmonyOS APP)需要进行一些适配和重构工作,因为两者的底层架构和开发模型存在一些差异。下面是一些通用的步骤和考虑事项,希望对大家有所帮助。北京木奇移动…

C++进阶(三)多态

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、多态的概念1、概念 二、多态的定义及实现1、多态的构成条件2、虚函数3、虚函数的重写4、C…

002 Golang-channel-practice

第二题: 创建一个生产器和接收器,再建立一个无缓冲的channel。生产器负责把数据放进管道里,接收器负责把管道里面的数据打印出来。这里我们开5个协程把数据打印出来。 直接上代码! package mainimport ("fmt" )func …

数谷·企声|贵州空港智能科技:以“智”提“质”,助力贵阳智慧机场建设

当前,我国民航正大力推进“平安、绿色、智慧、人文”的四型机场建设。贵州空港智能科技有限公司(下称“空港智能科技”)作为贵州民航产业集团有限公司(下称“民航产业集团”)信息化建设的排头兵和主力军,近…

java JDBC 连接数据库(增删查改)

必须先插入工具包 代码 public static void main(String[] args) {DataSource ds JdbcHelper.getDs();System.out.println(ds);JdbcTemplate jdbcTemplatenew JdbcTemplate(ds);System.out.println(jdbcTemplate);//新增String sql1"insert into biao values(null,?,?,…

GPT Store开业大吉:一场AI技术与创新的盛宴

就在1.11 日,ChatGPT 正式上线 GPT Store ! OpenAI CEO 山姆奥特曼第一时间确认了这个消息: 自从GPTs的概念提出以来,短短两个月内,全球用户已经创造了超过300万个GPTs。 点击 GPT Store 或者进入ChatGpt页面&am…

ChatGPT4 助力 Python 数据分析与可视化、人工智能建模及论文高效撰写

2022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5,将人工智能的发展推向了一个新的高度。2023年4月,更强版本的ChatGPT4.0上线,文本、语音、图像等多模态交互方式使其在…

HTML--文本

文本一般存在于 body下 段落标签&#xff1a;<p> </p> 换行标签&#xff1a;<br/> 放在一句话里可以换行 <p>这是一段话<br/>这是另一段话</p>文本标签分以下几种&#xff1a; 粗体标签&#xff1a;strong&#xff0c;b 斜体标签&#xf…

Spring Boot 中批量执行 SQL 脚本的实践

在Spring Boot应用中&#xff0c;有时候我们需要批量执行存储在数据库中的 SQL 脚本。本文将介绍一个实际的案例&#xff0c;演示如何通过 Spring Boot、MyBatis 和数据库来实现这一目标。 0、数据库层 CREATE TABLE batchUpdate (id INT AUTO_INCREMENT PRIMARY KEY,update_…

策略模式-实践

俗话说&#xff1a;条条大路通罗马。在很多情况下&#xff0c;实现某个目标的途径不止一条&#xff0c;例如我们在外出 旅游时可以选择多种不同的出行方式&#xff0c;如骑自行车、坐汽车、坐火车或者坐飞机&#xff0c;可根据实 际情况&#xff08;目的地、旅游预算、旅游时间…

vue2 el-table行悬停时弹出提示信息el-popover

实现方法&#xff0c;用到了cell-mouse-enter、cell-mouse-leave两个事件&#xff0c;然后在表格的首列字段中&#xff0c;加个el-popover组件&#xff0c;当然你也可以选择在其他字段的位置来显示提示框&#xff0c;看自己的需求了。 示例代码&#xff1a; <el-table cell…