100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Ceph——多爪鱼(开源云存储平台软件) 目前由红帽支持

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

时间:2021-08-22 17:21:40

相关推荐

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

目录

概述

系统设计

对象存储

块存储

文件系统

名词

历史

版本发布历史

名称来源

概述

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

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

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

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

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

版本发布历史

名称来源

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。