目录

概述

系统设计

对象存储

块存储

文件系统

名词

历史

版本发布历史

名称来源


概述

多爪鱼(Ceph)是一个开源软件存储平台,实现了在一个统一的分布式计算机集群上的对象存储,并提供三合一的接口,用于对象级、块级和文件级的存储。多爪鱼(Ceph)的主要目标是:

  • 进行完全的分布式运营而不用担心单节点的失效
  • 可以扩展到EB级别(百万TB)
  • 可以自由使用

多爪鱼(Ceph)会复制数据,并使其具有差错容忍性,使用通用硬件(commodity hardware)并且不要求任何特殊的硬件支持。它被设计为可自愈的(self-healing)和可自管理的(self-managing),目标是最小化管理时间和其他花费。

多爪鱼(Ceph)的编写语言是C++和派森(Python)。

系统设计

多爪鱼(Ceph)使用了5个完全不同类型的守护进程(daemon):

  • 集群监视器(ceph-mon):持续追踪活跃的和失效的集群节点、集群配置,以及关于数据存放位置的信息,还有全局集群状态
  • 对象存储设备(ceph-osd):使用一个直接的、日志磁盘存储(被称为“蓝存”——BlueStore,它从12.x版本开始替代了底层使用文件系统的FileStore)
  • 元数据服务器(ceph-mds):缓存和代理对CephFS文件系统内的索引节点号(inodes)和目录的访问
  • HTTP网关(ceph-rgw):向对象存储层暴露为一个接口,与亚马逊S3或开放栈(OpenStack)的雨燕(Swift)API兼容
  • 管理器(ceph-mgr):实现集群监视、记账(bookkeeping)、维护任务,向外部管理和监视系统提供接口,例如:负载均衡器(Load Balancer)、监控仪表界面(Dashboard)、Prometheus、Zabbix插件。

所有这些都是完全分布式的,并且可以运行在同一个服务器集合中。而具有不同需求的客户端则可以直接与它们中的不同子集进行交互。

  • 条带化(striping):多爪鱼(Ceph)会对单个文件进行跨越多个节点的条带化(striping),以获得更高的吞吐量,与RAID0跨越多个硬盘的条带化分区类似。
  • 负载均衡(Load Balancing):最常被访问的对象会被复制到更多的节点上。
  • 物理存储管理
    • 蓝储(BlueStore)。截至2017年9月,蓝储是默认的、也是推荐的用于生产环境的存储类型,它是多爪鱼(Ceph)自有的存储实现,提供比Filestore更好的时延性和可配置性,同时避免了基于文件系统的存储在附加处理和缓存层上的短板
    • 文储(Filestore)。Filestore后台仍然被认为是有效和非常稳定的。
    • 文件系统(Filesystem)。XFS曾经是推荐的、用于生产环境的底层文件系统类型,而Btrfs则被推荐用于非生产环境。ext4文件系统是不推荐的,因为它对最大的RADOS对象长度存在限制。即使使用蓝存(BlueStore),XFS也被用于一个小型的元数据分区

对象存储

多爪鱼(Ceph)实现了分布式对象存储“蓝储”(BlueStore)。多爪鱼(Ceph)的软件库提供了客户端应用程序,它可以直接访问“可靠原子分布式对象存储”(RADOS)这个基于对象的存储系统,同时为一些多爪鱼(Ceph)的功能提供一个基础,包括:

  • RADOS块设备(RBD)
  • RADOS网关
  • 多爪鱼(Ceph)文件系统

librados软件库提供C、C++、爪哇(Java)、PHP和派森(Python)的访问接口。RADOS网关同时将对象存储对外暴露为一个RESTful接口,它既可以呈现为本地的亚马逊S3接口,也可以呈现为开放栈(OpenStack)雨燕(Swift)API。

块存储

