シングルノード OpenShift クラスターでの OpenShift Data Foundation のデプロイと管理


Red Hat OpenShift Data Foundation 4.11

シングルノード OpenShift クラスターに OpenShift Data Foundation をデプロイおよび管理するための手順。

Red Hat Storage Documentation Team

概要

Red Hat OpenShift Data Foundation Logical Volume Manager Operator を単一ノードの OpenShift クラスターにインストールする方法については、本書をお読みください。
重要
Deploying and managing OpenShift Data Foundation 4.11 on single node OpenShift clusters is a Technology Preview feature. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
この製品の一般提供バージョン (論理ボリュームマネージャーストレージ (LVM ストレージ) に名前が変更されました) が利用可能になりました。詳細は、LVM ストレージのドキュメント を参照してください。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

Red Hat ドキュメントへのフィードバック (英語のみ)

Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があれば、ぜひお知らせください。フィードバックをお寄せいただくには、以下をご確認ください。

  • 特定の部分についての簡単なコメントをお寄せいただく場合は、以下をご確認ください。

    1. ドキュメントの表示が Multi-page HTML 形式になっていていることを確認してください。ドキュメントの右上隅に Feedback ボタンがあることを確認してください。
    2. マウスカーソルを使用して、コメントを追加するテキストの部分を強調表示します。
    3. 強調表示されたテキストの下に表示される Add Feedback ポップアップをクリックします。
    4. 表示される指示に従ってください。
  • より詳細なフィードバックをお寄せいただく場合は、Bugzilla のチケットを作成してください。

    1. Bugzilla の Web サイトに移動します。
    2. Component セクションで、documentation を選択します。
    3. Description フィールドに、ドキュメントの改善に向けたご提案を記入してください。ドキュメントの該当部分へのリンクも追加してください。
    4. Submit Bug をクリックします。

はじめに

Red Hat OpenShift Data Foundation は、単一ノードの OpenShift (SNO) クラスターで Red Hat OpenShift Data Foundation Logical Volume Manager Operator を使用した OpenShift Data Foundation のデプロイをサポートします。この Operator は、TopoLVM CSI ドライバーを使用して、ローカルストレージを動的にプロビジョニングします。

Red Hat OpenShift Data Foundation Logical Volume Manager Operator は、論理ボリュームマネージャーを使用してシンプロビジョニングされたボリュームを作成し、単一ノードの限られたリソースの SNO クラスターでブロックストレージの動的プロビジョニングを提供します。

Red Hat OpenShift Data Foundation Logical Volume Manager Operator を単一ノードの Openshift ベアメタルまたはユーザーによってプロビジョニングされたインフラストラクチャークラスターにデプロイし、ワークロードのストレージを動的にプロビジョニングするように設定できます。

オペレーターは、使用可能なすべての未使用ディスクを使用してボリュームグループを作成し、ボリュームグループが 90% のサイズで単一のシンプールを作成します。ボリュームグループの残りの 10% は、必要に応じてシンプールを拡張することにより、データ回復を可能にするために自由に使用できます。このようなリカバリーは手動で実行する必要がある場合があります。

永続ボリュームクレーム (PVC) と Logical Volume Manager Operator によってプロビジョニングされたボリュームスナップショットを使用して、ストレージをリクエストし、ボリュームスナップショットを作成できます。

Red Hat OpenShift Data Foundation Logical Volume Manager Operator は、シンプロビジョニング機能を利用するためにデフォルトのオーバープロビジョニングの制限を 10 に設定します。シングルノード OpenShift クラスターで作成できるボリュームとボリュームスナップショットの合計サイズは、シンプールのサイズの 10 倍です。

以下のいずれかを使用して、単一ノードの OpenShift クラスターに OpenShift Data Foundation をデプロイできます。

  • Red Hat Advanced Cluster Management for Kubernetes (RHACM)
  • OpenShift Web コンソール

第1章 RHACM を使用した単一ノードの OpenShift クラスターへの OpenShift Data Foundation のデプロイ

1.1. RHACM を使用したデプロイの要件

