ceph版本号

概述

第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 月。多年来,版本号方案一直没变,直到 2015 年 4 月 0.94.1 ( Hammer 的第一个修正版)发布后,为了避免 0.99 (以及 0.100 或 1.00 ?),我们制定了新策略。

  • x.0.z - 开发版(给早期测试者和勇士们)

  • x.1.z - 候选版(用于测试集群、高手们)

  • x.2.z - 稳定、修正版(给用户们)

x 将从 9 算起,它代表 Infernalis ( I 是第九个字母),这样我们第九个发布周期的第一个开发版就是 9.0.0 ;后续的开发版依次是 9.0.1 、 9.0.2 等等。

 

之前的版本号分别为:

 


 

Argonaut  0.48版本(LTS)     2012年6月3日

Bobtail   0.56版本(LTS)     2013年1月1日

Cuttlefish    0.61版本         2013年5月7日

Dumpling    0.67版本(LTS)     2013年8月14日

Emperor   0.72版本        2013年11月9日

Firefly    0.80版本(LTS)     2014年5月

Giant     Stable        October 2014 - April 2015

Hammer     LTS         April 2015 - November 2016

Infernalis    Stable        November 2015 - June 2016

Jewel               2016年4月

Kraken               2017年10月

Luminous                2017年10月

mimic                 2018年5月

 


 

 

Ceph v12.2 Luminous正式版本是Luminous v12.2.x长期稳定版本的第一个版本。在Kraken(v11.2.z)和Jewel(v10.2.z)后我们做了很多重大修改

 

