Docker

哪個 docker 儲存驅動程序適用於帶有 NVMe 驅動器的新伺服器?

  • May 10, 2020

我正在為 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 選項以用作覆蓋。

引用自:https://serverfault.com/questions/1016507