5.4. Logical Volume Manager Storage を使用した永続ストレージ


論理ボリュームマネージャー (LVM) ストレージは、TopoLVM CSI ドライバーを介して LVM2 を使用して、リソースが制限されたクラスター上でローカルストレージを動的にプロビジョニングします。LVM ストレージを使用すると、ボリュームグループ、永続ボリューム要求(PVC)、スナップショット、およびクローンを作成できます。

5.4.1. Logical Volume Manager Storage のインストール

OpenShift Container Platform クラスターに LVM Storage をインストールし、ワークロードのストレージを動的にプロビジョニングするように設定できます。

LVM Storage は、OpenShift Container Platform CLI (oc)、OpenShift Container Platform Web コンソール、または Red Hat Advanced Cluster Management (RHACM) を使用してインストールできます。

警告

マルチノードクラスターで LVM Storage を使用する場合、LVM Storage はローカルストレージのプロビジョニングのみをサポートします。LVM Storage は、ノード間のストレージデータレプリケーションメカニズムをサポートしていません。単一障害点を回避するために、アクティブまたはパッシブレプリケーションメカニズムを通じてストレージデータを確実にレプリケーションする必要があります。

5.4.1.1. LVM Storage をインストールするための前提条件

LVM Storage をインストールするための前提条件は次のとおりです。

  • 最低でも 10 ミリの CPU と 100 MiB の RAM があることを確認してください。
  • すべてのマネージドクラスターに、ストレージのプロビジョニングに使用される専用のディスクがあることを確認してください。LVM Storage は、ファイルシステム署名が含まれていない空のディスクのみを使用します。確実にディスクが空で、ファイルシステム署名が含まれていないようにするには、使用する前にディスクを消去します。
  • 以前の LVM Storage のインストールで設定したストレージデバイスを再利用できるプライベート CI 環境に LVM Storage をインストールする前に、使用されていないディスクが消去されていることを確認してください。LVM Storage をインストールする前にディスクをワイプしないと、ディスクを再利用するのに手動による介入が必要になります。

    注記

    使用中のディスクは消去できません。

  • Red Hat Advanced Cluster Management (RHACM) を使用して LVM Storage をインストールする場合は、RHACM が OpenShift Container Platform クラスターにインストールされていることを確認してください。詳細は、RHACM を使用した LVM ストレージのインストールを参照してください。

5.4.1.2. CLI を使用した LVM Storage のインストール

OpenShift CLI (oc)を使用して LVM ストレージをインストールし、リソースが限られているクラスターにローカルストレージを動的にプロビジョニングできます。

注記

LVM Storage Operator のデフォルトの namespace は openshift-lvm-storage です。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin および Operator インストール権限を持つユーザーとして OpenShift Container Platform にログインしている。

手順

  1. namespace を作成するための設定を含む YAML ファイルを作成します。

    namespace を作成するための 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-lvm-storage

  2. 以下のコマンドを実行して namespace を作成します。

    $ oc create -f <file_name>
  3. OperatorGroup CR YAML ファイルを作成します。

    OperatorGroup CR の例

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: openshift-storage-operatorgroup
      namespace: openshift-lvm-storage
    spec:
      targetNamespaces:
      - openshift-storage

  4. 以下のコマンドを実行して OperatorGroup CR を作成します。

    $ oc create -f <file_name>
  5. Subscription CR YAML ファイルを作成します。

    Subscription CR の例

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: lvms
      namespace: openshift-lvm-storage
    spec:
      installPlanApproval: Automatic
      name: lvms-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace

  6. 以下のコマンドを実行して Subscription CR を作成します。

    $ oc create -f <file_name>

検証

  1. LVM Storage がインストールされていることを確認するには、次のコマンドを実行します。

    $ oc get csv -n openshift-lvm-storage -o custom-columns=Name:.metadata.name,Phase:.status.phase

    出力例

    Name                         Phase
    4.13.0-202301261535          Succeeded

5.4.1.3. Web コンソールを使用した LVM Storage のインストール

OpenShift Container Platform Web コンソールから LVM ストレージをインストールし、限られたリソースを持つクラスターにローカルストレージを動的にプロビジョニングします。

注記

LVM Storage Operator のデフォルトの namespace は openshift-lvm-storage です。

前提条件

  • クラスターにアクセスできる。
  • cluster-admin および Operator インストール権限で OpenShift Container Platform にアクセスできる。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Ecosystem Software Catalog をクリックします。
  3. ソフトウェアカタログページで LVM Storage をクリックします。
  4. Operator Installation ページで次のオプションを設定します。

    1. stable-4.21Channel を更新 します。
    2. Installation ModeA specific namespace on the cluster に設定します。
    3. Installed NamespaceOperator recommended namespace openshift-storage に設定します。openshift-lvm-storage namespace が存在しない場合は、Operator のインストール中に作成されます。
    4. Update approvalAutomatic または Manual を選択します。

      注記

      Automatic (自動) 更新を選択すると、手動による介入なしで、Operator Lifecycle Manager (OLM) によって LVM Storage の実行中のインスタンスが自動的に更新されます。

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

  5. オプション: Enable Operator recommended cluster monitoring on this Namespace チェックボックスを選択します。
  6. Install をクリックします。

検証

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

5.4.1.4. 非接続環境での LVM Storage のインストール

セキュリティーとコンプライアンスのためにネットワーク分離を必要とする業界など、クラスターがインターネットアクセスのない非接続環境で LVM ストレージをインストールします。たとえば、エアギャップネットワーク、高セキュリティー機能、または規制などです。

