分享方式:


掛接適用於 Linux 或 Windows VM 的 NFS 磁區

您可以掛接適用於 Windows 或 Linux 虛擬機器的 NFS 檔案 (VM)。

需求

  • 您至少必須有一個匯出原則才能存取 NFS 磁區。
  • 因為 NFS 是網路連結服務,所以需要跨防火牆來開啟特定網路連接埠,以確保功能正常。 請確定您的設定符合:
連接埠和說明 NFSv3 NFSv4.x
連接埠 111 TCP/UDP – Portmapper
用來交涉 NFS 要求中所使用的連接埠。
White checkmark in green box N/A*
連接埠 635 TCP/UDP – Mountd
用來接收傳入掛接要求。
White checkmark in green box N/A*
連接埠 2049 TCP/UDP – NFS
NFS 流量。
White checkmark in green box White checkmark in green box
連接埠 4045 TCP/UDP – 網路鎖定管理員 (NLM)
處理鎖定要求。
White checkmark in green box N/A*
連接埠 4046 TCP/UDP – 網路狀態監視器 (NSM)
通知 NFS 用戶端有關伺服器重新啟動以進行鎖定管理。
White checkmark in green box N/A*
連接埠 4049 TCP/UDP – Rquotad
處理遠端配額服務。 (選用)
White checkmark in green box N/A*

* 併入 NFSv4.1 標準。 所有流量都會通過連接埠 2049。

關於輸出用戶端連接埠

輸出用戶端連接埠要求會利用連接埠範圍來進行 NFS 連線。 例如,雖然 Azure NetApp Files 掛接連接埠 635 是靜態的,但用戶端可以使用 1 到 1024 範圍內的動態連接埠號碼來起始連線。 (例如,1010 -> 635)

因為該範圍中只有 1023 個連接埠,所以並行掛接要求應該限制為低於該數量。 否則,如果要求時沒有可用的傳出連接埠,則掛接嘗試會失敗。 掛接要求是暫時的,因此建立掛接之後,輸出用戶端掛接連接埠會釋出連線。

如果使用 UDP 進行掛接,則掛接要求完成之後,最多 60 秒不會釋出連接埠。 如果使用掛接選項中所指定的 TCP 來進行掛接,則會在完成時釋出掛接連接埠。

NFS 的輸出用戶端要求 (導向至連接埠 2049) 允許每個 Azure NetApp Files NFS 伺服器最多有 65,534 個並行用戶端連接埠。 NFS 要求完成之後,連接埠會返回集區。

網路位址轉譯和防火牆

如果網路位址轉換 (NAT) 或防火牆位於 NFS 用戶端與伺服器之間,則請考慮:

  • NFS 會維護回覆快取來追蹤特定作業,以確定其已完成。 此回覆快取是以來源連接埠和來源 IP 位址為基礎。 NAT 用於 NFS 作業時,來源 IP 或連接埠可能會在發行小眾測試版中變更,而這可能會導致資料復原問題。 如果使用 NAT,則應該新增 NFS 伺服器 IP 和連接埠的靜態項目,以確定資料保持一致。
  • 此外,NAT 也會因 NAT 處理閒置工作階段的方式而造成 NFS 掛接停止回應的問題。 如果使用 NAT,則設定應該考慮閒置工作階段,並無限期地讓工作階段保持開啟,以避免發生問題。 NAT 也可能會產生 NLM 鎖定回收問題。
  • 某些防火牆可能會在一組時間之後卸除閒置的 TCP 連線。 例如,如果用戶端已連線 NFS 掛接,但未使用一段時間,則視為閒置。 發生這種情況時,可能會停止回應用戶端對掛接的存取,因為防火牆已切斷網路連線。 Keepalives 有助於防止這種情況,但最好是將防火牆設定為不要主動拒絕過時工作階段的封包來解決潛在的閒置用戶端。

如需 NFS 鎖定的詳細資訊,請參閱了解 Azure NetApp Files 中的檔案鎖定和鎖定類型

如需 NFS 如何在 Azure NetApp Files 中運作的詳細資訊,請參閱了解 Azure NetApp Files 中的 NAS 通訊協定

