NFS 서버가 디스크 없는 노드를 시작하는 것 같습니다.

NFS 서버가 디스크 없는 노드를 시작하는 것 같습니다.

저는 현재 디스크 없는 노드를 사용하여 일부 MPI 및 CUDA 계산을 수행할 실험실 설정을 돕고 있습니다.

선택한 배포판은 CentOS 7입니다. 디스크 없는 노드를 설정하기 위해 가이드를 따랐습니다.여기.

디스크 없는 노드를 성공적으로 시작했으며 일부 MPI 테스트 프로그램도 실행했습니다. 따라서 연결, 방화벽, nfs 내보내기 등의 측면에서 모든 것이 잘 작동합니다.

문제는 디스크 없는 노드를 시작한 후 약 12시간이 지나면 dhcp, tftp 및 nfs 서버 역할을 하는 마스터 서버가 nfs 서비스에서 디스크 없는 노드를 쫓아내는 것처럼 보이며 kernel: nfs: server <servername> not responding, still trying클라이언트에 메시지가 표시된다는 것입니다. 그때부터 디스크가 없는 클라이언트로부터 ping 응답을 받는 것도 중단되었습니다. 클라이언트의 루트 파일 시스템은 NFS를 통해 획득되므로 이로 인해 클라이언트가 "손상된" 상태가 되어 Ctrl+Alt+Del 또는 시스템의 재설정 스위치를 사용하여 재부팅할 수만 있을 것이라고 생각됩니다. 아무리 많이 지나도 클라이언트는 다시 연결되지 않습니다. 마스터에서 /var/log/messages를 확인하면서 내 보기에서 다음을 발견했습니다 Oct 8 23:30:50 myhostname kernel: NFSD: purging unused client (clientid e87d62f6).

로그의 더 큰 부분은 다음과 같습니다. Oct 8 23:30:17 myhostname kernel: nfsv4 compound op ffff885c713d4080 opcnt 4 #3: 3: status 0 Oct 8 23:30:17 myhostname kernel: nfsv4 compound op #4/4: 9 (OP_GETATTR) Oct 8 23:30:17 myhostname kernel: nfsd: fh_verify(36: 01070001 00260308 00000000 996a1153 334c49c8 b8768c81) Oct 8 23:30:17 myhostname kernel: nfsv4 compound op ffff885c713d4080 opcnt 4 #4: 9: status 0 Oct 8 23:30:17 myhostname kernel: nfsv4 compound returned 0 Oct 8 23:30:17 myhostname kernel: --> nfsd4_store_cache_entry slot ffff885c72a66000 Oct 8 23:30:17 myhostname kernel: renewing client (clientid 5bbb153f/e87d62f7) Oct 8 23:30:50 myhostname kernel: NFSD: laundromat service - starting Oct 8 23:30:50 myhostname kernel: NFSD: purging unused client (clientid e87d62f6) Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: cmd: remove Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: arg: 4c696e7578204e465376342e31206e6f64653033 Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: env0: (null) Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: env1: (null) Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: /sbin/nfsdcltrack return value: 0 Oct 8 23:30:50 myhostname kernel: NFSD: laundromat_main - sleeping for 57 seconds Oct 8 23:31:48 myhostname kernel: NFSD: laundromat service - starting Oct 8 23:31:48 myhostname kernel: NFSD: purging unused client (clientid e87d62f7) Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: cmd: remove Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: arg: 4c696e7578204e465376342e31206e76696469613031 Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: env0: (null) Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: env1: (null) Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: cmd: remove Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: arg: 4c696e7578204e465376342e31206e6f64653033 Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: env0: (null) Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: env1: (null) Oct 8 23:30:50 myhostname kernel: nfsd4_umh_cltrack_upcall: /sbin/nfsdcltrack return value: 0 Oct 8 23:30:50 myhostname kernel: NFSD: laundromat_main - sleeping for 57 seconds Oct 8 23:31:48 myhostname kernel: NFSD: laundromat service - starting Oct 8 23:31:48 myhostname kernel: NFSD: purging unused client (clientid e87d62f7) Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: cmd: remove Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: arg: 4c696e7578204e465376342e31206e76696469613031 Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: env0: (null) Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: env1: (null) Oct 8 23:31:48 myhostname kernel: nfsd4_umh_cltrack_upcall: /sbin/nfsdcltrack return value: 0 Oct 8 23:31:48 myhostname kernel: NFSD: laundromat_main - sleeping for 90 seconds Oct 8 23:33:18 myhostname kernel: NFSD: laundromat service - starting Oct 8 23:33:18 myhostname kernel: NFSD: laundromat_main - sleeping for 90 seconds Oct 8 23:34:48 myhostname kernel: NFSD: laundromat service - starting Oct 8 23:34:48 myhostname kernel: NFSD: laundromat_main - sleeping for 90 seconds

그 후에는 세탁실 서비스 시작/수면 메시지를 계속해서 반복합니다.

nfsstat는 badcalls 등과 같이 서버에 이상한 것을 표시하지 않습니다. 또한 NFSv3 버전을 강제로 시도했습니다. 저도 같은 문제를 겪고 있지만 사용하지 않는 클라이언트 및 세탁소 메시지가 현재 로그에 표시되지 않습니다(v4에 추가된 것 같은데요?).

이제 연결 방법에 대해 자세히 알아보겠습니다. 메인 서버에는 2개의 네트워크 인터페이스가 있습니다. 하나는 realtek(기본적으로 커널 드라이버와 함께 작동)이고, 다른 하나는 elrepo의 kmod-forcedeth가 필요한 nvidia nforce입니다. 모든 서버 서비스는 nvidia-nforce 카드에 있습니다. 디스크가 없는 노드와 서버는 기가비트 스위치를 통해 연결됩니다(브랜드 이름/모델을 기억할 수 없습니다).

답변1

이 문제를 해결하셨나요? 디스크가 없는 Centos7 클라이언트에서도 동일한 문제가 발생했습니다. 모든 것이 12시간 이상 잘 작동한 다음 모든 클라이언트가 어느 정도 동시에 오프라인 상태가 되었습니다.

dhcpd.conf 파일의 관련 섹션에 다음을 추가하면 문제가 해결되는 것으로 나타났습니다.

default-lease-time infinite;
max-lease-time infinite;

centos6에서 centos7로 마이그레이션한 후 이 문제가 발생했습니다. dhcpd의 기본 IP 임대 시간이 변경되었기 때문인 것 같습니다. 다른 값을 선택할 수도 있습니다. dhcpd 매뉴얼 페이지에서도 이에 대해 다루고 있습니다.

관련 정보