AWS 기술 블로그

FSx for Netapp ONTAP을 활용한 클라우드 스토리지 비용 최적화 방안

개요

서버의 데이터가 늘어나면서 데이터를 저장하기 위한 비용이 늘어나고 워크로드의 요구사항에 맞는 스토리지를 구성할 필요가 있습니다. 기업이 이런 변화에 비용 효율적으로 대응하기 위해서 AWS의 다양한 스토리지 서비스를 검토하고 있습니다.  하지만 스토리지에서 지원하는 기능을 모르거나 구성을 제대로 하지 않아 워크로드에 맞는 스토리지 구성을 하지 못하는 경우가 있습니다. FSx for Netapp ONTAP은 AWS에서 비용 효율적으로 스토리지를 구성할 수 있는 기능을 제공하고 있습니다.

Amazon FSx for NetApp ONTAP은 AWS에서 실행되는 거의 모든 워크로드에서 액세스할 수 있는 단순하고 확장 가능하며 기능이 풍부한 공유 파일 스토리지를 제공합니다. 이 서비스를 사용하면 공유 파일 스토리지를 손쉽게 시작하고 실행할 수 있으며, 널리 사용되는 ONTAP의 데이터 액세스 및 데이터 관리 기능을 활용할 수 있습니다. FSx for Netapp ONTAP은 완벽하게 탄력적이고 사실상 크기 제한이 없는 저비용 스토리지 용량을 제공하며, 중복 제거, 압축과 같은 ONTAP 기능을 제공하여 추가로 스토리지 비용을 절감할 수 있습니다. 또한 FSx for ONTAP 스토리지는 업계 표준인 NFS, SMB 및 iSCSI 프로토콜을 통해 Linux, Windows, macOS 컴퓨팅 인스턴스에서 광범위하게 액세스할 수 있습니다. 고객은 스냅샷, 복제 등 데이터 관리 기능을 사용할 수 있습니다.

이 블로그에서는 Amazon FSx for NetApp ONTAP을 이용해서 비용 효율적으로 클라우드 스토리지를 사용하는 4가지 방안을 알아보겠습니다.

방안 요약

  • 방안 1 : 데이터 계층화
  • 방안 2 : 중복제거 및 압축
  • 방안 3 : 멀티 프로토콜(SMB, NFS, iSCSI)
  • 방안 4 : FlexClone

방안 1 : 볼륨 데이터 계층화

Amazon FSx for NetApp ONTAP에는 기본 스토리지와 Capacity Pool 스토리지라는 두 가지 스토리지 계층이 있습니다. 기본 스토리지는 데이터 집합의 활성 부분에 적합하도록 특별히 설계된 확장 가능하고 프로비저닝된 고성능 SSD 스토리지입니다. 대용량 풀 스토리지는 페타바이트 크기로 확장할 수 있는 완전히 탄력적인 스토리지 계층으로, 자주 액세스하지 않는 데이터에 적합하도록 설계된 비용 최적화 스토리지입니다. Amazon FSx for NetApp ONTAP은 사용자의 액세스 패턴에 따라 SSD Tier스토리지에서 Capacity Pool 스토리지로 데이터를 자동으로 계층화하므로, 데이터의 극히 일부에 대해서만 SSD Tier스토리지 비용을 지불하면서 워크로드를 처리하는 데 필요한 SSD 수준의 성능을 실현할 수 있습니다. Capacity Pool 스토리지는 데이터를 계층화함에 따라 자동으로 확장 및 축소되므로, 데이터에 필요한 용량을 계획하거나 프로비저닝할 필요 없이 데이터 집합에서 시간이 지남에 따라 증가하는 부분을 위한 스토리지를 탄력적으로 제공합니다.

  • 모두(All) – 모든 데이터가 볼륨에 쓰여지는 즉시 Capacity Pool 스토리지 계층으로 이동됩니다.
  • 자동(Auto) – 데이터가 액세스 패턴에 따라 Capacity Pool 스토리지계층으로 자동으로 이동됩니다.
  • 스냅샷만(Snapshot-only) – 파일의 이전 버전과 관련한 데이터(예: 볼륨의 스냅샷과 관련한 데이터)만 Capacity Pool 계층으로 이동됩니다.
  • 없음(None) – Capacity Pool 스토리지 계층화가 비활성화됩니다.

