nfs가 다른 서버(drbd)로 장애 조치되면 연결에 어떤 일이 발생하는지 알고 싶습니다. vim에 파일이 열려 있으면 잠길 것입니다. 가끔씩만 돌아올 것 같아요.. 오랜 시간이 지난 후에요?
장애 조치가 발생할 때 io에서 차단되는지, 연결을 끊는지 등을 알 수 있는 일반적인 방법은 무엇입니까?
따라서 이것은 drbd 볼륨과 함께 nfs를 사용하는 두 서버 사이에 유동 IP를 사용하고 있습니다.
답변1
클라이언트의 관점에서 볼 때 장애 조치가 충분히 훌륭하게 구현되면 NFS 서버가 아주 짧은 시간 동안 사라졌다가 다시 돌아온 것처럼 보일 것입니다. 그러나 데이터 손실을 방지하려면 "동기화" 옵션을 사용하여 마운트하는 것이 좋습니다.
프로세스가 io를 기다리고 있는지 확인하는 한 가지 방법은 "ps aux"를 수행하고 "STAT" 열에서 "D"를 찾는 것입니다. NFS 서버에 문제가 있는지 알 수 있는 일반적인 방법은 로그 파일의 내용과 "dmesg"의 출력을 연구하고 "nfs: 서버 myserver가 응답하지 않음, 여전히 시도 중"과 같은 NFS 관련 메시지를 찾는 것입니다.
손실된 NFS 서버에서 종료할 수 없는 처리가 중단되는 것을 방지하는 한 가지 방법은 NFS를 마운트할 때 "intr" 스위치를 추가하는 것입니다. 해당 스위치를 사용하면 최소한 사라진 NFS 서버를 기다리는 프로세스를 종료할 수 있습니다.