기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
I/O 오류 및 NFS 잠금 회수 실패 문제 해결
이 섹션에서는 FSx for ONTAP 파일 시스템의 장애 조치 이벤트 중 I/O 오류 및 NFS 잠금 회수 실패와 관련된 문제와 각 문제에 대한 해결 방법을 설명합니다.
장애 조치 이벤트 중에 I/O 오류가 발생하는 경우
FSx for ONTAP Single-AZ 파일 시스템의 장애 조치 중에 NFS 클라이언트에 일시적인 I/O 오류 또는 장기 일시 중지가 발생할 수 있습니다. NFSv4+ 클라이언트의 경우 다음과 같은 커널 로그 메시지가 표시될 수 있습니다.
NFS: __nfs4_reclaim_open_state: Lock reclaim failed!
이러한 메시지는 클라이언트가 장애 조치 기간 동안 NFS 잠금을 성공적으로 회수할 수 없음을 나타냅니다.
장애 조치 이벤트 중에 I/O 오류를 줄이려면
Linux에서는 장애 조치 감지 시간을 55~60초에서 15~20초로 줄이도록 클라이언트에서 네트워크 설정을 구성할 수 있습니다.
중요
항상 비프로덕션 환경에서 이러한 구성을 먼저 테스트합니다. 이러한 설정은 IP 주소를 로컬 네트워크의 물리적(MAC) 주소에 매핑하는 데 사용되는 주소 확인 프로토콜(ARP) 트래픽을 증가시키고 네트워크 제약 환경에는 적합하지 않을 수 있습니다.
NFS 클라이언트에 최적화된 네트워크 설정을 구성하려면
-
각 NFS 클라이언트에서 sysctl 구성 파일을 생성합니다. 다음 예제에서는
default를 사용하여 모든 네트워크 인터페이스에 설정을 적용합니다. 인스턴스에 여러 네트워크 인터페이스가 있는 경우default를 FSx for ONTAP Single-AZ 파일 시스템에 연결하는 데 사용되는 특정 인터페이스 이름(예:eth0또는ens5)으로 바꿀 수 있습니다.$sudo tee /etc/sysctl.d/99-fsx-failover.conf > /dev/null << 'EOF' # NFS client optimizations for faster failover detection # Replace 'default' with your interface name (e.g., eth0, ens5) to target a specific interface net.ipv4.neigh.default.base_reachable_time_ms=5000 net.ipv4.neigh.default.delay_first_probe_time=1 net.ipv4.neigh.default.ucast_solicit=0 net.ipv4.tcp_syn_retries=3 EOF -
설정을 즉시 적용합니다.
$sudo sysctl -p /etc/sysctl.d/99-fsx-failover.conf -
구성이 활성 상태인지 확인합니다. 를 사용한 경우 다음 명령을 사용하여 확인할
default수 있습니다. 특정 인터페이스를 지정한 경우를 인터페이스 이름(예:eth0또는ens5)default으로 바꿉니다.$sysctl net.ipv4.neigh.default.base_reachable_time_ms$sysctl net.ipv4.neigh.default.delay_first_probe_time$sysctl net.ipv4.neigh.default.ucast_solicit$sysctl net.ipv4.tcp_syn_retries
이러한 설정이 동일한 가용 영역 내에서 FSx for ONTAP 파일 시스템에 연결하는 모든 NFS 클라이언트에 일관되게 적용되는지 확인합니다. 이러한 네트워크 최적화를 사용할 때는 다음 사항에 유의하세요.
base_reachable_time_ms=5000 – ARP 캐시 항목 유효성을 30초에서 5초로 줄여 클라이언트가 장애 조치 이벤트 중에 IP 소유권 변경을 더 빠르게 감지할 수 있습니다.
delay_first_probe_time=1 - 오래된 네트워크 항목을 5초에서 1초로 탐색하기 전에 지연 시간을 줄입니다.
ucast_solicit=0 - 유니캐스트 이웃 프로브를 건너뛰고 브로드캐스트 ARP 요청을 즉시 실행하여 활성 파일 서버의 재검색을 가속화합니다.
tcp_syn_retries=3 - TCP 연결 재시도 기간을 127초에서 15초로 줄입니다.
네트워크 설정이 적용되면 환경을 모니터링하여 변경 사항을 확인해야 합니다. 파일 시스템의 처리량 용량을 수정하여 장애 조치 이벤트를 테스트할 수 있습니다. 자세한 내용은 파일 시스템에서 장애 조치 테스트 단원을 참조하십시오.
변경 사항 적용 후 환경 모니터링
-
시스템 로그에서 NFS 오류를 모니터링하여 NFS 관련 커널 로그 메시지를 확인합니다.
$sudo journalctl -f | grep -i nfs와 같은 메시지 발생 횟수가 적은지 확인합니다
Lock reclaim failed. 애플리케이션 로그를 모니터링하여 장애 조치 이벤트 중에 I/O 제한 시간, 연결 오류 및 재시도 관련 실패를 줄입니다.
증가된 ARP 트래픽이 환경의 네트워크 성능에 부정적인 영향을 미치지 않도록 네트워크 영향을 검증합니다.
NFSv4 환경을 위한 대체 접근 방식
클라이언트 측 구성을 수정할 수 없는 NFSv4 환경에서는 다음 대안을 고려하세요.
NFSv4 임대 제한 시간을 연장합니다. 스토리지 관리자와 협력하여 NFSv4 임대 제한 시간을 늘립니다. 이러한 제한 시간을 연장하면 클라이언트가 장애 조치 이벤트 중에 잠금을 회수할 시간을 추가로 확보할 수 있습니다. 자세한 내용은 NetApp ONTAP 설명서의 NFSv4 잠금 유예 기간 지정
을 참조하세요.