Ceph(1):分布式存储技术简介

news2025/3/12 23:22:34

1 分布式存储技术简介

1.1 分布式存储系统的特性

(1)可扩展

分布式存储系统可以扩展到几百台甚至几千台的集群规模,而且随着集群规模的增长,系统整体性能表现为线性增长。分布式存储的水平扩展有以下几个特性:

  • 节点扩展后,旧数据会自动迁移到新节点,实现负载均衡,避免单点过热的情况出现;
  • 水平扩展只需要将新节点和原有集群连接到同一网络,整个过程不会对业务造成影响;
  • 当节点被添加到集群,集群系统的整体容量和性能也随之线性扩展,此后新节点的资源就会被管理平台接管,被用于分配或者回收。

(2)低成本

分布式存储系统的自动容错、自动负载均衡机制使其可以构建在普通的PC机之上。另外,线性扩展能力也使得增加、减少机器非常方便,可以实现自动运维。

(3)高性能

无论是针对整个集群还是单台服务器,都要求分布式存储系统具备高性能。

(4)易用

分布式存储系统需要能够提供易用的对外接口,另外,也要求具备完善的监控、运维工具,并能够与其他系统集成。

(5)易管理

可通过一个简单的WEB界面就可以对整个系统进行配置管理,运维简便,极低的管理成本。

分布式存储系统的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。分布式存储涉及的技术主要来自两个领域:分布式系统以及数据库。

1.2 存储分类

(1)本地存储

本地存储本地的文件系统,不能在网络上用。

  • ext3
  • ext4
  • xfs
  • ntfs      

(2)网络存储  

网络存储---网络文件系统,共享的都是文件系统。

  • nfs:网络文件系统
  • hdfs:分布式网络文件系统
  • glusterfs:分布式网络文件系统      

(3)共享的是裸设备  

  • 块存储 cinder  ceph(块存储  对象存储  网络文件系统-分布式)
  • SAN(存储区域网)        

(4)分布式

  • 集群

2 分布式存储分类介绍

2.1 Hadoop HDFS(大数据分布式文件系统)

HDFS(Hadoop Distributed File System)是一个分布式文件系统,是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件.HDFS是一个高度容错性的系统,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

HDFS的优点:

(1)高容错性

            数据自动保存多个副本

            副本丢失后,自动恢复

(2)良好的数据访问机制

            一次写入、多次读取,保证数据一致性

(3)适合大数据文件的存储

            TB、 甚至PB级数据

            扩展能力很强

HDFS的缺点:

(1)低延迟数据访问

           难以应付毫秒级以下的应用

(2) 海量小文件存取

            占用NameNode大量内存

(3)一个文件只能有一个写入者

           仅支持append(追加)

2.2 OpenStack的对象存储Swift

OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一。Swift的目的是使用普通硬件来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PB级。Swift的是用Python开发

其主要特点为:

  • 各个存储的节点完全对等,是对称的系统架构。
  • 开发者通过一个RESTful HTTP API与对象存储系统相互作用。
  • 无单点故障:Swift的元数据存储是完全均匀随机分布的,并且与对象文件存储一样,元数据也会存储多份。整个Swift集群中,也没有一个角色是单点的。
  • 在不影响性能的情况下,集群通过增加外部节点进行扩展。
  • 无限的可扩展性:这里的扩展性分两方面,一是数据存储容量无限可扩展;二是Swift性能(如QPS、吞吐量等)可线性提升,扩容只需简单地新增机器,系统会自动完成数据迁移等工作,使各存储节点重新达到平衡状态。
  • 极高的数据持久性

Swift可以用以下用途:

  • 图片、文档存储
  • 长期保存的日志文件
  • 存储媒体库(照片、音乐、视频等)
  • 视频监控文件的存档

总结:Swift适合用来存储大量的、长期的、需要备份的对象。

2.3 公有云对象存储

公有云大都只有对象存储。例如,谷歌云存储是一个快速,具有可扩展性和高可用性的对象存储。

Amazon类似产品就是S3: http://aws.amazon.com/s3;

微软类似产品Azure Bolb:http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/;

阿里类似的有OSS:https://www.aliyun.com/product/oss/;

阿里云对象存储OSS

阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务

存储类型(Storage Class)

OSS 提供标准、低频访问、归档三种存储类型,其中标准存储类型提供高可靠、高可用、高性能的对象存储服务,能够支持频繁的数据访问;低频访问存储类型适合长期保存不经常访问的数据(平均每月访问频率 1 到 2 次),存储单价低于标准类型;归档存储类型适合需要长期保存(建议半年以上)的归档数据,在三种存储类型中单价最低。

应用场景

(1)图片和音视频等应用的海量存储

OSS可用于图片、音视频、日志等海量文件的存储。

(2)云端数据处理

上传文件到OSS后,可以配合媒体处理服务和图片处理服务进行云端的数据处理。

