6.4. CSI 볼륨 그룹 스냅샷
이 문서에서는 지원되는 CSI(Container Storage Interface) 드라이버와 함께 볼륨 그룹 스냅샷을 사용하여 OpenShift Container Platform의 데이터 손실을 보호하는 방법을 설명합니다. 영구 볼륨에 대해 숙지하는 것이 좋습니다.
CSI 볼륨 그룹 스냅샷은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
이 기술 프리뷰 기능을 사용하려면 기능 게이트를 사용하여 활성화해야 합니다.
6.4.1. CSI 볼륨 그룹 스냅샷 개요 링크 복사링크가 클립보드에 복사되었습니다!
스냅샷은 특정 시점에서 클러스터의 스토리지 볼륨 상태를 나타냅니다. 볼륨 스냅샷을 사용하여 새 볼륨을 프로비저닝할 수 있습니다.
볼륨 그룹 스냅샷은 레이블 선택기를 사용하여 스냅샷 을 생성하기 위해 여러 영구 볼륨 클레임을 그룹화합니다. 볼륨 그룹 스냅샷은 동일한 시점으로 가져온 여러 볼륨에서 복사본을 나타냅니다. 이 기능은 여러 볼륨이 포함된 애플리케이션에 유용할 수 있습니다.
CSI(Container Storage Interface) 볼륨 그룹 스냅샷을 CSI 드라이버에서 지원해야 합니다. OpenShift Data Foundation은 볼륨 그룹 스냅샷을 지원합니다.
볼륨 그룹 스냅샷은 스냅샷을 관리하기 위한 세 가지 새로운 API 오브젝트를 제공합니다.
VolumeGroupSnapshot
- 여러 영구 볼륨 클레임에 대한 볼륨 그룹 스냅샷 생성을 요청합니다. 볼륨 그룹 스냅샷을 만들 때 타임스탬프 및 사용할 준비가 되었는지와 같은 볼륨 그룹 스냅샷 작업에 대한 정보가 포함되어 있습니다.
VolumeGroupSnapshotContent
-
동적으로 생성된 volumeGroupSnapshot에 대해 스냅샷 컨트롤러에서 생성합니다. 볼륨 그룹 스냅샷 ID를 포함하여 볼륨 그룹 스냅샷에 대한 정보가 포함되어 있습니다. 이 오브젝트는 클러스터의 프로비저닝된 리소스(그룹 스냅샷)를 나타냅니다.
VolumeGroupSnapshotContent
오브젝트는 일대일 매핑으로 생성된 볼륨 그룹 스냅샷에 바인딩됩니다. VolumeGroupSnapshotClass
- 드라이버 정보, 삭제 정책 등 볼륨 그룹 스냅샷을 생성하는 방법을 설명하기 위해 클러스터 관리자가 생성합니다.
이 세 가지 API 종류는 CRD( CustomResourceDefinitions
)로 정의됩니다. 볼륨 그룹 스냅샷을 지원하려면 CSI 드라이버의 OpenShift Container Platform 클러스터에 이러한 CRD를 설치해야 합니다.
6.4.2. CSI 볼륨 그룹 스냅샷 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹 스냅샷에는 다음과 같은 제한 사항이 있습니다.
- 기존 PVC(영구 볼륨 클레임)를 스냅샷에 표시된 이전 상태로 되돌리는 것은 스냅샷의 새 볼륨 프로비저닝만 지원합니다.
- 애플리케이션 일관성(예: 충돌 일관성)은 스토리지 시스템에서 제공하는 것 이상으로 제공되지 않습니다. 애플리케이션 일관성에 대한 자세한 내용은 Quiesce and Unquiesce Hooks 를 참조하십시오.
6.4.3. 볼륨 그룹 스냅샷 클래스 생성 링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹 스냅샷을 생성하려면 클러스터 관리자가 VolumeGroupSnapshotClass
를 생성해야 합니다.
이 오브젝트는 드라이버 정보, 삭제 정책 등을 포함하여 볼륨 그룹 스냅샷을 생성하는 방법을 설명합니다.
사전 요구 사항
- 관리자 권한으로 실행 중인 OpenShift Container Platform 클러스터에 로그인합니다.
- 기능 게이트를 사용하여 이 기능을 활성화했습니다. 기능 게이트를 사용하는 방법에 대한 자세한 내용은 기능 게이트 를 사용하여 기능 세트 활성화를 참조하십시오.
프로세스
VolumeGroupSnapshotClass
를 생성하려면 다음을 수행합니다.
다음 예제 파일을 사용하여
VolumeGroupSnapshotClass
YAML 파일을 생성합니다.볼륨 그룹 스냅샷 클래스 YAML 파일의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 'VolumeGroupSnapshotClass' 오브젝트를 생성합니다.
oc create -f <volume-group-snapshot-class-filename>.yaml
$ oc create -f <volume-group-snapshot-class-filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.4. 볼륨 그룹 스냅샷 생성 링크 복사링크가 클립보드에 복사되었습니다!
VolumeGroupSnapshot
오브젝트를 생성할 때 OpenShift Container Platform은 볼륨 그룹 스냅샷을 생성합니다.
사전 요구 사항
- 실행 중인 OpenShift Container Platform 클러스터에 로그인합니다.
- 기능 게이트를 사용하여 이 기능을 활성화했습니다. 기능 게이트를 사용하는 방법에 대한 자세한 내용은 기능 게이트 를 사용하여 기능 세트 활성화를 참조하십시오.
-
스냅샷에 대해 그룹화하려는 PVC(영구 볼륨 클레임)는
VolumeGroupSnapshot
오브젝트를 지원하는 CSI 드라이버를 사용하여 생성되었습니다. - 스토리지 백엔드를 프로비저닝하는 스토리지 클래스입니다.
-
관리자가
VolumeGroupSnapshotClass
오브젝트를 생성했습니다.
프로세스
볼륨 그룹 스냅샷을 생성하려면 다음을 수행합니다.
볼륨 그룹 스냅샷에 포함할 PVC를 찾습니다(또는 생성).
oc get pvc
$ oc get pvc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력 예
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE pvc-0 Bound pvc-a42d7ea2-e3df-11ed-b5ea-0242ac120002 1Gi RWO 48s pvc-1 Bound pvc-a42d81b8-e3df-11ed-b5ea-0242ac120002 1Gi RWO 48S
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE pvc-0 Bound pvc-a42d7ea2-e3df-11ed-b5ea-0242ac120002 1Gi RWO 48s pvc-1 Bound pvc-a42d81b8-e3df-11ed-b5ea-0242ac120002 1Gi RWO 48S
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 두 개의 PVC를 사용합니다.
스냅샷 그룹에 속할 PVC에 레이블을 지정합니다.
다음 명령을 실행하여 PVC pvc-0에 레이블을 지정합니다.
oc label pvc pvc-0 group=myGroup
$ oc label pvc pvc-0 group=myGroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
persistentvolumeclaim/pvc-0 labeled
persistentvolumeclaim/pvc-0 labeled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 PVC pvc-1에 레이블을 지정합니다.
oc label pvc pvc-1 group=myGroup
$ oc label pvc pvc-1 group=myGroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
persistentvolumeclaim/pvc-1 labeled
persistentvolumeclaim/pvc-1 labeled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 PVC "pvc-0" 및 "pvc-1"이라는 레이블이 지정되어 "myGroup" 그룹에 속합니다.
VolumeGroupSnapshot
오브젝트를 생성하여 볼륨 그룹 스냅샷을 지정합니다.다음 예제 파일을 사용하여
VolumeGroupSnapshot
오브젝트 YAML 파일을 생성합니다.VolumeGroupSnapshot YAML 파일의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
VolumeGroupSnapshot
오브젝트를 생성합니다.oc create -f <volume-group-snapshot-filename>.yaml
$ oc create -f <volume-group-snapshot-filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
결과
볼륨 그룹 스냅샷의 일부로 지정된 PVC 수에 따라 개별 볼륨 스냅샷이 생성됩니다.
이러한 개별 볼륨 스냅샷의 이름은 다음과 같은 형식으로 지정됩니다. <hash of VolumeGroupSnaphotContentUUID+volumeHandle>:
개별 볼륨 스냅샷의 예
이전 예에서는 볼륨 그룹 스냅샷의 일부로 두 개의 개별 볼륨 스냅샷이 생성됩니다.
snapshot-4dc1c53a29538b36e85003503a4bcac5dbde4cff59e81f1e3bb80b6c18c3fd03 snapshot-fbfe59eff570171765df664280910c3bf1a4d56e233a5364cd8cb0152a35965b
snapshot-4dc1c53a29538b36e85003503a4bcac5dbde4cff59e81f1e3bb80b6c18c3fd03
snapshot-fbfe59eff570171765df664280910c3bf1a4d56e233a5364cd8cb0152a35965b
6.4.5. 볼륨 그룹 스냅샷 복원 링크 복사링크가 클립보드에 복사되었습니다!
VolumeGroupSnapshot
CRD(사용자 정의 리소스 정의) 콘텐츠를 사용하여 기존 볼륨을 이전 상태로 복원할 수 있습니다.
기존 볼륨을 복원하려면 VolumeGroupSnapshot
의 일부인 VolumeSnapshot
오브젝트에서 생성할 새 PVC(영구 볼륨 클레임)를 요청할 수 있습니다. 이렇게 하면 지정된 스냅샷의 데이터로 채워진 새 볼륨의 프로비저닝이 트리거됩니다. 볼륨 그룹 스냅샷의 일부인 모든 스냅샷에서 모든 볼륨이 생성될 때까지 이 프로세스를 반복합니다.
사전 요구 사항
- 실행 중인 OpenShift Container Platform 클러스터에 로그인합니다.
- PVC는 볼륨 그룹 스냅샷을 지원하는 CSI(Container Storage Interface) 드라이버를 사용하여 생성되었습니다.
- 스토리지 백엔드를 프로비저닝하는 스토리지 클래스입니다.
- 볼륨 그룹 스냅샷이 생성되어 사용할 준비가 되었습니다.
프로세스
볼륨 그룹 스냅샷에서 기존 볼륨을 이전 상태로 복원하려면 다음을 수행합니다.
다음 예와 같이 PVC의 볼륨 그룹 스냅샷에서
VolumeSnapshot
데이터 소스를 지정합니다.PVC YAML 파일 복원 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 PVC를 생성합니다.
oc create -f <pvc-restore-filename>.yaml
$ oc create -f <pvc-restore-filename>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이전 단계에서 지정된 PVC 복원 파일의 이름입니다.
다음 명령을 실행하여 복원된 PVC가 생성되었는지 확인합니다.
oc get pvc
$ oc get pvc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 첫 번째 단계에서 지정한 이름이 있는 새 PVC가 표시됩니다.
- 볼륨 그룹 스냅샷의 일부인 모든 스냅샷에서 모든 볼륨을 생성할 때까지 필요에 따라 절차를 반복합니다.