使用 EFS 掛載協助程式掛載 EFS 檔案系統 - Amazon Elastic File System

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 EFS 掛載協助程式掛載 EFS 檔案系統

EFS 掛載協助程式可協助您將 EFS 檔案系統掛載到 EC2 Linux 和 Mac 執行個體上,執行列在 概要 中支援的發行版。

Amazon EFS 掛載協助程式會將掛載檔案系統簡化。根據預設,其中包含 Amazon EFS 建議掛載選項。此外,基於疑難排解考量,掛載協助程式具有內建的記錄功能。如果您的 Amazon EFS 檔案系統發生問題,可以與 Sup AWS port 部門共用這些日誌。如需關於掛載檔案系統的詳細資訊,請參閱 掛載 EFS 檔案系統

注意

Amazon EFS 不支援從 Amazon EC2 Windows 執行個體中掛載。

運作方式

掛載協助程式定義一個稱為 efs 的全新網路檔案系統類型,此類型與在 Linux 中標準 mount 命令完全相容。掛載協助程式也支援使用EC2 Linux 執行個體 /etc/fstab 組態檔案中的項目,在執行個體啟動時自動掛載 Amazon EFS 檔案系統。

警告

使用 _netdev 選項,此選項用於在自動掛載檔案系統時識別網路檔案系統。若 _netdev 已遺失,EC2 執行個體可能會停止回應。此結果是因為網路檔案系統在運算執行個體開始聯網後需要初始化。如需詳細資訊,請參閱 自動掛載失敗且執行個體沒有回應

您可以指定下列一個屬性來掛載檔案系統:

  • 檔案系統 DNS 名稱:如果您使用檔案系統 DNS 名稱,且掛載協助程式無法解析該名稱,例如當您在不同的 VPC 中掛載檔案系統時,該名稱將回復為使用掛載目標 IP 地址。如需詳細資訊,請參閱 從另一個 AWS 帳戶 或 VPC 掛載 EFS 檔案系統

  • 檔案系統 ID:如果您使用檔案系統 ID,則掛載協助程式會將其解析為掛載目標彈性網絡介面 (ENI) 的本機 IP 地址,而不呼叫外部資源。

  • 掛載目標 IP 地址:您可以使用一個檔案系統掛載目標的 IP 地址。

您可以在 Amazon EFS 主控台中找到所有這些屬性的值。您可以在連接熒幕中找到檔案系統 DNS 名稱。

將傳輸中的資料加密宣告為 Amazon EFS 檔案系統的掛載選項時,掛載協助程式會初始化用戶端 stunnel 程序與稱為 amazon-efs-mount-watchdog 的監管程序。此 amazon-efs-mount-watchdog 程序會監控 TLS 掛載的運作狀態,並在第一次透過 TLS 掛載 EFS 檔案系統時自動啟動。如果您的用戶端是在 Linux 上執行,則此程序會根據 Linux 分佈由 upstartsystemd 來管理。對於在支援 macOS 上執行的用戶端,由 launchd 管理。

Stunnel 是一種開放原始碼多功能網路轉送。用戶端 stunnel 程序會在本機連接埠上接聽傳入流量,以及掛載協助程式會將 NFS 用戶端流量重新導向到此本機連接埠。

掛載協助程式使用 TLS 版本 1.2 來與檔案系統通訊。使用 TLS 需要憑證,而且這些憑證是由信任的 Amazon 憑證授權單位所簽署。如需加密運作方式的詳細資訊,請參閱 Amazon EFS 的資料加密

Amazon EFS 客戶端使用的掛載選項

Amazon EFS 掛載協助程式用戶端使用下列 Amazon EFS 優化的掛載選項:

  • nfsvers=4.1:在 EC2 執行個體上掛載時使用

    nfsvers=4.0:在執行 macOS Big Sur、Monterey 和 Ventura 的支援 EC2 Mac 執行個體上掛載使用。

  • rsize=1048576:設定 NFS 用戶端為每個網路 READ 請求接收的資料位元組上限為 1048576 (最大可用值),以避免效能降低。

  • wsize=1048576:設定 NFS 用戶端為每個網路 WRITE 請求發送的資料位元組上限為 1048576 (最大可用值),以避免效能降低。

  • hard:設定 NFS 用戶端在 NFS 請求逾時的復原行為,因此 NFS 請求會重試直到伺服器回覆為止,以確保資料完整。

  • timeo=600:將 NFS 用戶端等待重試 NFS 請求回應的逾時值設為 600 十分之一秒 (60 秒),以避免效能降低。

  • retrans=2:將 NFS 用戶端在請求嘗試進一步復原動作前的重試次數設為 2。

  • noresvport:告知 NFS 用戶端在網路連線重新建立時,使用新的傳輸控制通訊協定 (TCP) 來源連接埠。使用 noresvport 選項,以確保您的 EFS 檔案系統在重新連線或網路復原事件發生後持續可用。

  • mountport=2049:僅在執行 macOS Big Sur、Monterey 和 Ventura 的 EC2 Mac 執行個體上掛載時使用。

