如何模拟挂起的文件系统?

时间:2019-10-30 17:56:10

标签: linux nfs

我想验证应用程序在尝试从错误的文件系统读取时的行为(最值得注意的是:如果未选中,则挂起的NFS挂载可能永远挂起读取)。

是否存在一种简单的方法来本地重现此行为?如果我可以强制装入不存在的东西,或者装入本地ram磁盘并损坏它,或者将其锁定以防止其挂起而不是出错,则该文件是不错的选择。作为小型集成测试的一部分,这应该是我可以重做的事情。

1 个答案:

答案 0 :(得分:0)

  1. 创建要导出的目录:mkdir /tmp/nfs
  2. 通过将行/tmp/nfs *(sync,sync,ro,no_subtree_check,fsid=0468884e-fdab-11e9-8ee6-4b007bc13e45)添加到/etc/exports
  3. 来配置目录
  4. sudo exportfs -ra
  5. 确保NFS服务器正在运行。
  6. 创建要安装的客户端目录:mkdir /tmp/hang
  7. mount -t nfs -o vers=3 localhost:/tmp/nfs /tmp/hang
  8. 运行ls /tmp/hang-一切正常。
  9. 关闭NFS服务器。
  10. 运行ls /tmp/hang-它会挂起。
  11. 再次运行NFS服务器。
  12. ls命令将释放。

关闭NFS服务器的另一种方法是通过iptables阻止客户端。这样做的好处是,您可以设置多个网络接口,通过不同的接口安装多个客户端,然后通过使用iptables阻止网络接口来选择性地阻止客户端。

相关问题