(3)网页或者移动应用的静态和动态资源分离

利用海量互联网带宽,OSS可以实现海量数据的互联网并发下载。

2.4 GlusterFS分布式文件系统

GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指GlusterFS采用弹性哈希算法,没有中心节点,所有节点全部平等。GlusterFS配置方便,稳定性好,可轻松达到PB级容量,数千个节点,2011年被红帽收购。

PB级容量  高可用性 基于文件系统级别共享 分布式 去中心化

glusgerfs存储卷的类型

基本类型:条带,复制,哈希。

复合卷

复合卷就是分布式复制,分布式条带,分布式条带复制卷,像分布式复制,分布式条带这两个是比较常用的,像分布式条带复制卷三种揉一块儿的用的都比较少,

各种卷的整理

分布卷:存储数据时,将文件随机存储到各台glusterfs机器上。

  • 优点:存储数据时,读取速度快
  • 缺点:一个birck坏掉,文件就会丢失

复制卷:存储数据时,所有文件分别存储到每台glusterfs机器上。

  • 优点:对文件进行的多次备份,一个brick坏掉,文件不会丢失,其他机器的brick上面有备份
  • 缺点:占用资源

条带卷:存数据时,一个文件分开存到每台glusterfs机器上

  • 优点:对大文件,读写速度快
  • 缺点:一个brick坏掉,文件就会坏掉

最常见的GPFS和HDFS有什么区别?

GPFS和Hadoop的HDFS系统对比,它设计用于在商用硬件上存储类似或更大的数据

HDFS还将文件分割成块,并将它们存储在不同的文件系统节点内。

HDFS对磁盘可靠性的依赖并不高,它可以在不同的节点内存储块的副本。保存单一副本块的一个节点出现故障可以再复制该组其它有效块内的副本。相较而言,虽然GPFS支持故障节点恢复,但它是一个更严重的事件,它可能包括数据(暂时性)丢失的高风险。

GPFS支持完整的Posix文件系统语义。 HDFS和GFS(谷歌文件系统)并不支持完整的Posix语义。

GPFS跨文件系统分布它的目录索引和其它元数据。相反, Hadoop将它们保留在主要和次要Namenode中,大型服务器必须在RAM内存储所有的索引信息。

GPFS将文件分割成小块。Hadoop HDFS喜欢64MB甚至更多的块,因为这降低了Namenode的存储需求。小块或很多小的文件会快速填充文件系统的索引,因此限制了文件系统的大小。

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

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

相关文章

从0开始的操作系统手搓教程43——实现一个简单的shell

