专栏名称: 云技术实践
关注云计算,云技术,云运维,云存储,存储,分布式,OpenStack,SDN,Ceph,虚拟化,运维,分享在云计算/虚拟化/运维项目实施中的资讯、经验、技术,坚持干货。
目录
相关文章推荐
夕小瑶的卖萌屋  ·  RAG 架构图解:从基础到高级的7种模式 ·  昨天  
夕小瑶的卖萌屋  ·  RAG 架构图解:从基础到高级的7种模式 ·  昨天  
架构师之路  ·  预防DNS劫持+IP直通车优化 | ... ·  昨天  
架构师之路  ·  谁能告诉我:软件测试到底有没有出路? ·  2 天前  
架构师之路  ·  分布式系统一致性为什么难做? | ... ·  3 天前  
架构师之路  ·  PHP使用local-proxy的一种思路! ... ·  4 天前  
51好读  ›  专栏  ›  云技术实践

激动人心!Ceph新长支持稳定版本Luminous(12.x.x)有那些新功能

云技术实践  · 公众号  · 架构  · 2017-06-28 06:58

正文

编者按


Web管理界面,直接管理裸盘,加密存储,Ceph新版本的功能激动人心,并且这个版本有很多代码是中国人贡献的。


本文翻译自Ceph官方博客,Ceph新长支持稳定版本Luminous(12.x.x),已经出RC版了,有那些激动人心的功能,让我们先睹为快。


翻译的过程是译者和作者思想沟通的过程,也是一个学习的过程,中间充满艰辛,也充满快乐,欢迎大家加入云技术社区翻译小组,一起交流、学习、提高,加入请联系群主(群主微信:xiaolikvm),也欢迎大家推荐好的英文技术资料到云技术社区,由社区会组织翻译,一起共同学习。


翻译 云技术社区首席金牌翻译 武楠

校对 云技术社区 肖力


通用功能:

目前,Ceph拥有一个操作简单,基于Web的内置仪表板,用于监控群集状态。

(Ceph Dashboard具体可以参阅Ceph官网中文文档:Ceph luminous 新功能之内置dashboard)


RADOS:

  • BlueStore:

  • ceph-osd的新后端存储BlueStore已经稳定,是新创建的OSD的默认设置。 BlueStore通过直接管理物理HDD或SSD而不使用诸如XFS的中间文件系统,来管理每个OSD存储的数据,这提供了更大的性能和功能。

  • BlueStore支持Ceph存储的所有的完整的数据和元数据校验。

  • BlueStore内嵌支持使用zlib,snappy或LZ4进行压缩。(Ceph还支持zstd进行RGW压缩,但由于性能原因,不为BlueStore推荐使用zstd)。

  • 擦除编码池现在完全支持覆盖,允许它们与RBD和CephFS一起使用。


  • ceph-mgr:

  • ceph-mgr是一个新的后台进程,这是任何Ceph部署的必须部分。虽然当ceph-mgr停止时,IO可以继续,但是度量不会刷新,并且某些与度量相关的请求(例如,ceph df)可能会被阻止。我们建议您多部署ceph-mgr的几个实例来实现可靠性。

  • ceph-mgr后台进程包括一个基于REST的管理API。 API仍然处于实验阶段,有一定的限制,但未来将成为Ceph基于API管理的基础。


  • 集群的总体可扩展性有所提高。我们已经成功测试了多达10,000个OSD的集群。

  • 目前,每个OSD都具有与其相关联的设备类(例如,hdd或ssd),允许CRUSH规则将数据简单地映射到系统中的设备的子集。通常不需要手动编写CRUSH规则或手动编辑CRUSH。

  • 可以优化CRUSH权重,以保持OSD之间数据的近乎完美的分布。

  • 还有一个新的upmap异常处理机制,允许单个PG移动以实现完美的分发(这需要客户端)。

  • 每个OSD目前可以根据后端设备是HDD还是SSD来调整其默认配置。一般不需要手动调整。

  • 原型mclock QoS排队算法现在是可用的;

  • 现在有一种退出机制,可以防止OSD出现对当前不能处理IO对象或PG的请求过载情况。

  • OSD更换过程简化,变得更加强大了。

  • 您可以使用ceph功能来查询所有连接的后台程序和客户端的支持功能和版本。

  • 通过ceph osdset-require-min-compat-client连接到集群,您可以配置最旧的Ceph客户端版本,但 Ceph将阻止您启用会破坏与这些客户端的兼容性的功能。

  • 包括osd_recovery_sleep,osd_snap_trim_sleep和osd_scrub_sleep的几个睡眠设置,已经被重新实现,并且可以有效地工作。(这些在某些情况下用于解决问题,限制后台工作。)

 

