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)。
- ceph-osd的新後端儲存BlueStore已經穩定,是新建立的OSD的預設設定。
- 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群集的狀態,並在發生故障時傳送通知。
- ceph-mgr是一個新的後臺程序,這是任何Ceph部署的必須部分。雖然當ceph-mgr停止時,IO可以繼續,
- 叢集的總體可擴充套件性有所提高。我們已經成功測試了多達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
- Bluestore
-
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多站點支援在桶級啟用或禁用同步。
- RGW支援終端使用者請求服務,通過ElasticSearch進行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。
- Debian Stretch現在正在構建版本包。QA僅限於CentOS和Ubuntu(xenial and trusty),我們現在構建的發行版包括:
在Jewel版本上進行的重要修改
-
RADOS
- 現在預設為AsyncMessenger (ms type = async)的傳統SimpleMessenger。最明顯的區別是
我們現在使用固定大小的執行緒池進行網路連線(而不是使用SimpleMessenger,一個socket兩個執行緒)。 - 優化OSD故障檢測時間,而以前的心跳超時(預設為20秒)。
- 優化OSDMaps的程式碼量。
- 叢集在進行重平衡/資料恢復時,OSD會停止Scrub。
- 現在預設為AsyncMessenger (ms type = async)的傳統SimpleMessenger。最明顯的區別是
-
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操作。