掛載、卸載、自動掛載和內部部署掛載 EFS 檔案系統的基本步驟為何?

上次更新日期:2022 年 6 月 17 日

Amazon Elastic File System (Amazon EFS) 檔案系統掛載、卸載、自動掛載和內部部署掛載的基本步驟為何?

解析度

如要掛載您的 Amazon EFS 檔案系統,您可安裝 nfs-utils 套件或 efs-utils 套件

使用 eefs-utils 工具掛載 EFS

1.    執行下列命令來安裝 efs-utils 套件:

Amazon Linux 或 Amazon Linux 2

$ sudo yum install -y amazon-efs-utils

Ubuntu 和 Debian 型發行版

$ sudo apt-get -y install ./build/amazon-efs-utils*deb./build-deb.sh
$ cd /path/to/efs-utils
$ git clone https://github.com/aws/efs-utils
$ sudo apt-get -y install git binutils
$ sudo apt-get update

其他 Linux 發行版

$ sudo yum -y install git
$ sudo yum -y install rpm-build
$ git clone https://github.com/aws/efs-utils
$ cd /path/efs-utils
$ sudo yum -y install make
$ sudo yum -y install rpm-build
$ sudo make rpm
$ sudo yum -y install ./build/amazon-efs-utils*rpm

2.    安裝 efs-utils 套件後,請開啟 EFS console (EFS 主控台)。

3.    選取 File systems (檔案系統)。

4.    選取您要掛載的檔案系統。

5.    選取 Attach (連接)。

6.    使用 EFS 掛載協助程式複製下方的命令。

7.    透過 SSH 或 AWS Systems Manager 工作階段管理員連線至執行個體,並執行您於步驟 6 中複製的命令:

$ sudo mkdir -p /mnt/efs
$ sudo mount -t efs -o tls fs-12345678:/ /mnt/efs
$ sudo mount -t efs -o tls,accesspoint=fsap-12345678 fs-01233210 /mnt/efs

注意:依需要編輯前述命令,替換檔案系統 id、掛載點等。

使用 NFS 用戶端掛載 EFS

1.    執行下列命令來安裝 nfs-utils 套件:

RHEL 和 CentOS 型發行版

$ sudo yum -y install nfs-utils

Ubuntu 型發行版

$ sudo apt install nfs-common

2.    安裝 nfs-utils 套件後,瀏覽至 EFS console (EFS 主控台)。

3.    選取 File systems (檔案系統)。

4.    選取您要掛載的檔案系統。

5.    選取 Attach (連接)。

6.    使用 NFS 掛載協助程式複製下方的命令。

7.    透過 SSH 或工作階段管理員連線至執行個體,並執行您於步驟 6 中複製的命令:

$ 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

-或-

執行下列命令,以使用 IP 地址進行掛載:

$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  ~/efs-mount-point

注意:依需要編輯前述命令,替換檔案系統 id、掛載點、DNS、IP 地址等。

卸載 EFS 檔案系統

執行下列命令,以卸載檔案系統:

$ umount /mnt/efs

若掛載點忙碌,請搭配 umount 命令來使用 -l 參數:

$ umount -l /mnt/efs

使用 /etc/fstab 自動掛載檔案系統

執行下列命令,在 /etc/fstab 中建立項目,則 EFS 掛載會在重新開機時仍然存在:

# vim /etc/fstab

使用 efs-utils

fs-xxxxxxxx:/ /mnt/efs efs _netdev,nofail,noresvport,tls,iam 0 0

使用 NFS 用戶端

依您配置的需要,修改 fstab 中的參數。

fs-XXXXXXXX.efs.REGION.amazonaws.com:/ /mnt/efs nfs4 defaults,_netdev,nofail 0 0
# mount -a

如需使用掛載協助程式的各種掛載選項,請參閱 使用 /etc/fstab 搭配 EFS 掛載協助程式自動掛載 EFS

注意:您可使用與用戶端 (Amazon Elastic Compute Cloud (Amazon EC2)) 不同之可用區域中掛載目標的 IP 地址來掛載檔案系統。執行此作業時,請考慮諸如跨可用區域資料傳輸費用和延遲等因素。

使用啟動精靈,在執行個體啟動時掛載 EFS

啟動 EC2 執行個體時,您可使用啟動精靈,自動新增使用者資料以掛載 EFS。

1.    開啟 EC2 console (EC2 主控台)。

2.    選取 Launch instances (啟動執行個體)。

3.    選取 AMI 和執行個體類型,然後選取 Next: Configure Instance Details (下一步:設定執行個體詳細資訊)。

4.    依據您的要求設定各種參數。請確定選取 EFS 掛載所需的 VPC 和子網路。

5.    在 Configure instance (設定執行個體) 頁面的 File systems (檔案系統) 下,選擇您要掛載的 EFS 檔案系統。檔案系統 ID 旁顯示的路徑是 EC2 執行個體將使用的掛載點。如有需要,您可變更此路徑。在 Advanced details (進階詳細資料) 區段中,會自動產生用於掛載 EFS 的使用者資料:

#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 或利用特定選項掛載 EFS,請於 Advanced details (進階詳細資料) 區段中使用所需命令新增自訂使用者資料。如需詳細資訊,請參閱啟動時在 Linux 執行個體上執行命令

RHEL 和 CentOS 型發行版

#!/bin/bash
sudo mkdir -p /mnt/efs
sudo yum -y install nfs-utils

Ubuntu 型發行版

#!/bin/bash
sudo mkdir -p /mnt/efs
sudo apt install nfs-common
sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  /mnt/efs

6.    啟動執行個體。

內部部署掛載 EFS

如要在內部部署伺服器上掛載 EFS,EFS 與內部部署伺服器之間必須有連線。您可使用 AWS Direct Connect 和 VPN 來建立此連線。

於內部部署伺服器與 EFS 的 VPC 之間建立連線後,請執行下列命令以安裝 NFS 用戶端並掛載 EFS:

$ 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

此文章是否有幫助?


您是否需要帳單或技術支援?