NAS 上的文件夾可以用作 VMWare 中的物理驅動器嗎?
我們目前正在從單個 Web 伺服器轉移到兩個負載平衡的 Web 伺服器,並且面臨一些我們不太知道如何解決的挑戰。其中之一是目前的單個伺服器託管將內容寫入磁碟的應用程序。執行在伺服器上的應用程序期望當某些東西被寫入磁碟時,它實際上會存在,因此雙伺服器架構也必須滿足這個前提,這一點很重要。
雙伺服器設置是使用 Windows Server 2008 R2 作為客戶作業系統的幾個 VMWare 實例。開箱即用,這些實例不共享任何類型的文件系統,因此僅移動應用程序會使它們中斷,因為一個實例會將某些內容寫入另一個不存在的文件系統。
因此我們需要在兩個虛擬伺服器之間共享一個文件系統。我們的主機建議在 SAN 上創建一個網路共享,並在每個虛擬機上單獨映射該共享。由於 NTFS 權限等原因,這不能很好地工作,因為共享需要由幾個獨立的 Web 應用程序訪問,這些應用程序甚至不會在同一個應用程序池中。
唯一可行的解決方案是將每個 Web 應用程序的“身份”硬編碼到其
web.config
文件中,但這意味著明文密碼不適合我。由於伺服器是虛擬的,我在想:難道不能以某種方式使 NAS 區域作為 gues 作業系統中的物理磁碟可用嗎?由於 VMWare 完全控制了虛擬硬體,你會認為它能夠“偽造”虛擬機中的本地硬碟驅動器,實際上它是 NAS 上的一個文件夾,但到目前為止我還沒有找到任何說明如何以及是否可能。
所以我不得不問美妙的伺服器故障社區:NAS 上的文件夾可以作為物理驅動器(典型
D:
)在兩個虛擬機中使用嗎?
簡而言之,您嘗試做的不會起作用,我不確定VMWare是否可以將共享文件夾用作磁碟,但我知道的是2個虛擬伺服器不能共享同一個磁碟並在由於幾乎沒有其他應用程序可以做到的相同原因,兩台機器無法同時寫入同一個磁碟。基本上,當您嘗試啟動第二台伺服器時,VMWare 會拋出一個錯誤,告訴您磁碟文件已鎖定。
您可以做的是將 SAN 用作共享 SCSI 驅動器,以便驅動器在兩台機器上顯示為 D:,但只有其中一台可以同時使用它。您不會以這種方式獲得負載平衡,但您確實獲得了冗餘 - 如果另一個 VM 發生故障,您可以切換到另一個 VM,它將接管驅動器並繼續。
如前所述,不能在兩個地方主動使用同一個儲存。這就是為什麼您通常會有一個數據庫後端來處理此類應用程序的數據,以便您可以讓多個客戶端同時訪問它。