另一个我在谷歌上找不到答案的问题
我有一个带有 vsftpd 的 FTP 服务器,我将 AWS EFS 驱动器安装在 /mnt/ 下,所有用户目录都位于
/mnt/efs/fs1/
user1/
user2/
...etc
当用户上传文件时,我可以看到正在使用的 df -hT
命令/dev/root
已满。有没有办法将 EFS 驱动器安装为单独的驱动器,或者安装到不会占用太多/dev/root
空间的目录下?
我使用用户数据挂载 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-efs-id-here
- 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;
谢谢你,伊加尔
答案1
因此,看起来是因为我使用的是 Ubuntu 22.04LTS,所以 AWS 的 efs-helper 包无法正常工作。此外,我缺少安装 EFS 的安全组权限。因此,这/mnt/efs/fs1
实际上是 Ubuntu 文件夹的本地文件。