如何暂时将 NFS 服务器变为只读?

如何暂时将 NFS 服务器变为只读?

我想在家里建立一个家庭 NAS。我想使用 SnapRAID 来保证完整性。因此,它需要定期运行 SnapRaid 同步。但是,同步过程要求在运行时不更改数据。因此,我需要编写一个执行此操作的脚本:

  1. 检查目前没有文件正在通过 NFS 共享写入。
  2. 如果是,请等待并重复
  3. 将 NFS 设置为只读
  4. 运行同步
  5. 再次使 NFS RW

问题是:

  1. 如何做#1?
  2. 如何执行 #3 而不会在客户端引起太多警报?我可以mount -remount,ro自己处理驱动器,或者编辑/etc/shares。或者还有其他方法吗?

请给我建议...

答案1

使用lsof +d /yournfsshare将告诉您在运行脚本时共享上是否有任何打开的文件。这可能会在 2 秒后发生变化。我建议使用将mount -o remount,ro /yournfsshare共享设置为只读,然后rw在完成后重新挂载。

相关内容