在 Linux 用戶端上掛接 NFS 磁區

  1. 檢閱 Linux NFS 掛接選項的最佳做法
  2. 選取 [磁區] 功能表,然後選取您要掛接的 NFS 磁區。
  3. 若要使用 Windows 用戶端來掛接 NFS 磁區,請從選取的磁區選取 [掛接指示]。 請依照所顯示的掛接磁區指示執行。 Screenshot of Mount instructions.
    • 請確定您使用 mount 命令中的 vers 選項來指定對應至您要掛接之磁區的 NFS 通訊協定版本。 例如,如果 NFS 版本是 NFSv4.1:sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,tcp,sec=sys $MOUNTTARGETIPADDRESS:/$VOLUMENAME $MOUNTPOINT
    • 若使用 NFSv4.1,而且您的設定需要使用具有相同主機名稱的 VM (例如,在 DR 測試中),請參閱使用相同主機名稱設定兩部 VM 來存取 NFSv4.1 磁碟區
    • 在 Azure NetApp Files 中,使用 NFSv4.1 時會啟用 NFSv4.2,不過,未正式支援 NFSv4.2。 若未在用戶端的掛接選項中指定 NFSv4.1 (vers=4.1),則用戶端可能會交涉至最高允許的 NFS 版本,這表示掛接不符合支援合規性。
  4. 如果您想要在啟動或重新開機 Azure VM 時自動掛接磁區,請將項目新增至主機上的 /etc/fstab 檔案中。 例如:$ANFIP:/$FILEPATH /$MOUNTPOINT nfs bg,rw,hard,noatime,nolock,rsize=65536,wsize=65536,vers=3,tcp,_netdev 0 0
    • $ANFIP 是磁區屬性功能表中找到的 Azure NetApp Files 磁區的 IP 位址
    • $FILEPATH 是 Azure NetApp Files 磁區的匯出路徑
    • $MOUNTPOINT 是在用來掛接 NFS 匯出的 Linux 主機上所建立的目錄
  5. 如果您想要掛接 NFS Kerberos 磁區,請參閱設定 NFSv4.1 Kerberos 加密以取得其他詳細資料。
  6. 您也可以透過 NFS 從 Unix 和 Linux 用戶端存取 SMB 磁區,方法是將磁區的通訊協定存取設為「雙重通訊協定」。 這可讓您透過 NFS (NFSv3 或 NFSv4.1) 和 SMB 來存取磁區。 如需詳細資訊,請參閱建立雙重通訊協定磁區 。 記下安全性樣式對應資料表。 從 Unix 和 Linux 用戶端掛接雙重通訊協定磁區時,會依據賴與一般 NFS 磁區相同的程序。

在 Windows 用戶端上掛接 NFS 磁區

不支援在 Windows 用戶端上掛接 NFSv4.1 磁區。 如需詳細資訊,請參閱網路檔案系統概觀

如果您想要使用 NFS 在 Windows 用戶端上掛接 NFSv3 磁區,請:

  1. 先將磁區掛接至 Unix 或 Linux VM
  2. 對磁區執行 chmod 777chmod 775 命令。
  3. 使用掛接選項 mtype=hard,透過 Windows 上的 NFS 用戶端掛接磁區,以減少連線問題。 如需詳細資料,請參閱用於掛接 NFS 磁區的 Windows 命令列公用程式。 例如:Mount -o rsize=256 -o wsize=256 -o mtype=hard \\10.x.x.x\testvol X:*
  4. 您也可以透過 SMB 從 Windows 用戶端存取 NFS 磁區,方法是將磁區的通訊協定存取設為「雙重通訊協定」。 此設定允許您透過 SMB 和 NFS (NFSv3 或 NFSv4.1) 來存取磁碟區,而且所產生的效能會優於在 Windows 上使用含 NFS 磁碟區的 NFS 用戶端。 如需詳細資料,請參閱建立雙重通訊協定磁區,並記下安全性樣式對應資料表。 使用與一般 SMB 磁區相同的程序,從 Windows 用戶端中掛接雙重通訊協定磁區。

下一步