掛接 Linux 或 Windows VM 的 NFS 磁碟區

您可以為 Windows 或 Linux 虛擬機 (VM) 掛接 NFS 檔案。

需求

  • 您必須至少有一個導出原則才能存取 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. 若要使用 Linux 用戶端掛接 NFS 磁碟區,請從選取的磁碟區選取 [ 掛接指示 ]。 依照顯示的指示掛接磁碟區。 Screenshot of Mount instructions.
    • 請確定您使用 vers 命令中的 mount 選項來指定對應至您要掛接之磁碟區的 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 正式不受支援。 如果您未在用戶端的掛接選項中vers=4.1指定 NFSv4.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 777對磁碟區執行 或 chmod 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)存取磁碟區,並產生比搭配NFS磁碟區在Windows 上使用NFS用戶端更好的效能。 如需詳細資訊,請參閱 建立雙重通訊協定磁碟區 ,並記下安全性樣式對應數據表。 使用與一般SMB磁碟區相同的程式,從Windows用戶端掛接雙通訊協定磁碟區。

下一步