요약
이 모듈에서는 Azure에서 HPC 스토리지를 선택하는 경우와 관련된 주요 요소를 알아보았습니다. 이제 해당 정보를 기반으로 다양한 Azure Storage 옵션을 평가할 때 사용할 도구를 만들 차례입니다.
주요 스토리지 고려 사항이 요약된 검사 목록을 만들어 보겠습니다. 특히 현재 스토리지 환경을 오랫동안 지켜봐 온 분들은 검사 목록이 필요한 이유가 궁금할 수 있습니다. 함께 작업하는 Azure 팀원 및 파트너를 비롯한 다른 관련자를 위해 정보를 통합하는 것이 목표입니다. 검사 목록은 의사 결정 프로세스를 간소화하고 특정 스토리지 솔루션의 기능(또는 기능 부족)을 둘러싼 오해를 최소화하는 데 도움이 됩니다.
다음 고려 사항 목록을 기준으로 검사 목록을 만듭니다.
워크로드 트래픽 분산
HPC 환경에서 생성하고 처리할 트래픽 유형을 고려합니다. 이 단계는 여러 유형의 워크로드를 실행하고 스토리지를 다른 용도로 사용하려는 경우에 특히 중요합니다.
예를 들어 HPC 워크로드가 많은 수의 HPC 머신에 있는 큰 파일(예: 렌더링 작업의 미디어 자산 또는 게놈 시퀀스 파일)에서 순차적 데이터를 읽을 수 있습니다. 이와 동시에 HPC 스케줄러 작업 등을 위해 데이터베이스를 작동해야 할 수도 있습니다. 트래픽 유형이 다양하여 각기 다른 스토리지 솔루션에 배포해야 할 수 있으며,
스토리지 솔루션을 다양한 요소에 최적화되도록 설계할 수 있습니다. 로컬 NVMe 디스크를 실행하는 Ubuntu에서 빌드한 NAS 파일러는 단일 클라이언트가 데이터를 NAS에서 로컬 디스크로 복사하는 것과 같은 단일 스트림 작업에 적합합니다. 하지만 여러 클라이언트에서 동시에 액세스하는 경우에는 스케일링되지 않을 수 있습니다.
또한 많은 수의 작은 파일에 최적화된 솔루션이 필요할 수 있습니다. Azure NetApp Files 같은 기존 NAS 솔루션을 사용하면 해당 트래픽의 성능이 최적화됩니다. 그러나 비용을 최소화하면서 큰 파일을 처리하고 저장해야 할 수도 있습니다. 계층화가 포함된 Azure Blob Storage를 사용하면 해당 상황에서 유연성을 제공하지만, 단일 스트림 복사 작업 성능은 뛰어나지 않을 수 있습니다.
검사 목록에 다음 트래픽 유형을 기록합니다.
- 단일 스트림 트래픽 대 다중 스트림 트래픽
- 읽기 트래픽 대 쓰기 트래픽 비율
- 평균 파일 크기 및 개수
- 임의 액세스 패턴, 순차적 액세스 패턴
예를 들어 검사 목록에 다음이 반영될 수 있습니다.
- 다중 스트림 트래픽
- 대량 읽기(75% 대 25%)
- 10GB~200GB 사이의 평균 파일 크기 약 5만 개 파일
- 대량 순차 처리(80% 대 20%)
아키텍처에서 실행하려는 주요 워크로드도 고려해야 합니다. 하나 또는 둘 이상이 있는 경우 요구 사항에 큰 차이가 없는지 확인합니다.
데이터 위치
다음 범주는 데이터 위치를 고려해야 합니다. 데이터를 온-프레미스에 유지해야 하나요? HPC 워크로드를 실행하는 동안 데이터가 수정될 가능성이 있나요? 온-프레미스에서만 또는 Azure에서만 또는 둘 다 모두에서 데이터 수정이 발생하도록 계획하고 있나요?
다음은 검사 목록에 포함할 몇 가지 위치 항목입니다.
- 원본 데이터를 온-프레미스나 Azure 또는 둘 다에 유지하나요?
- 결과 데이터를 온-프레미스나 Azure 또는 둘 다에 유지하나요?
- Azure의 HPC 워크로드를 원본 데이터 수정 타임라인으로 조정해야 하나요?
- 타임라인은 부실 데이터의 위험을 알려줍니다.
- 중요/HIPAA 데이터인가요?
- 데이터 중요도는 필요한 인증 및 암호화 수준을 알리는 데 도움이 됩니다.
위치 인식은 복사, 캐싱 또는 동기화를 데이터 이동 전략으로 사용할 수 있는지를 확인하는 데 도움이 됩니다.
성능 요구 사항
성능 요구 사항은 다음과 같이 표시되어야 합니다.
- 단일 스트림 처리량(GBps)
- 다중 스트림 처리량(GBps)
- 예상 최대 IOPS
- 평균 대기 시간(밀리초)
모든 고려 사항이 성능에 영향을 주므로 이 수치는 특정 솔루션이 달성해야 하는 기준을 나타냅니다. 예를 들어 워크플로의 일부로 광범위한 파일 만들기 및 삭제를 수행하는 HPC 워크로드가 있을 수 있습니다. 해당 작업은 전체 처리량에 영향을 줄 수 있습니다.
액세스 방법
필요한 클라이언트 액세스 프로토콜을 고려합니다. 앞에서 설명한 것처럼 다양한 버전의 NFS(및 Windows 클라이언트 프로토콜인 SMB)가 있습니다. NFSv4를 사용하려면 필요한 프로토콜 기능(예: ACL)이 무엇인지 확실히 파악해야 합니다.
다음은 검사 목록에 포함할 몇 가지 항목입니다.
- 필요한 NFS 버전
- v4: 예상 프로토콜 동작(ACL, 암호화)
- 병렬 파일 시스템 솔루션
총 용량 요구 사항
Azure의 스토리지 용량은 다음 고려 사항입니다. 이를 통해 솔루션의 전체 비용을 알 수 있습니다. 오랫동안 많은 양의 데이터를 저장하려는 경우에는 스토리지 솔루션의 일부로 ‘계층화’를 고려하는 것이 좋습니다. 계층화를 사용하면 핫 계층에서 더 저렴한 스토리지 옵션을 가격은 더 높지만 성능은 더 뛰어난 스토리지와 결합할 수 있습니다.
목록에 포함할 일부 항목:
- 필요한 총 용량
- 필요한 총 핫 계층 용량
- 필요한 총 웜 계층 용량
- 필요한 총 콜드 계층 용량
콜드 계층 용량에 대한 참고 사항: 보관 계층을 사용하면 비교적 저렴한 비용으로 데이터를 저장하고 비교적 높은 트랜잭션 비용으로 데이터를 검색할 수 있습니다. 또한 보관 계층은 데이터 검색 시간이 오래 걸리며 핫 계층 또는 웜 계층의 일부로 간주해서는 안 됩니다.
인증/권한 부여 방법
인증/권한 부여 요구 사항을 검사 목록에 추가합니다. 최소한 이 요구 사항을 추가하면 LDAP 서버 또는 Active Directory 환경 같은 적절한 지원 시스템을 아키텍처에 포함해야 합니다. 그러나 Active Directory 사용자에 대한 UID/GID 매핑 같은 기능을 지원해야 하는 경우 스토리지 솔루션이 해당 기능을 지원하는지 확인해야 합니다.
목록에 포함할 항목:
- 로컬(파일 서버의 UID/GID만)
- 디렉터리(LDAP, Active Directory)
- Active Directory 사용자에 대한 UID/GID 매핑 여부
추가 정보
IETF NFS RFC: