5.4. 설치 후 스토리지 구성
다음 스토리지 구성 작업은 필수입니다.
- 클러스터의 기본 스토리지 클래스 를 구성해야 합니다. 그렇지 않으면 클러스터에서 자동 부팅 소스 업데이트를 수신할 수 없습니다.
- CDI에서 스토리지 공급자를 인식하지 못하는 경우 스토리지 프로필을 구성해야 합니다. 스토리지 프로필은 관련 스토리지 클래스를 기반으로 권장 스토리지 설정을 제공합니다.
선택 사항: HPP(Hostpath provisioner)를 사용하여 로컬 스토리지를 구성할 수 있습니다.
CDI(Containerized Data Importer), 데이터 볼륨 및 자동 부팅 소스 업데이트를 구성하는 등 자세한 옵션은 스토리지 구성 개요 를 참조하십시오.
5.4.1. HPP를 사용하여 로컬 스토리지 구성
OpenShift Virtualization Operator를 설치하면 HPP(Hostpath Provisioner) Operator가 자동으로 설치됩니다. HPP Operator는 HPP 프로비저너를 생성합니다.
HPP는 OpenShift Virtualization을 위해 설계된 로컬 스토리지 프로비전 프로그램입니다. HPP를 사용하려면 HPP CR(사용자 정의 리소스)을 생성해야 합니다.
HPP 스토리지 풀은 운영 체제와 동일한 파티션에 있으면 안 됩니다. 그렇지 않으면 스토리지 풀이 운영 체제 파티션을 채울 수 있습니다. 운영 체제 파티션이 가득 차면 성능이 영향을 미치거나 노드가 불안정하거나 사용할 수 없게 될 수 있습니다.
5.4.1.1. storagePools 스탠자를 사용하여 CSI 드라이버의 스토리지 클래스 생성
HPP(Hostpath provisioner)를 사용하려면 CSI(Container Storage Interface) 드라이버에 연결된 스토리지 클래스를 생성해야 합니다.
스토리지 클래스를 생성할 때 해당 스토리지 클래스에 속하는 PV(영구 볼륨)의 동적 프로비저닝에 영향을 주는 매개변수를 설정합니다. StorageClass
오브젝트를 생성한 후에는 이 오브젝트의 매개변수를 업데이트할 수 없습니다.
가상 머신은 로컬 PV를 기반으로 하는 데이터 볼륨을 사용합니다. 로컬 PV는 특정 노드에 바인딩됩니다. 디스크 이미지는 가상 머신에서 사용할 수 있지만 이전에 로컬 스토리지 PV가 고정된 노드에 가상 머신을 예약할 수 없습니다.
이 문제를 해결하려면 Kubernetes Pod 스케줄러를 사용하여 PVC(영구 볼륨 클레임)를 올바른 노드의 PV에 바인딩합니다. volumeBindingMode
매개변수가 WaitForFirstConsumer
로 설정된 StorageClass
값을 사용하면 PVC를 사용하여 Pod가 생성될 때까지 PV의 바인딩 및 프로비저닝이 지연됩니다.
프로세스
storageclass_csi.yaml
파일을 생성하여 스토리지 클래스를 정의합니다.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: hostpath-csi provisioner: kubevirt.io.hostpath-provisioner reclaimPolicy: Delete 1 volumeBindingMode: WaitForFirstConsumer 2 parameters: storagePool: my-storage-pool 3
- 1
reclaimPolicy
에 사용할 수 있는 값은Delete
및Retain
두 가지입니다. 값을 지정하지 않으면 기본값은Delete
입니다.- 2
volumeBindingMode
매개변수는 동적 프로비저닝 및 볼륨 바인딩이 발생하는 시기를 결정합니다. PVC(영구 볼륨 클레임)를 사용하는 Pod가 생성될 때까지 PV(영구 볼륨)의 바인딩 및 프로비저닝을 지연하려면WaitForFirstConsumer
를 지정합니다. 이렇게 하면 PV에서 Pod의 스케줄링 요구 사항을 충족할 수 있습니다.- 3
- HPP CR에 정의된 스토리지 풀의 이름을 지정합니다.
- 파일을 저장하고 종료합니다.
다음 명령을 실행하여
StorageClass
오브젝트를 만듭니다.$ oc create -f storageclass_csi.yaml