Linux 또는 Windows VM용 NFS 볼륨 탑재

Windows 또는 Linux VM(가상 머신)용 NFS 파일을 탑재할 수 있습니다.

요구 사항

  • NFS 볼륨에 액세스할 수 있으려면 내보내기 정책이 하나 이상 있어야 합니다.
  • NFS는 네트워크 연결 서비스이므로 적절한 기능을 보장하기 위해 방화벽에서 특정 네트워크 포트를 열어야 합니다. 구성이 잘 맞는지 확인합니다.
포트 및 설명 NFSv3 NFSv4.x
포트 111 TCP/UDP – Portmapper
NFS 요청에 사용되는 포트를 협상하는 데 사용됩니다.
White checkmark in green box N/A*
포트 635 TCP/UDP – Mountd
들어오는 탑재 요청을 수신하는 데 사용됩니다.
White checkmark in green box N/A*
포트 2049 TCP/UDP – NFS
NFS 트래픽
White checkmark in green box White checkmark in green box
포트 4045 TCP/UDP – NLM(네트워크 잠금 관리자)
잠금 요청을 처리합니다.
White checkmark in green box N/A*
포트 4046 TCP/UDP – NSM(네트워크 상태 모니터)
잠금 관리를 위한 서버 재부팅에 대해 NFS 클라이언트에 알립니다.
White checkmark in green box N/A*
포트 4049 TCP/UDP – Rquotad
원격 할당량 서비스를 처리합니다. (선택 사항)
White checkmark in green box N/A*

* NFSv4.1 표준에 통합되었습니다. 모든 트래픽이 포트 2049를 통해 전달되었습니다.

아웃바운드 클라이언트 포트 정보

아웃바운드 클라이언트 포트 요청은 NFS 연결을 위해 포트 범위를 활용합니다. 예를 들어 Azure NetApp Files 탑재 포트는 635에서 정적이지만 클라이언트는 1~1024 범위의 동적 포트 번호를 사용하여 연결을 시작할 수 있습니다. (예: 1010 -> 635)

해당 범위에는 포트가 1023개뿐이므로 동시 탑재 요청은 해당 크기 이하로 제한해야 합니다. 그렇지 않으면 요청 시 사용 가능한 나가는 포트가 없는 경우 탑재 시도가 실패합니다. 탑재 요청은 임시 요청이므로 탑재가 설정되면 아웃바운드 클라이언트 탑재 포트가 연결을 해제합니다.

UDP를 사용하여 탑재하는 경우 탑재 요청이 완료되면 포트가 최대 60초 동안 해제되지 않습니다. 탑재 옵션에 지정된 TCP를 사용하여 탑재하는 경우 탑재 포트는 완료 시 해제됩니다.

NFS에 대한 아웃바운드 클라이언트 요청(포트 2049로 전송됨)은 Azure NetApp Files NFS 서버당 최대 65,534개의 동시 클라이언트 포트를 허용합니다. NFS 요청이 완료되면 포트가 풀로 반환됩니다.

Network Address Translation 및 방화벽

NFS 클라이언트와 서버 사이에 NAT(Network Address Translation) 또는 방화벽이 있는 경우 다음을 고려합니다.

  • NFS는 특정 작업을 추적하여 완료되었는지 확인하기 위해 회신 캐시를 유지 관리합니다. 이 회신 캐시는 원본 포트 및 원본 IP 주소를 기준으로 합니다. NFS 작업에서 NAT를 사용하는 경우 원본 IP 또는 포트가 변경되어 데이터 복원력 문제가 발생할 수 있습니다. NAT를 사용하는 경우 데이터가 일관성을 유지하도록 NFS 서버 IP 및 포트에 대한 정적 항목을 추가해야 합니다.
  • 또한 NAT는 NAT가 유휴 세션을 처리하는 방식으로 인해 NFS 탑재가 중단되는 문제를 일으킬 수도 있습니다. NAT를 사용하는 경우 구성은 유휴 세션을 고려하여 문제를 방지하기 위해 무기한 열린 상태를 유지해야 합니다. NAT는 NLM 잠금 회수와 관련된 문제를 유발할 수도 있습니다.
  • 일부 방화벽은 지정된 시간 후에 유휴 TCP 연결을 삭제할 수 있습니다. 예를 들어 클라이언트에 NFS 탑재가 연결되어 있지만 잠시 동안 사용하지 않는 경우 유휴 상태로 간주됩니다. 이 경우 네트워크 연결이 방화벽에 의해 끊어졌기 때문에 탑재에 대한 클라이언트 액세스가 중단될 수 있습니다. Keepalives는 이 문제를 방지하는 데 도움이 되지만 부실 세션의 패킷을 적극적으로 거부하지 않도록 방화벽을 구성하여 잠재적 유휴 클라이언트를 해결하는 것이 좋습니다.

NFS 잠금에 대한 자세한 내용은 Azure NetApp Files의 파일 잠금 및 잠금 형식 이해를 참조하세요.

NFS가 Azure NetApp Files에서 작동하는 방법에 대한 자세한 내용은 Azure NetApp Files의 NAS 프로토콜 이해를 참조하세요.