OpenShift Data Foundation Logical Volume Manager Operator の単一ノード Openshift クラスターへのデプロイを開始する前に、以下の要件を満たしていることを確認してください。

  1. OpenShift クラスターに Red Hat Advanced Cluster Management for Kubernetes (RHACM) がインストールされている。詳細は、 Red Hat Advanced Cluster Management for Kubernetes: Install を参照してください。
  2. すべてのマネージド SNO クラスターには、ストレージのプロビジョニングに使用される専用のディスクがあります。

1.2. RHACM を使用した OpenShift Data Foundation Logical Volume Manager Operator のインストール

OpenShift Data Foundation Logical Volume Manager Operator は、Red Hat Advanced Cluster Management for Kubernetes (RHACM) を使用して単一ノード OpenShift (SNO) クラスターにデプロイされます。RHACM に Policy を作成して、PlacementRule で指定したセレクターに一致するマネージドクラスターに適用される場合に Operator をデプロイし、設定します。このポリシーは、後にインポートされ、PlacementRule を満たすクラスターにも適用されます。

前提条件

  • cluster-admin および Operator のインストールパーミッションを持つアカウントを使用して RHACM クラスターにアクセスできる。
  • OpenShift Data Foundation Logical Volume Manager Operator で使用される各 SNO クラスター上の専用ディスク。
注記

他のストレージプロビジョナーが SNO クラスターにインストールされていないことを確認します。OpenShift Data Foundation Logical Volume Manager Operator は、ノード上の利用可能なすべてのディスクを使用するため、唯一のストレージプロビジョナーである必要があります。

手順

  1. OpenShift 認証情報を使用して RHACM CLI にログインします。

    詳細は、Install Red Hat Advanced Cluster Management for Kubernetes を参照してください。

  2. ポリシーを作成する namespace を作成します。

    # oc create ns lvm-policy-ns
  3. 次の YAML を policy-lvm-operator.yaml などの名前でファイルに保存して、ポリシーを作成します。

    # This policy verifies the installation of the official version of the {product-name-short}
    # Logical Volume Manager Operator on the managed clusters.
    # If set to "enforce" it installs the operator.
    # Used APIs: OLM, ODF-LVMO #https://github.com/operator-framework/operator-lifecycle-manager
    # https://github.com/red-hat-storage/lvm-operator
    
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-install-odf-lvm-operator
    spec:
      clusterConditions:
      - status: "True"
        type: ManagedClusterConditionAvailable
      clusterSelector:
        matchExpressions:
        - key: vendor
          operator: In
          values:
          - OpenShift
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-install-odf-lvm-operator
    placementRef:
      apiGroup: apps.open-cluster-management.io
      kind: PlacementRule
      name: placement-install-odf-lvm-operator
    subjects:
    - apiGroup: policy.open-cluster-management.io
      kind: Policy
      name: install-odf-lvm-operator
    ---
    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-odf-lvm-operator
    spec:
      disabled: false
      remediationAction: enforce
      policy-templates:
      - objectDefinition:
          apiVersion: policy.open-cluster-management.io/v1
          kind: ConfigurationPolicy
          metadata:
            name: install-odf-lvm-operator
          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: odf-lvm-operator
                  namespace: openshift-storage
                spec:
                  installPlanApproval: Automatic
                  name: odf-lvm-operator
                  source: redhat-operators
                  sourceNamespace: openshift-marketplace
            remediationAction: enforce
            severity: low
      - objectDefinition:
          apiVersion: policy.open-cluster-management.io/v1
          kind: ConfigurationPolicy
          metadata:
            name: odf-lvmcluster
          spec:
            object-templates:
               - complianceType: musthave
                 objectDefinition:
                   apiVersion: lvm.topolvm.io/v1alpha1
                   kind: LVMCluster
                   metadata:
                     name: odf-lvmcluster
                     namespace: openshift-storage
                   spec:
                     storage:
                       deviceClasses:
                       - name: vg1
                         thinPoolConfig:
                           name: thin-pool-1
                           sizePercent: 90
                           overprovisionRatio: 10
            remediationAction: enforce
            severity: low
  4. 次のコマンドを実行して、namespace にポリシーを作成します。

    # oc create -f policy-lvm-operator.yaml -n lvm-policy-ns

    ここで、policy-lvm-operator.yaml は、ポリシーが保存されるファイルの名前です。

    これにより、namespace lvm-policy-nsPolicyPlacementRule、および PlacementBinding が作成されます。Policy は、PlacementRule に一致するクラスター上に NamespaceOperatorGroupSubscription、および LVMCluster リソースを作成します。これにより、選択基準に一致する SNO クラスターで Operator をデプロイし、ストレージをプロビジョニングするのに必要なリソースを設定するように設定します。operator は、インストール後に未使用のディスクをすべて使用します。

