【发布时间】:2011-09-27 17:33:07
【问题描述】:
我遇到了一个锁定问题,即在 NFS 文件系统上创建 SQLITE3 数据库时,它会被永久锁定。我读过一个名为nobrl 的选项可以在相关文件系统是CIFS 时解决这个问题。 (它是 mount 命令的一个选项)。
发件人:http://linux.die.net/man/8/mount.cifs
nobrl
不要向服务器发送字节范围锁定请求。这是 对于某些不符合 cifs 风格的应用程序是必需的 强制字节范围锁(大多数 cifs 服务器还不支持 请求咨询字节范围锁定)。
如果 NFS 中发生字节范围锁定请求,是否有任何方法可以阻止它们,或者我是否在考虑这一点时就在错误的方向上运行?我很高兴像 CIFS 解决方案一样更改 mount 命令。
【问题讨论】:
-
好吧,您可以使用
nolock进行挂载(请参阅 nfs(5) 联机帮助页),但这确实是个坏主意。 -
SQLite 非常热衷于使用锁定(所有名副其实的数据库都是)所以真的有必要将数据库放在 NFS 挂载上吗?锁在网络文件系统中从来都不能很好地工作(由于网络的性质,总是需要对某些操作的语义进行隐瞒……)