
我有一個分佈在 3 台伺服器上的 Web 應用程式。這 3 台伺服器需要共用儲存體來存取檔案。由於iSCSI只是一個協議,而不是一個檔案系統,因此它不會有任何鎖定檔案的實作;所以如果我只是按原樣連接它,我就會銷毀所有資料。
根據我的研究,我需要在這些 LUN 上有一個實際的檔案系統才能按照我想要使用的方式運作。
那會如何運作呢?如何為LUN實作檔案系統?
使用的作業系統:Ubuntu 16.* 或 18.*
答案1
您需要某種叢集檔案系統或分散式鎖定管理器,以避免並發寫入對檔案系統造成元資料損壞。
StarWind 論壇上對此問題有一個很好的總結。
https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392
答案2
一般來說,您需要一個叢集才能在多個系統之間共用儲存空間(除非您希望其中一個系統充當檔案伺服器)。
我其實不知道任何事物關於在 Ubuntu 上建立集群,但這看起來很有希望:http://manpages.ubuntu.com/manpages/cosmic/man7/ocfs2.7.html。
答案3
因此,經過一些研究,我提出了一些對於想要設定遠端儲存或叢集的人來說會感興趣的解決方案。
重新考慮您的網路和需求。我遇到的一件事是設定具有叢集感知檔案系統的 iSCSI 並不是一件容易的事。此外,GFS 和 OCFS2 並未向公眾提供記錄完善的故障排除指南。對於 OCFS2,您需要是 Oracle 的客戶並擁有有效的支援帳戶。與 GFS2 相同。如果你是 Centos 用戶,你就會被線上教學所困擾,並且不會得到支援。
無論如何,它很可能超出了您的預算。考慮將 NFS 用於業餘愛好中小型企業。設定起來要容易得多,網路上有大量文件。
如果您確實需要在多台電腦之間共用 iSCSI LUN,那麼有 3 種解決方案可用。 Oracle OCFS2、紅帽 GFS2、VMFS。所有 3 個都是集群感知檔案系統。 OCFS2 的設定更簡單,但需要您訪問 oracle 支持,這不是免費的,GFS2 不像 OCFS2 那麼簡單,因為您必須手動設定它的一些部分,但它也使其更加可自訂。 VMFS 與您的 ESXI 伺服器一起使用非常酷,可以將您的 VM 機器保留在那裡。
我希望這可以幫助一些用戶將來決定網路和儲存的實際需求。我個人選擇 NFS 作為存儲,並選擇 ESXI 伺服器的專用 iSCSI 進行映像引導。