尝试列出文件时,Amazon EFS挂起

在Amazon EFS挂载点内执行ls时,它只是挂起。

AWS EFS故障排除中的EFS故障排除部分

提到以下内容:

安装不响应

Amazon EFS挂载看起来没有响应。 例如,像ls这样的命令挂起。

采取行动

如果另一个应用程序正在向文件系统写入大量数据,则会发生此错误。 访问正在写入的文件可能会被阻止,直到操作完成。 通常,任何尝试访问正在写入的文件的命令或应用程序都可能会挂起。 例如,ls命令在到达正在写入的文件时可能会挂起。 这是因为一些Linux发行版将别名为ls命令,除了列出目录内容之外,它还检索文件属性。

要解决此问题,请validation另一个应用程序正在将文件写入Amazon EFS装载,并且它处于不可中断的睡眠(D)状态,如下例所示:

$ ps aux | grep large_io.py

root 33253 0.5 0.0 126652 5020 pts / 3 D + 18:22 0:00 python large_io.py / efs / large_file

在确认是这种情况之后,您可以通过等待其他写入操作完成或通过实施解决方法来解决此问题。 在ls的例子中,你可以直接使用/ bin / ls命令,而不是别名,这将允许命令继续而不挂在被写入的文件上。 一般来说,如果写入数据的应用程序可以定期强制数据刷新,也许使用fsync(2),这可能有助于提高文件系统对其他应用程序的响应能力。 但是,这种改进可能会以应用程序写入数据时的性能为代价。

所以我确认是否有任何信息被写入,但唯一出现的是

root 43556 0.0 0.0 124356 756 pts / 6 D + 19:15 0:00 ls –color = auto / efs /

root 43558 0.0 0.0 112664 972 pts / 3 S + 19:16 0:00 grep –color = auto efs

所以据我所知,没有任何东西正在写入EFS。 有什么其他的事情可以看作是这个原因吗?

我也尝试在一台单独的机器上安装EFS来validation,我也testing了另一台机器在不同的AZ到另一个在该AZ的安装点,并看到相同的行为。