本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
推荐的 NFS 装载选项
我们建议在 Linux 上使用挂载选项的以下默认值:
-
rsize=1048576
— 设置 NFS 客户端可以为每个网络读取请求接收的最大数据字节数。在从 EFS 文件系统上的文件读取数据时应用此值。我们建议您尽可能使用最大的大小(最多1048576
),以避免性能下降。 -
wsize=1048576
— 设置 NFS 客户端可以为每个网络 WRITE 请求发送的最大数据字节数。在将数据写入到 EFS 文件系统上的文件时应用此值。我们建议您尽可能使用最大的大小(最多1048576
),以避免性能下降。 -
hard
— 设置 NFS 请求超时后 NFS 客户端的恢复行为,以便无限期地重试 NFS 请求,直到服务器回复。建议您使用硬挂载选项 (hard
) 以确保数据完整性。如果您使用soft
挂载,请将timeo
参数至少设置为150
分秒(15 秒)。这样做可尽量减少源自软挂载的数据损坏风险。 -
timeo=600
— 将 NFS 客户端在重试 NFS 请求之前用于等待响应的超时值设置为 600 分秒(60 秒)。如果您必须更改超时参数 (timeo
),我们建议您使用至少为150
的值,这相当于 15 秒。这样做有助于避免性能下降。 -
retrans=2
— 将 NFS 客户端在尝试进一步恢复操作之前重试请求的次数设置为 2。 -
noresvport
— 告诉 NFS 客户端在重新建立网络连接时使用新的传输控制协议 (TCP) 源端口。这样做有助于确保 EFS 文件系统在网络恢复事件后具有不间断的可用性。 -
_netdev
— 如果存在/etc/fstab
,则防止客户端在启用网络之前尝试装载 EFS 文件系统。 nofail
— 如果无论您安装的 EFS 文件系统的状态如何,您的 EC2 实例都需要启动,请在文件中的文件系统条目中添加/etc/fstab
该nofail
选项。
如果您不使用前面的默认值,请注意以下事项:
-
一般而言,避免设置任何其他不同于默认值的挂载选项,这会导致性能降低和其他问题。例如,更改读或写缓冲区大小或禁用属性缓存会导致性能下降。
-
Amazon EFS 忽略源端口。如果您更改 Amazon EFS 源端口,则没有任何效果。
亚马逊 EFS 不支持
nconnect
挂载选项。-
亚马逊 EFS 不支持任何 Kerberos 安全变体。例如,下面的挂载命令将失败。
$ mount -t nfs4 -o krb5p <DNS_NAME>:/ /efs/
-
我们建议您使用其 DNS 名称挂载文件系统。此名称将解析为与您 Amazon EC2 实例处于相同可用区的 Amazon EFS 挂载目标的 Amazon EFS 挂载目标的 IP 地址。如果您在不同于 Amazon EC2 实例的可用区中使用挂载目标,则跨可用区发送的数据需要支付标准 EC2 费用。可能还会面临更高的文件系统操作延迟。