

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# I/O 오류 및 NFS 잠금 회수 실패 문제 해결
<a name="nfs-failover-issues"></a>

이 섹션에서는 FSx for ONTAP 파일 시스템의 장애 조치 이벤트 중 I/O 오류 및 NFS 잠금 회수 실패와 관련된 문제와 각 문제에 대한 해결 방법을 설명합니다.

## 장애 조치 이벤트 중에 I/O 오류가 발생하는 경우
<a name="io-errors-during-failover"></a>

FSx for ONTAP Single-AZ 파일 시스템의 장애 조치 중에 NFS 클라이언트에 일시적인 I/O 오류 또는 장기 일시 중지가 발생할 수 있습니다. NFSv4\$1 클라이언트의 경우 다음과 같은 커널 로그 메시지가 표시될 수 있습니다.

```
NFS: __nfs4_reclaim_open_state: Lock reclaim failed!
```

이러한 메시지는 클라이언트가 장애 조치 기간 동안 NFS 잠금을 성공적으로 회수할 수 없음을 나타냅니다.

**장애 조치 이벤트 중에 I/O 오류를 줄이려면**  
Linux에서는 장애 조치 감지 시간을 55\$160초에서 15\$120초로 줄이도록 클라이언트에서 네트워크 설정을 구성할 수 있습니다.

**중요**  
항상 비프로덕션 환경에서 이러한 구성을 먼저 테스트합니다. 이러한 설정은 IP 주소를 로컬 네트워크의 물리적(MAC) 주소에 매핑하는 데 사용되는 주소 확인 프로토콜(ARP) 트래픽을 증가시키며, 네트워크 제약 환경에는 적합하지 않을 수 있습니다.

**NFS 클라이언트에 최적화된 네트워크 설정을 구성하려면**

1. 각 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
   ```

1. 설정을 즉시 적용합니다.

   ```
   $ sudo sysctl -p /etc/sysctl.d/99-fsx-failover.conf
   ```

1. 구성이 활성 상태인지 확인합니다. 를 사용한 경우 다음 명령을 사용하여 확인할 `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\$1reachable\$1time\$1ms=5000** – ARP 캐시 항목 유효성을 30초에서 5초로 줄여 클라이언트가 장애 조치 이벤트 중에 IP 소유권 변경을 더 빠르게 감지할 수 있습니다.
+ **delay\$1first\$1probe\$1time=1** - 오래된 네트워크 항목을 5초에서 1초로 탐색하기 전에 지연 시간을 줄입니다.
+ **ucast\$1solicit=0** - 유니캐스트 이웃 프로브를 건너뛰고 브로드캐스트 ARP 요청을 즉시 실행하여 활성 파일 서버의 재검색을 가속화합니다.
+ **tcp\$1syn\$1retries=3** - TCP 연결 재시도 기간을 127초에서 15초로 줄입니다.

네트워크 설정이 적용되면 환경을 모니터링하여 변경 사항을 확인해야 합니다. 파일 시스템의 처리량 용량을 수정하여 장애 조치 이벤트를 테스트할 수 있습니다. 자세한 내용은 [파일 시스템에서 장애 조치 테스트](high-availability-AZ.md#testing-failover) 단원을 참조하십시오.

**변경 사항 적용 후 환경 모니터링**  

+ **시스템 로그에서 NFS 오류를 모니터링**하여 NFS 관련 커널 로그 메시지를 확인합니다.

  ```
  $ sudo journalctl -f | grep -i nfs
  ```

  와 같은 메시지 발생 횟수가 적은지 확인합니다`Lock reclaim failed`.
+ **애플리케이션 로그를 모니터링**하여 장애 조치 이벤트 중에 I/O 제한 시간, 연결 오류 및 재시도 관련 실패를 줄입니다.
+ 증가된 ARP 트래픽이 환경의 네트워크 성능에 부정적인 영향을 미치지 않도록 네트워크 **영향을 검증**합니다.

## NFSv4 환경을 위한 대체 접근 방식
<a name="nfsv4-alternative-approaches"></a>

클라이언트 측 구성을 수정할 수 없는 NFSv4 환경에서는 다음 대안을 고려하세요.
+ **NFSv4 임대 제한 시간을 연장합니다.** 스토리지 관리자와 협력하여 NFSv4 임대 제한 시간을 늘립니다. 이러한 제한 시간을 연장하면 클라이언트가 장애 조치 이벤트 중에 잠금을 회수할 시간을 추가로 확보할 수 있습니다. 자세한 내용은 NetApp ONTAP 설명서[의 NFSv4 잠금 유예 기간 지정](https://docs.netapp.com/us-en/ontap/nfs-admin/specify-nfsv4-locking-grace-period-task.html)을 참조하세요.