5.4. 논리 볼륨 관리자 스토리지를 사용하는 영구 스토리지
논리 볼륨 관리자 스토리지는 TopoLVM CSI 드라이버를 사용하여 OpenShift Container Platform 클러스터에서 로컬 스토리지를 동적으로 프로비저닝합니다.
LVM 스토리지는 논리 볼륨 관리자를 사용하여 씬 프로비저닝된 볼륨을 생성하고 제한된 리소스 클러스터에서 블록 스토리지의 동적 프로비저닝을 제공합니다.
LVM 스토리지를 사용하여 볼륨 그룹, PVC(영구 볼륨 클레임), 볼륨 스냅샷 및 볼륨 복제를 생성할 수 있습니다.
5.4.1. 논리 볼륨 관리자 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터에 LVM(Logical Volume Manager) 스토리지를 설치하고 워크로드를 위한 스토리지를 동적으로 프로비저닝하도록 구성할 수 있습니다.
OpenShift Container Platform CLI(oc), OpenShift Container Platform 웹 콘솔 또는 RHACM(Red Hat Advanced Cluster Management)을 사용하여 LVM 스토리지를 설치할 수 있습니다.
다중 노드 클러스터에서 LVM 스토리지를 사용하는 경우 LVM 스토리지는 로컬 스토리지 프로비저닝만 지원합니다. LVM 스토리지는 노드 간에 스토리지 데이터 복제 메커니즘을 지원하지 않습니다. 단일 장애 지점을 방지하려면 활성 또는 수동 복제 메커니즘을 통해 스토리지 데이터 복제를 보장해야 합니다.
5.4.1.1. LVM 스토리지를 설치하기 위한 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
LVM 스토리지를 설치하기 위한 전제 조건은 다음과 같습니다.
- 최소 10밀리CPU 및 100MiB의 RAM이 있는지 확인합니다.
- 모든 관리 클러스터에 스토리지를 프로비저닝하는 데 사용되는 전용 디스크가 있는지 확인합니다. LVM 스토리지는 비어 있고 파일 시스템 서명이 포함되지 않은 디스크만 사용합니다. 디스크가 비어 있고 파일 시스템 서명을 포함하지 않도록 하려면 디스크를 사용하기 전에 초기화하십시오.
이전 LVM 스토리지 설치에서 구성한 스토리지 장치를 재사용할 수 있는 개인 CI 환경에 LVM 스토리지를 설치하기 전에 사용하지 않는 디스크를 지웁니다. LVM 스토리지를 설치하기 전에 디스크를 지우지 않으면 수동 조작 없이 디스크를 재사용할 수 없습니다.
참고사용 중인 디스크를 초기화할 수 없습니다.
- RHACM(Red Hat Advanced Cluster Management)을 사용하여 LVM 스토리지를 설치하려면 OpenShift Container Platform 클러스터에 RHACM을 설치해야 합니다. "RHACM을 사용하여 LVM 스토리지 설치" 섹션을 참조하십시오.
5.4.1.2. CLI를 사용하여 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 OpenShift CLI를 사용하여 LVM 스토리지를 설치할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. -
cluster-admin및 Operator 설치 권한이 있는 사용자로 OpenShift Container Platform에 로그인했습니다.
프로세스
네임스페이스를 생성하기 위한 구성으로 YAML 파일을 생성합니다.
네임스페이스를 생성하기 위한 YAML 구성의 예
apiVersion: v1 kind: Namespace metadata: labels: openshift.io/cluster-monitoring: "true" pod-security.kubernetes.io/enforce: privileged pod-security.kubernetes.io/audit: privileged pod-security.kubernetes.io/warn: privileged name: openshift-storage다음 명령을 실행하여 네임스페이스를 생성합니다.
$ oc create -f <file_name>OperatorGroupCR YAML 파일을 생성합니다.OperatorGroupCR의 예apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-storage-operatorgroup namespace: openshift-storage spec: targetNamespaces: - openshift-storage다음 명령을 실행하여
OperatorGroupCR을 생성합니다.$ oc create -f <file_name>서브스크립션CR YAML 파일을 생성합니다.서브스크립션CR의 예apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: lvms namespace: openshift-storage spec: installPlanApproval: Automatic name: lvms-operator source: redhat-operators sourceNamespace: openshift-marketplace다음 명령을 실행하여
서브스크립션CR을 생성합니다.$ oc create -f <file_name>
검증
LVM 스토리지가 설치되었는지 확인하려면 다음 명령을 실행합니다.
$ oc get csv -n openshift-storage -o custom-columns=Name:.metadata.name,Phase:.status.phase출력 예
Name Phase 4.13.0-202301261535 Succeeded
5.4.1.3. 웹 콘솔을 사용하여 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔을 사용하여 LVM 스토리지를 설치할 수 있습니다.
사전 요구 사항
- 클러스터에 액세스할 수 있습니다.
-
cluster-admin및 Operator 설치 권한을 사용하여 OpenShift Container Platform에 액세스할 수 있습니다.
프로세스
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
Operators
OperatorHub를 클릭합니다. - OperatorHub 페이지에서 LVM Storage 를 클릭합니다.
Operator 설치 페이지에서 다음 옵션을 설정합니다.
- Channel을 stable-4.15 로 업데이트합니다.
- 설치 모드는 클러스터의 특정 네임스페이스 입니다.
-
설치된 네임스페이스 를 Operator 권장 네임스페이스 openshift-storage.
openshift-storage네임스페이스가 없는 경우 Operator 설치 중에 생성됩니다. 승인을 자동 또는 수동으로 업데이트합니다 .
참고자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)이 개입 없이 실행 중인 LVM 스토리지 인스턴스를 자동으로 업데이트합니다.
수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 LVM 스토리지를 최신 버전으로 업데이트하기 위해 업데이트 요청을 수동으로 승인해야 합니다.
- 선택 사항: 이 네임스페이스에서 Operator 권장 클러스터 모니터링 활성화 확인란을 선택합니다.
- 설치를 클릭합니다.
검증 단계
- LVM 스토리지에 성공적인 설치를 나타내는 녹색 눈금이 표시되는지 확인합니다.
5.4.1.4. 연결이 끊긴 환경에 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
연결이 끊긴 환경의 OpenShift Container Platform에 LVM 스토리지를 설치할 수 있습니다. 이 절차에서 참조하는 모든 섹션은 "추가 리소스" 섹션에 연결되어 있습니다.
사전 요구 사항
- "연결 해제된 설치 미러링 정보" 섹션을 읽습니다.
- OpenShift Container Platform 이미지 리포지토리에 액세스할 수 있습니다.
- 미러 레지스트리를 생성하셨습니다.
프로세스
"이미지 세트 구성 생성" 절차의 단계를 따르십시오. LVM 스토리지에 대한
ImageSetConfigurationCR(사용자 정의 리소스)을 생성하려면 다음 예제ImageSetConfigurationCR 구성을 사용하면 됩니다.LVM 스토리지의
ImageSetConfigurationCR의 예kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 archiveSize: 41 storageConfig:2 registry: imageURL: example.com/mirror/oc-mirror-metadata3 skipTLS: false mirror: platform: channels: - name: stable-4.154 type: ocp graph: true5 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.156 packages: - name: lvms-operator7 channels: - name: stable8 additionalImages: - name: registry.redhat.io/ubi9/ubi:latest9 helm: {}- 1
- 이미지 세트 내에서 각 파일의 최대 크기(GiB)를 설정합니다.
- 2
- 이미지 세트를 저장할 위치를 지정합니다. 이 위치는 레지스트리 또는 로컬 디렉터리일 수 있습니다. 기술 프리뷰 OCI 기능을 사용하지 않는 한
storageConfig필드를 구성해야 합니다. - 3
- 레지스트리를 사용할 때 이미지 스트림의 스토리지 URL을 지정합니다. 자세한 내용은 이미지 스트림을 사용하는 이유를 참조하십시오.
- 4
- OpenShift Container Platform 이미지를 검색할 채널을 지정합니다.
- 5
- OSUS(OpenShift Update Service) 그래프 이미지를 생성하려면 이 필드를
true로 설정합니다. 자세한 내용은 OpenShift 업데이트 서비스 정보를 참조하십시오. - 6
- OpenShift Container Platform 이미지를 검색할 Operator 카탈로그를 지정합니다.
- 7
- 이미지 세트에 포함할 Operator 패키지를 지정합니다. 이 필드가 비어 있으면 카탈로그의 모든 패키지가 검색됩니다.
- 8
- 이미지 세트에 포함할 Operator 패키지의 채널을 지정합니다. 해당 채널에서 번들을 사용하지 않는 경우에도 Operator 패키지의 기본 채널을 포함해야 합니다. 다음 명령을 실행하여 기본 채널을 찾을 수 있습니다.
$ oc mirror list operators --catalog=<catalog_name> --package=<package_name> . - 9
- 이미지 세트에 포함할 추가 이미지를 지정합니다.
- " 미러 레지스트리로 설정된 이미지 미러링" 섹션의 절차를 따르십시오.
- "이미지 레지스트리 저장소 미러링 구성" 섹션의 절차를 따르십시오.
5.4.1.5. RHACM을 사용하여 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
RHACM(Red Hat Advanced Cluster Management)을 사용하여 클러스터에 LVM 스토리지를 설치하려면 Policy 사용자 정의 리소스(CR)를 생성해야 합니다. LVM 스토리지를 설치할 클러스터를 선택하도록 기준을 구성할 수도 있습니다.
LVM 스토리지를 설치하기 위해 생성된 Policy CR은 Policy CR을 생성한 후 가져오거나 생성한 클러스터에도 적용됩니다.
사전 요구 사항
-
cluster-admin및 Operator 설치 권한이 있는 계정을 사용하여 RHACM 클러스터에 액세스할 수 있습니다. - 각 클러스터에서 LVM 스토리지를 사용할 수 있는 전용 디스크가 있습니다.
- 클러스터는 RHACM에서 관리해야 합니다.
프로세스
- OpenShift Container Platform 인증 정보를 사용하여 RHACM CLI에 로그인합니다.
네임스페이스를 생성합니다.
$ oc create ns <namespace>PolicyCR YAML 파일을 생성합니다.LVM 스토리지를 설치하고 구성하는
PolicyCR의 예apiVersion: apps.open-cluster-management.io/v1 kind: PlacementRule metadata: name: placement-install-lvms spec: clusterConditions: - status: "True" type: ManagedClusterConditionAvailable clusterSelector:1 matchExpressions: - key: mykey operator: In values: - myvalue --- apiVersion: policy.open-cluster-management.io/v1 kind: PlacementBinding metadata: name: binding-install-lvms placementRef: apiGroup: apps.open-cluster-management.io kind: PlacementRule name: placement-install-lvms subjects: - apiGroup: policy.open-cluster-management.io kind: Policy name: install-lvms --- apiVersion: policy.open-cluster-management.io/v1 kind: Policy metadata: annotations: policy.open-cluster-management.io/categories: CM Configuration Management policy.open-cluster-management.io/controls: CM-2 Baseline Configuration policy.open-cluster-management.io/standards: NIST SP 800-53 name: install-lvms spec: disabled: false remediationAction: enforce policy-templates: - objectDefinition: apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: install-lvms spec: object-templates: - complianceType: musthave objectDefinition:2 apiVersion: v1 kind: Namespace metadata: labels: openshift.io/cluster-monitoring: "true" pod-security.kubernetes.io/enforce: privileged pod-security.kubernetes.io/audit: privileged pod-security.kubernetes.io/warn: privileged name: openshift-storage - complianceType: musthave objectDefinition:3 apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-storage-operatorgroup namespace: openshift-storage spec: targetNamespaces: - openshift-storage - complianceType: musthave objectDefinition:4 apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: lvms namespace: openshift-storage spec: installPlanApproval: Automatic name: lvms-operator source: redhat-operators sourceNamespace: openshift-marketplace remediationAction: enforce severity: low다음 명령을 실행하여
PolicyCR을 생성합니다.$ oc create -f <file_name> -n <namespace>PolicyCR을 생성할 때PlacementRuleCR에 구성된 선택 기준과 일치하는 클러스터에서 다음 사용자 정의 리소스가 생성됩니다.-
네임스페이스 -
OperatorGroup -
서브스크립션
-