![HPC / EC2 - 優化 NFS 以提高可靠性](https://rvso.com/image/617839/HPC%20%2F%20EC2%20-%20%E5%84%AA%E5%8C%96%20NFS%20%E4%BB%A5%E6%8F%90%E9%AB%98%E5%8F%AF%E9%9D%A0%E6%80%A7.png)
在 AWS-EC2 中,我設定了一個由 NFS 檔案伺服器和許多用戶端組成的 Linux 虛擬機器叢集。如果客戶端數量超過~20,在大量 I/O 下,我會遇到檔案完整性遺失的情況:例如客戶端寫入伺服器的 gzip 壓縮檔案已損壞。
我想知道最好的 NFS 參數設定是什麼可靠性在此環境下的資料傳輸。
目前安裝標誌是:
Flags: rw,vers=3,rsize=262144,wsize=262144,hard,proto=tcp,timeo=600,retrans=2
MTU 大小為 1500,NFS 守護程式數量為 8。
我應該將 rsize 和 wsize 降低到 MTU 以下,並增加 NFS 守護程序的數量嗎?
還有什麼可以改進的嗎?
非常感謝。
答案1
對於正在使用的叢集的大小,考慮遷移到並行檔案系統可能是個好主意,例如光澤。或者,如果叢集配置正確,每個節點都應該透過 DNS 或查找來了解其他每個節點,/etc/hosts
並且應該擁有適當的 ssh 金鑰來無需密碼即可存取它們。
如果是這種情況,每個節點可以在完成計算/壓縮後簡單地複製文件,這將不需要 NFS。雖然此解決方案可能無法提供最佳效能,但根據運算節點、網路和儲存虛擬化的性質,它可能是個不錯的選擇。
您使用什麼類型的叢集管理/設定係統?通常,在設定頭節點期間,也會設定計算節點的適當共用儲存。使用類似的工具瓦魯爾夫或者岩石可能有助於確保正確配置計算節點,並且有許多指南和參考設計用於使用這些線上工具設定叢集。