Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
如何掛載、卸載、自動裝載和內部部署掛載我的 Amazon EFS 檔案系統?
我想知道如何掛載、卸載、自動裝載和內部部署掛載我的 Amazon Elastic File System (Amazon EFS) 檔案系統。
解決方法
掛載檔案系統
若要掛載您的 EFS 檔案系統,您可以安裝 amazon-efs-utils 套件。或者,從 Mankier 網站安裝 nfs-utils 套件。
使用 amazon-efs-utils
完成下列步驟:
-
若要安裝 amazon-efs-utils 套件,請根據您的發行版本執行下列其中一個命令:
Amazon Linux 1、Amazon Linux 2 和 Amazon Linux 2023$ sudo yum install -y amazon-efs-utils
Ubuntu 和 Debian 型發行版
$ sudo apt-get update $ sudo apt-get -y install git binutils rustc cargo pkg-config libssl-dev $ git clone https://github.com/aws/efs-utils $ cd efs-utils $ ./build-deb.sh $ sudo apt-get -y install ./build/amazon-efs-utils*deb
如果您的發行版本沒有提供 rust 或 cargo 套件,或提供較舊的 1.70 版本,請使用 rustup 安裝 rust 和 cargo:
'curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh . "$HOME/.cargo/env"
若要建立並安裝 RPM,請根據您的發行版執行下列其中一個命令:
OpenSUSE 或 SLES$ sudo zypper refresh $ sudo zypper install -y git rpm-build make rust cargo openssl-devel $ git clone https://github.com/aws/efs-utils $ cd efs-utils $ make rpm $ sudo zypper --no-gpg-checks install -y build/amazon-efs-utils*rpm
所有其他發行版本
$ sudo yum -y install git rpm-build make rust cargo openssl-devel $ git clone https://github.com/aws/efs-utils $ cd efs-utils $ make rpm $ sudo yum -y install build/amazon-efs-utils*rpm
-
開啟 Amazon EFS 主控台。
-
在導覽窗格選擇檔案系統。
-
選擇您的檔案系統。
-
選擇附加。
-
使用 AWS System Manager 的功能,SSH 或工作階段管理員來連線到執行個體。執行下列命令:
$ sudo mkdir -p /mnt/efs $ sudo mkdir -p /mnt/efs-ap $ sudo mount -t efs -o tls fs-12345678:/ /mnt/efs $ sudo mount -t efs -o tls,accesspoint=fsap-12345678 fs-01233210 /mnt/efs-ap
**注意:**用您的值取代所有範例值。
使用 nfs-utils
完成下列步驟:
-
若要安裝 nfs-utils 套件,請根據您的發行版執行下列其中一個命令:
RHEL 和 CentOS 型的發行版本$ sudo yum -y install nfs-utils
Ubuntu 型發行版本
$ sudo apt install nfs-common
-
開啟 Amazon EFS 主控台。
-
在導覽窗格選擇檔案系統。
-
選擇您的檔案系統。
-
選擇附加。
-
使用 SSH 或工作階段管理員連線到執行個體,然後執行下列命令:
$ sudo mkdir -p /mnt/efs $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/ ~/efs-mount-point
-or-
若要使用 IP 位址掛載,請執行下列命令:$ sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ ~/efs-mount-point
**注意:**用您的值取代所有範例值。
卸載檔案系統
若要卸載檔案系統,請執行下列命令:
$ umount /mnt/efs
如果掛載點忙碌,則使用**-l** 參數執行 umount 命令:
$ umount -l /mnt/efs
使用 /etc/fstab 自動裝載檔案系統
若要在 /etc/fstab 中進行項目,使 Amazon EFS 掛載在重新開機時仍持續運作,請執行下列命令:
# vim /etc/fstab
使用 amazon-efs-utils
fs-########:/ /mnt/efs efs _netdev,nofail,noresvport,tls,iam 0 0
使用 nfs-utils
在 fstab 中設定參數:
fs-########.efs.REGION.amazonaws.com:/ /mnt/efs nfs4 defaults,_netdev,nofail 0 0 # mount -a
如需使用掛載輔助程式的掛載選項,請參閱自動掛載 EFS 檔案系統。
**注意:**您可以使用與用戶端 Amazon Elastic Compute Cloud (Amazon EC2) 不同的可用區域中掛載目標的 IP 位址來掛載。此掛載方法可能會產生跨可用區域資料傳輸費用,並導致延遲。
使用啟動精靈在執行個體啟動時掛載檔案系統
啟動 Amazon EC2 執行個體時,您可以使用啟動精靈自動新增使用者資料來掛載檔案系統。
完成下列步驟:
- 開啟 Amazon EC2 主控台。
- 選擇啟動執行個體。
- 選取 Amazon Machine Image (AMI) 和執行個體類型,然後選擇下一步: 設定執行個體詳細資訊。
- 為您的使用案例設定參數。請確定您選取所需的虛擬私有雲端 (VPC) 和子網路以進行 EFS 掛載。
- 在設定執行個體頁面的檔案系統下,選取您的檔案系統。檔案系統 ID 旁邊的路徑是 EC2 執行個體使用的掛載點。您可以視需要變更此路徑。
若要掛載檔案系統,會在進階詳細資訊區段中自動產生使用者資料:
-or-#cloud-config package_update: true package_upgrade: true runcmd: - yum install -y amazon-efs-utils - apt-get -y install amazon-efs-utils - yum install -y nfs-utils - apt-get -y install nfs-common - file_system_id_1=fs-0cae1679a766bcf49 - efs_mount_point_1=/mnt/efs/fs1 - mkdir -p "${efs_mount_point_1}" - test -f "/sbin/mount.efs" && printf "\n${file_system_id_1}:/ ${efs_mount_point_1} efs tls,_netdev\n" >> /etc/fstab || printf "\n${file_system_id_1}.efs.us-east-1.amazonaws.com:/ ${efs_mount_point_1} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0\n" >> /etc/fstab - test -f "/sbin/mount.efs" && grep -ozP 'client-info]\nsource' '/etc/amazon/efs/efs-utils.conf'; if [[ $? == 1 ]]; then printf "\n[client-info]\nsource=liw\n" >> /etc/amazon/efs/efs-utils.conf; fi; - retryCnt=15; waitTime=30; while true; do mount -a -t efs,nfs4 defaults; if [ $? = 0 ] || [ $retryCnt -lt 1 ]; then echo File system mounted successfully; break; fi; echo File system not available, retrying to mount.; ((retryCnt--)); sleep $waitTime; done;>
若要在自訂 AMI 或使用特定選項上掛載 Amazon EFS 檔案系統,請執行下列命令以新增自訂使用者資料:
RHEL 和 CentOS 型的發行版本
Ubuntu 型發行版本#!/bin/bash sudo mkdir -p /mnt/efs sudo yum -y install nfs-utils
如需詳細資訊,請參閱啟動使用者資料輸入 EC2 執行個體時執行命令。#!/bin/bash sudo mkdir -p /mnt/efs sudo apt install nfs-common sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ /mnt/efs
- 啟動執行個體。
掛載內部部署檔案系統
若要在內部部署伺服器上掛載 Amazon EFS 檔案系統,Amazon EFS 與內部部署伺服器之間必須有連線。若要在內部部署伺服器與亞馬遜虛擬私有雲端 (Amazon VPC) 之間建立連線,請使用 AWS 直接連線和 AWS VPN。然後,執行下列命令以安裝 NFS 用戶端並掛載您的檔案系統:
$ sudo yum -y install nfs-utils (Red Hat Linux) $ sudo apt-get -y install nfs-common (Ubuntu) $ mkdir ~/efs $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/efs
如需詳細資訊,請參閱教學課程: 使用內部部署 Linux 用戶端掛載。

相關內容
- 已提問 2 年前lg...
- 已提問 7 個月前lg...
- 已提問 5 個月前lg...
- 已提問 1 年前lg...
- AWS 官方已更新 3 年前
- AWS 官方已更新 6 個月前
- AWS 官方已更新 9 個月前
- AWS 官方已更新 9 個月前