我想验证应用程序在尝试从错误的文件系统读取时的行为(最值得注意的是:如果未选中,则挂起的NFS挂载可能永远挂起读取)。
有一种简单的方法可以本地重现此行为吗?如果我可以强制装入不存在的东西,或者装入本地ram磁盘并损坏它,或者将其锁定以防止其挂起而不是出错,则该文件是不错的选择。作为小型集成测试的一部分,这应该是我可以重做的事情。
创建要导出的目录: mkdir /tmp/nfs 通过添加以下行/tmp/nfs *(sync,sync,ro,no_subtree_check,fsid=0468884e-fdab-11e9-8ee6-4b007bc13e45)来配置目录/etc/exports sudo exportfs -ra 确保NFS服务器正在运行。 创建要挂载客户端的目录: mkdir /tmp/hang mount -t nfs -o vers=3 localhost:/tmp/nfs /tmp/hang 运行ls /tmp/hang-一切都很好。 关闭NFS服务器。 运行ls /tmp/hang-它会挂起。 再次运行NFS服务器。 该ls命令将被释放。 关闭NFS服务器的另一种方法是通过阻止客户端iptables。这样的好处是,您可以设置多个网络接口,通过不同的接口安装多个客户端,然后通过使用阻止网络接口来选择性地阻止客户端iptables。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。