本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
排查与限额有关的文件操作错误
当您访问 EFS 文件系统时,对文件系统中文件的某些限制将适用。超出这些限制会导致文件操作错误。有关 Amazon EFS 中基于文件的限制的更多信息,请参阅Amazon EFS 限额。
您可以在下文中查找一些常见文件操作错误及与每个错误相关的限制。
主题
命令失败,并显示“超出磁盘配额”错误
Amazon EFS 当前不支持用户磁盘配额。如果超出了以下任何限制,则可能会出现该错误:
-
最多 65536 个活动用户可以同时打开文件。多次登录的一个用户账户计为一个活动用户。
-
一个实例同一时刻最多可打开 65536 个文件。列出目录内容不会视为打开文件。
-
客户端上的每个唯一挂载每次连接最多可以获得总计 65536 个锁。
要采取的操作
如果遇到该问题,可通过确定超出了上述哪个限制,然后进行更改以满足该限制,加以解决。有关更多信息,请参阅 NFS 客户端的配额。
命令失败,并显示“I/O 错误”
遇到下列问题之一时会发生此错误:
-
每个实例同一时刻有超过 65536 个活动用户账户打开文件。
要采取的操作
如果遇到该问题,您可以满足在实例上支持的打开文件数限制以解决该问题。为此,请减少在实例上同时打开 Amazon EFS 文件系统中的文件的活动用户数。
-
已删除加密您的文件系统的 AWS KMS 密钥。
要采取的操作
如果遇到此问题,则您不能再解密用该密钥加密的数据,这意味着该数据将无法恢复。
命令失败,并显示“文件名太长”错误
当文件名或其符号链接 (symlink) 太长时,会出现该错误。文件名具有以下限制:
-
名称的长度最多为 255 个字节。
-
符号链接的大小最多为 4080 个字节。
要采取的操作
如果遇到该问题,可通过减小您的文件名或符号链接的长度以满足支持的限制,加以解决。
命令失败,并显示“未找到文件”错误
出现此错误的原因是某些旧的 32 位版本 Oracle E-Business 套件使用 32 位文件 I/O 接口,而 EFS 使用 64 位 inode 数。可能失败的系统调用包括 `stat ()` 和 `readdir ()`。
要采取的操作
如果遇到此错误,可以使用 nfs.enable_ino64=0 kernel 启动选项解决问题。此选项将 64 位 EFS inode 数压缩为 32 位。对于不同的 Linux 发行版,内核启动选项的处理方式不同。在 Amazon Linux 上,向 /etc/default/grub
中的 GRUB_CMDLINE_LINUX_DEFAULT
变量添加 nfs.enable_ino64=0 kernel
即可启用该选项。有关如何启用内核启动选项的信息,请参阅特定于您的发行版的具体文档。
命令失败,并显示“链接太多”错误
当文件的硬链接太多时,会出现该错误。一个文件中最多可有 177 个硬链接。
要采取的操作
如果遇到该问题,可通过减少文件硬链接的数量以满足支持的限制,加以解决。
命令失败,并显示“文件太大”错误
当文件太大时,会出现该错误。单个文件的大小最多为 52,673,613,135,872 个字节 (47.9 TiB)。
要采取的操作
如果遇到该问题,可通过减小文件的大小以满足支持的限制,加以解决。