哪個 docker 儲存驅動程序適用於帶有 NVMe 驅動器的新伺服器?
我正在為 GitLab CI 作業建構新伺服器。
目前我們已經有一個自製的。
它使用經典的 HDD + SSD 進行記憶體,因此我選擇了性能不佳的 ZFS 儲存驅動程序。
新伺服器將僅包含兩個 NVMe SSD,因此我不需要任何類型的記憶體。
我想對根分區和 docker 卷分區使用鏡像。
我想對圖像和容器分區使用剝離,因為它可以提高速度並使容量翻倍。無論如何,所有容器和圖像都是短暫的。
我閱讀了很多關於 docker 儲存性能的研究,每項研究都顯示出不同的東西。
大多數研究導致使用overlay2,但我必須使用mdadm並且沒有快照的可能性。
我對 devicemapper 非常感興趣,所以我可以使用 lvm,這樣我就可以使用快照和精簡配置。大多數研究測量了 devicemapper 驅動程序的低性能,因此這可能不再是一種選擇。也許我可以將 overlay2 與 lvm 卷一起使用?
最後一個選項是 ZFS,它對該伺服器沒有任何優勢,因為只有兩個 NVMe 驅動器。還有一些研究測量了高和一些低性能,所以我不知道該怎麼想。
還有一個問題。我可以使用多個儲存驅動程序(相同的驅動程序,但要使用不同的分區/卷),對嗎?一種用於剝離卷,一種用於鏡像卷。
感謝您的回答!
如果您使用的是 CentOS/RHEL,請堅持使用 overlayfs + XFS,這是唯一受支持的配置。請注意,您可以在此配置中使用快照:您只需要在精簡 LVM 卷上使用 XFS(但您必須對其進行監控以避免空間不足的情況)。為了獲得更好的精簡卷性能,請記住禁用歸零並使用適當的塊大小(512KB+ 是一個很好的基準,除非您非常關心快照空間效率)。
最後,請務必使用該選項創建 XFS 文件系統
-n ftype=1
(最近的 mkfs.xfs 應該會自動創建,但請仔細檢查)。來自RH 文件:創建 XFS 文件系統時必須啟用 -n ftype=1 選項以用作覆蓋。