取得支援日誌

掛載協助程式具有 Amazon EFS 檔案系統的內建記錄。您可以與 Sup AWS port 人員共用這些記錄,以進行疑難排解。您可以使用 EFS 掛載協助程式找到儲存在 /var/log/amazon/efs 用戶端上的日誌。這些日誌適用於 EFS 掛載協助程式,stunnel 程序 (預設禁用) 和監控 stunnel 程序的 amazon-efs-mount-watchdog 程序。

注意

amazon-efs-mount-watchdog 程式可確保每個掛載的 stunnel 程序為執行中,並在 Amazon EFS 檔案系統卸載時停止 stunnel 程式。如果因為某些原因而導致 stunnel 程序意外終止,監視程式程序會將其重新啟動。

您可以在 /etc/amazon/efs/efs-utils.conf 中變更日誌的組態。若要讓任何記錄變更生效,您必須使用 EFS 掛載協助程式卸載和重新掛載檔案系統。掛載協助程式與監視程式日誌的日誌容量限制為 20 MiB。stunnel 程序的日誌依預設是停用的。

重要

您可以啟用 stunnel 程序日誌的記錄。然而,啟用 stunnel 日誌可能會在您的檔案系統佔用極大的空間。

使用 EFS 掛載協助程式的先決條件

您可以使用 Amazon EFS 掛載協助程式在 Amazon EC2 執行個體上掛載 Amazon EFS 檔案系統。若要使用掛載協助程式,您需要下列資訊:

  • 掛載的檔案系統 ID:EFS 掛載協助程式將檔案系統 ID 解析為掛載目標彈性網絡介面 (ENI) 的本機 IP 地址,而不呼叫外部資源。

  • Amazon EFS 掛載目標:您在虛擬私有雲端 (VPC) 中建立掛載目標。如果您使用服務建議的設定值在主控台中建立檔案系統,則會在檔案系統所在的每個可用區域中建立掛載目標。 AWS 區域 如需關於建立掛載目標的說明,請參閱 建立和管理掛載目標和安全群組

    注意

    建議您在新建立的掛載目標的生命週期狀態可用之後等待 60 秒,然後再通過 DNS 掛載檔案系統。此等待可讓 DNS 記錄在檔案系統所在的 AWS 區域 位置完全傳播。

    如果您在與您 EC2 執行個體不同的可用區域中使用掛載目標,您需要為跨可用區域傳送的資料支付標準 EC2 費用。您的檔案系統操作也可能受到延遲。

  • 從其他可用區域掛載單區域檔案系統:

    • 檔案系統可用區域名稱:如果您正在掛載 EFS 單區域檔案系統,且該檔案系統位於與 EC2 執行個體不同可用區域。

    • 掛載目標 DNS 名稱:或者,您可以指定掛載目標的 DNS 名稱來替代可用區域名稱。

  • 執行支援 Linux 或 macOS 分佈的 Amazon EC2 執行個體:使用掛載協助程式掛載檔案系統的支援發行版如下:

    • Amazon Linux 2

    • Amazon Linux 2017.09 和更新版本

    • macOS Big Sur

    • Red Hat Enterprise Linux (和例如 CentOS 之類的導數) 版本 7 和更新版本

    • Ubuntu 16.04 LTS 和更新版本

    注意

    執行 macOS Big Sur 的 EC2 Mac 執行個體支援 NFS 4.0。

  • Amazon EFS 掛載協助程式已安裝在 EC2 執行個體上:掛載協助程式是一款公用程式 amazon-efs-utils 套件中的工具。如需關於安裝 amazon-efs-utils 的資訊,請參閱 使用 AWS Systems Manager 安裝 amazon-efs-utils手動安裝 amazon-efs-utils

  • 在 VPC 中的 EC2 執行個體:正在連接的 EC2 執行個體,必須位於以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 中。還必須將其配置為使用由提供的 DNS 服務器 AWS。如需 Amazon DNS 伺服器的資訊,請參閱《Amazon VPC 使用者指南》中的 DHCP 選項集

  • VPC 已啓用 DNS 主機名稱:連接的 EC2 執行個體的 VPC 必須已啟用 DNS 主機名稱。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的檢視 EC2 執行個體的 DNS 主機名稱

  • 對於不同的 EC2 執行個體和檔案系統 AWS 區域 — 如果要掛載的 EC2 執行個體和檔案系統位於不同的位置 AWS 區域,則需要編輯efs-utils.conf檔案中的region屬性。如需詳細資訊,請參閱 從其他裝載 Amazon EFS 檔案系統 AWS 區域