Ceph
小型 HPC 集群的 Ceph 架構
我想建構用於 HPC 的 Ceph 儲存集群。(基於 CentOS 7)現在我有企業 SAS RAID 機箱,有 3 個架子乘 12 個 4TB 磁碟(總共 36 個)。現在它被配置為預設的 RAID6 裝備。而且它的性能很差。我也無法擴展系統。例如,無法切換到 6TB 磁碟。所以我想做什麼。
- 從 RAID6 切換到 JBOD。
- 將每 12 個磁碟映射到 3 個不同的控制器埠。
- 通過 SAS HBA 卡將 3 台伺服器連接到機箱。
- 設置一個 ceph 池。類型:CephFS。512 pg_num。擦除編碼。故障域=主機。藍色商店。
- 使用 IPoIB 在計算節點上掛載 CephFS 池。
主要問題在第四步左右。
- 如何選擇糾刪碼 k+m 個數字?3+3 4+2 8+3 8+4 10+4?實際上我無法完全理解它將如何處理不同的故障。正如我所理解的,我的系統需要處理 1 台主機停機 + 1-2 個 OSD 失敗。3主機配置可以嗎?如果不是,如果主機故障後修復過程中 OSD 失敗會發生什麼?如果 1 台主機停機進行維護(修復未啟動)時 OSD 失敗會發生什麼?
- 以後是否可以像在文件儲存中一樣為 Bluestore 添加 WAL/DB SSD?
- HPC MPI 呼叫是否會受到相同 IB 介面和交換機上的 IPoIB 流量的影響?
和整體問題。它會起作用嗎,還是我錯過了一些全球性的東西?
表現
擦除編碼是 CPU 密集型的。如果需要性能,請使用 3 份。
更多磁碟,更好的性能。JBOD 是一個不錯的選擇。
強烈推薦企業級 SSD。您可以稍後重新配置、添加、刪除 OSD。
可用性和數據保護
您擁有的節點越多,儲存就越能防止數據失去。
對於糾刪碼和 3 個主機,最小值為k=3 m=2。當主機發生故障時,您將失去 1 個數據部分,並且需要一個奇偶校驗部分來恢復。因此,您至少需要兩個奇偶校驗部分,以防一個在故障主機上。
如果您有比k+m更多的節點,那將是最好的。當 1 台主機發生故障時,您希望在剩餘主機上擁有所有擦除部分。
對於 3 個副本的保護,建議最少使用 4 個主機。當一個失敗時,您仍然有 3 個副本的空間。
對於生產,您將需要更多伺服器。