【问题标题】:Can't resolve DNS name of EFS while mounting it on red hat ec2 instances using putty使用 putty 将 EFS 挂载到红帽 ec2 实例上时无法解析 EFS 的 DNS 名称
【发布时间】:2019-03-31 08:34:18
【问题描述】:

我遇到了一个问题,我无法使用 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 问题或告诉我如何使用 IP 自动挂载吗?

【问题讨论】:

标签: amazon-web-services amazon-ec2 redhat amazon-efs


【解决方案1】:

要从命令行附加到 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

【讨论】:

    【解决方案2】:

    如果你已经打开了所有的安全组、网络ACL,确认你在一个有效的AZ并且仍然不能工作;可能您创建的 VPC 没有启用 DNS 主机名,请验证您是否有此设置:

    您的账户附带的默认 VPC 已启用此功能,其他人则没有。

    【讨论】:

    • 我不知道为什么私有 VPC 必须启用此功能,但启用此功能可以让我的 ECS Fargate 服务解析该服务。
    【解决方案3】:

    新的 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)]
    

    【讨论】:

    • 我目前正在尝试安装 CodeBuild 并遇到 dns 问题。您指的是什么“新的 efs-utils dns”问题?
    • @nitsujri 就我而言,新的 efs-utils DNS 要求阻止了跨 AZ 挂载 efs(挂载点应位于原始 DNS 请求的同一 AZ 内)。我只能使用 /etc/hosts 来解决。但是,在确保挂载点位于同一个 AZ 内后,我还创建了 efs 访问点,并且挂载工作正常。 docs.aws.amazon.com/efs/latest/ug/…
    • 就是这样!我需要它们都在同一个 AZ、同一个子网中。一旦我知道它通过了 DNS 并遇到超时问题 - 允许 NFS 端口是完全连接的最后一位。谢谢!
    猜你喜欢
    • 2021-10-02
    • 2017-07-11
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2020-11-14
    相关资源
    最近更新 更多