RGW:

 

  • 目前,RGW支持最终用户请求服务,通过ElasticSearch进行RGW元数据搜索,并且还支持自定义元数据字段。查询语言是一组RESTful API,用户可以通过其元数据来搜索对象。还添加了允许自定义元数据字段控制的新API。

  • RGW支持动态存储桶索引分片。随着桶中的对象数量的增加,RGW将自动重新构建桶索引。不需要用户干预或桶大小容量规划。

  • RGW引入了上传对象的服务器端加密,用于管理加密密钥的三个选项有:自动加密(仅推荐用于测试设置),客户提供的类似于Amazon SSE-C规范的密钥,以及通过使用外部密钥管理服务 OpenstackBarbician)类似于Amazon SSE-KMS规范。

  • RGW具有初步的类似AWS的存储桶策略API支持。现在,策略是一种表达一系列新授权概念的方式。未来,这将成为附加身份验证功能的基础,例如STS和组策略等。

  • RGW通过使用rados命名空间合并了几个元数据索引池。

 

RBD:

 

  • RBD目前通过新的--data-pool选项来创建rbd,对擦除编码池具有完整的,稳定的支持。

  • RBD镜像的rbd-mirror后台进程是可用的。我们建议您多部署几个rbd镜像来实现可靠性。

  • 在创建集群期间,不再自动创建默认的“rbd”池。另外,当没有指定池时,rbd CLI使用的默认池的名称可以通过新的rbd default pool = 配置选项来覆盖。

  • 通过新的rbd trash CLI命令初始支持延迟映像删除。镜像,即使是由克隆主动使用的镜像,也可以移动到垃圾桶,并在以后删除。

  • 新的管理池级别的rbd mirror poolpromote和rbd mirror pool demote命令可以批量提升/降级池内所有的镜像文件。

  • 镜像现在可以通过rbd mirroringreplay delay = 配置选项支持可配置的复制延迟。

  • 当对象映射功能启用时,可改进丢弃处理功能。

  • rbd CLI导入和复制命令现在可以检测稀疏并保留稀疏区域。

  • 快照可以包含创建时间戳。

 

CephFS:

 

  • 现在,多个活动的MDS后台程序是稳定的。活动的MDS服务器的数量可以基于活动的CephFS文件系统进行上下调整。

  • CephFS目录分片现在是稳定的,默认情况下在新的文件系统上启用。要使其在现有的文件系统上启动,要使用“ceph fs set allow_dirfrags”。大型或非常繁忙的目录被分割并(可能)自动分布在多个MDS后台驻留程序中。

  • 在不需要自动负载均衡的情况下,目录子树可以明确固定到特定的MDS后台程序。


Miscellaneous:

 

  • Debian Stretch现在正在构建版本包。我们现在构建的发行版包括: 

  • CentOS 7 (x86_64and aarch64)

  • Debian 8 Jessie(x86_64)

  • Debian 9 Stretch(x86_64)

  • Ubuntu 16.04 Xenial(x86_64 and aarch64)

  • Ubuntu 14.04Trusty (x86_64)

  • 注意 QA 仅限于 CentOS 和 Ubuntu (xenialand trusty).

 

