我正在尝试提交给SVN服务器。 在服务器上,Subversion版本库是NFS挂载的。 进行提交时,出现以下错误消息:
svn: Can't get exclusive lock on file '/svn/repo/db/transactions/7802-2.txn/rev-lock': No locks available
这曾经工作,并没有任何软件升级/任何变化。 然而,NFS服务器确实崩溃了,所以它可能会“损坏”(如果甚至在这里适用)
这里有一些可能性:
更新:在更新问题后,我怀疑#3。 确保在重新启动NFS服务器时将lockd设置为启动。
确保您的NFS服务器支持locking; 您可能需要在NFS服务器上启用其他进程才能完成此操作; 请参阅rpc.lockd(8)和rpc.statd(8) 。
此外,如果您的NFS服务器最近已经重新启动,您可能会有一个陈旧的甚至是部分陈旧的NFS挂载。 尝试卸载并重新挂载NFS挂载。
编辑:根据你的其他问题 ,它看起来像locking没有启动后,你的NFS服务器从崩溃中恢复。
在谷歌search中提到了上面提到的一些替代方法。
提到的一些选项是:完整的光盘,权限问题,“挂起”或“卡住”svnserve进程和挂起的交易…您可能需要尝试一些这些不同的问题,看看到底是什么问题案件。
这听起来像你使用bsddb SVN后端? 您可能想尝试将您的存储库迁移到fsfs后端(现在是几年的默认设置)。 根据我的经验以及我所知道的其他一些经validation明,它比bsddb更可靠。 虽然你会想研究它如何与NFS交互 – 我没有在NFS上使用它。
另一个可能需要考虑的select是远离使用SVN over NFS,而不是在本地存储SVN库的服务器上通过SSH运行它。 这就是我们如何做我们所有的SVN工作,与fsfs后端,我不记得我们上次有SVN存储库问题。
肖恩
如果你在debian上使用SVN和NFS
运行这个:
/etc/init.d/portmap restart
我在这里遇到类似的问题,因为stream浪者的NFS坐骑。 从Tel Janin上面所说的,我在我的主机操作系统上用sudo service rpcbind restart了sudo service rpcbind restart 。 这挂了我的vm。 我重新启动,这给了我一个神秘的NFS错误failed to start with result 'dependency' 。 它虽然工作,但我现在是一个快乐的露营者。