常見問題說明 (FAQ)

Ceph 解決方案整合了易於安裝、預先配置的軟體與友善的使用者介面;並提供 Ceph 顧問諮詢、專業服務與無縫更新,同時提供純軟體(software-only)和一站式(turnkey)設備兩種選擇。

如何選擇糾刪碼 (Erasure Code) 的 K 與 M 值?

糾刪碼 (Erasure Code) 的工作原理::
Ceph 的糾刪碼參數 K 與 M,關係到可用容量效率以及對硬體故障冗餘之間的平衡。其中,K 代表資料區塊(data chunks)的數量,M 代表編碼區塊(coding chunks)的數量。當用戶端將資料物件寫入 Ceph 儲存叢集時,該物件會被切分為 K 個大小相同的資料區塊。Ceph 會以這些資料區塊為基礎,編碼並產生 M 個編碼區塊;當硬體發生故障時,這些編碼區塊可用來計算並還原遺失的資料區塊。


資料區塊(Data chunks)和編碼區塊(Coding chunks)會被分散並儲存到 K+M 個指定的故障域中。叢集所能承受的最大資料區塊遺失數量為 M 個故障域。可用的故障域取決於實體基礎設施中儲存伺服器的配置方式。對於小規模的 Ceph 叢集,故障域可以是硬碟或伺服器主機。而對於大規模叢集,故障域可以設定為機櫃、機房,甚至是資料中心等。當用戶端要讀取資料時,系統會由這些資料區塊重建出完整的資料物件。

儲存效能

相較於 Ceph 的資料複寫演算法,糾刪碼通常具備更佳的可用空間效率。然而,由於糾刪碼需要更多次的硬碟 I/O 操作來完成資料的輸入與輸出,因此對於要求高 IOPS 的工作負載較不友善。K+M 的數值越大,I/O 操作所消耗的硬碟 IOPS 資源也越多。

當使用較大的 K 值和較小的 M 值時,Ceph 叢集網路中傳輸的總資料量將會減少,這有助於提升大型資料物件的 I/O 吞吐量效能。

儲存空間效率

糾刪碼儲存池的可用空間效率等於 K/(K+M)。例如,當 K=4、M=2 的糾刪碼儲存池,其空間效率為 4/6=66.7%。這比 3 副本 (replica 3) 儲存池的效率高出兩倍,3 副本儲存池在提供相同層級的硬體冗餘時,能帶來更高的 IOPS 效能。

由於考量到可用儲存空間效率,合理的 K 值通常會大於 M 值。K 與 M 的差距 (K-M) 越大,糾刪碼的空間效率就越好。

伺服器主機數量

K+M 的數量也決定了叢集中所需的伺服器主機數量或更大故障域的數量。

  • 一般的糾刪碼儲存池最少需要 K+M 台伺服器主機,才能將所有糾刪碼區塊 (EC chunks) 完整分散存放。
  • 進階的糾刪碼設定允許每個故障域儲存多個糾刪碼區塊 (EC chunks) 。此設定可降低分散儲存糾刪碼區塊所需的伺服器數量。

糾刪碼 K & M 參數影響重點整理 :

  • M 決定了可容忍的故障域數量。
  • 較大的 K+M 數值會導致客戶端在小型物件 IOPS 效能降低,但能提升大型物件的吞吐量。
  • 儲存空間效率 = K/(K+M)
  • 所需的最少伺服器數量。

Ambedded公司簡介

晨宇創新股份有限公司是台灣一家專業在Ceph 儲存|可擴展的 軟體定義儲存 ( SDS ) 供應商。成立於西元2013年並擁有超過20年的Ceph 儲存設備、Ceph 一站式解決方案、Ceph 專業服務、Ceph 緊急支援、適用於通用伺服器的 Ceph 儲存軟體解決方案套件、S3 物件儲存製造經驗, Ambedded總是可以達到客戶各種品質要求。