Amazon Web Services 한국 블로그

Amazon FSx for OpenZFS – 온디맨드 데이터 복제 기능 출시

오늘 파일 시스템에서 계정의 다른 파일 시스템으로 스냅샷을 보내는 기능이 Amazon FSX for OpenZFS에 추가되었습니다.

사용자는 단일 API 직접 호출 또는 CLI 명령으로 복사본을 트리거할 수 있으며 나머지는 AWS에서 처리합니다. rsync와 같은 명령을 사용하거나 전송 상태를 모니터링할 필요가 없습니다. 이 서비스는 귀사를 대신하여 복사본을 처리합니다. 잠재적인 네트워크 중단을 관리하고 전송이 완료될 때까지 자동으로 재시도합니다. OpenZFS의 기본 전송수신 기능을 사용하여 블록 수준에서 데이터를 점진적으로 전송합니다

이 새로운 기능을 사용하면 테스트 및 개발 환경을 더 빠르고 쉽게 만들 수 있어 민첩성 을 유지할 수 있으며, 읽기 전용 복제본의 관리를 단순화하여 스케일 아웃 성능을 개선할 수 있습니다.

Amazon FSx for OpenZFS는 오픈 소스 OpenZFS 파일 시스템에 구축된 완전 관리형 파일 시스템을 시작, 실행 및 확장할 수 있는 완전 관리형 파일 스토리지 서비스입니다. FSX for OpenZFS를 사용하면 애플리케이션이나 데이터 관리 방법을 변경하지 않고도 온프레미스 ZFS 파일 서버를 쉽게 마이그레이션하고 클라우드에서 새로운 고성능, 데이터 집약적 애플리케이션을 구축할 수 있습니다.

스냅샷은 ZFS 파일 시스템의 가장 강력한 기능 중 하나입니다. 스냅샷은 파일 시스템 또는 볼륨의 읽기 전용 복사본입니다. 스냅샷은 거의 즉시 생성할 수 있으며 처음에는 스토리지 풀 내에서 추가 디스크 공간을 사용하지 않습니다. 스냅샷이 생성되면 처음에는 스냅샷과 파일 시스템 간에 공간이 공유되며 이전 스냅샷과도 공유될 수 있습니다. 파일 시스템이 변경되면 이전에 공유된 공간이 스냅샷의 고유 공간이 됩니다. 스냅샷은 이전 데이터를 계속 참조하여 디스크 공간을 증분식으로 사용하므로 공간이 비워지지 않습니다. 스냅샷은 매우 큰 파일 시스템에서도 온디맨드 방식으로 거의 즉시 롤백할 수 있습니다. 스냅샷을 복제하여 새 볼륨을 만들 수도 있습니다.

스냅샷은 블록 레벨 복사본입니다. 시스템이 변경된 파일을 탐지하기 위해 때때로 수백만 개의 파일을 탐색해야 하는 기존의 파일 레벨 복사본보다 전송 효율성이 뛰어납니다. 또한 스냅샷은 블록 수준에서 증분식이므로 증분 스냅샷을 전송하는 것이 증분 파일 기반 복사본을 전송하는 것보다 더 효율적입니다. 여기에는 마지막 스냅샷 이후 수정된 블록만 포함됩니다.

ZFS 스냅샷의 온디맨드 복제를 사용하면 기본 인프라에 대해 걱정할 필요 없이 OpenZFS의 기본 전송 및 수신 기능을 사용하여 수 테라바이트의 데이터를 전송할 수 있습니다. 네트워크 중단 및 기타 유형의 오류를 자동으로 감지하고 관리하므로 파일 시스템 간에 데이터를 더 쉽게 복제할 수 있습니다.

이 새로운 기능을 사용해야 하는 두 가지 주요 사용 사례가 있습니다.

개발자와 품질 보증(QA) 엔지니어는 온디맨드 스냅샷을 개발 및 테스트 환경에 보낼 수 있습니다. 이를 통해 프로덕션 데이터로 작업하여 정확한 테스트 및 개발 결과를 보장할 수 있습니다. 최신 스냅샷을 일관된 테스트 시작 지점으로 사용하면 개발 및 테스트 프로세스의 효율성이 향상됩니다.

