9.2. 스토리지 프로필 구성
스토리지 프로필은 관련 스토리지 클래스를 기반으로 권장 스토리지 설정을 제공합니다. 각 스토리지 클래스에 대해 스토리지 프로필이 할당됩니다.
CDI(Containerized Data Importer)는 스토리지 공급자의 기능을 식별하고 상호 작용하도록 구성된 경우 스토리지 공급자를 인식합니다.
인식된 스토리지 유형의 경우 CDI는 PVC 생성을 최적화하는 값을 제공합니다. 스토리지 프로필을 사용자 지정하여 스토리지 클래스에 대한 자동 설정을 구성할 수도 있습니다. CDI에서 스토리지 공급자를 인식하지 못하는 경우 스토리지 프로필을 구성해야 합니다.
Red Hat OpenShift Data Foundation과 함께 OpenShift Virtualization을 사용하는 경우 가상 머신 디스크를 생성할 때 RBD 블록 모드 PVC(영구 볼륨 클레임)를 지정합니다. RBD 블록 모드 볼륨은 Ceph FS 또는 RBD 파일 시스템 모드 PVC보다 더 효율적이며 더 나은 성능을 제공합니다.
RBD 블록 모드 PVC를 지정하려면 'ocs-storagecluster-ceph-rbd' 스토리지 클래스와 VolumeMode: Block
을 사용합니다.
9.2.1. 스토리지 프로파일 사용자 정의
프로비저너의 스토리지 클래스에 대해 StorageProfile
오브젝트를 편집하여 기본 매개변수를 지정할 수 있습니다. 이러한 기본 매개변수는 DataVolume
오브젝트에 구성되지 않은 경우에만 PVC(영구 볼륨 클레임)에 적용됩니다.
스토리지 클래스 매개변수는 수정할 수 없습니다. 변경하려면 스토리지 클래스를 삭제하고 다시 생성합니다. 그런 다음 스토리지 프로필에 이전에 만든 사용자 지정을 다시 적용해야 합니다.
스토리지 프로필의 빈 status
섹션은 스토리지 프로비저너가 CDI(Containerized Data Interface)에서 인식되지 않았음을 나타냅니다. CDI에서 인식하지 못하는 스토리지 프로비저너가 있는 경우 스토리지 프로필을 사용자 정의하는 것이 필요합니다. 이 경우 관리자는 스토리지 프로필에 적절한 값을 설정하여 성공적으로 할당되도록 합니다.
데이터 볼륨을 생성하고 YAML 속성을 생략하고 이러한 특성이 스토리지 프로필에 정의되지 않으면 요청된 스토리지가 할당되지 않고 기본 PVC(영구 볼륨 클레임)가 생성되지 않습니다.
사전 요구 사항
- 계획된 구성이 스토리지 클래스 및 해당 공급자에 의해 지원되는지 확인하십시오. 스토리지 프로필에 호환되지 않는 구성을 지정하면 볼륨 프로비저닝이 실패합니다.
프로세스
스토리지 프로파일을 편집합니다. 이 예에서는 CDI에서 프로비저너를 인식하지 못합니다.
$ oc edit storageprofile <storage_class>
스토리지 프로필 예
apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: <unknown_provisioner_class> # ... spec: {} status: provisioner: <unknown_provisioner> storageClass: <unknown_provisioner_class>
스토리지 프로파일에 필요한 속성 값을 제공합니다.
스토리지 프로필 예
apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: <unknown_provisioner_class> # ... spec: claimPropertySets: - accessModes: - ReadWriteOnce 1 volumeMode: Filesystem 2 status: provisioner: <unknown_provisioner> storageClass: <unknown_provisioner_class>
변경 사항을 저장하면 선택한 값이 스토리지 프로필
status
요소에 표시됩니다.
9.2.1.1. 스토리지 프로필을 사용하여 기본 복제 전략 설정
스토리지 프로필을 사용하여 스토리지 클래스의 기본 복제 방법을 설정하여 복제 전략을 생성할 수 있습니다. 예를 들어, 스토리지 벤더가 특정 복제 방법만 지원하는 경우 복제 전략을 설정하면 유용할 수 있습니다. 또한 리소스 사용을 제한하거나 성능을 극대화하는 방법을 선택할 수 있습니다.
스토리지 프로필의 cloneStrategy
특성을 다음 값 중 하나로 설정하여 전략을 복제할 수 있습니다.
-
스냅샷은 스냅샷
이 구성될 때 기본적으로 사용됩니다. CDI는 스토리지 공급자를 인식하고 공급자는 CSI(Container Storage Interface) 스냅샷을 지원하는 경우 스냅샷 방법을 사용합니다. 이 복제 전략에서는 임시 볼륨 스냅샷을 사용하여 볼륨을 복제합니다. -
복사
는 소스 Pod와 대상 Pod를 사용하여 소스 볼륨의 데이터를 대상 볼륨으로 복사합니다. 호스트 지원 복제는 가장 효율적인 복제 방법입니다. -
CSI-clone
은 CSI 복제 API를 사용하여 임시 볼륨 스냅샷을 사용하지 않고 기존 볼륨을 효율적으로 복제합니다. 스토리지 프로파일이 정의되지 않은 경우 기본적으로 사용되는snapshot
또는copy
와 달리 CSI 볼륨 복제는 프로비저너의 스토리지 클래스에 대해StorageProfile
오브젝트에 지정된 경우에만 사용됩니다.
YAML spec
섹션에서 기본 claimPropertySets
를 수정하지 않고 CLI를 사용하여 복제 전략을 설정할 수도 있습니다.
스토리지 프로필 예
apiVersion: cdi.kubevirt.io/v1beta1 kind: StorageProfile metadata: name: <provisioner_class> # ... spec: claimPropertySets: - accessModes: - ReadWriteOnce 1 volumeMode: Filesystem 2 cloneStrategy: csi-clone 3 status: provisioner: <provisioner> storageClass: <provisioner_class>
스토리지 공급자 | 기본 동작 |
---|---|
rook-ceph.rbd.csi.ceph.com | 스냅샷 |
openshift-storage.rbd.csi.ceph.com | 스냅샷 |
csi-vxflexos.dellemc.com | CSI Clone |
csi-isilon.dellemc.com | CSI Clone |
csi-powermax.dellemc.com | CSI Clone |
csi-powerstore.dellemc.com | CSI Clone |
hspc.csi.hitachi.com | CSI Clone |
csi.hpe.com | CSI Clone |
spectrumscale.csi.ibm.com | CSI Clone |
rook-ceph.rbd.csi.ceph.com | CSI Clone |
openshift-storage.rbd.csi.ceph.com | CSI Clone |
cephfs.csi.ceph.com | CSI Clone |
openshift-storage.cephfs.csi.ceph.com | CSI Clone |