1.3. RHACM を使用してインストールされた OpenShift Data Foundation Logical Volume Manager Operator のアンインストール

RHACM を使用して Operator をインストールした際に、OpenShift Data Foundation Logical Volume Manager Operator をアンインストールするには、Operator のデプロイおよび設定用に作成した ACM ポリシーを削除する必要があります。ただし、ACM ポリシーを削除しても、ポリシーが作成したリソースは削除されません。リソースを削除する追加のポリシーを作成する必要があります。

ポリシーを削除しても作成されたリソースは削除されないため、次の手順を実行する必要があります。

  • Logical Volume Manager Operator によってプロビジョニングされたすべての PVC およびボリュームスナップショットを削除します。
  • LVMCluster リソースを削除して、ディスク上に作成された Logical Volume Manager リソースをクリーンアップします。
  • operator をアンインストールするための追加のポリシーを作成します。

前提条件

  • ポリシーを削除する前に、以下が削除されていることを確認してください。

    • OpenShift Data Foundation Logical Volume Manager Operator によってプロビジョニングされたストレージを使用するマネージドクラスター上のすべてのアプリケーション。
    • OpenShift Data Foundation Logical Volume Manager Operator を使用してプロビジョニングされた Persistent Volume Claim(永続ボリューム要求、PVC) および永続ボリューム (PV)。
    • OpenShift Data Foundation Logical Volume Manager Operator によってプロビジョニングされたすべてのボリュームスナップショット。
  • oc get logicalvolume コマンドを使用して、論理ボリュームリソースが存在しないことを確認します。
  • cluster-admin ロールを持つアカウントを使用した RHACM クラスターへのアクセス。