데이터 엔지니어는 온디맨드 복제를 사용하여 데이터 세트에 대한 병렬 실험을 실행할 수 있습니다. 애플리케이션이 대규모 데이터 세트를 처리한다고 상상해 보세요. 사용 사례에 가장 적합한 튜닝을 찾기 위해 동일한 기본 데이터 세트에서 여러 버전의 데이터 처리 알고리즘을 실행하고 싶을 것입니다. 온디맨드 데이터 복제를 사용하면 파일 시스템의 동일한 복사본을 여러 개 만들고 각 실험을 병렬로 실행할 수 있습니다.

이제 작동 방식을 살펴보겠습니다.
이 데모를 준비하기 위해 AWS Management ConsoleFSX for OpenZFS 섹션을 사용합니다. 먼저 두 개의 Amazon FSx for OpenZFS 볼륨을 생성합니다. 그런 다음 두 파일 시스템을 하나의 Amazon Linux 인스턴스(/zfs-filesystem1/zfs-filesystem2)에 mount합니다. 첫 번째 볼륨에서 파일을 준비하고 온디맨드 복제 후에 두 번째 볼륨에서도 동일한 파일을 찾을 수 있을 것으로 예상합니다.

ZFS 파일

두 볼륨 간에 데이터를 동기화하려면 콘솔의 스냅샷 섹션으로 이동합니다. 그런 다음 스냅샷 복사 및 볼륨 업데이트 를 선택합니다. 스냅샷을 새 ZFS 볼륨에 복사할 수도 있습니다.

ZFS 스냅샷 복제 - 1

스냅샷 복사 및 볼륨 업데이트 페이지에서 대상 파일 시스템볼륨을 선택합니다. 소스 스냅샷도 확인합니다. 전체 복사본 또는 증분 복사본을 요청하는 소스 스냅샷 복사 전략을 선택합니다. 준비가 되면 업데이트를 선택합니다.

ZFS 스냅샷 복제 - 2

잠시 후 전송할 데이터의 양에 따라 소요되는 시간이 다르지만 대상 볼륨에 새 스냅샷이 나열되는 것을 보았습니다. 데모 시나리오에서는 몇 초 밖에 걸리지 않습니다.

ZFS 스냅샷 복제 - 3

Linux 인스턴스로 돌아가서 두 번째 마운트 지점 /zfs-snapshot에서 사용할 수 있는 콘텐츠를 나열합니다. 두 번째 파일 시스템에서 소 ASCII 아트를 보게 되어 기쁩니다🎉🐮.

ZFS: 스냅샷에서 복원된 볼륨에서 동일한 파일을 사용할 수 있습니다.

또는 새로운 FSX API인 CopySnapshotAndUpdateVolumeCopySnapshotAndCreateVolume을 사용하여 온디맨드 전송을 자동화할 수 있습니다.

지속적인 주기적 복제를 설정하기 위해 제공된 CloudFormation 템플릿을 사용하여 자동 복제 일정을 만듭니다. 시스템을 배포할 때 시스템은 정기적으로 소스 파일 시스템의 볼륨 스냅샷을 생성하고 대상 파일 시스템의 볼륨에 대한 증분 복제를 수행합니다. 예를 들어 테스트 목적으로 개발 파일 시스템으로의 복제가 15분에 한 번씩 수행되도록 일정을 지정할 수 있습니다.

요금 및 가용성
이 새로운 기능은 FSx for OpenZFS를 사용할 수 있는 모든 AWS 리전에서 사용할 수 있습니다.

추가 비용 없이 제공됩니다. AWS는 가용 영역 간 네트워크 데이터 전송에 대해 일반 요금을 청구합니다.

원격 파일 시스템에서 사용하는 스토리지 용량에 대해 표준 FSx for OpenZFS 요금을 지불합니다.

Amazon FSx for OpenZFS의 새로운 온디맨드 복제를 사용하면 증분 파일 시스템 스냅샷을 계정의 새 볼륨으로 효율적으로 전송할 수 있습니다. 이를 통해 개발자와 QA 엔지니어는 프로덕션 데이터의 복사본을 사용하여 작업할 수 있고 데이터 엔지니어는 데이터에 대한 병렬 실험을 실행할 수 있습니다.

이제 바로 첫 번째 온디맨드 복제를 구축하고 구성하세요!

— seb