多爪鱼(Ceph)的对象存储系统允许用户将多爪鱼(Ceph)挂载为一个“瘦提供”块设备。当一个应用程序使用一个块设备向多爪鱼(Ceph)写入数据的时候,多爪鱼(Ceph)会自动将数据横跨集群进行条带化和复制。多爪鱼(Ceph)的RADOS块设备(RBD)同时还会与KVM虚拟机进行集成。

多爪鱼(Ceph)RBD与相同的多爪鱼(Ceph)对象存储系统对接,这个提供提供librados接口,以及CephFS文件系统,并将块设备映像存储为对象。因为RBD是构建在librados之上的,因此RBD继承了librados的能力,包括只读快照,以及回退到快照。通过横跨集群地对映像进行条带化,Ceph为大尺寸块设备映像提升了读访问的性能。

块设备可以被虚拟化,向虚拟机提供块存储,可以在很多虚拟化平台上实现,包括:

  • 阿帕奇的云栈(Apache CloudStack)
  • 开放栈(OpenStack)
  • 开放星云(OpenNebula)
  • 加内特(Ganeti)
  • 普罗克斯摩克斯虚拟环境(Proxmox Virtual Environment)

文件系统

多爪鱼(Ceph)的文件系统被称为“多爪鱼FS”(CephFS),它是运行在下层的对象存储系统之上的,这个下层系统提供对象存储和块设备接口。多爪鱼(Ceph)元数据服务器集群会提供一个服务,它将文件系统的目录和文件名,映射到存储在RADOS集群中的对象。这个元数据服务器集群可以扩展或收缩,它也可以对文件系统进行重新“平衡”,从而动态地将数据均匀分布到集群中的各个主机。这确保了高性能,并防止了集群中特定节点的高负载。

客户端使用一个Linux内核客户端来挂载POSIX兼容的文件系统。一个更早期的基于FUSE的客户端也可以使用。这些服务器就像普通Unix守护进程一样运行。

名词

CMDS:Ceph Matadata Daemon,多爪鱼(Ceph)元数据守护进程

COSD:Ceph Opject Storage Daemon,多爪鱼(Ceph)对象存储守护进程

CMON:Ceph Monitor,多爪鱼(Ceph)监视器

RADOS:Reliable Autonomic Distributed Ojbect Store,可靠自动分布式对象存储

RBD:RADOS Block Device,RADOS块设备

BTRFS:B-Tree File System,B-树文件系统

历史

美国人赛奇·威尔(Sage Weil)最初是为他的博士毕业论文,在加州大学圣克鲁兹分校(UCSC)杰克·巴斯金工程学院(Jack Baskin School)的斯科特·A·布兰迪教授(Professor Scott A. Brandt)的建议下,创建了多爪鱼(Ceph),并得到了先进模拟和计算项目(Advanced Simulation and Computing Program,简称ASC)的资助,该项目成员包括:

  • 洛斯阿拉莫斯国家实验室(LANL)
  • 桑迪亚国家实验室(SNL)
  • 劳伦斯利弗莫尔国家实验室(LLNL)

多爪鱼(Ceph)的第一行代码由赛奇·威尔(Sage Weil)在2004年写下,当时他在LLNL做夏季实习生,承担关于可伸缩文件系统元数据管理方面的工作——今天被称为多爪鱼(Ceph)MDS。在2005年,作为斯科特·A·布兰迪(Scott A. Brandt)所发起的、卡洛斯·马尔扎恩(Carlos Maltzahn)所领导的夏季项目的一部分,赛奇·威尔(Sage Weil)创建了一个具有完全功能的文件系统原型,采用了多爪鱼(Ceph)作为其名称。多爪鱼(Ceph)在赛奇·威尔于2006年11月所做的两场演示中初次亮相,一次是2006年度USENIX(UNIX用户群)OSDI(操作系统设计与实现座谈会),另一次则是在SC(超算大会,现更名为高性能计算、组网、存储和分析国际大会)。