手順

  1. OpenShift コマンドラインインターフェイスで、次のコマンドを使用して、ハブクラスターに OpenShift Data Foundation Logical Volume Manager Operator をデプロイおよび設定するのに作成した ACM ポリシーを削除します。

    # oc delete -f policy-lvm-operator.yaml -n lvm-policy-ns
  2. 次の YAML を odf-lvmcluster-deletion.yaml などの名前でファイルに保存して、LVMCluster を削除するためのポリシーを作成します。これにより、operator はクラスター上に作成したすべての Logical Volume Manager リソースをクリーンアップできます。

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-lvmcluster-delete
      annotations:
        policy.open-cluster-management.io/standards: NIST SP 800-53
        policy.open-cluster-management.io/categories: CM Configuration Management
        policy.open-cluster-management.io/controls: CM-2 Baseline Configuration
    spec:
      remediationAction: enforce
      disabled: false
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-lvmcluster-removal
            spec:
              remediationAction: enforce # the policy-template spec.remediationAction is overridden by the preceding parameter value for spec.remediationAction.
              severity: low
              object-templates:
                - complianceType: mustnothave
                  objectDefinition:
                    kind: LVMCluster
                    apiVersion: lvm.topolvm.io/v1alpha1
                    metadata:
                      name: odf-lvmcluster
                      namespace: openshift-storage # must have namespace 'openshift-storage'
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
     name: binding-policy-lvmcluster-delete
    placementRef:
     apiGroup: apps.open-cluster-management.io
     kind: PlacementRule
     name: placement-policy-lvmcluster-delete
    subjects:
     - apiGroup: policy.open-cluster-management.io
       kind: Policy
       name: policy-lvmcluster-delete
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
     name: placement-policy-lvmcluster-delete
    spec:
     clusterConditions:
       - status: 'True'
         type: ManagedClusterConditionAvailable
     clusterSelector:
       matchExpressions:
         - key: vendor
           operator: In
           values:
             - OpenShift
  3. 次のコマンドを実行してポリシーを作成します。

    # oc create -f odf-lvmcluster-deletion.yaml -n lvm-policy-ns
  4. 次の YAML を check-odf-lvmcluster-deletion.yaml などの名前でファイルに保存して、LVMCluster CR が削除されたかどうかを確認するポリシーを作成します。

    apiVersion: policy.open-cluster-management.io/v1
    kind: Policy
    metadata:
      name: policy-lvmcluster-inform
      annotations:
        policy.open-cluster-management.io/standards: NIST SP 800-53
        policy.open-cluster-management.io/categories: CM Configuration Management
        policy.open-cluster-management.io/controls: CM-2 Baseline Configuration
    spec:
      remediationAction: inform
      disabled: false
      policy-templates:
        - objectDefinition:
            apiVersion: policy.open-cluster-management.io/v1
            kind: ConfigurationPolicy
            metadata:
              name: policy-lvmcluster-removal-inform
            spec:
              remediationAction: inform # the policy-template spec.remediationAction is overridden by the preceding parameter value for spec.remediationAction.
              severity: low
              object-templates:
                - complianceType: mustnothave
                  objectDefinition:
                    kind: LVMCluster
                    apiVersion: lvm.topolvm.io/v1alpha1
                    metadata:
                      name: odf-lvmcluster
                      namespace: openshift-storage # must have namespace 'openshift-storage'
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
     name: binding-policy-lvmcluster-check
    placementRef:
     apiGroup: apps.open-cluster-management.io
     kind: PlacementRule
     name: placement-policy-lvmcluster-check
    subjects:
     - apiGroup: policy.open-cluster-management.io
       kind: Policy
       name: policy-lvmcluster-inform
    ---
    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
     name: placement-policy-lvmcluster-check
    spec:
     clusterConditions:
       - status: 'True'
         type: ManagedClusterConditionAvailable
     clusterSelector:
       matchExpressions:
         - key: vendor
           operator: In
           values:
             - OpenShift
  5. 次のコマンドを実行してポリシーを作成します。

    # oc create -f check-odf-lvmcluster-deletion.yaml -n lvm-policy-ns
  6. ポリシーのステータスを確認します。

    # oc get policy -n lvm-policy-ns
    NAME                       REMEDIATION ACTION   COMPLIANCE STATE   AGE
    policy-lvmcluster-delete   enforce              Compliant          15m
    policy-lvmcluster-inform   inform               Compliant          15m
  7. 両方のポリシーに準拠したら、次の YAML を odf-lvm-operator-remove-policy.yaml などの名前のファイルに保存して、OpenShift Data Foundation Logical Volume Manager Operator をアンインストールするポリシーを作成します。

    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-uninstall-odf-lvm-operator
    spec:
      clusterConditions:
      - status: "True"
        type: ManagedClusterConditionAvailable
      clusterSelector:
        matchExpressions:
        - key: vendor
          operator: In
          values:
          - OpenShift
    ---
    apiVersion: policy.open-cluster-management.io/v1
    kind: PlacementBinding
    metadata:
      name: binding-uininstall-odf-lvm-operator
    placementRef:
      apiGroup: apps.open-cluster-management.io
      kind: PlacementRule
      name: placement-uninstall-odf-lvm-operator
    subjects:
    - apiGroup: policy.open-cluster-management.io
      kind: Policy
      name: uninstall-odf-lvm-operator
    ---
    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: uninstall-odf-lvm-operator
    spec:
      disabled: false
      policy-templates:
      - objectDefinition:
          apiVersion: policy.open-cluster-management.io/v1
          kind: ConfigurationPolicy
          metadata:
            name: uninstall-odf-lvm-operator
          spec:
            object-templates:
            - complianceType: mustnothave
              objectDefinition:
                apiVersion: v1
                kind: Namespace
                metadata:
                  name: openshift-storage
            - complianceType: mustnothave
              objectDefinition:
                apiVersion: operators.coreos.com/v1
                kind: OperatorGroup
                metadata:
                  name: openshift-storage-operatorgroup
                  namespace: openshift-storage
                spec:
                  targetNamespaces:
                  - openshift-storage
            - complianceType: mustnothave
              objectDefinition:
                apiVersion: operators.coreos.com/v1alpha1
                kind: Subscription
                metadata:
                  name: odf-lvm-operator
                  namespace: openshift-storage
                spec:
                  installPlanApproval: Automatic
                  name: odf-lvm-operator
                  source: redhat-operators
                  sourceNamespace: openshift-marketplace
            remediationAction: enforce
            severity: low
      - objectDefinition:
          apiVersion: policy.open-cluster-management.io/v1
          kind: ConfigurationPolicy
          metadata:
            name: policy-remove-lvm-operator-crds
          spec:
            object-templates:
            - complianceType: mustnothave
              objectDefinition:
                apiVersion: apiextensions.k8s.io/v1
                kind: CustomResourceDefinition
                metadata:
                  name: logicalvolumes.topolvm.cybozu.com
            - complianceType: mustnothave
              objectDefinition:
                apiVersion: apiextensions.k8s.io/v1
                kind: CustomResourceDefinition
                metadata:
                  name: lvmclusters.lvm.topolvm.io
            - complianceType: mustnothave
              objectDefinition:
                apiVersion: apiextensions.k8s.io/v1
                kind: CustomResourceDefinition
                metadata:
                  name: lvmvolumegroupnodestatuses.lvm.topolvm.io
            - complianceType: mustnothave
              objectDefinition:
                apiVersion: apiextensions.k8s.io/v1
                kind: CustomResourceDefinition
                metadata:
                  name: lvmvolumegroups.lvm.topolvm.io
            remediationAction: enforce
            severity: high
  8. 次のコマンドを実行してポリシーを作成します。

    # oc create -f odf-lvm-operator-remove-policy.yaml -ns lvm-policy-ns