在Kraken版本上进行的重要修改

  • 通用

    Ceph现在有一个内置的简易DarshBoard,用于监控集群状态。

  • RADOS

    • Bluestore 
      • ceph-osd的新后端存储BlueStore已经稳定,是新创建的OSD的默认设置。
        BlueStore通过直接管理物理HDD或SSD而不使用诸如XFS的中间文件系统,来管理每个OSD存储的数据,这提供了更大的性能和功能。
      • BlueStore支持Ceph存储的所有的完整的数据和元数据校验。
      • BlueStore内嵌支持使用zlib,snappy或LZ4进行压缩。(Ceph还支持zstd进行RGW压缩,但由于性能原因,不为BlueStore推荐使用zstd)。
    • EC池现在完全支持覆盖,允许它们与RBD和CephFS一起使用。
    • ceph-mgr:
      • ceph-mgr是一个新的后台进程,这是任何Ceph部署的必须部分。虽然当ceph-mgr停止时,IO可以继续,
        但是度量不会刷新,并且某些与度量相关的请求(例如,ceph df)可能会被阻止。我们建议您多部署ceph-mgr的几个实例来实现可靠性。
      • ceph-mgr守护进程daemon包括基于REST的API管理。注:API仍然是实验性质的,目前有一些限制,但未来会成为API管理的基础。
      • ceph-mgr还包括一个Prometheus插件。
      • ceph-mgr现在有一个Zabbix插件。使用zabbix_sender,它可以将集群故障事件发送到Zabbix Server主机。
        这样可以方便地监视Ceph群集的状态,并在发生故障时发送通知。
    • 集群的总体可扩展性有所提高。我们已经成功测试了多达10,000个OSD的集群。
    • 目前,每个OSD都具有与其相关联的设备类(例如,hdd或ssd),允许CRUSH规则将数据简单地映射到系统中的设备的子集。
      通常不需要手动编写CRUSH规则或手动编辑CRUSH。可以优化CRUSH权重,以保持OSD之间数据的近乎完美的分布。
    • 还有一个新的upmap异常处理机制,允许单个PG移动以实现完美的分发(这需要客户端)。
    • 每个OSD目前可以根据后端设备是HDD还是SSD来调整其默认配置。一般不需要手动调整。
    • 原型mclock QoS排队算法已经可用。
    • 新增一种退出机制,可以防止OSD出现对当前不能处理IO对象或PG的请求过载情况。
    • OSD更换过程简化,变得更加强大了。
    • 您可以使用ceph功能来查询所有连接的后台程序和客户端的支持功能和版本。
    • 通过ceph osd set-require-min-compat-client连接到集群,您可以配置最旧的Ceph客户端版本,但 Ceph将阻止您启用会破坏与这些客户端的兼容性的功能。
    • 包括osd_recovery_sleep,osd_snap_trim_sleep和osd_scrub_sleep的几个睡眠设置,已经被重新实现,并且可以有效地工作。(这些在某些情况下用于解决问题,限制后台工作。)
    • 完成对Luminous的升级后,集群将尝试将现有池与已知应用(即CephFS,RBD和RGW)相关联。未与应用程序关联的使用池将生成健康警告,可以使用新命令手动关联任何未关联的池。ceph osd pool application enable
  • RGW

    • RGW支持最终用户请求服务,通过ElasticSearch进行RGW元数据搜索,并且还支持自定义元数据字段。
      查询语言是一组RESTful API,用户可以通过其元数据来搜索对象。还添加了允许自定义元数据字段控制的新API。
    • RGW支持动态存储桶索引分片。随着桶中的对象数量的增加,RGW将自动重新构建桶索引。不需要用户干预或桶大小容量规划。
    • RGW引入了上传对象的服务器端加密,用于管理加密密钥的三个选项有:自动加密(仅推荐用于测试设置),客户提供的类似于Amazon SSE-C规范的密钥,以及通过使用外部密钥管理服务 OpenstackBarbician)类似于Amazon SSE-KMS规范。
    • RGW具有初步的类似AWS的存储桶策略API支持。现在,策略是一种表达一系列新授权概念的方式。未来,这将成为附加身份验证功能的基础,例如STS和组策略等。
    • RGW通过使用rados命名空间合并了几个元数据索引池。
    • 新增S3对象标记API; 只支持GET / PUT / DELETE和PUT。
    • RGW多站点支持在桶级启用或禁用同步。
  • RBD

    • RBD目前通过新的–data-pool选项来创建rbd,对EC池具有完整稳定的支持。
    • RBD镜像的rbd-mirror后台进程是可用的。我们建议您多部署几个rbd镜像来实现可靠性。
    • RBD镜像的rbd-mirror守护进程使用每个实例的唯一Ceph用户ID来支持新的Dashboard。
    • 在创建集群期间,不再自动创建默认的’rbd’池。另外,当没有指定池时,rbd CLI使用的默认池的名称可以通过新的rbd default pool = <pool name>配置选项来覆盖。
    • 通过新的rbd trash命令初始支持延迟映像删除。镜像,即使是由克隆主动使用的镜像,也可以移动到垃圾桶,并在以后删除。
    • 新的管理池级别的rbd mirror poolpromote和rbd mirror pool demote命令可以批量提升/降级池内所有的镜像文件。
    • 镜像现在可以通过rbd mirroringreplay delay = <seconds>配置选项支持可配置的复制延迟。
    • 当对象映射功能启用时,可改进丢弃处理功能。
    • RBD import 和 copy命令现在可以检测稀疏并保留稀疏区域。
    • 快照可以包含创建时间戳。
    • 为RBD客户端指定了用户授权功能简化。 使用RBD功能配置文件的一般语法是“mon’profile rbd’osd’profile rbd [-read-only] [pool = {pool-name} [,…]]’”。
  • CephFS

    • 多MDS已经稳定,主MDS数量可以根据需求进行调整。
    • CephFS目录分片已经稳定的,默认情况下在新的文件系统上启用。
      要使其在现有的文件系统上启动,要使用“ceph fs set<fs_name> allow_dirfrags”。大型或非常繁忙的目录被分割并(可能)自动分布在多个MDS后台驻留程序中。
    • 在不需要自动负载均衡的情况下,目录子树可以明确固定到特定的MDS后台程序。
    • 客户端密钥现在可以使用新的ceph fs authorize命令创建。
    • 当在具有CephFS的Pool上运行’df’命令时,结果显示的内容是使用和可用的文件存储空间数据池(仅限fuse客户端)。
  • Miscellaneous

    • Debian Stretch现在正在构建版本包。QA仅限于CentOS和Ubuntu(xenial and trusty),我们现在构建的发行版包括: 
      • CentOS 7 (x86_64 and aarch64)
      • Debian 8 Jessie (x86_64)
      • Debian 9 Stretch (x86_64)
      • Ubuntu 16.04 Xenial (x86_64 and aarch64)
      • Ubuntu 14.04 Trusty (x86_64)
    • FreeBSD的Ceph的第一个版本可用。通过常规FreeBSD端口和软件包发布系统,最新可用版本:net/ceph-devel。

 

 

在Jewel版本上进行的重要修改

    • RADOS

      • 现在默认为AsyncMessenger (ms type = async)的传统SimpleMessenger。最明显的区别是
        我们现在使用固定大小的线程池进行网络连接(而不是使用SimpleMessenger,一个socket两个线程)。
      • 优化OSD故障检测时间,而以前的心跳超时(默认为20秒)。
      • 优化OSDMaps的代码量。
      • 集群在进行重平衡/数据恢复时,OSD会停止Scrub。
    • RGW

      • RGW现在支持S3多对象复制API。
      • 现在可以离线重塑现有的分支。离线目前,桶重塑要求所有IO(特别是写入)到特定的桶是静止的。(用于自动在线重塑Luminous的新功能。)
      • RGW现在支持对象的数据压缩。
      • Civetweb版本已升级到1.8。
      • 现在支持Swift静态网站API(前提支持S3)。
      • 添加了S3 bucket生命周期API。注意目前只支持对象到期。
      • 支持自定义搜索过滤器已添加到LDAP认证中实现。
      • 对NFS版本3的支持已添加到RGW NFS网关。
    • RBD

      • image快照的数量可配置最大值。
      • rbd Python API现在支持异步IO操作。
posted @ 2018-11-23 09:44  陆小呆  阅读(8677)  评论(1编辑  收藏  举报