Linux 的挂载注意事项 - Amazon Elastic File System

Linux 的挂载注意事项

我们建议在 Linux 上使用以下挂载选项值:

  • rsize=1048576 – 设置 NFS 客户端对每个网络 READ 请求可以接收的最大数据字节数。在从 EFS 文件系统上的文件读取数据时应用此值。我们建议您尽可能使用最大的大小(最多 1048576),以避免性能下降。

  • wsize=1048576 – 设置 NFS 客户端对每个网络 WRITE 请求可以发送的最大数据字节数。在将数据写入到 EFS 文件系统上的文件时应用此值。我们建议您尽可能使用最大的大小(最多 1048576),以避免性能下降。

  • hard – 设置 NFS 客户端在 NFS 请求超时之后的恢复行为,以便 NFS 请求在服务器回复之前无限次重试。建议您使用硬挂载选项 (hard) 以确保数据完整性。如果您使用 soft 挂载,请将 timeo 参数至少设置为 150 分秒(15 秒)。这样做可尽量减少源自软挂载的数据损坏风险。

  • timeo=600 – 将超时值设置为 600 分秒(60 秒),这是 NFS 客户端在重试 NFS 请求之前等待响应的时间。如果您必须更改超时参数 (timeo),我们建议您使用至少为 150 的值,这相当于 15 秒。这样做有助于避免性能下降。

  • retrans=2 – 将 NFS 客户端重试请求的次数设置为 2,超过此次数之后将尝试进一步的恢复操作。

  • noresvport – 告知 NFS 客户端在重新建立网络连接时,使用新的非特权传输控制协议(TCP)源端口。这样做有助于确保 EFS 文件系统在网络恢复事件后具有不间断的可用性。

  • _netdev/etc/fstab 中存在此选项时,将阻止客户端尝试挂载 EFS 文件系统,直到启用了网络。

一般而言,避免设置任何其他不同于默认值的挂载选项,这会导致性能降低和其他问题。如果您不使用前面的默认值,请注意以下事项:

  • 更改读或写缓冲区大小或禁用属性缓存会导致性能下降。

  • Amazon EFS 会忽略源端口。如果您更改 Amazon EFS 源端口,则不会有任何影响。

  • Amazon EFS 不支持任何 Kerberos 安全变体。例如,下面的挂载命令将失败。

    $ mount -t nfs4 -o krb5p <DNS_NAME>:/ /efs/
  • 我们建议您使用其 DNS 名称挂载文件系统。Amazon EFS 将此名称解析为与您的 Amazon EC2 实例位于同一可用区的 Amazon EFS 挂载目标的 IP 地址,而无需调用外部资源。如果您在与 Amazon EC2 实例不同的可用区中使用挂载目标,则会对跨可用区发送的数据收取标准 EC2 费用。可能还会面临更高的文件系统操作延迟。

  • 有关更多挂载选项和默认设置的详细说明,请参阅 Linux 文档。

注意

如果需要启动您的 EC2 实例而不考虑挂载的 EFS 文件系统状态,请将 nofail 选项添加到 /etc/fstab 文件的文件系统条目中。