第2章 OpenShift Web コンソールを使用した単一ノードの OpenShift クラスターへの OpenShift Data Foundation のデプロイ

2.1. OpenShift Web コンソールを使用した Red Hat OpenShift Data Foundation Logical Volume Manager Operator のインストール

Red Hat OpenShift Container Platform Operator Hub を使用して、Red Hat Red Hat OpenShift Data Foundation Logical Volume Manager Operator をインストールできます。

前提条件

  • cluster-admin および Operator インストールのパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
注記

他のストレージプロビジョナーが SNO クラスターにインストールされていないことを確認します。OpenShift Data Foundation Logical Volume Manager Operator は、ノード上の利用可能なすべてのディスクを使用するため、唯一のストレージプロビジョナーである必要があります。

手順

  1. OpenShift Web コンソールにログインします。
  2. Operators → OperatorHub をクリックします。
  3. ODF LVM Operator をスクロールするか、Filter by keyword ボックスに入力して、ODF LVM Operator を見つけます。
  4. Install をクリックします。
  5. Install Operator ページで、以下のオプションを設定します。

    1. Channel を stable-4.11 として更新します。
    2. Installation Mode オプションに A specific namespace on the cluster を選択します。
    3. Installed Namespace に Operator recommended namespace openshift-storage を選択します。namespace openshift-storage が存在しない場合、これは Operator のインストール時に作成されます。
    4. 承認ストラテジー を Automatic または Manual として選択します。

      Automatic (自動) 更新を選択した場合、Operator Lifecycle Manager (OLM) は介入なしに、Operator の実行中のインスタンスを自動的にアップグレードします。

      Manual 更新を選択した場合、OLM は更新要求を作成します。クラスター管理者は、Operator を新しいバージョンに更新できるように更新要求を手動で承認する必要があります。

    5. Install をクリックします。

検証手順

  • ODF LVM Operator が、インストールが成功したことを示す緑色のチェックマークが表示されていることを確認します。

2.2. OpenShift Data Foundation Logical Volume Manager クラスターの作成

OpenShift Data Foundation Logical Volume Manager Operator をインストールした後、論理ボリュームマネージャークラスターを作成します。

前提条件

  • OpenShift Data Foundation Logical Volume Manager Operator は、Operator ハブからインストールする必要があります。

手順

  1. OpenShift Web コンソールで、Operators → Installed Operators をクリックし、インストールされた Operator を表示します。

    選択された Projectopenshift-storage であることを確認します。

  2. ODF LVM operator をクリックしてから、LVMCluster の下の Create instance をクリックします。
  3. LVMCluster の作成ページで、Form view または YAML view のいずれかを選択します。
  4. クラスターの名前を入力します。
  5. Create をクリックします。

