挂载、卸载、自动挂载和本地挂载我的 EFS 文件系统的基本步骤是什么?
挂载、卸载、自动挂载和本地挂载我的 Amazon Elastic File System(Amazon EFS)文件系统的基本步骤是什么?
解决方法
要挂载 Amazon EFS 文件系统,您可以安装 nfs-utils 程序包或 efs-utils 程序包。
使用 efs-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 控制台。
3. 选择 File systems(文件系统)。
4. 选择要挂载的文件系统。
5. 选择 Attach(附加)。
6. 复制 using the EFS mount helper(使用 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 控制台。
3. 选择 File systems(文件系统)。
4. 选择要挂载的文件系统。
5. 选择 Attach(附加)。
6. 复制 using the NFS mount helper(使用 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 控制台。
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
有关更多信息,请参阅通过 AWS Direct Connect 和 VPN 使用 EFS 挂载助手在您的本地 Linux 客户端上挂载。

相关内容
- AWS 官方已更新 3 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前