[server] ‘사용 가능한 잠금 장치 없음’이란 무엇입니까?

SVN 서버에 커밋하려고합니다. 서버에서 서브 버전 저장소는 NFS 마운트됩니다. 커밋을 수행하면 다음 오류 메시지가 나타납니다.

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

이전에는 작동했지만 소프트웨어 업그레이드 / 변경은 없었습니다. 그러나 NFS 서버가 더 일찍 충돌했기 때문에 ‘손상’되었을 수 있습니다 (여기에도 해당되는 경우).



답변

여기 몇 가지 가능성이 있습니다.

  1. SVN 업데이트를 수행하는 사용자 계정에 저장소 디렉토리에 대한 업데이트 권한이 없을 수 있습니다.
  2. 저장소가 저장된 NFS 파일 시스템이 가득 찼을 수 있습니다.
  3. NFS 서버에서 잠금 데몬 (잠금)이 실행되고 있지 않을 수 있습니다.

업데이트 : 질문 업데이트 후 # 3으로 의심됩니다. NFS 서버가 재부팅 될 때 잠금이 시작되도록 설정되어 있는지 확인하십시오.


답변

NFS 서버가 잠금을 지원하는지 확인하십시오. 이를 위해 NFS 서버에서 추가 프로세스를 활성화해야 할 수도 있습니다. rpc.lockd (8)rpc.statd (8)를 참조하십시오 .

또한 NFS 서버가 최근에 다시 시작된 경우 오래된 또는 부분적으로 오래된 NFS 마운트가있을 수 있습니다. NFS 마운트를 마운트 해제했다가 다시 마운트하십시오.

편집 : 다른 질문에 따르면 NFS 서버가 충돌에서 복구 된 후 잠금이 시작되지 않은 것처럼 보입니다.


답변

이 Google 검색에는 위에서 언급 한 용어 에 대한 여러 대안 이 있습니다 .

언급 된 옵션 중 일부는 전체 디스크, 권한 문제, “정지 된”또는 “고정 된”svnserve 프로세스 및 정지 된 트랜잭션 …입니다. 문제가 무엇인지 정확히 확인하려면 여러 가지 다른 문제를 시도해야 할 수도 있습니다. 케이스.

bsddb SVN 백엔드를 사용하는 것 같습니까? 저장소를 fsfs 백엔드 (현재 몇 년 동안 기본값)로 마이그레이션하려고 할 수 있습니다. 내 경험과 내가 아는 많은 다른 사람들의 경험에 따르면 bsddb보다 더 신뢰할 수 있습니다. NFS와 상호 작용하는 방법을 연구하고 싶지만 NFS에서는 사용하지 않았습니다.

고려해야 할 또 다른 옵션은 NFS를 통한 SVN 사용에서 벗어나 SVN 저장소가 로컬로 저장된 서버에서 SSH를 통해 실행하는 것입니다. 이것이 우리가 fsfs 백엔드로 모든 SVN 작업을 수행하는 방법이며 SVN 저장소 문제가 마지막으로 발생한 시간을 기억할 수 없습니다.


답변

데비안에서 NFS로 SVN을 사용하는 경우

이것을 실행하십시오 :

/etc/init.d/portmap restart


답변

방랑자의 NFS 마운트로 인해 비슷한 문제가 발생했습니다. Tel Janin이 위에서 말한 것으로부터 sudo service rpcbind restart호스트 OS에서 rpcbind를 다시 시작했습니다 . 이로 인해 내 VM이 중단되었습니다. 나는 그것을 다시 시작하여 암호 NFS 오류가 발생했습니다 failed to start with result 'dependency'. 그것은 효과가 있었고 나는 지금 행복한 야영 자입니다.


답변