5.4. 논리 볼륨 관리자 스토리지를 사용하는 영구 스토리지
LVM(Logical Volume Manager) 스토리지는 TopoLVM CSI 드라이버를 사용하여 단일 노드 OpenShift 클러스터에서 로컬 스토리지를 동적으로 프로비저닝합니다.
LVM Storage는 Logical Volume Manager를 사용하여 씬 프로비저닝 볼륨을 생성하고 제한된 리소스 단일 노드 OpenShift 클러스터에서 블록 스토리지의 동적 프로비저닝을 제공합니다.
LVM 스토리지를 사용하여 볼륨 그룹, PVC(영구 볼륨 클레임), 볼륨 스냅샷 및 볼륨 복제를 생성할 수 있습니다.
5.4.1. 논리 볼륨 관리자 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
단일 노드 OpenShift 클러스터에 LVM(Logical Volume Manager) 스토리지를 설치하고 워크로드의 스토리지를 동적으로 프로비저닝하도록 구성할 수 있습니다.
OpenShift Container Platform CLI(oc), OpenShift Container Platform 웹 콘솔 또는 RHACM(Red Hat Advanced Cluster Management)을 사용하여 단일 노드 OpenShift 클러스터에 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. OpenShift Container Platform 웹 콘솔을 사용하여 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Container Platform OperatorHub를 사용하여 LVM 스토리지를 설치할 수 있습니다.
사전 요구 사항
- 단일 노드 OpenShift 클러스터에 액세스할 수 있습니다.
-
cluster-admin및 Operator 설치 권한이 있는 계정을 사용하고 있습니다.
절차
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
Operators
OperatorHub를 클릭합니다. -
스크롤하거나 키워드로
필터링상자에 LVM 스토리지 를 입력하여 LVM 스토리지를 찾습니다. - 설치를 클릭합니다.
Operator 설치 페이지에서 다음 옵션을 설정합니다.
- stable-4.12 로 채널을 업데이트합니다.
- 클러스터의 특정 네임스페이스로 설치 모드 입니다.
-
Operator 권장 네임스페이스 openshift-storage로 네임스페이스 가 설치되어 있습니다.
openshift-storage네임스페이스가 없으면 Operator 설치 중에 생성됩니다. 자동 또는 수동으로의 승인 전략 .
자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)은 개입 없이 Operator의 실행 중인 인스턴스를 자동으로 업그레이드합니다.
수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 최신 버전으로 업데이트하기 위해 해당 업데이트 요청을 수동으로 승인해야 합니다.
- 설치를 클릭합니다.
검증 단계
- LVM Storage에 성공적으로 설치를 나타내는 녹색 눈금이 표시되는지 확인합니다.
5.4.1.3. RHACM을 사용한 LVM 스토리지 설치 링크 복사링크가 클립보드에 복사되었습니다!
LVM Storage는 RHACM(Red Hat Advanced Cluster Management)을 사용하여 단일 노드 OpenShift 클러스터에 배포됩니다. PlacementRule 리소스에 지정된 선택기와 일치하는 관리 클러스터에 Operator를 배포하고 구성하는 RHACM에 정책 오브젝트를 생성합니다. 이 정책은 나중에 가져오고 배치 규칙을 충족하는 클러스터에도 적용됩니다.
사전 요구 사항
-
cluster-admin및 Operator 설치 권한이 있는 계정을 사용하여 RHACM 클러스터에 액세스할 수 있습니다. - LVM 스토리지에서 사용할 각 단일 노드 OpenShift 클러스터의 전용 디스크입니다.
- 단일 노드 OpenShift 클러스터는 RHACM에서 가져오거나 생성해야 합니다.
절차
- OpenShift Container Platform 인증 정보를 사용하여 RHACM CLI에 로그인합니다.
정책을 생성할 네임스페이스를 생성합니다.
# oc create ns lvms-policy-ns정책을 생성하려면 다음 YAML을
policy-lvms-operator.yaml과 같은 이름으로 파일에 저장합니다.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: 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: apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-storage-operatorgroup namespace: openshift-storage spec: targetNamespaces: - openshift-storage - complianceType: musthave objectDefinition: 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 - objectDefinition: apiVersion: policy.open-cluster-management.io/v1 kind: ConfigurationPolicy metadata: name: lvms spec: object-templates: - complianceType: musthave objectDefinition: apiVersion: lvm.topolvm.io/v1alpha1 kind: LVMCluster metadata: name: my-lvmcluster namespace: openshift-storage spec: storage: deviceClasses: - name: vg1 deviceSelector:2 paths: - /dev/disk/by-path/pci-0000:87:00.0-nvme-1 - /dev/disk/by-path/pci-0000:88:00.0-nvme-1 thinPoolConfig: name: thin-pool-1 sizePercent: 90 overprovisionRatio: 10 nodeSelector:3 nodeSelectorTerms: - matchExpressions: - key: app operator: In values: - test1 remediationAction: enforce severity: low- 1
- LVM Storage를 설치하려는 단일 노드 OpenShift 클러스터에 설정된 라벨과 일치하도록
PlacementRule.spec.clusterSelector의 키와 값을 바꿉니다. - 2
- 볼륨 그룹을 기본 디스크로 제어하거나 제한하려면
LVMClusterYAML의deviceSelector섹션에 디스크의 로컬 경로를 수동으로 지정할 수 있습니다. - 3
- 추가 작업자 노드의 하위 집합인 노드 필터를 추가하려면
nodeSelector섹션에서 필요한 필터를 지정합니다. LVM Storage는 새 노드가 표시될 때 추가 작업자 노드를 감지하고 사용합니다.중요이
nodeSelector노드 필터 일치는 Pod 레이블 일치와 동일하지 않습니다.
다음 명령을 실행하여 네임스페이스에 정책을 생성합니다.
# oc create -f policy-lvms-operator.yaml -n lvms-policy-ns1 - 1
policy-lvms-operator.yaml은 정책이 저장되는 파일의 이름입니다.
이렇게 하면
lvms-policy-ns네임스페이스에Policy,PlacementRule,PlacementBinding오브젝트가 생성됩니다. 이 정책은 배치 규칙과 일치하는 클러스터에Namespace,OperatorGroup,Subscription,LVMCluster리소스를 생성합니다. 그러면 선택 기준과 일치하는 단일 노드 OpenShift 클러스터에 Operator가 배포되고 스토리지를 프로비저닝하는 데 필요한 리소스를 설정하도록 구성합니다. Operator는LVMClusterCR에 지정된 모든 디스크를 사용합니다. 디스크가 지정되지 않은 경우 Operator는 단일 노드 OpenShift 노드에서 사용되지 않는 디스크를 모두 사용합니다.중요장치를
LVMCluster에 추가한 후에는 제거할 수 없습니다.
5.4.1.4. LVM 스토리지에 사용되는 장치의 크기를 구성하는 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
LVM 스토리지를 사용하여 스토리지를 프로비저닝하는 데 사용할 수 있는 장치의 크기를 구성하는 제한 사항은 다음과 같습니다.
- 프로비저닝할 수 있는 총 스토리지 크기는 기본 LVM(Logical Volume Manager) 씬 풀의 크기와 초과 프로비저닝 요인으로 제한됩니다.
논리 볼륨의 크기는 PE(물리 확장 영역) 및 논리 확장 영역(LE)의 크기에 따라 다릅니다.
- 물리 및 논리 장치 생성 중에 PE 및 LE의 크기를 정의할 수 있습니다.
- 기본 PE 및 LE 크기는 4MB입니다.
- PE 크기가 증가하면 커널 제한 및 디스크 공간에 따라 LVM의 최대 크기가 결정됩니다.
| 아키텍처 | RHEL 6 | RHEL 7 | RHEL 8 | RHEL 9 |
|---|---|---|---|---|
| 32비트 | 16 TB | - | - | - |
| 64비트 | 8 EB [1] 100 TB [2] | 8 EB [1] 500 TB [2] | 8 EB | 8 EB |
- 중간 크기.
- 테스트된 크기.