天天看點

DOCKER存儲驅動之總覽可插拔的存儲驅動架構共享存儲系統和存儲驅動使用哪種存儲驅動呢?

  Docker的存儲驅動架構是可插拔的,可以讓你很友善的将适合你環境和用例的存儲驅動“插進”Docker。每個Docker存儲驅動都建立在一種Linux檔案系統或者卷管理系統之上,也可以很自由地按照其自己的方法去實作鏡像層和容器層的管理。也就是說一些存儲驅動在不同的場景下會比其他的驅動性能更好。

一旦你決定了哪種驅動最合适,你就可以Docker daemon啟動之前設定驅動到Docker中,這樣你就可以在該存儲驅動上運作Docker daemon了,所有新容器都會使用這個驅動來建立了。下圖顯示了支援的驅動技術和它們對應的Docker存儲驅動名稱。

Technology

Storage driver name

OverlayFS

overlay / overlay2

AUFS

aufs

Btrfs

btrfs

Device Mapper

devicemapper

VFS

vfs

ZFS

zfs

  可以通過docker info指令來檢視目前daemon使用着哪種存儲驅動。

  上面的輸出表示,Docker daemon使用overlay2作為存儲驅動,而其Backing Filesystem是extfs。也就是說,在我的環境中,overlay2存儲驅動是在ext檔案系統上操作的。後端檔案系統指的是建立了Docker host的本地存儲區域/var/lib/docker的檔案系統。

存儲驅動,可以運作在某種後端檔案系統上,但也有些不支援的後端檔案系統,它們之間的對應關系如下表:

Storage driver

後端檔案系統

不支援的後端檔案系統

overlay

ext4 xfs

btrfs aufs overlay zfs eCryptfs

overlay2

btrfs aufs eCryptfs

btrfs only

N/A

direct-lvm

debugging only

zfs only

  想要設定存儲驅動,可以在dockerd啟動的時候加入--storage-driver=

  存儲驅動的選擇會影響你容器應用的性能,是以很有必要了解存儲驅動之間的差別和優缺點,然後才能選擇合适的驅動。

  很多企業都從共享檔案系統(如SAN和NAS)中擷取存儲資源。通常情況下,這都能帶來更好的性能和更高可用性,還有如超配、副本删除、壓縮等進階特性。

Docker存儲驅動和資料卷都可以運作在這些共享存儲系統提供的存儲上,這使得Docker可以利用這些系統提供的優越性能和可用性。

  很多方面都會影響存儲驅動的選擇,不過有兩點必須記住:

沒有哪種驅動适合所有的使用者場景;

存儲驅動一直都在提升和改進;

此外,下面的内容,也可以提供一些指導意見。

  為了Docker環境更加穩定,你應該考慮一下一些建議:

使用你OS發行版預設的存儲驅動。安裝Docker時,它會根據你的系統選擇預設的存儲驅動,穩定性是它選擇的一個主要方面。

遵守CS Engine compatibility matrix指定的配置。CS Engine是Docker Engine的商業化版本,它代碼基于開源的Engine。不過它有一套限制的支援配置,而這個支援的配置使用最穩定成熟的存儲驅動。

  選擇你和你的團隊都有經驗的一種存儲。比如,你使用RHEL系列的OS,你可能對LVM和Device Mapper很有經驗,是以,你應該使用devicemapper存儲驅動。

如果你對Docker提供的存儲驅動都沒有經驗,并且你希望使用簡單可用的穩定的Docker環境,那麼你可以考慮使用你發行版預設的Docker存儲驅動。

  很多人認為OverlayFS是Docker存儲驅動的未來。然而,它還不夠成熟,并且和aufs、devicemapper相比暫時還不夠穩定。是以,使用OverlayFS時應該注意。

下圖列出了所有驅動,并列出了它們的優缺點。如果要選擇存儲驅動,那麼可以參考下面提到的内容。

  OverlayFS有兩種存儲驅動,它們使用了相同的OverlayFS技術,但卻有着不同的實作,在磁盤使用上也并不互相相容。因為不相容,兩者之間的切換必須重新建立所有的鏡像。overlay驅動是最原始的OverlayFS實作,并且,在Docker1.11之前是僅有的OverlayFS驅動選擇。overlay驅動在inode消耗方面有着較明顯的限制,并且會損耗一定的性能。overlay2驅動解決了這種限制,不過隻能在Linux kernel 4.0以上使用它。

      本文轉自zsdnr  51CTO部落格,原文連結:http://blog.51cto.com/12942149/1929359,如需轉載請自行聯系原作者

繼續閱讀