인피니밴드(IPoIB)에서 실행되는 NFS v4 서버에 많은 문제가 있습니다. 로드가 높아질 때마다 nfs 서버가 잠기고 문제를 해결하려면 서버를 다시 시작해야 합니다. 몇 초마다 다음 메시지가 나타납니다.
Message from syslogd@fruster at Jul 14 12:51:54 ...
kernel:BUG: soft lockup - CPU#6 stuck for 22s! [nfsd:15806]
나는 그것을 디버깅하고 무슨 일이 일어나고 있는지 알아보려고 노력했기 때문에 nfsstat -s
모든 대역폭을 사용하는 것이 무엇인지 확인했습니다.
Server rpc stats:
calls badcalls badclnt badauth xdrcall
241998732 0 0 0 0
Server nfs v4:
null compound
3 0% 242004087 99%
Server nfs v4 operations:
op0-unused op1-unused op2-future access close commit
0 0% 0 0% 0 0% 148697 0% 65006 0% 124611 0%
create delegpurge delegreturn getattr getfh link
3072 0% 0 0% 10373 0% 6028483 2% 120565 0% 0 0%
lock lockt locku lookup lookup_root nverify
0 0% 0 0% 0 0% 52306 0% 0 0% 0 0%
open openattr open_conf open_dgrd putfh putpubfh
90478 0% 0 0% 223 0% 18760 0% 18834351 6% 0 0%
putrootfh read readdir readlink remove rename
65 0% 12579510 4% 4540 0% 5 0% 24848 0% 20232 0%
renew restorefh savefh secinfo setattr setcltid
23413 0% 0 0% 20241 0% 0 0% 1073 0% 66 0%
setcltidconf verify write rellockowner bc_ctl bind_conn
66 0% 0 0% 5716220 2% 0 0% 0 0% 13 0%
exchange_id create_ses destroy_ses free_stateid getdirdeleg getdevinfo
101 0% 159 0% 58 0% 0 0% 0 0% 0 0%
getdevlist layoutcommit layoutget layoutreturn secinfononam sequence
0 0% 0 0% 0 0% 0 0% 0 0% 225439523 83%
set_ssv test_stateid want_deleg destroy_clid reclaim_comp
0 0% 0 0% 0 0% 0 0% 55 0%
보시다시피 "sequence"는 NFS 대역폭의 83%를 사용하지만 "sequence"가 무엇인지 모르고 온라인에서 찾을 수 없습니다. "nfsstat -s 출력 시퀀스"를 검색하면 다음과 같은 결과가 나오기 때문입니다. "다음 단계를 순서대로 수행하세요"라고 말하는 페이지가 많이 있습니다.
"순서"가 무엇인지 아는 사람 있나요? NFS가 정지되는 이유에 대한 제안 사항이 있는 경우 보너스 포인트를 제공합니다.
감사해요
답변1
정의는 다음과 같습니다.
RFC 3530 NFS v4: NFS(네트워크 파일 시스템) 버전 4 프로토콜
NFS4ERR_BAD_SEQID
잠금 요청의 시퀀스 번호는 다음 예상 번호도 아니고 처리된 마지막 번호도 아닙니다.
이것nfsstat 소스아쉽게도 추가 정보는 공개되지 않았습니다.
7월 15일 업데이트됨: 의 가능성버그 651409 - NFS 서버가 BAD SEQID 오류 메시지를 반환합니다.여기 범인이에요.
답변2
NFSv4.1 작업 53입니다.
서버는 SEQUENCE 작업을 사용하여 세션 요청 제어 및 응답 캐싱 의미 체계를 구현합니다.
작업 자체에는 오류나 문제가 나타나지 않는 것 같습니다.