前提条件

  • 非接続インストールのミラーリングについてを読みました。
  • OpenShift Container Platform イメージリポジトリーにアクセスできる。
  • ミラーレジストリーを作成している(Red Hat Openshift 導入用のミラーレジストリーを使用したミラーレジストリーの作成を参照)。

手順

  1. 「イメージセット設定の作成」手順の手順に従います。LVM Storage の ImageSetConfiguration カスタムリソース (CR) を作成するには、次の ImageSetConfiguration CR 設定の例を使用できます。

    LVM Storage 用の ImageSetConfiguration CR の例

    kind: ImageSetConfiguration
    apiVersion: mirror.openshift.io/v1alpha2
    archiveSize: 4
    storageConfig:
      registry:
        imageURL: example.com/mirror/oc-mirror-metadata
        skipTLS: false
    mirror:
      platform:
        channels:
        - name: stable-4.21
          type: ocp
        graph: true
      operators:
      - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.21
        packages:
        - name: lvms-operator
          channels:
          - name: stable
      additionalImages:
      - name: registry.redhat.io/ubi9/ubi:latest
      helm: {}

    • archiveSize: イメージセット内の各ファイルの最大サイズ(GiB 単位)を指定します。
    • storageConfig: イメージセットを保存する場所を指定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。テクノロジープレビューの OCI 機能を使用している場合を除き、storageConfig フィールドを設定する必要があります。
    • storageConfig.registry.imageURL: レジストリーの使用時にイメージストリームのストレージ URL を指定します。詳細は、イメージストリームの使用を参照してください。
    • mirror.platform.name: OpenShift Container Platform イメージを取得するチャネルを指定します。
    • mirror.platform.channels[].name: このフィールドを true に設定して、OpenShift Update Service (OSUS)グラフイメージを生成します。詳細は、About the OpenShift Update Service を参照してください。
    • mirror.operators.catalog: OpenShift Container Platform イメージを取得する Operator カタログを指定します。
    • mirror.operators.packages.name: イメージセットに含める Operator パッケージを指定します。このフィールドが空の場合、カタログ内のすべてのパッケージが取得されます。
    • mirror.operators[].packages[].channels.name: イメージセットに含める Operator パッケージのチャネルを指定します。Operator パッケージのデフォルトチャネルは、そのチャネルのバンドルを使用しない場合でも含める必要があります。コマンド $ oc mirror list operators --catalog=<catalog_name> --package=<package_name> を実行すると、デフォルトチャネルを見つけることができます。
    • mirror.additionalImages.name: イメージセットに含める追加のイメージを指定します。
  2. イメージセットをミラーレジストリーにミラーリングする の手順に従います。
  3. イメージレジストリーリポジトリーのミラーリングの設定の手順に従います。

5.4.1.5. RHACM を使用した LVM Storage のインストール

Red Hat Advanced Cluster Management (RHACM)を使用してクラスターに LVM ストレージをインストールするには、Policy カスタムリソース(CR)を作成し、ターゲットクラスターを選択する基準を設定する必要があります。

注記

LVM Storage をインストールするために作成した Policy CR は、Policy CR の作成後にインポートまたは作成したクラスターにも適用されます。

前提条件

  • cluster-admin および Operator のインストール権限を持つアカウントを使用して、RHACM クラスターにアクセスできる。
  • 各クラスターに、LVM Storage が使用できる専用のディスクがある。
  • クラスターが RHACM によって管理されている。

手順

  1. OpenShift Container Platform の認証情報を使用して RHACM CLI にログインします。
  2. namespace を作成します。

    $ oc create ns <namespace>
  3. Policy CR YAML ファイルを作成します。

    LVM Storage をインストールして設定するための Policy CR の例

    apiVersion: apps.open-cluster-management.io/v1
    kind: PlacementRule
    metadata:
      name: placement-install-lvms
    spec:
      clusterConditions:
      - status: "True"
        type: ManagedClusterConditionAvailable
      clusterSelector:
        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-lvm-storage
            - complianceType: musthave
              objectDefinition:
                apiVersion: operators.coreos.com/v1
                kind: OperatorGroup
                metadata:
                  name: openshift-storage-operatorgroup
                  namespace: openshift-lvm-storage
                spec:
                  targetNamespaces:
                  - openshift-lvm-storage
            - complianceType: musthave
              objectDefinition:
                apiVersion: operators.coreos.com/v1alpha1
                kind: Subscription
                metadata:
                  name: lvms
                  namespace: openshift-lvm-storage
                spec:
                  installPlanApproval: Automatic
                  name: lvms-operator
                  source: redhat-operators
                  sourceNamespace: openshift-marketplace
            remediationAction: enforce
            severity: low

    • spec.clusterSelector: LVM ストレージをインストールするクラスターで設定されているラベルと一致するように、PlacementRule.spec.clusterSelectorキー フィールドと values フィールドを設定します。
    • spec.policy-templates[0].objectDefinition[0].spec.object-templates[0].objectDefinition: namespace 設定を指定します。
    • spec.policy-templates[0].objectDefinition[1].spec.object-templates[1].objectDefinition: OperatorGroup CR 設定を指定します。
    • spec.policy-templates[0].objectDefinition.spec.object-templates[2].objectDefinition: Subscription CR 設定を指定します。
  4. 次のコマンドを実行して Policy CR を作成します。

    $ oc create -f <file_name> -n <namespace>

    Policy CR を作成すると、PlacementRule CR で設定された選択基準に一致するクラスターに次のカスタムリソースが作成されます。

    • Namespace
    • OperatorGroup
    • Subscription

      注記

      LVM Storage Operator のデフォルトの namespace は openshift-lvm-storage です。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る