'사용 가능한 잠금 장치 없음'이란 무엇입니까?


9

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

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

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

답변:


12

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

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

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


1
서버에서 "ps aux | grep lockd"가 출력되었으므로 서버가 실행중인 것 같습니다
Rory

NFS 서버와 관련이 있습니다.
Francisco

제 사건은 # 3입니다. /sbin/service nfslock startCentOS 6.8에서 수정 됨 ( 참조 : 18.1.1. 필수 서비스
joao cenoura

3

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

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

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


nfs 서버가 충돌 할 때까지 작동했습니다. 최근에 소프트웨어 업데이트가 없습니다. 질문을 확장했습니다
Rory

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 마운트가 가득
차지 않았지만

0

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

이것을 실행하십시오 :

/etc/init.d/portmap restart

1
왜 이것을 답으로 제안하는지 설명하면 도움이 될 수 있습니다.
Drew Khoury

0

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.