検証手順

  1. OpenShift Web コンソールの左側のペインから Storage → Storage Classes をクリックします。
  2. ODF LVM クラスターの作成で odf-lvm-<device-class-name> ストレージクラスが作成されていることを確認します。デフォルトでは、vg1 は device-class-name になります。

2.3. OpenShift Web コンソールを使用してインストールされた OpenShift Data Foundation Logical Volume Manager Operator のアンインストール

前提条件

  • ポリシーを削除する前に、以下が削除されていることを確認してください。

    • OpenShift Data Foundation Logical Volume Manager Operator によってプロビジョニングされたストレージを使用するマネージドクラスター上のすべてのアプリケーション。
    • OpenShift Data Foundation Logical Volume Manager Operator を使用してプロビジョニングされた Persistent Volume Claim(永続ボリューム要求、PVC) および永続ボリューム (PV)。
    • OpenShift Data Foundation Logical Volume Manager Operator によってプロビジョニングされたすべてのボリュームスナップショット。
  • oc get logicalvolume コマンドを使用して、論理ボリュームリソースが存在しないことを確認します。

手順

  1. プロジェクト openshift-storage を選択します。

    $ oc project openshift-storage
  2. Pod を表示します。

    $ oc get pods
    NAME                                               READY   STATUS    RESTARTS      AGE
    lvm-operator-controller-manager-54df65b5c4-n7bhb   3/3     Running   1 (45h ago)   7d2h
    topolvm-controller-645cb47cd4-kskqb                5/5     Running   5 (45h ago)   7d3h
    topolvm-node-7bqxp                                 4/4     Running   0             7d3h
    vg-manager-hwmg2                                   1/1     Running   0             7d
  3. lvmcluster を表示します。

    $ oc get lvmcluster
    NAME             AGE
    odf-lvmcluster   7d3h
  4. lvmcluster を削除します。

    $ oc delete lvmcluster odf-lvmcluster
    lvmcluster.lvm.topolvm.io "odf-lvmcluster" deleted
  5. lvmcluster を表示して削除を確認します。

    $ oc get lvmcluster
    No resources found in openshift-storage namespace.
  6. lvm-operator Pod のみが実行されるまで待ちます。

    $ oc get pods
    NAME                                               READY   STATUS    RESTARTS      AGE
    lvm-operator-controller-manager-54df65b5c4-n7bhb   3/3     Running   1 (45h ago)   7d2h
  7. プロジェクトを default に変更します。

    $ oc project default
  8. プロジェクト openshift-storage を削除します。

    $ oc delete project openshift-storage

第3章 Logical Volume Manager Operator を使用したストレージのプロビジョニング

Operator のインストール中に作成されるストレージクラスを使用して、永続ボリュームクレーム (PVC) をプロビジョニングできます。ブロックおよびファイル PVC をプロビジョニングできますが、ストレージは、PVC を使用する Pod が作成された場合にのみ割り当てられます。

注記

Red Hat OpenShift Data FoundationLogical Volume Manager Operator は、1GiB 単位で PVC をプロビジョニングします。要求されたストレージは、最も近い GiB に切り上げられます。

手順

  1. Red Hat OpenShift Data Foundation Logical Volume Manager Operator がデプロイされたときに作成される StorageClass を特定します。

    ストレージクラス名は、odf-lvm-<device-class-name> の形式です。device-class-name は、ポリシー YAML の LVMCluster で指定したデバイスクラスの名前です。たとえば、deviceClass の名前が vg1 の場合、storageClass の名前は odf-lvm-vg1 です。

  2. 次の YAML を odf-lvm-storage-class.yaml などの名前のファイルに保存して、アプリケーションがストレージを必要とする PVC を作成します。

    # Sample YAML to create a PVC
    # block pvc
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: lvm-block-1
      namespace: default
    spec:
      accessModes:
        - ReadWriteOnce
      volumeMode: Block
      resources:
        requests:
          storage: 10Gi
      storageClassName: odf-lvm-vg1
    ---
    # file pvc
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: lvm-file-1
      namespace: default
    spec:
      accessModes:
        - ReadWriteOnce
      volumeMode: Filesystem
      resources:
        requests:
          storage: 10Gi
      storageClassName: odf-lvm-vg1
  3. 次のコマンドを実行してポリシーを作成します。

    # oc create -f odf-lvm-storage-class.yaml -ns lvm-policy-ns

    作成された PVC は、それらを使用する Pod をデプロイするまで保留状態のままになります。

