NFS是否允许我像本地文件系统一样可以取消链接/删除打开的文件?
我问的原因是我正在开发一些在多台服务器上运行的东西,并可能会将NFS作为后端进行访问。 如果我可以在打开的文件上取消链接,它可以简化一些事情。
这是linux(unix?)文件系统的一个很好的function,您可以取消链接已打开的文件。 它只是删除目录条目。 只要文件处于打开状态,该文件仍然可用。 一旦closures,inode就会被销毁。
这种相同的function是否适用于NFS挂载的文件?
简短的回答是肯定的,有注意事项。
由于NFSv3是无状态的,因此NFS客户端驱动程序通过称为“愚蠢重命名”来完成此操作,其中删除的文件被重命名为.nfsXXXXXXXXXX。 这通常起作用,但与本地文件系统相比,有一些警告。 例如,如果客户端崩溃,那么这些.nfsXXXX文件将不会被删除,您将不得不手动清除它们。
我认为从NFSv4.1协议具有所需的function来实现删除上一个closures而不愚蠢的重命名,但我不知道是否有任何客户端/服务器尚未实现这一点。