编者按
Web管理界面,直接管理裸盘,加密存储,Ceph新版本的功能激动人心,并且这个版本有很多代码是中国人贡献的。
本文翻译自Ceph官方博客,Ceph新长支持稳定版本Luminous(12.x.x),已经出RC版了,有那些激动人心的功能,让我们先睹为快。
翻译的过程是译者和作者思想沟通的过程,也是一个学习的过程,中间充满艰辛,也充满快乐,欢迎大家加入云技术社区翻译小组,一起交流、学习、提高,加入请联系群主(群主微信:xiaolikvm),也欢迎大家推荐好的英文技术资料到云技术社区,由社区会组织翻译,一起共同学习。
翻译 云技术社区首席金牌翻译 武楠
校对 云技术社区 肖力
目前,Ceph拥有一个操作简单,基于Web的内置仪表板,用于监控群集状态。
(Ceph Dashboard具体可以参阅Ceph官网中文文档:Ceph luminous 新功能之内置dashboard)
RADOS:
ceph-osd的新后端存储BlueStore已经稳定,是新创建的OSD的默认设置。 BlueStore通过直接管理物理HDD或SSD而不使用诸如XFS的中间文件系统,来管理每个OSD存储的数据,这提供了更大的性能和功能。
BlueStore支持Ceph存储的所有的完整的数据和元数据校验。
BlueStore内嵌支持使用zlib,snappy或LZ4进行压缩。(Ceph还支持zstd进行RGW压缩,但由于性能原因,不为BlueStore推荐使用zstd)。
擦除编码池现在完全支持覆盖,允许它们与RBD和CephFS一起使用。
集群的总体可扩展性有所提高。我们已经成功测试了多达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。
相关阅读:
高端私有云项目交流群,欢迎加入!
收藏了,硬盘、RAID组与Ceph的IOPS公式与工具
Ceph iSCSI Gateway Demo安装配置(上)|实名群分享实录
Ceph iSCSI Gateway Demo安装配置(下)|实名群分享实录
加入中国最活跃的KVM技术讨论QQ群,加群主QQ:502207183,并注明城市、行业、技术方向。