Linux 概念:存储
块存储
(略)
文件存储
基于文件系统的本地文件存储;
基于网络的共享文件存储:NFS、Samba、Windows文件共享;
基于网络的分布式文件存储:HDFS...
对象存储
一种Key(对象ID)-- Value(对象数据)型的存储系统;所有数据的存储基于对象ID,通过元数据记录对象的属性信息。
ceph 简介
统一的分布式存储系统,同时提供了对象、块、和文件存储功能。Ceph 中文文档
不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。
ceph 基本概念
- Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。
当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)。
- Monitors: Ceph Monitor 维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。
Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。
- MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据。(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )
元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。
Ceph 把客户端数据保存为存储池内的对象。通过使用 CRUSH 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。
存储池 Pool:定义存储池大小、用户权限、PG数量、数据复制份数以及CRUSH Ruleset(数据分布规则)。
存放组 Place Group:决定对象存放位置的OSD节点组合,组合会根据OSD节点的数量、状态和CRUSH Ruleset的规则计算得出,动态变化。
CRUSH Ruleset:定义了对象复制的份数及选取OSD节点的规则。 # CRUSH 我翻译为:可控、弹性、多副本复制
对象Object:Ceph 将所有数据都存放在对象中,每个对象对应的OSD节点文件系统里的一个文件,缺省文件大小是4M。
Ceph 对象网关
radosgw 是一个构建在 librados 之上的对象存储接口,它为应用程序访问Ceph 存储集群提供了一个 RESTful 风格的网关,可以用一个接口写如数据、然后用另一个接口取出数据。
Ceph 对象存储支持 2 种接口:
- 兼容S3: 提供了对象存储接口,兼容 亚马逊S3 RESTful 接口的一个大子集。
- 兼容Swift: 提供了对象存储接口,兼容 Openstack Swift 接口的一个大子集。
Ceph 对象存储不使用 Ceph 元数据服务器。
Ceph 块设备
块是一个字节序列(例如,一个 512 字节的数据块)。基于块的存储接口是最常见的存储数据方法。
Ceph 块设备是精简配置的、大小可调且将数据条带化存储到集群内的多个 OSD 。
Ceph 块设备利用 RADOS 的多种能力,如快照、复制和一致性。 Ceph 的 RADOS 块设备( RBD )使用内核模块或 librbd 库与 OSD 交互。
Ceph 块存储不使用 Ceph 元数据服务器。
Ceph 文件系统
Ceph 文件系统( Ceph FS )是个 POSIX 兼容的文件系统,它使用 Ceph 存储集群来存储数据。
Ceph 文件系统与 Ceph 块设备、同时提供 S3 和 Swift API 的 Ceph 对象存储、或者原生库( librados )一样,都使用着相同的 Ceph 存储集群系统。
Ceph 文件系统要求 Ceph 存储集群内至少有一个 Ceph 元数据服务器。
伸缩性和高可用性
在传统架构里,客户端与一个中心化的组件通信(如网关、中间件、 API 、前端等等),它作为一个复杂子系统的唯一入口,它引入单故障点的同时,也限制了性能和伸缩性(就是说如果中心化组件挂了,整个系统就挂了)。
Ceph 消除了集中网关,允许客户端直接和 Ceph OSD 守护进程通讯。 Ceph OSD 守护进程自动在其它 Ceph 节点上创建对象副本来确保数据安全和高可用性;为保证高可用性,监视器也实现了集群化。为消除中心节点, Ceph 使用了 CRUSH 算法。
高可用监视器
Ceph 客户端读或写数据前必须先连接到某个 Ceph 监视器、获得最新的集群运行图副本。一个 Ceph 存储集群只需要单个监视器就能运行,但它就成了单一故障点(即如果此监视器宕机, Ceph 客户端就不能读写数据了)。
为增强可靠性和容错能力, Ceph 支持监视器集群;在一个监视器集群内,延时以及其它错误会导致一到多个监视器滞后于集群的当前状态,因此, Ceph 的各监视器例程必须就集群的当前状态达成一致。Ceph 总是使用大多数监视器(如: 1 、 2:3 、 3:5 、 4:6 等等)和
Paxos 算法就集群的当前状态达成一致。
关于配置监视器的详情,见监视器配置参考。
更多内容参见体系结构。
ceph 存储集群
所有 Ceph 部署都始于 Ceph 存储集群。
基于 RADOS 的 Ceph 对象存储集群包括两类守护进程:
- 对象存储守护进程( OSD )把存储节点上的数据存储为对象;
- Ceph 监视器( MON )维护集群运行图的主拷贝。
一个 Ceph 集群可以包含数千个存储节点,最简系统至少需要一个监视器和两个 OSD 才能做到数据复制。
配置和部署
Ceph 存储集群的某些配置选项是必要的,但大多数都有默认值。
典型部署是通过部署工具定义集群、并启动监视器的,关于 ceph-deploy 的详情见部署。
运维
应用编程接口
Linux 概念:存储的更多相关文章
- 【转】Linux 概念架构的理解
转:http://mp.weixin.qq.com/s?__biz=MzA3NDcyMTQyNQ==&mid=400583492&idx=1&sn=3b18c463dcc451 ...
- linux的存储结构
在linux中存储结构如下: Linux系统中的文件存储结构 那么在linux中每个目录都是什么含义呢 在linux中相对路径和绝对路径是必须要了解的一个概念 绝对路径(absolute path): ...
- 截取linux文件存储路径方法
1.截取linux文件存储路径方法 package com.tydic.eshop.action.freemarker; public class dddd { public static void ...
- Linux系统存储交换机日志
Linux系统存储交换机日志 日志记录是为系统设备在运行过程中报告其运行情况而设的, 为了保证系统正常运行, 解决每一天可能遇到的各种各样的问题, 网络管理员必须认真地读取日志记录.目前公司系 ...
- Linux 概念架构的理解
摘要 Linux kernel 成功的两个原因: 架构设计支持大量的志愿开发者加入到开发过程中: 每个子系统,尤其是那些需要改进的,都支持很好的扩展性. 正是这两个原因使得 Linux kernel ...
- linux概念之/proc与/sys
http://blog.chinaunix.net/uid-1835494-id-3070465.html proc/x:1/sched http://bbs.chinaunix.net/threa ...
- linux概念之内存分析
linux内存总结 分析样本[root@-comecs ~]# free total used free shared buffers cached Mem: -/+ buffers/cache: S ...
- linux概念之分区与文件系统
分区类型 [root@-shiyan dev]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly re ...
- linux概念之用户,组及权限
Linux 是一个多用户.多任务的操作系统:我们应该了解单用户多任务和多用户多任务的概念 单用户多任务一个beinan用户,为了完成工作,执行了几个任务:当然beinan这个用户,其它的人还能以远程登 ...
- (转)Linux概念架构的理解
英文原文:Conceptual Architecture of the Linux Kernel 摘要 Linux kernel成功的两个原因:(1)架构设计支持大量的志愿开发者加入到开发过程中:(2 ...
随机推荐
- Nginx常用配置及和基本功能讲解
作者:京东物流 殷世杰 Nginx已经广泛应用于J-one和Jdos的环境部署上,本文对Nginx的常用的配置和基本功能进行讲解,适合Nginx入门学习. 1 核心配置 找到Nginx安装目录下的co ...
- elastic-job源码(1)- job自动装配
版本:3.1.0-SNAPSHOT git地址:https://github.com/apache/shardingsphere-elasticjob Maven 坐标 <dependenc ...
- IE不兼容问题 字符串格式化
Js现在支持高级语法,字符串格式化 alert(`aaaa${content}`); 我们使用一段完整的html来打开测试下: 1 <!DOCTYPE html> 2 <html&g ...
- 关于 static
由static定义的被称为类属性 例如( static String company = "博客园" ) 类方法 例如( public static void printCo ...
- 互异关系容斥&集合幂级数小记
最近碰见了一些互异关系容斥的题目,而这类题目往往要配合集合幂级数的一些技术使用,所以简单记记. 内容很杂,行文很乱,作者水平很低,酌情观看. 互异关系容斥 思想其实很基本,应用范围其实很广. 原论文. ...
- Grafana系列-统一展示-7-ElasticSearch数据源
系列文章 Grafana 系列文章 ElasticSearch 数据源 Grafana内置了对Elasticsearch的支持.你可以进行多种类型的查询,以可视化存储在Elasticsearch中的日 ...
- 2022-07-29:一共有n个人,从左到右排列,依次编号0~n-1, h[i]是第i个人的身高, v[i]是第i个人的分数, 要求从左到右选出一个子序列,在这个子序列中的人,从左到右身高是不下降的。
2022-07-29:一共有n个人,从左到右排列,依次编号0~n-1, h[i]是第i个人的身高, v[i]是第i个人的分数, 要求从左到右选出一个子序列,在这个子序列中的人,从左到右身高是不下降的. ...
- 2022-06-02:一开始在0位置,每一次都可以向左或者向右跳, 第i次能向左或者向右跳严格的i步。 请问从0到x位置,至少跳几次可以到达。 来自字节。 力扣754. 到达终点数字。
2022-06-02:一开始在0位置,每一次都可以向左或者向右跳, 第i次能向左或者向右跳严格的i步. 请问从0到x位置,至少跳几次可以到达. 来自字节. 力扣754. 到达终点数字. 答案2022- ...
- Ubuntu下串口工具 PicoCOM 的使用和时间戳显示
PICOCOM Ubuntu下的串口软件, 除了 CuteCOM, screen, MiniCOM 以外, 还有一个和 MiniCOM 很像的 PicoCOM. 最近在调试 CH340C 串口的过程中 ...
- Python从零到壹丨详解图像锐化Roberts、Prewitt算子实现边缘检测
摘要:图像锐化和边缘提取技术可以消除图像中的噪声,提取图像信息中用来表征图像的一些变量,为图像识别提供基础.本章主要介绍Robert算子.Prewitt算子.Sobel算子.Laplacian算子.S ...