이제 Blob Storage는 NFS(네트워크 파일 시스템) 3.0 프로토콜을 지원합니다. 이 지원 기능은 개체 스토리지 규모 및 가격으로 Linux 파일 시스템 호환성을 제공하고, Linux 클라이언트가 Azure VM(가상 머신) 또는 온-프레미스 컴퓨터에서 Blob 저장소에 컨테이너를 탑재할 수 있게 해줍니다.
클라우드에서 HPC(고성능 컴퓨팅)와 같은 대규모 레거시 워크로드를 실행하는 것은 항상 어려운 일이었습니다. 한 가지 이유는 애플리케이션이 종종 NFS(네트워크 파일 시스템)와 같은 기존 파일 프로토콜을 사용하여 데이터에 액세스하기 때문입니다. 또한 계층 구조 네임스페이스와 효율적인 메타 데이터 작업을 제공하는 파일 시스템 대신 단일 구조 네임스페이스와 광범위한 메타데이터가 있는 개체 스토리지에 초점을 맞춘 네이티브 클라우드 스토리지 서비스입니다.
Blob Storage는 이제 계층 구조 네임스페이스를 지원하며, NFS 3.0 프로토콜 지원과 함께 사용할 경우 Azure에서 대규모 클라우드 개체 스토리지를 기반으로 레거시 애플리케이션을 훨씬 더 쉽게 실행할 수 있게 해줍니다.
Blob Storage에서 NFS 3.0을 사용하는 데 적합한 애플리케이션 및 워크로드
NFS 3.0 프로토콜 기능은 순차 I/O를 사용하여 처리량이 크고 읽기가 많은 높은 워크로드에 최적화되어 있습니다. 처리량이 짧은 대기 시간보다 더 중요한 여러 판독기 및 수많은 스레드가 포함된 시나리오에 이상적입니다. 일반적인 예는 다음과 같습니다.
HPC(High-Performance 컴퓨팅) - HPC 작업에는 동일한 큰 데이터 세트를 동시에 읽는 수천 개의 코어가 포함되는 경우가 많습니다. NFS 3.0 프로토콜 기능은 개체 스토리지 처리량을 사용하여 기존 파일 서버 병목 상태를 제거합니다. 예제:
유전체학 시퀀싱: 대규모 DNA 데이터 세트 처리
재무 위험 모델링: 기록 데이터에 대한 몬테카를로 시뮬레이션.
지진 분석: 석유 및 가스 탐사를 위한 지질 데이터입니다.
일기 예보: 기후 및 폭풍 예측에 대한 대기 데이터 모델링.
빅 데이터 및 분석(Data Lakes) - 많은 분석 도구에는 계층적 디렉터리를 필요로 합니다. BlobNFS(Azure Data Lake Storage Gen2를 통해)는 표준 파일 프로토콜을 지원하면서 이 구조를 제공합니다. 예제:
기계 학습: 표준 파일 I/O를 사용하여 GPU 클러스터에 학습 데이터 공급
로그 분석: 수천 개의 원본에서 로그를 집계합니다.
ADAS(고급 드라이버 지원 시스템) - ADAS 워크플로는 시뮬레이션 및 모델 학습을 위해 효율적으로 수집하고 대규모로 분석해야 하는 LiDAR 지점 클라우드 및 고해상도 카메라 피드와 같은 페타바이트의 순차적 센서 데이터를 생성합니다. 예제:
- NFS 3.0을 사용하여 자율 테스트 차량의 원시 LiDAR 스캔 및 다중 카메라 비디오 스트림을 저장한 다음, 수천 개의 컴퓨팅 노드에서 대규모 재생 시뮬레이션을 실행하여 인식 알고리즘의 유효성을 검사합니다.
미디어 및 엔터테인먼트 - 렌더링 팜은 대규모 자산 라이브러리에 효율적으로 액세스해야 합니다. Blob을 통해 NFS 3.0은 파일 경로를 예상하는 레거시 렌더링 도구에 대한 파일 인터페이스를 제공합니다. 예제:
비디오 렌더링: 원본 자산을 읽는 분산 노드입니다.
코드 변환: 대용량 원시 비디오 파일을 스트리밍 형식으로 변환
데이터베이스 백업 - 이 기능은 복잡한 커넥터 또는 비용이 많이 드는 스냅샷 없이 비용 효율이 높고 처리량이 높은 NFS 3.0 대상을 제공합니다. 예제:
- Oracle RMAN은 장기 보관을 위해 직접 큰 백업 조각을 작성하고 NFS 탑재 Linux VM에서 직접 복원할 수 있습니다.
Blob Storage에서 NFS 3.0을 사용하지 않는 경우
개체 스토리지 특성으로 인해 범용 파일 공유 또는 트랜잭션 워크로드를 사용하지 마세요.
| 워크로드 유형 | Reason | 더 나은 대안 |
|---|---|---|
| 트랜잭션 데이터베이스 | 세분화된 잠금, 밀리초 미만의 대기 시간 및 빈번한 임의 쓰기가 필요합니다. | Managed Disks 또는 Azure NetApp Files 또는 Azure Files |
| 직접 파일 편집 | 파일을 편집하면 전체 Blob이 다시 작성되므로 작업이 비효율적입니다. | Azure Files |
NFS 3.0 및 계층 구조 네임스페이스
NFS 3.0 프로토콜 지원을 위해서는 Blob을 계층 구조 네임스페이스로 구성해야 합니다. 스토리지 계정을 만들 때 계층 구조 네임스페이스를 사용하도록 설정할 수 있습니다. 계층 구조 네임스페이스를 사용하는 기능은 Azure Data Lake Storage에서 도입되었습니다. 이렇게 하면 개체(파일)가 컴퓨터의 파일 시스템이 구성되는 것과 동일한 방식으로 디렉터리 및 하위 디렉터리의 계층 구조로 구성됩니다. 계층 구조 네임스페이스는 선형으로 확장되며 데이터 용량 또는 성능을 저하시키지 않습니다. 계층 구조 네임스페이스에서 서로 다른 프로토콜이 확장됩니다. NFS 3.0 프로토콜은 사용 가능한 프로토콜 중 하나입니다.
블록 Blob으로 저장되는 데이터
애플리케이션에서 NFS 3.0 프로토콜을 사용하여 요청을 수행하는 경우 해당 요청은 블록 Blob 작업의 조합으로 변환됩니다. 예를 들어 NFS 3.0 읽기 RPC(원격 프로시저 호출) 요청은 Get Blob 작업으로 변환됩니다. NFS 3.0 쓰기 RPC 요청은 Get Block List, Put Block 및 Put Block List의 조합으로 변환됩니다.
블록 Blob은 대량의 읽기 집약적 데이터를 효율적으로 처리하는 데 최적화되어 있습니다. 블록 Blob은 블록으로 구성되어 있습니다. 각 블록은 블록 ID로 식별됩니다. 블록 Blob은 최대 50,000개 블록을 포함할 수 있습니다. 블록 Blob의 각 블록은 계정에서 사용하는 서비스 버전에 허용되는 최대 크기까지 크기를 변경할 수 있습니다.
일반 워크플로: 스토리지 계정 컨테이너 탑재
Linux 클라이언트는 Azure VM(가상 머신) 또는 온-프레미스 컴퓨터에서 Blob Storage에 컨테이너를 탑재할 수 있습니다. 스토리지 계정 컨테이너를 탑재하려면 이러한 작업을 수행해야 합니다.
Azure VNet(가상 네트워크)을 만듭니다.
네트워크 보안을 구성합니다.
VNet의 트래픽만 허용하는 스토리지 계정을 만들고 구성합니다.
스토리지 계정에 컨테이너를 만듭니다.
컨테이너를 탑재합니다.
단계별 지침은 NFS(네트워크 파일 시스템) 3.0 프로토콜을 사용하여 Blob Storage 탑재를 참조하세요.
네트워크 보안
트래픽은 VNet에서 시작되어야 합니다. 클라이언트는 VNet을 통해 스토리지 계정에 안전하게 연결할 수 있습니다. 계정에서 데이터를 보호하는 유일한 방법은 VNet 및 기타 네트워크 보안 설정을 사용하는 것입니다. 계정 키 권한 부여, Microsoft Entra 보안, ACL(액세스 제어 목록)을 포함한 데이터를 보호하는 데 사용되는 다른 도구는 NFS 3.0 요청에 권한을 부여하는 데 사용할 수 없습니다.
자세히 알아보려면 Blob Storage에 대한 네트워크 보안 권장 사항을 참조하세요.
지원되는 네트워크 연결
클라이언트는 퍼블릭 또는 프라이빗 엔드포인트을 통해 연결할 수 있으며 다음 네트워크 위치 중 하나에서 연결할 수 있습니다.
스토리지 계정에 대해 구성한 VNet
이 문서에서는 이 VNet을 기본 VNet이라고 합니다. 자세한 내용은 가상 네트워크에서 액세스 권한 얻기를 참조하세요.
기본 VNet과 동일한 지역에 있는 피어링된 VNet
이 피어링된 VNet에 대한 액세스를 허용하도록 스토리지 계정을 구성해야 합니다. 자세한 내용은 가상 네트워크에서 액세스 권한 얻기를 참조하세요.
VPN Gateway 또는 ExpressRoute 게이트웨이를 사용하여 기본 VNet에 연결된 온-프레미스 네트워크
자세한 내용은 온-프레미스 네트워크에서의 액세스 구성을 참조하세요.
피어링된 네트워크에 연결된 온-프레미스 네트워크
게이트웨이 전송과 함께 VPN Gateway 또는 ExpressRoute 게이트웨이를 사용하여 이 작업을 수행할 수 있습니다.
중요합니다
NFS 3.0 프로토콜은 포트 111 및 2048을 사용합니다. 온-프레미스 네트워크에서 연결하는 경우 클라이언트가 해당 포트를 통해 나가는 통신을 허용하는지 확인합니다. 특정 VNet에 대한 액세스 권한을 부여한 경우 해당 VNet과 연결된 모든 네트워크 보안 그룹에 해당 포트를 통한 들어오는 통신을 차단하는 보안 규칙이 포함되어 있지 않은지 확인합니다.
알려진 문제 및 제한 사항
현재 릴리스의 NFS 3.0 지원과 관련된 문자와 제한 사항의 전체 목록은 알려진 문제 문서를 참조하세요.
가격 책정
데이터 스토리지 및 트랜잭션 비용에 관해서는 Azure Blob Storage 가격 책정 페이지를 참조하세요.