CLI 变更:

 

  • ceph -s 或者 ceph status 命令焕然一新。

  • ceph {osd,mds,mon}版本总结了运行后台进程的版本。

  • ceph {osd,mds,mon} count-metadata 类似地列出通过ceph {osd,mds,mon}元数据命令可见的任何其他守护进程元数据。

  • ceph功能总结了连接的客户端和后台程序的功能和版本。

  • ceph osd require-osd-release 替换旧的require_RELEASE_osds标识。

  • ceph osd pg-upmap,ceph osdrm-pg-upmap,ceph osd pg-upmap-items,ceph osdrm-pg-upmap-items可以明确地管理upmap项目。

  • ceph osdgetcrushmap在stderr上返回一个crush map版本号,如果版本匹配,ceph osdsetcrushmap [version]将只会注入更新的crush map。这允许crush map进行离线更新,然后重新注入到群集中,而不用担心变化(例如,通过新添加的osds或其他管理员的更改)。

  • ceph osd的创建已被ceph osd替换为新的。大多数用户应该使用像ceph-disk这样面向用户的工具来隐藏这个。

  • ceph osd destroy将标记一个已毁坏的OSD,并删除其cephx和lockbox秘钥。但是,OSD ID和CRUSH映射条目将保持原样,允许使用最少数据重新平衡的替换设备重新使用该ID。

  • ceph osd清除将从集群中删除OSD的所有痕迹,包括其cephx加密密钥,dm-crypt lockbox秘钥,OSD ID和crush map条目。

  • ceph osd ls-tree将在给定的CRUSH名称(如主机或机架名称)下输出OSD id列表。这对于为整个子树应用更改信息非常有用。例如,ceph osd down`cephosd ls-tree rack1`。

  • ceph osd {add,rm} - {noout,noin,nodown,noup}允许noout,nodown,noin和noup标识应用于特定的OSD。

  • ceph log last [n]将输出集群日志的最后n行。

  • ceph mgr dump将转储MgrMap,包括当前活动的ceph-mgr后台程序和任何备用程序。

  • ceph osd crushswap-bucket 将交换层次结构中两个CRUSH桶的内容,同时保留存储桶的id。这允许替换整个设备子树(例如,用新成像的BlueStore OSD替换整个主机的FileStore OSD),而不会中断跨越相邻设备的数据分布。

  • ceph osdset-require-min-compat-client 可以配置支持群集的最旧的客户端版本。其他更改,如CRUSH可调参数,如果违反此设置,将会失败并显示错误。如果当前连接到集群的客户端版本比指定版本还老旧,则更改此设置也将失败。

  • ceph config-keydump转储配置密钥条目及其内容。(已有的ceph config-keyls仅转储密钥名称,而不是值。)

  • ceph osd set-{full,nearfull,backfillfull}-ratio将集群范围的比例设置为各种全阈值(例如:当集群拒绝IO时,当集群警告接近满时,当OSD延迟PG重新平衡到本身时)。

  • ceph osdreweightn将在单个命令中指定多个OSD的reweight值。这相当于一系列ceph osd rewight命令。

  • ceph crush class {create,rm,ls}管理新的CRUSH设备类功能。 ceph crushset-device-class 将为特定设备设置clas。

 

  • ceph mon featurels将列出MonMap中记录的监视功能。ceph monfeature set将设置一个可选功能(这些功能尚未存在)。


相关阅读:

高端私有云项目交流群,欢迎加入!

收藏了,硬盘、RAID组与Ceph的IOPS公式与工具

Ceph iSCSI Gateway Demo安装配置(上)|实名群分享实录

Ceph iSCSI Gateway Demo安装配置(下)|实名群分享实录



加入中国最活跃的KVM技术讨论QQ群,加群主QQ:502207183,并注明城市、行业、技术方向。