在他于2007年秋季毕业以后,威尔继续全职投入多爪鱼(Ceph)的工作,而核心开发团队则进一步扩展,吸纳了犹大·萨迪·韦因拉布和格里高利·法那姆。2010年03月19日,林纳斯·托瓦兹(Linus Torvalds)将Ceph客户端合入到Linux内核版本2.6.34中,并与2010年05月16日发布。2012年,威尔创建了墨水柜存储(Inktank Storage),来为Ceph提供专业服务和支持。

2014年04月,红帽公司收购了墨水柜(Inktank),使得多爪鱼(Ceph)的大部分工作都变成内部开发。

2015年10月,多爪鱼(Ceph)社区咨询委员会成立,目的是在驱动开源的软件定义存储技术方面,帮助社区。宪章咨询委员会包括来全球的、对多爪鱼(Ceph)项目有承诺义务的IT组织的多爪鱼(Ceph)社区成员,包括来自这些组织的个人:

  • 科能软件(Canonical)
  • 欧洲核研究组织(CERN)
  • 思科(Cisco)
  • 富士通(Fujitsu)
  • 英特尔(Intel)
  • 红帽(Red Hat)
  • 闪迪(SanDisk)
  • 苏泽(Suse)

版本发布历史

名称

中文含义

版本号

发布时间

结束维护日

里程碑

Argonaut

船蛸

0.48

2012年07月03日

 

首个主要的“稳定”发行版

Bobtail

短尾巴

0.56

2013年01月01日

   

Cuttlefish

乌贼

0.61

2013年05月07日

 

ceph-deploy组件发布稳定版

Dumpling

包馅面皮

0.67

2013年08月14日

2015年05月

命名空间、区域,以及监视REST API

Emperor

皇帝

0.72

2013年11月09日

2014年05月

用于radosgw(可靠自动分布式对象存储网关)的多数据中心复制

Firefly

萤火虫

0.80

2014年05月07日

2016年04月

擦除式编码、缓存分层、主节点亲密、键/值OSD(对象存储设备)后台(体验版)、独立radosgw(体验版)

Giant

巨人

0.87

2014年10月29日

2015年04月

 

Hammer

锤子

0.94

2015年04月07日

2017年08月

 

Infernalis

9.2.0

2015年11月06日

2016年04月

 

Jewel

珠宝

10.2.0

2016年04月21日

2018年06月01日

稳定的CephFS,体验版RADOS后台被命名为“蓝存”(BludStore)

Kraken

海妖

11.2.0

2017年01月20日

2017年08月01日

“蓝存”发布稳定版

Luminous

发光

12.2.0

2017年08月29日

   

Mimic

模仿

13.2.0

2018年06月01日

 

快照模块发布稳定版,Beast模块发布稳定版

Nautilus

鹦鹉螺

14.2.0

2019年03月19日

   

Octopus

章鱼

15.2.0

2020年03月23日

   

名称来源

多爪鱼(Ceph)是cephalopod(头足类动物/头足纲,包括章鱼、鱿鱼、乌贼等)的简称,它是软体动物门(如蜗牛、螺蛳)下面的一个纲。这个名称(包括它的logo)表示它的高并发行为,就像章鱼一样。而叫这个名称,也是为了和赛米(Sammy)文件系统关联,赛米(Sammy)是加州大学圣克鲁兹分校(UCSC)的吉祥物香蕉鼻涕虫(banana slug)的名字。