‘자동(Auto)’ 또는 ‘스냅샷만(Snapshot-only)’ 계층화 정책을 선택한 경우, 선택적으로 최소 대기 기간(2일에서 183일 사이)을 지정할 수 있습니다. 이 기간 동안 데이터의 특정 부분이 비활성 상태로 유지되어야 Capacity Pool 스토리지로 이동됩니다.

계층화 정책을 자동에서 스냅샷만 또는 없음으로 변경해도 이미 Capacity Pool 스토리지 계층으로 이동된 활성 파일 시스템 블록은 SSD Tier 스토리지 계층으로 반환되지 않습니다. 데이터 읽기 패턴은 다음과 같은 데이터 검색 규칙 정책을  기반으로 Capacity Pool 스토리지 계층에서 데이터를 읽을지 여부를 결정합니다.

  • 없음(None) : 데이터를 검색하지 않음
  • 자동(Auto) : 무작위 읽기
  • 모두(All) : 순차 및 랜덤 읽기
  • 스냅샷만 (Snapshot-only)  : 순차 및 무작위 읽기

# FSx for NetApp ONTAP 파일 시스템Management Endpoint IP로 SSH로 접속

ssh fsxadmin@Management_Endpoint_IP

# vol1볼륨에 설정된 계층화 정책을  확인

vol show –volume VolumeName –fields tiering-policy

# 성능 및 용량 풀 계층 간의 현재 데이터 공간을 확인

Footprint in Performance Tier는 SSD Tier 스토리지 입니다.

Footprint in FSxFabricpoolObjectStore은 Capacity Pool 스토리지 계층입니다. 방금 데이터를 넣었기 때문에 Capacity Pool 스토리지가 전혀 사용되지 않는 것을 알 수 있습니다.

volume show-footprint –volume VolumeName

# vol1 Policy를 AUTO에서 ALL로 설정하여 모든 데이터를 capacity pool storage 계층으로 이동합니다.

volume modify –volume VolumeName –vserver VServerName –tiering-policy ALL

# vol1볼륨 데이터 계층화 정책이 ALL로 변경됨

vol  show –volume VolumeName – fields tiering-policy

# 해당 vol1볼륨에 테스트용 더미 파일을 추가로 저장합니다.

Footprint를 확인하면 데이터가 Footprint in FSxFabricpoolObjectStore로 이동된 것을 볼 수 있습니다.

volume show-footprint –volume VolumeName

# AWS 콘솔의 FSx > 파일 시스템 > FilesystemName > 모니터링

: FSx for NetApp ONTAP의 파일 시스템 사용 현황

방안 2 : 스토리지 효율성 (중복제거, 압축 및 컴팩션)

Amazon FSx for NetApp ONTAP은 데이터 중복제거, 압축 및 컴팩션을 지원합니다. 이 기능을 통해 데이터가 소비하는 스토리지 용량을 줄임으로써 SSD Tier, Capacity Pool Tier 및 백업 스토리지의 스토리지 공간을 절약할 수 있습니다. SSD Tier, Capacity Pool Tier  및 백업의 데이터에 압축 및 중복 제거를 사용할 수 있습니다.

  • 압축 : 데이터 블록을 압축하여 필요한 물리적 스토리지의 양을 줄입니다.
  • 중복 제거 : 중복 데이터 블록을 제거하여 스토리지 효율성과 비용을 최적화합니다. 볼륨의 인라인 및 사후 처리에서 중복 제거를 활성화할 수 있습니다.
  • 컴팩션 : 여러 개의 작은 파일 I/O 작업과 0이 포함된 I/O 작업을 디스크의 단일 4KB 블록으로 집계합니다. 예를 들어, 작은 파일 I/O(<4KB)가 있는 경우 각 I/O에 하나의 4KB 블록을 할당하는 대신 Compactation은 여러 개의 작은 I/O 작업을 단일 4KB 블록으로 압착합니다.

