具有本機儲存的 Docker Swarm 分散式檔案系統

具有本機儲存的 Docker Swarm 分散式檔案系統

我正在尋找一個分散式檔案系統解決方案/網路檔案系統,可以在以下場景中使用:

  • 我有一個包含許多主機的 Docker Swarm,但每個主機本質上都是獨立的,看起來與其他主機沒有什麼不同。我們只是用它們來縮放。這意味著每個主機都運行系統工作所需的所有工作程序,並且理想情況下,進入系統的一項任務完全在首先啟動它的主機上運行。
  • 處理任務有幾個步驟。每一步都會產生一些 1-10GB 範圍內的大檔案。首先,每個主機上的工作程序將僅處理已儲存在本地的檔案。
  • 然而有時,主機可能負擔過重,我希望另一台主機中的工作人員接手剩餘的處理步驟。為了實現這一目標,我需要將檔案儲存在共用磁碟區中,其他主機中的工作人員可以透明地使用該共用磁碟區來存取儲存在另一台主機上的檔案。

換句話說:每個主機都會在某個地方掛載相同的“網絡卷”,它包含一些實際存儲在當前主機上的文件(這些文件主要是相關的),以及一些存儲在另一台主機上的文件。然而,工作人員大多數情況下(90-95% 的情況下)都會存取其主機本地的檔案。

我不需要複製(文件僅與 30-60 分鐘相關,之後就不再需要它們了)並且我特別想要一個中央存儲。

系統中的吞吐量是以每個任務的分鐘而不是每秒的任務來衡量的。大文件很少,小文件很多。此外,檔案寫入一次,僅讀取一次或兩次。

對此有一個好的解決方案嗎?我查看了GlusterFS、、、和其他一些,但似乎沒有EdgeFS一個是正確的選擇。InterPlanetary File SystemCeph

答案1

您可以使用 Docker 引擎外掛程式來完成它。這些是 docker-engine 支援的磁碟區插件。

  • Azure 檔案儲存外掛
  • BeeGFS 磁碟區插件
  • 塊橋插件
  • Contiv 音量插件
  • 車隊插件
  • DigitalOcean 區塊儲存插件
  • DRBD插件
  • 植絨插件
  • 伏羲音量插件
  • gce-docker 插件
  • GlusterFS 插件
  • 魂器體積插件
  • HPE 3Par 磁碟區插件
  • 無限音量插件
  • IPFS 磁碟區插件
  • Keywhiz 插件
  • 本地持久性插件
  • NetApp 插件 (nDVP)
  • 網路共享插件
  • Nimble 儲存卷插件
  • 開放儲存插件
  • Portworx 磁碟區插件
  • Quobyte 卷插件
  • REX-Ray 插件
  • Virtuozzo 儲存和 Ploop 插件
  • VMware vSphere 儲存插件

欲了解更多詳細信息,請參閱以下內容關聯

相關內容