Ceph——多爪鱼(开源云存储平台软件),目前由红帽支持相关推荐

  1. 导入开源的文件云存储平台-Seafile

    1 理论基础 1.1 简介 Seafile 是一个开源的文件云存储平台,更注重于隐私保护和对团队文件协作的支持. Seafile 通过"资料库"来分类管理文件,每个资料库可单独同步 ...

  2. 开源的企业文件云存储平台

    开源的企业文件云存储平台 Seafile是一个面向企业.团队的云盘,解决文件管理和共享的问题.在此基础上,Seafile提供群组协作的功能,形成一个以文档为中心的协作平台. 对其内容详细阅读

  3. 【存储】2022 年的 4 个开源对象存储平台

    介绍 在处理大量非结构化数据时,我们需要一个地方来存储它.我们选择存储数据的方式有很多种,但今天我们要关注的一种是对象存储或基于对象的存储.这是处理大量数据时的最佳选择,特别是因为它并不昂贵,并且可以 ...

  4. 九州云重磅推出基于Rocky版本全新开源云管理平台

    10月10日,以"拳拳匠心 赋能未来"为主题的九州云全新开源云管理平台 Animbus7.0 线上发布会正式拉开序幕.九州云CEO张淳.九州云COO王忠伟.九州云创始人&副 ...

  5. 阿里云OSS云存储平台

    阿里云OSS云存储平台实战--图片上传/下载/删除 一.OSS实战要求 使用SpringBoot和OSS实现图片的上传.下载和删除功能, 具体要求如下: 可以使用postman 发送上传请求 /pic ...

  6. 5G 来袭,数据暴增,新一代云存储平台如何承载?

    随着5G.大数据.人工智能等新兴技术的发展,数据进一步大幅增长.IDC预计,到2025年,全球将有175 ZettaBytes的数据总量.与此同时,存储的可扩展性.容量等问题逐渐凸显,需要大规模的数据 ...

  7. 开源云管平台有哪些?有哪些优势?

    上云企业逐渐增加,对于管理的要求也越来越高,云管理平台也逐渐增加.那你知道开源云管平台有哪些?有哪些优势?有大神能告知一下吗? 开源云管平台有哪些? 1.OpenStack 2.Mist.io 3.O ...

  8. 云管理平台:9大开源云管理平台(CMP)

    文章目录 一.什么是CMP? 二.云管理平台的工作原理 三.9大开源云管理平台 1.Apache CloudStack 2.OpenStack 3.ManageIQ 4.Cloudify 5.Mist ...

  9. Air Explorer pro(云存储资源管理软件)中文破解版 v2.5.6绿色版

    点击下载来源:Air Explorer pro(云存储资源管理软件)中文破解版 v2.5.6绿色版 Air Explorer是一款非常好用且专业的云存储资源管理软件,它的全称为Air Explorer ...

最新文章

  1. effective c++
  2. python第三方库下载-python常用第三方库介绍及下载
  3. 和Java相关的书籍,想成为架构师的请收藏一下啊
  4. freeMarker自定义函数的使用
  5. core dump 崩溃分析
  6. OpenGL springmass弹簧质量模拟器的实例
  7. Linux2017Linux架构师!
  8. Django学习(第四天:ORMModel)
  9. 忧云:喻红艺术展观后
  10. 配置快捷键让Total Commander跳转到某个目录
  11. 5G手机江湖:一场卡位战,一位“关键先生”,一个“王者”
  12. 安装SQL Server Express和SQL Server Management Studio
  13. 持久层框架Hibernate和Mybatis对比
  14. 【数据结构】从零实现顺序表+链表相关操作
  15. IT 必备电脑快捷键
  16. .Net 文件名后缀的详细解释
  17. line 1: syntax error: unexpected (
  18. java中遍历Set的方法
  19. ResNet之残差结构的理解
  20. Java反射API简介

热门文章

  1. 高仿百思不得姐(败家姐模块)---cuzySdk IOS demo 已经发布
  2. java 地铁线路_地铁线路管理系统
  3. 金山:2月新增病毒356万 十大病毒出炉
  4. 谷歌眼镜开发Mirror API之Glassware启动清单
  5. 高校保研及踩坑经历分享
  6. 从管理1800人团队到退隐江湖,阿里留不下的饿了么 CTO 是我的领导!
  7. 用SHOPEX增强工具把淘宝数据包批量上传到自己的ShopEX独立网店
  8. 巨控GRM530远程模块 RS485串口通讯设备应用
  9. Moving stones
  10. 《个人信息保护条例》