Amazon FSx for NetApp ONTAP 볼륨의 이러한 스토리지 효율성 기능을 활성화 또는 비활성화할 수 있습니다. 중복 제거, 데이터 압축 및 컴팩션은 함께 또는 개별적으로 수행할 수 있으므로 볼륨에 가장 적합한 공간을 절약할 수 있습니다. 세 가지 기능을 모두 활성화하고 새 데이터가 볼륨에 기록되면 다음과 같이 됩니다.

  • 첫째, 인라인 데이터 압축은 수신 데이터 블록을 압축합니다.
  • 그런 다음 인라인 중복 제거는 중복 블록을 삭제합니다.
  • 그런 다음 인라인 데이터 압축은 파일 시스템에 기록하기 전에 이미 압축, 중복 제거되었거나 압축 및 중복 제거되지 않지만 작은 (<4KB) I/O를 4KB 블록으로 컴팩트하게 만듭니다.

# 현재 볼륨들의 스토리지 효율화 상태 확인 : State 가 모두 Enabled 상태

volume efficiency show

# Efficiency Policy Name는 Auto이며 실시간으로 인라인 중복 제거(Inline Dedupe)를 하면서 백그라운드에서 지속적으로 스토리지 효율화의 각 기능이 실행됩니다.

volume efficiency show –vserver VServerName –volume VolumeName

# 볼륨의 효율성이 얼마정도 인지 확인 할수 있습니다.

volume show –volume VolumeName -fields compression-space-saved-percent,dedupe-space-saved-percent

# 중복제거 테스트 전 현재 파일들 및 볼륨 용량

# 중복제거 테스트를 위해 테스트 파일을 2 번 복사해 보았습니다.

# 볼륨의 중복제거 % 및 중복제거 용량 확인

volume show –volume VolumeName -fields compression-space-saved-percent,dedupe-space-saved-percent

방안 3 : 멀티 프로토콜(SMB, NFS, iSCSI)

Amazon FSx for NetApp ONTAP은 모든 버전의 네트워크 파일 시스템(NFS) 및 Server Message Block(SMB) 프로토콜을 통한 공유 파일 스토리지에 액세스를 제공하며, 동일한 데이터에 대한 멀티 프로토콜 액세스(예: 동시 NFS 및 SMB 액세스)도 지원합니다. 또한 Amazon FSx for NetApp ONTAP은 iSCSI 프로토콜을 통해 공유 블록 스토리지를 제공합니다.

# FSxN에서 생성된 볼륨의 리스트를 확인

vol show

# 네트워크 정보를 확인:

network interface show

[ NFS 프로토콜 지원]

# vol1을 사용하여 Linux 서버에 nfs 마운트

sudo mount -t nfs VServerDnsName:/volumeJunctionPath /volumeJunctionPath

df -h

# /fsx 마운트 포인트에 multiprotocol-demo.txt 파일 생성

cd /fsx
cat multiprotocol-demo.txt

[SMB 프로토콜 지원]

# CIFS/SMB 프로토콜을 사용하여 cifs-share 디렉토리를 Windows 클라이언트와 공유하려면 CIFS 공유를 생성

vserver cifs share create –share-name ShareName –path /Path

# cifs 공유 생성 확인

vserver cifs share show –verver VServerName

# Window 서버에 RDP로 접속하여 공유 볼륨 맵핑 및 파일 확인

[iSCSI프로토콜 지원]

# NetApp ONTAP CLI를 사용하여 현재 LUN 목록을 확인

lun show

#LUN 생성

lun create –path /PathName -size VolumeSize – ostype windows –space-allocation enabled

# Window Client의 initiator Group 생성

lun igroup create –igroup IGroupName –initiator HostInitiatorName -protocol iscsi -ostype windows

# LUN을 initiator Group 매핑

