概述

第一个 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操作。

ceph版本号的更多相关文章

  1. ubuntu环境ceph配置入门(一)

    环境:ubuntu server 14.04 64bit,安装ceph版本号0.79 正常情况下应有多个主机,这里为了高速入门以一台主机为例,多台主机配置方式类似. 1. 配置静态IP及主机名 静态I ...

  2. kubevirt在360的探索之路(k8s接管虚拟化)

    来源:360云计算 KubeVirt是一个Kubernetes插件,在调度容器之余也可以调度传统的虚拟机.它通过使用自定义资源(CRD)和其它 Kubernetes 功能来无缝扩展现有的集群,以提供一 ...

  3. 构建ceph deb 安装包

    前言:本文基于ubuntu 14.04.5 LTS 和ceph v0.94.3 之上做的实验 一.编译ceph包1.1.克隆ceph代码,切换分支 git clone --recursive http ...

  4. Ceph剖析:Paxos算法实现

    作者:吴香伟 发表于 2014/10/8 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 Recovery阶段 在Leader选举成功后,Leader和Peon都 ...

  5. 理解 QEMU/KVM 和 Ceph(1):QEMU-KVM 和 Ceph RBD 的 缓存机制总结

    本系列文章会总结 QEMU/KVM 和 Ceph 之间的整合: (1)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (2)QEMU 的 RBD 块驱动(block driver) (3)存 ...

  6. 理解 OpenStack + Ceph (2):Ceph 的物理和逻辑结构 [Ceph Architecture]

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  7. “Ceph浅析”系列之五——Ceph的工作原理及流程

    本文将对Ceph的工作原理和若干关键工作流程进行扼要介绍.如前所述,由于Ceph的功能实现本质上依托于RADOS,因而,此处的介绍事实上也是针对RADOS进行.对于上层的部分,特别是RADOS GW和 ...

  8. ceph初步快速部署

    一.基本情况:物理设备:4台惠普dl360,4个千兆网卡 4个1T盘操作系统统一为:CentOS 7.2.1511ceph版本:10.2.3ceph-deploy版本:1.5.36网络情况:192.1 ...

  9. Ceph源码解析:PG peering

    集群中的设备异常(异常OSD的添加删除操作),会导致PG的各个副本间出现数据的不一致现象,这时就需要进行数据的恢复,让所有的副本都达到一致的状态. 一.OSD的故障和处理办法: 1. OSD的故障种类 ...

随机推荐

  1. IDEA修改显示星号*和热部署

    IDEA修改显示*星号: IDEA热部署: 两步: 1. 2. Ctrl+Alt+Shift+/ 打开下面界面,选Registry 对于Springboot应用,可能无法启动,在上述两步不起作用的情况 ...

  2. Oracle使用——oracle11g安装——Oracle要求的结果: 5.0,5.1,5.2,6.0 6.1 之一 实际结果: 6.2

    问题 正在检查操作系统要求...        要求的结果: 5.0,5.1,5.2,6.0 之一        实际结果: 6.1        检查完成.此次检查的总体结果为: 失败 <&l ...

  3. dp入门之01背包问题

    ...通过暴力手推得到的一点点感觉 动态规划是相对于贪心算法的一种取得最优解的算法,通过对每一步的取舍判断从 0 推到所拥有的第 n 件物品,每次判断可以列写出状态转移方程,通过记忆化相对暴力地取得最 ...

  4. 【VS2019】F12跳转到源码

    1.工具->选项 2.文本编辑器->C#->高级->勾选支持导航到反编译源码 3.关闭浏览器不停止项目

  5. spring中集成hibernate

    1.hibernate框架是什么? (1)hibernate对jdbc进行的封装 (2)开源的轻量级框架. 2.hibernate思想:ORM(对象关系映射) (1)让实体类和数据库中的表一一对应(表 ...

  6. 主成分分析(PCA)原理及R语言实现 | dimension reduction降维

    如果你的职业定位是数据分析师/计算生物学家,那么不懂PCA.t-SNE的原理就说不过去了吧.跑通软件没什么了不起的,网上那么多教程,copy一下就会.关键是要懂其数学原理,理解算法的假设,适合解决什么 ...

  7. 在Vue项目中使用Element UI:按需引入和完整引入

    下面操作在main.js文件中进行 完整引入: import Element from 'element-ui'; //样式文件,需单独引入 import 'element-ui/lib/theme- ...

  8. mysql5.7版本yum安装---redhat7.0

    1.官网下载yum包 [root@test01 test]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch ...

  9. Myeclipse在debug模式下没加断点程序卡住,start模式下可以正常启动

    参考<eclipse在debug模式下卡住,start模式下可以启动>,地址:https://blog.csdn.net/jack_chen1994/article/details/761 ...

  10. ckeditor文本对齐方式添加,图片上传

    最近用的AdminBSBMaterialDesign-master模板,里边用到了ckeditor编辑器 但发现里边没有基本的文本对齐方式,找了好一会,好多方法都不管用,最后在config.js中添加 ...