Linux 클라이언트에 NFS 볼륨 탑재

  1. Linux NFS 탑재 옵션 모범 사례를 검토합니다.
  2. 볼륨 창을 선택한 다음 탑재할 NFS 볼륨을 선택합니다.
  3. Linux 클라이언트를 사용하여 NFS 볼륨을 탑재하려면 선택한 볼륨에서 탑재 지침을 선택합니다. 표시된 지침에 따라 볼륨을 탑재합니다. Screenshot of Mount instructions.
    • mount 명령에서 vers 옵션을 사용하여 마운트할 볼륨에 해당하는 NFS 프로토콜 버전을 지정해야 합니다. 예를 들어 NFS 버전이 NFSv4.1인 경우: sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,tcp,sec=sys $MOUNTTARGETIPADDRESS:/$VOLUMENAME $MOUNTPOINT
    • NFSv4.1을 사용하고 구성에 호스트 이름이 동일한 VM을 활용해야 하는 경우(예: DR 테스트) NFSv4.1 볼륨에 액세스하기 위해 동일한 호스트 이름으로 두개의 VM 구성을 참조하세요.
    • Azure NetApp Files에서는 NFSv4.1을 사용할 때 NFSv4.2를 사용하도록 설정되지만 NFSv4.2는 공식적으로 지원되지 않습니다. 클라이언트의 탑재 옵션에서 NFSv4.1을 지정하지 않으면(vers=4.1) 클라이언트가 허용되는 가장 높은 NFS 버전으로 협상할 수 있습니다. 즉, 이 버전보다 높으면 탑재가 더 이상 지원되지 않습니다.
  4. Azure VM이 시작되거나 다시 부팅될 때 볼륨이 자동으로 탑재되도록 하려면 호스트의 /etc/fstab 파일에 항목을 추가합니다. 예: $ANFIP:/$FILEPATH /$MOUNTPOINT nfs bg,rw,hard,noatime,nolock,rsize=65536,wsize=65536,vers=3,tcp,_netdev 0 0
    • $ANFIP는 볼륨 속성 메뉴에 있는 Azure NetApp Files 볼륨의 IP 주소입니다.
    • $FILEPATH은 Azure NetApp Files 볼륨의 내보내기 경로입니다.
    • $MOUNTPOINT는 NFS 내보내기를 마운트하는 데 사용되는 Linux 호스트에 생성된 디렉터리입니다.
  5. NFS Kerberos 볼륨을 마운트하려는 경우 자세한 내용은 NFSv4.1 Kerberos 암호화 구성을 참조하세요.
  6. 볼륨에 대한 프로토콜 액세스를 "이중 프로토콜"로 설정하여 NFS를 통해 Unix 및 Linux 클라이언트에서 SMB 볼륨에 액세스할 수도 있습니다. 이렇게 하면 NFS(NFSv3 또는 NFSv4.1) 및 SMB를 통해 볼륨에 액세스할 수 있습니다. 자세한 내용은 이중 프로토콜 볼륨 만들기 를 참조하세요. 보안 스타일 매핑 테이블을 기록해 둡니다. Unix 및 Linux 클라이언트에서 이중 프로토콜 볼륨을 탑재하려면 일반 NFS 볼륨과 동일한 절차를 사용합니다.

Windows 클라이언트에 NFS 볼륨 탑재

Windows 클라이언트에서 NFSv4.1 볼륨 탑재는 지원되지 않습니다. 자세한 내용은 네트워크 파일 시스템 개요를 참조하세요.

NFS를 사용하여 Windows 클라이언트에 NFSv3 볼륨을 탑재하려는 경우:

  1. 먼저 Unix 또는 Linux VM에 볼륨을 탑재합니다.
  2. 볼륨에 대해 chmod 777 또는 chmod 775 명령을 실행합니다.
  3. 연결 문제를 줄이기 위해 탑재 옵션 mtype=hard를 사용하여 Windows에서 NFS 클라이언트를 통해 볼륨을 탑재합니다. 자세한 내용은 NFS 볼륨 탑재를 위한 Windows 명령줄 유틸리티를 참조하세요. 예: Mount -o rsize=256 -o wsize=256 -o mtype=hard \\10.x.x.x\testvol X:*
  4. 볼륨에 대한 프로토콜 액세스를 "이중 프로토콜"로 설정하여 SMB를 통해 Windows 클라이언트에서 NFS 볼륨에 액세스할 수도 있습니다. 이 설정을 사용하면 SMB 및 NFS(NFSv3 또는 NFSv4.1)를 통해 볼륨에 액세스할 수 있으며, NFS 볼륨이 있는 Windows에서 NFS 클라이언트를 사용하는 것보다 성능이 향상됩니다. 자세한 내용은 이중 프로토콜 볼륨 만들기를 참조하고 보안 스타일 매핑 테이블을 기록해 둡니다. 일반 SMB 볼륨과 동일한 절차를 사용하여 Windows 클라이언트에서 이중 프로토콜 볼륨을 탑재합니다.

다음 단계