Windows
兩個 linux/unix 虛擬機之間的 NFS 問題
描述: 我在使用 NFS 的虛擬機上遇到了一個奇怪的問題。我的兩個虛擬機都在使用 linux。伺服器端使用 RHEL,客戶端使用 CentOS 7。我的主機執行的是 Windows 7。
我的客戶端 VM 正在使用 nodejs 啟動或初始化網站。我創建了一個文件夾目錄,伺服器端和客戶端都可以使用 NFS 共享文件。
問題: 當我從客戶端的共享目錄創建文件/文件夾時,網站能夠檢測到來自共享目錄的更改並將更改發佈到網站中。
但是,在伺服器端,當我在共享目錄中創建文件/文件夾時,網站中未檢測到更改。雖然,創建的文件/文件夾在客戶端的共享目錄中是可見的。
NFS 配置: 我將粘貼我為伺服器和客戶端所做的配置:
/etc/exports 上的伺服器端 NFS 配置:
/home/awsim2/config 192.168.56.101(rw,sync,no_root_squash,no_all_squash,no_subtree_check) /home/awsim2/scenarios 192.168.56.101(rw,sync,no_root_squash,no_all_squash,no_subtree_check) #/home/awsim2/config 192.168.56.101(rw,sync,all_squash,anonuid=503,anongid=502) #/home/awsim2/scenarios 192.168.56.101(rw,sync,all_squash,anonuid=503,anongid=502)
注意:我嘗試了其他方法來解決這個問題……
/etc/fstab 上的客戶端 NFS 配置:
192.168.56.102:/home/awsim2/config /var/nfs_awsim_share/ nfs rw,sync,user,auto,bg,hard,intr,nolock 0 0 192.168.56.102:/home/awsim2/scenarios /var/nfs_awsim_scenarios_share/ nfs rw,sync,user,auto,bg,hard,intr,nolock 0 0
我希望這是足夠的資訊來解釋我的問題。
感謝您的時間!
我做了足夠的研究發現 NFS 和共享目錄方法不是一個可能的解決方案,因為 Linux 核心子系統 inotify 之間存在問題。inotify 用於擴展文件系統以通知文件系統的更改,並將這些更改報告給應用程序。遺憾的是,nodejs 無法檢測到這些更改,因為Virtual box 中存在涉及 Linux 核心子系統 inotify 的錯誤。