第4章 OpenShift Data Foundation Logical Volume Manager Operator のモニタリング

OpenShift Web コンソールを使用して OpenShift Data Foundation Logical Volume Manager Operator をインストールすると、デフォルトでコンソールの Block and File ダッシュボードを使用してクラスターを監視できます。ただし、RHACM を使用して OpenShift Data Foundation Logical Volume Manager Operator をインストールする場合、RHACM 可観測性を設定して、すべての SNO クラスターを 1 箇所から監視する必要があります。

RHACM ダッシュボードの Operator によってエクスポートされたメトリクスおよびトリガーされるアラートを表示して、OpenShift Data Foundation Logical Volume Manager Operator を監視できます。Observability ガイドの説明に従って、RHACM 可観測性を有効にします。

メトリクス
  • Adding custom metrics セクションで指定されているように、次の topolvm メトリクスを許可リストに追加します。
topolvm_thinpool_data_percent
topolvm_thinpool_metadata_percent
topolvm_thinpool_size_bytes
注記

メトリクスは、10 分ごとに更新されるか、新しい論理ボリュームの作成など、シンプールに変更があったときに更新されます。

アラート
シンプールとボリュームグループがいっぱいになると、それ以降の操作は失敗し、データが失われる可能性があります。Logical Volume Manager Operator は、シンプールとボリュームグループの使用量が特定の値を超えると、次のアラートを送信します。
表4.1 Red Hat Advanced Cluster Management for Kubernetes の Logical Volume Manager クラスターのアラート
アラート説明

VolumeGroupUsageAtThresholdNearFull

このアラートは、ボリュームグループとシンプールの使用率の両方がノードで 75% を超えたときにトリガーされます。データの削除またはボリュームグループの拡張が必要です。

VolumeGroupUsageAtThresholdCritical

このアラートは、ボリュームグループとシンプールの両方の使用率がノードで 85% を超えたときにトリガーされます。VolumeGroup が非常にいっぱいです。データの削除またはボリュームグループの拡張が必要です。

ThinPoolDataUsageAtThresholdNearFull

このアラートは、ボリュームグループのシンプールのデータ使用率がノード上で 75% を超えるとトリガーされます。データの削除またはシンプールの拡張が必要です。

ThinPoolDataUsageAtThresholdCritical

このアラートは、ボリュームグループのシンプールのデータ使用率がノード上で 85% を超えるとトリガーされます。データの削除またはシンプールの拡張が必要です。

ThinPoolMetaDataUsageAtThresholdNearFull

このアラートは、ボリュームグループのシンプールのメタデータ使用率がノードで 75% を超えると発生します。データの削除またはシンプールの拡張が必要です。

ThinPoolMetaDataUsageAtThresholdCritical

このアラートは、ボリュームグループのシンプールのメタデータ使用率がノード上で 85% を超えるとトリガーされます。データの削除またはシンプールの拡張が必要です。

第5章 シングルノード OpenShift のボリュームスナップショット

OpenShift Data Foundation Logical Volume Manager Operator によってプロビジョニングされた永続ボリューム (PV) のボリュームスナップショットを作成できます。複製されたボリュームのボリュームスナップショットを作成することもできます。ボリュームスナップショットは、次のことに役立ちます。

  • アプリケーションデータをバックアップします (ボリュームスナップショットはバックアップではありません)
  • ボリュームスナップショットが作成された状態に戻します

シンプールの使用可能な容量とオーバープロビジョニングの制限に基づいて、ボリュームスナップショットを作成できます。Red Hat OpenShift Data Foundation Logical Volume Manager Operator は、odf-lvm-<deviceclass-name> という名前で VolumeSnapshotClass を作成します。

5.1. シングルノード openshift でのボリュームスナップショットの作成