lun mapping create –path /Path -igroup IGroupName –lun-id LunID

# Window 서버에서 할당된 볼륨 확인 및 테스트 파일 생성

방안 4 : Flexclone

Amazon FSx for NetApp ONTAP은 파일 시스템에 볼륨 복제본을 즉시 생성할 수 있는 NetApp의 FlexClone 기능을 지원합니다. 복제본은 상위 볼륨과 데이터 블록을 공유하는 상위 볼륨의 쓰기 가능한 시점 단위 복사본입니다. 즉, 복제본은 상위 볼륨과 공유되는 데이터를 저장하는 데 스토리지를 소모하지 않고 파일 시스템에서 최소한의 증분 데이터 저장 공간만 차지합니다.

개발, 테스트 및 AI/ML 환경에서 다양한 대용량 데이터 세트를 처리하는데 있어서 데이터 복제 시간 단축, 데이터 버전 관리, 용량 및 비용절감을 제공합니다.

# flexClone 테스트를 위한파일 준비 : Window 서버에서 준비. 2.79GB 정도인 테스트 파일을 준비

# 볼륨의 SnapShot List를 확인

vol snameshot show –volume VolumeName

# 볼륨에서 Clone 볼륨을 생성 합니다.

volume clone create –flexclone FlexCloneName –parent-volume VolumeName

# 생성된clone 볼륨 확인

volume clone show

# FlexClone 에 의해 작성된 새로운 스냅샷 확인

volume snapshot show –volume VolumeName

# 신규로 생성된 clone 볼륨 확인

volume show

# Clone볼륨의 Junction Path를 생성

volume mount –volume VolumeName –junction-path JunctionPath

# Clone의 소스 볼륨의 사용 현황 확인

volume show –volume VolumeName –fields size,used,available,percent-used,physical-used-percent

# 신규 생성된Clone 볼륨의 사용 현황 확인

volume show –volume VolumeName –fields size,used,available,percent-used,physical-used-percent

– Used 3.04 GB에 대해 physical-used는 0% 임을 확인할수 있음

# Clone 볼륨에CIFS Share를 생성

vserver cifs share create –share-name ShareName –path /Path

# Clone 볼륨을 Window 서버에 Mapping

# Clone 볼륨 억세스

# Clone 볼륨에 2.4GB 정도의 압축된 파일 추가

# Clone 볼륨에 추2.4GB를 추가 하였으나 원본 볼륨의 physical-used용량은 변하지 않음

volume show –volume OriginVolumeName –fields size,used,available,percent-used,physical-used-percent

# Clone 볼륨의 physical-used용량은 증가 하였습니다.

volume show –volume CloneVolumeName –fields size,used,available,percent-used,physical-used-percent

결론

FSx for NetApp ONTAP을 활용해서 비용 효율적으로 스토리지를 구성할 수 있는 4가지 방안과 이를 구현하기 위한 방법을 알아봤습니다. 데이터 계층화, 중복제거 및 압축, 멀티프로토콜(SMB, NFS, iSCSI), FlexClone 기능을 이용하면 효율적인 스토리지 구성이 가능합니다. 또한 FSx for NetApp ONTAP은 SAP, EKS, SQL Server, VMware, Oracle 등 다양한 워크로드를 지원하기 위한 적합한 스토리지입니다. 더 자세한 정보는 FSx for Netapp 블로그 게시물Netapp CLI 가이드를 참고하세요.

Sungwhi_Park

박성휘

박성휘 클라우드 솔루션 아키텍트는 NetApp에서 Amazon FSx for NetApp ONTAP을 통해 고객의 비즈니스 환경에 최적화되고 비용 효율적인 아키텍쳐를 구성할수 있도록 하는 역할을 수행하고 있습니다.

 

Taeyang Moon

Taeyang Moon

문태양 솔루션즈 아키텍트는 AWS에서 고객이 최적의 솔루션을 선택하여 비즈니스 성과를 달성할 수 있도록 고객과 함께 효율적인 아키텍처를 구성하는 역할을 수행하고 있습니다.