用于故障转移的sqlite over network share

时间:2010-04-11 07:45:12

标签: sqlite network-share

作为此问题的后续行动:sqlite-over-a-network-share

如果我将SQlite数据库放在网络共享上,但不会从不同的计算机同时访问它。我只将SQLite数据库存储在共享上,这样一组故障转移计算机就可以接管一台机器停止运行的地方。

这种方法有任何固有的问题吗?

1 个答案:

答案 0 :(得分:2)

有兴趣了解您的经历(5年后)。根据Eric Grange的有用提示:

  • “SQLite使用POSIX顾问锁在Unix上实现锁定”......“POSIX顾问锁定已知在许多NFS实现上都有错误甚至未实现”......“你最好的防御是不使用SQLite对于网络文件系统上的文件。“

  • 话虽如此,如果您的NFS服务器坚如磐石(即NetApp)并且您的客户端坚如磐石(即可能不是Linux;请参阅http://nfsworld.blogspot.co。 AT / 2006/10 /审查 - 的 - 为什么-NFS-吸纸-from.html)。

  • POSIX咨询锁定NFS也依赖于驱动:来自文件锁定维基百科的文章:“在2.6.12之前的Linux上,对NFS文件的flock调用只会在本地运行。内核2.6.12及更高版本的实现flock使用POSIX字节范围锁调用NFS文件。这些锁对于实现fcntl样式POSIX锁的其他NFS客户端是可见的,但对那些不实现这种锁的人来说是不可见的。如果有疑问,您可以使用nfstrace来确定您的操作系统尝试执行的操作。

  • 如果节点A开始一个事务,锁定表文件然后崩溃会怎样?节点B是否会看到建议锁并拒绝写入文件?