5.4. Logical Volume Manager Storage를 사용한 영구 저장소
논리 볼륨 관리자(LVM) 스토리지는 TopoLVM CSI 드라이버를 통해 LVM2를 사용하여 리소스가 제한된 클러스터에서 로컬 스토리지를 동적으로 프로비저닝합니다.
LVM 스토리지를 사용하여 볼륨 그룹, 영구 볼륨 클레임(PVC), 볼륨 스냅샷 및 볼륨 복제본을 만들 수 있습니다.
5.4.1. 논리 볼륨 관리자 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 클러스터에 LVM(Logical Volume Manager) 스토리지를 설치하고 워크로드에 맞게 스토리지를 동적으로 프로비저닝하도록 구성할 수 있습니다.
OpenShift Container Platform CLI( oc ), OpenShift Container Platform 웹 콘솔 또는 Red Hat Advanced Cluster Management(RHACM)를 사용하여 LVM 스토리지를 설치할 수 있습니다.
다중 노드 클러스터에서 LVM 스토리지를 사용하는 경우 LVM 스토리지는 로컬 스토리지 프로비저닝만 지원합니다. LVM 스토리지는 노드 간 스토리지 데이터 복제 메커니즘을 지원하지 않습니다. 단일 장애 지점을 방지하려면 활성 또는 수동 복제 메커니즘을 통해 저장소 데이터 복제를 보장해야 합니다.
5.4.1.1. LVM 스토리지 설치를 위한 필수 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
LVM 스토리지를 설치하기 위한 전제 조건은 다음과 같습니다.
- 최소 10millCPU와 100MiB의 RAM이 있는지 확인하세요.
- 모든 관리 클러스터에 스토리지 프로비저닝에 사용되는 전용 디스크가 있는지 확인하세요. LVM 스토리지는 비어 있고 파일 시스템 서명이 없는 디스크만 사용합니다. 디스크가 비어 있고 파일 시스템 서명이 없는지 확인하려면 사용하기 전에 디스크를 지웁니다.
이전 LVM 스토리지 설치에서 구성한 스토리지 장치를 재사용할 수 있는 개인 CI 환경에 LVM 스토리지를 설치하기 전에 사용하지 않는 디스크를 지웠는지 확인하세요. LVM 스토리지를 설치하기 전에 디스크를 지우지 않으면 수동 개입 없이 디스크를 재사용할 수 없습니다.
참고사용 중인 디스크는 지울 수 없습니다.
- Red Hat Advanced Cluster Management(RHACM)를 사용하여 LVM 스토리지를 설치하려면 OpenShift Container Platform 클러스터에 RHACM을 설치했는지 확인하세요. "RHACM을 사용하여 LVM 스토리지 설치" 섹션을 참조하십시오.
5.4.1.2. CLI를 사용하여 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 OpenShift CLI를 사용하여 LVM 스토리지를 설치할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. -
클러스터 관리자및 운영자 설치 권한이 있는 사용자로 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 파일을 만듭니다.OperatorGroup의 예
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 스토리지를 설치할 수 있습니다.
사전 요구 사항
- 클러스터에 접근할 수 있습니다.
-
클러스터 관리자및 운영자 설치 권한이 있으면 OpenShift Container Platform에 액세스할 수 있습니다.
프로세스
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
Operators
OperatorHub를 클릭합니다. - OperatorHub 페이지에서 LVM Storage 를 클릭합니다.
운영자 설치 페이지에서 다음 옵션을 설정하세요.
- Channel을 stable-4.16 으로 업데이트합니다.
- 설치 모드에서 클러스터의 특정 네임스페이스를 선택합니다.
- 설치된 네임스페이스에서 Operator 권장 네임스페이스 openshift-storage를 선책합니다. 네임스페이스 openshift-storage가 없으면 Operator 설치 중에 생성됩니다.
업데이트 승인을 자동 또는 수동으로 업데이트합니다.
참고자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)이 아무런 개입 없이 실행 중인 LVM 스토리지 인스턴스를 자동으로 업데이트합니다.
수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 LVM 스토리지를 최신 버전으로 업데이트하기 위한 업데이트 요청을 수동으로 승인해야 합니다.
- 선택 사항: 이 네임스페이스에서 운영자가 권장하는 클러스터 모니터링 사용 확인란을 선택합니다.
- 설치를 클릭합니다.
검증 단계
- LVM 저장소에 녹색 확인 표시가 나타나면 설치가 성공적으로 완료되었음을 의미합니다.
5.4.1.4. 연결이 끊긴 환경에 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
연결이 끊긴 환경에서도 OpenShift Container Platform에 LVM 스토리지를 설치할 수 있습니다. 이 절차에서 참조하는 모든 섹션은 "추가 자료" 섹션에 링크되어 있습니다.
사전 요구 사항
- 연결 해제된 설치 미러링 섹션을 읽습니다.
- OpenShift Container Platform 이미지 저장소에 액세스할 수 있습니다.
- 미러 레지스트리를 생성했습니다.
프로세스
"이미지 세트 구성 생성" 절차의 단계를 따르세요. LVM 스토리지에 대한
ImageSetConfiguration사용자 정의 리소스(CR)를 생성하려면 다음 예제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.194 type: ocp graph: true5 operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.196 packages: - name: lvms-operator7 channels: - name: stable8 additionalImages: - name: registry.redhat.io/ubi9/ubi:latest9 helm: {}- 1
- 이미지 세트 내의 각 파일의 최대 크기(GiB)입니다.
- 2
- 이미지 세트를 저장할 위치를 지정하세요. 이 위치는 레지스트리 또는 로컬 디렉터리일 수 있습니다. Technology Preview OCI 기능을 사용하지 않는 한
storageConfig필드를 구성해야 합니다. - 3
- 레지스트리를 사용할 때 이미지 스트림의 저장 URL을 지정합니다. 자세한 내용은 왜 이미지 스트림을 사용해야 하는지 참조하세요.
- 4
- OpenShift Container Platform 이미지를 검색할 채널을 지정합니다.
- 5
- OpenShift Update Service(OSUS) 그래프 이미지를 생성하려면 이 필드를
true로 설정합니다. 자세한 내용은 OpenShift 업데이트 서비스 정보를 참조하십시오. - 6
- OpenShift Container Platform 이미지를 검색할 운영자 카탈로그를 지정합니다.
- 7
- 이미지 세트에 포함할 Operator 패키지를 지정합니다. 이 필드가 비어 있으면 카탈로그에 있는 모든 패키지가 검색됩니다.
- 8
- 이미지 세트에 포함할 Operator 패키지의 채널을 지정합니다. 해당 채널에서 번들을 사용하지 않더라도 Operator 패키지의 기본 채널을 포함해야 합니다. 다음 명령을 실행하면 기본 채널을 찾을 수 있습니다:
$ oc mirror list operators --catalog=<catalog_name> --package=<package_name>. - 9
- 이미지 세트에 포함할 추가 이미지를 지정합니다.
- 미러 레지스트리로 이미지 세트 미러링 섹션의 절차를 따르십시오.
- "이미지 레지스트리 저장소 미러링 구성" 섹션의 절차를 따르세요.
5.4.1.5. RHACM을 사용하여 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management(RHACM)를 사용하여 클러스터에 LVM 스토리지를 설치하려면 정책 사용자 정의 리소스(CR)를 만들어야 합니다. LVM 스토리지를 설치할 클러스터를 선택하기 위한 기준을 구성할 수도 있습니다.
LVM 스토리지를 설치하기 위해 생성된 정책 CR은 정책 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 -
서브스크립션
-