本頁面說明 Google Distributed Cloud (GDC) 實體隔離裝置系統的多節點儲存空間。
GDC 氣隙式裝置包含三部伺服器,每部伺服器都連接六個非揮發性記憶體高速 (NVMe) 磁碟:
- 2 個 1 TB NVMe 開機媒體
- 4X 3.84TB NVMe
每個節點上的兩個 1 TB NVMe 磁碟專用於開機和系統工作負載,另外四個 3.84 TB NVMe 磁碟則用於可靠的資料儲存。
GDC 使用 Ceph 做為軟體定義儲存空間,可穩定儲存系統和使用者資料。Ceph 叢集部署在所有三部伺服器的裸機層級,並使用連接至這些伺服器的 12 個 3.84TB NVMe 磁碟機 (每部伺服器四個),做為基礎儲存空間。

Ceph 儲存元件
Ceph 監控器
Ceph 監控器會維護叢集狀態對應,包括監控器對應、管理員對應和物件儲存空間精靈 (OSD) 對應。這些地圖代表 Ceph 服務彼此協調所需的關鍵叢集狀態。監控器也負責管理服務與用戶端之間的驗證。至少需要三個監控器,才能確保備援和高可用性。
Ceph 管理工具
Ceph 管理員負責追蹤執行階段指標和 Ceph 叢集的目前狀態,包括儲存空間使用率、目前的效能指標和系統負載。通常需要至少兩位管理員,才能確保高可用性。GDC 環境執行的 Ceph 管理工具數量與監控器相同,因此叢集中會部署三個 Ceph 管理工具。
Ceph 物件儲存空間精靈 (OSD)
物件儲存空間精靈 (https://docs.ceph.com/en/quincy/glossary/#term-Ceph-OSD) 會儲存資料,並處理資料複製、復原和重新平衡作業。OSD 會檢查其他 Ceph OSD 的心跳,藉此向 Ceph 監控器和管理員提供部分監控資訊。一般來說,至少需要三個 Ceph OSD,才能確保備援和高可用性。GDC 環境會為每個實體磁碟機分配一個 OSD。
Ceph Rados 區塊裝置 (RBD)
Ceph 區塊裝置採用精簡佈建,且可調整大小。這些 OSD 會儲存條紋資料。Ceph 區塊裝置會運用核心 Ceph 功能,包括建立快照、複製及確保強烈一致性。在 GDC 環境中,Ceph RBD 不會直接公開。不過,區塊儲存空間 Ceph CSI 驅動程式會使用此功能,負責支援面向使用者的 Kubernetes 儲存空間 (https://kubernetes.io/docs/concepts/storage/)。
Ceph RGW
Ceph Rados Gateway 是物件儲存介面,可為應用程式提供 Ceph 儲存叢集的 RESTful 閘道 (https://docs.ceph.com/en/quincy/glossary/#term-Ceph-Object-Storage)。
- 與 S3 相容:提供物件儲存功能,介面與 Amazon S3 RESTful API 的大部分子集相容。
- 相容於 Swift:提供物件儲存功能,介面與 OpenStack Swift API 的大型子集相容。
在 GDC 環境中,只有 S3 端點會透過 Kubernetes Service Mesh 服務公開。
GDC 儲存空間復原能力
Ceph 區塊和物件儲存空間元件已設定為使用資料複寫因數 3。至少要有兩個備用資源,才能繼續提供輸入/輸出 (I/O) 服務。系統會使用節點層級的故障網域,也就是說,Ceph 會嘗試在三部不同的伺服器上複製資料三次 (3x)。
以下列舉幾個處理失敗情況的範例:
- 單一節點故障不會導致資料遺失,也不會影響工作負載的儲存作業。
- 不同節點上的兩個磁碟故障不會導致資料遺失。不過,如果工作負載在這些磁碟上擁有三份資料副本中的兩份,可能會影響儲存空間可用性。
- 如果發生多個節點故障,或不同節點上發生兩個以上的磁碟故障,可能會導致資料遺失,並可能影響工作負載的儲存空間可用性。
GDC 儲存空間容量
可用原始磁碟空間容量等於下列項目:
raw_capacity = 3.84TB * 4 (disks_per_node) * 3 (nodes) = 46.08TB
不過,由於儲存在 Ceph 叢集中的資料會複製三次,因此所有工作負載可用的實用儲存容量如下:
available_capacity = raw_capacity / 3 (replicas) = 15.36TB
15.36 TB 的儲存空間可供系統和使用者工作負載共用,適用於區塊和物件儲存空間。