前提条件

  • 一貫性のあるスナップショットを作成するには、PVC がバインド状態になっていることを確認してください。また、スナップショットを作成する前に、PVC へのすべての I/O が停止していることを確認してください。

手順

  1. 次の YAML を odf-lvm-vol-snapshot.yaml などの名前でファイルに保存して、ボリュームスナップショットのポリシーを作成します。

    # Sample YAML to create a volume snapshot
    
    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshot
    metadata:
        name: lvm-block-1-snap
     spec:
         volumeSnapshotClassName: odf-lvm-vg1
         source:
            persistentVolumeClaimName: lvm-block-1
  2. 次のコマンドを実行してポリシーを作成します。

    # oc create -f odf-lvm-vol-snapshot.yaml -ns lvm-policy-ns

    PVC の読み取り専用コピーがボリュームスナップショットとして作成されます。

5.2. シングルノード openshift でのボリュームスナップショットの復元

ボリュームスナップショットを復元する際に、新規の Persistent Volume Claim(永続ボリューム要求、PVC) が作成されます。復元される PVC はボリュームスナップショットおよびソース PVC とは切り離されています。

前提条件

  • ストレージクラスは、ソース PVC のストレージクラスと同じである必要がある。
  • 要求された PVC のサイズは、スナップショットのソースボリュームのサイズと同じである必要がある。

手順

  1. ソース PVC のストレージクラス名とボリュームスナップショット名を特定します。
  2. 次の YAML を odf-lvm-vol-restore.yaml などの名前でファイルに保存して、スナップショットを復元します。

    # Sample YAML to restore a PVC.
    
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: lvm-block-1-restore
    spec:
      accessModes:
     - ReadWriteOnce
      volumeMode: Block
      Resources:
        Requests:
          storage: 2Gi
      storageClassName: odf-lvm-vg1
      dataSource:
        name: lvm-block-1-snap
        kind: VolumeSnapshot
        apiGroup: snapshot.storage.k8s.io
  3. 次のコマンドを実行してポリシーを作成します。

    # oc create -f odf-lvm-vol-restore.yaml -ns lvm-policy-ns

5.3. シングルノード openshift でのボリュームスナップショットの削除

手順

  • ボリュームスナップショットを削除するには、ボリュームスナップショットリソースを削除します。

    oc delete volumesnapshot <volume-snapshot-name> -n <namespace>
    注記

    永続ボリューム要求 (PVC) を削除しても、PVC のスナップショットは削除されません。

  • 復元されたボリュームスナップショットを削除するには、ボリュームスナップショットを復元するために作成された PVC を削除します。
oc delete pvc <pvc-name> -n <namespace>

第6章 シングルノード OpenShift のボリュームクローン作成

クローンは、既存のストレージボリュームの複製であり、他の標準ボリュームと同じように使用できます。ボリュームのクローンを作成し、データの特定の時点のコピーを作成します。永続ボリューム要求 (PVC) は別のサイズでクローンできません。

6.1. シングルノード openshift でのボリュームクローンの作成

前提条件

  • ソース PVC が Bound 状態であり,使用中でないことを確認する。
  • ストレージクラスが親のクラスと同じであることを確認してください。

手順

  1. ソース PVC のストレージクラスを特定します。
  2. 次の YAML を odf-lvm-vol-clone.yaml などの名前でファイルに保存して、ボリュームクローンを作成します。

    # Sample YAML to clone a volume
    # pvc-clone.yaml
    apiVersion: v1
    kind: PersistentVolumeClaim
    Metadata:
      name: lvm-block-1-clone
    Spec:
      storageClassName: odf-lvm-vg1
      dataSource:
        name: lvm-block-1
        kind: PersistentVolumeClaim
      accessModes:
       - ReadWriteOnce
      volumeMode: Block
      Resources:
        Requests:
          storage: 2Gi
    The cloned PVC has write access.
  3. 次のコマンドを実行してポリシーを作成します。
# oc create -f odf-lvm-vol-clone.yaml -ns lvm-policy-ns

6.2. シングルノード openshift でクローンボリュームの削除

手順

  • クローンボリュームを削除するには、クローン PVC を削除します。
oc delete pvc <clone-pvc-name> -n <namespace>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.