目录 添加 read 系统调用,获取键盘输入 :sys_read putchar和clear 上班:实现一个简单的shell 测试上电 我们下面来实现一个简单的shell 添加 read 系统调用,获取键盘输入 :sys_read /* Read count bytes from the file pointed to by fi…

【Spring】基础/体系结构/核心模块

概述: Spring 是另一个主流的 Java Web 开发框架,该框架是一个轻量级的应用框架。 Spring 是分层的 Java SE/EE full-stack 轻量级开源框架,以 IoC(Inverse of Control,控制反转)和 AOP(Aspect…

01 音视频知识学习(视频)

图像基础概念 ◼像素:像素是一个图片的基本单位,pix是英语单词picture的简写,加上英 语单词“元素element”,就得到了“pixel”,简称px,所以“像素”有“图像元素” 之意。 ◼ 分辨率:是指图像…

vue3自定义hooks遇到的问题

问题 写了一个输入查询参数和url返回加载中状态、请求方法、接口返回列表的hooks,出现的结果是只有请求方法有效,加载状态无效,接口返回了数据,页面却不显示数据。 代码如下 只展示部分关键代码 import { ref, toRefs, toRef, o…

liunx磁盘挂载和jar启动命令

一、磁盘挂载 查看历史磁盘挂载命令:history | grep mount 查看所有挂载硬盘命令:mount 磁盘挂载命令:mount -t cifs -o usernamesh**,passwordP!ss**** //192.168.1.2/attachmentfilesShare2.2/pdfCert /home/nybzg/cnfai1/pdfCert 二、j…

gbase8s rss集群通信流程

什么是rss RSS是一种将数据从主服务器复制到备服务器的方法 实例级别的复制 (所有启用日志记录功能的数据库) 基于逻辑日志的复制技术,需要传输大量的逻辑日志,数据库需启用日志模式 通过网络持续将数据复制到备节点 如果主服务器发生故障,那么备用服务…

如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统

我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统。陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户。 随时近来 AI 大模型的火热,越来越多的客户,问…

【AI智能体报告】开源AI助手的革命:OpenManus深度使用报告

一、引言:当开源智能体走进生活 2025年3月,MetaGPT团队用一场"开源闪电战"改写了AI Agent的竞争格局。面对商业产品Manus高达10万元的邀请码炒作,他们仅用3小时便推出开源替代品OpenManus,首日即登顶GitHub趋势榜。 …

DeepSeek+Maxkb+Ollama+Docker搭建一个AI问答系统

DeepSeekMaxkbOllamaDocker搭建一个AI问答系统 文章目录 DeepSeekMaxkbOllamaDocker搭建一个AI问答系统前言一、创建同一内网的网络二、拉取两个镜像三、启动Ollama以及调试Maxkb4.Maxkb创建一个应用并建立知识库5、应用效果总结 前言 我觉得只要是使用Docker技术,…

江科大51单片机笔记【12】DS18B20温度传感器(上)

写在前言 此为博主自学江科大51单片机(B站)的笔记,方便后续重温知识 在后面的章节中,为了防止篇幅过长和易于查找,我把一个小节分成两部分来发,上章节主要是关于本节课的硬件介绍、电路图、原理图等理论…

P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS

P8662 [蓝桥杯 2018 省 AB] 全球变暖--dfs 题目 解析讲下DFS代码 题目 解析 这道题的思路就是遍历所有岛屿,判断每一块陆地是否会沉没。对于这种图的遍历,我们首先应该想到DFS。 代码的注意思想就是,在主函数中遍历找出所有岛屿&#xff0c…

Vue 侧边栏导航栏 el-menu单个item和多个item

在固钉的下面去写菜单导航栏。 <el-menu class"aside-menu" router :default-active"$route.path" :collapse"isCollapse" background-color"#131b27" text-color"#bfcbd9" active-text-color"#20a0ff" :defau…

Unity Dots从入门到精通之 Prefab引用 转 实体引用

文章目录 前言安装 DOTS 包实体引用Authoring 前言 DOTS&#xff08;面向数据的技术堆栈&#xff09;是一套由 Unity 提供支持的技术&#xff0c;用于提供高性能游戏开发解决方案&#xff0c;特别适合需要处理大量数据的游戏&#xff0c;例如大型开放世界游戏。 本文讲解我在…

无人机避障——XTDrone中运行VINS-Fusion+Ego-planner进行路径规划

本文聚焦于无人机避障技术领域的经典方案&#xff0c;重点探讨视觉双目VINS-Fusion建图与Ego-planner路径规划的组合应用。通过视觉双目VINS-Fusion实现精准的环境建图与自身定位&#xff0c;结合Ego-planner的高效路径规划能力&#xff0c;使无人机在复杂环境中实现自主避障飞…

【沐渥科技】氮气柜日常如何维护?

氮气柜的维护是确保其长期稳定运行、延长使用寿命和保持环境控制精度的关键。以下是沐渥氮气柜的日常维护和定期保养指南&#xff1a; 一、日常维护 柜体清洁 定期用软布擦拭柜体表面和内部&#xff0c;避免灰尘堆积。避免使用腐蚀性清洁剂&#xff0c;防止损伤密封条或传感器。…

MATLAB 控制系统设计与仿真 - 24

PID 控制器分析- 控制器的形式 连续控制器的结构&#xff1a; 为滤波时间常数&#xff0c;这类PID控制器在MATLAB系统控制工具箱称为并联PID控制器&#xff0c;可由MATLAB提供的pid函数直接输入&#xff0c;格式为&#xff1a; 其他类型的控制器也可以由该函数直接输入&#x…

linux(权限)

sudo 主要用来短暂的提权 权限 就是 >角色目标属性 这里面的角色就是---拥有者----所属组----other 所属组的目的&#xff1f; 更细化的管理 chmod 就是修改权限制 我们要是想要切换到体育的账号&#xff0c;我们可以去看一下有几个账号,我…

《OpenCV》—— dlib(换脸操作)

文章目录 dlib换脸介绍仿射变换在 dlib 换脸中的应用 换脸操作 dlib换脸介绍 dlib 换脸是基于 dlib 库实现的一种人脸替换技术&#xff0c;以下是关于它的详细介绍&#xff1a; 原理 人脸检测&#xff1a;dlib 库中包含先进的人脸检测器&#xff0c;如基于 HOG&#xff08;方向…

修改Flutter项目使用的JAVA版本

使用Android studio开发Flutter过程中&#xff0c;会默认使用Android studio自带的JDK。因为新版Android studio中的JDK版本过高&#xff0c;导致项目编译时总是无法完成&#xff0c;报【 unsupported class file major version 65】错误&#xff0c;如下&#xff1a; 解决这个…

虚拟dom的diff中的双端比较算法

‌双端比较算法是Vue中用于高效比较新旧VNode子节点的一种策略‌。该算法的核心思想是&#xff0c;通过从新旧VNode子节点的两端开始比较&#xff0c;逐步向中间靠拢&#xff0c;以找到最小的差异并据此更新DOM。以下是双端比较算法的大致流程&#xff1a; ‌初始化指针‌&…