“没有可用的锁”是什么意思?


9

我正在尝试提交到SVN服务器。在服务器上,Subversion存储库已安装NFS。进行提交时,出现以下错误消息:

svn: Can't get exclusive lock on file '/svn/repo/db/transactions/7802-2.txn/rev-lock': No locks available

这曾经可以工作,并且没有任何软件升级/更改。但是,NFS服务器确实早些时候崩溃了,因此它可能被“损坏”(如果在这里甚至适用)

Answers:


12

这里有几种可能性:

  1. 正在执行SVN更新的用户帐户可能没有存储库目录上的更新权限
  2. 存储库所在的NFS文件系统可能已满
  3. 锁守护程序(lockd)可能未在NFS服务器上运行。

更新:更新问题后,我怀疑是#3。确保重新启动NFS服务器时将lockd设置为启动。


1
服务器上的“ ps aux | grep已锁定”已输出,因此我认为它正在运行
Rory

它与NFS服务器有关。
弗朗西斯科

我的情况是#3。已/sbin/service nfslock start在CentOS 6.8中修复(参考:18.1.1。必需的服务
joao cenoura

3

确保您的NFS服务器支持锁;您可能需要在NFS服务器上启用其他进程才能完成此操作;参见rpc.lockd(8)rpc.statd(8)

另外,如果您的NFS服务器最近重新启动,则您的NFS挂载可能已陈旧,甚至已过时。尝试卸载和重新安装NFS挂载。

编辑:根据您的另一个问题,您的NFS服务器从崩溃中恢复后,锁似乎没有启动。


它一直可以工作,直到nfs服务器崩溃。最近没有软件更新。我扩大了问题
罗里(Rory)2009年

您的NFS挂载可能(部分)陈旧;这是基于FreeBSD的NFS服务器和Solaris客户端在这里发生的。挂载/重新挂载NFS共享为我们解决了该问题。
Tel Janin

1
重新启动具有NFS挂载的客户端无法解决该问题。(尽管还有其他机器正在从该NFS服务器装载,但我尚未重新启动/重新装载)
Rory

1

这个google搜索中提到了您上面提到的术语时有许多选择。

提到的一些选项包括:完整光盘,权限问题,“挂起”或“卡住”的svnserve进程以及挂起的事务...您可能需要尝试许多这些不同的问题,以查看问题的根源是什么案件。

听起来您正在使用bsddb SVN后端?您可能需要尝试将存储库迁移到fsfs后端(默认设置为几年)。从我的经验以及我所知的许多其他经验来看,它比bsddb更可靠。尽管您想研究它如何与NFS交互-我还没有在NFS上使用它。

您可能要考虑的另一种选择是放弃在NFS上使用SVN,而是在本地存储了SVN存储库的服务器上通过SSH运行它。这就是我们使用fsfs后端完成所有SVN工作的方式,我不记得上次遇到SVN存储库问题了。

肖恩


我们正在使用FSFS后端
Rory

+1表示完整磁盘!事实证明,尽管NFS挂载未满,但根驱动器却...
hwjp

0

如果在debian上将SVN与NFS一起使用

运行这个:

/etc/init.d/portmap restart

1
解释为什么您建议将此作为答案可能会有所帮助。
Drew Khoury

0

由于无业游民的NFS安装,我在这里遇到了类似的问题。从上面的Tel Janin所说,我sudo service rpcbind restart在主机OS上重新启动了rpcbind 。这挂了我的虚拟机。我重新启动它,这给了我一个神秘的NFS错误failed to start with result 'dependency'。虽然确实有效,但我现在是一个快乐的露营者。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.