我遇到一个问题,无法使用DNS名称在Red Hat ec2实例上安装我的EFS。它引发错误 mount.nfs4:无法解析服务器us-east-1a.fs-c2aXXXX.efs.us-east-1.amazon aws.com:名称或服务未知
我正在按照AWS提供的说明进行操作。我尝试了以下两种方法来做,并且都抛出了相同的错误。我可以确认DNS名称正确。
第一---
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-c2aXXXX.efs.us-east-1.amazonaws.com:/ efs
第二个-
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-c2a7XXXX.efs.us-east-1.amazonaws.com:/ /efs
但是,如果我使用IP而不是DNS名称,则可以很好地安装它。所以下面的命令有效。
mount -t nfs4 -o
nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 10.38.X.XX:/ /efs
我可以使用IP代替DNS,只要我能够安装它就可以。
现在我的问题是,一旦我停止并再次启动该实例,我的坐骑就消失了。即使将以下条目添加到 / etc / fstab 中,它也不会自动挂载。
10.38.X.XXX:/ /efs efs defaults,_netdev 0 0
有人可以帮助我解决DNS问题或告诉我如何使用Ips自动挂载吗?
预先感谢盖兹。
答案 0 :(得分:2)
要从命令行附加到EFS,请使用此模板作为模板,将fs-12345678
替换为您的ID:
$ sudo mount -t efs fs-12345678:/ /efs
在您的/etc/fstab
中使用它(不要在其后添加.efs.us-east-1.amazonaws.com
)
fs-12345678:/ /efs efs vers=4.1,rw,tls,_netdev,relatime,acl,nofail 0 0
fstab
版本还打开了用于数据传输的加密。查阅资源以获取更多信息
资源
https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html https://docs.aws.amazon.com/efs/latest/ug/troubleshooting-efs-mounting.html#automount-fails
答案 1 :(得分:0)
新的 efs-utils dns 似乎存在问题。一种解决方法是挂载选定的可用区挂载目标 (this is probably still in development)。
为了解决这个问题,我尝试像这样在 /etc/hosts 文件中为 efs 添加条目;
[efs-az-private-ip] [efs hostname (e.g;fs-xx.efs.us-east-1.amazonaws.com)]
答案 2 :(得分:0)