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


論理ボリュームマネージャーストレージ (LVM ストレージ) は、TopoLVM CSI ドライバーを使用して、シングルノード OpenShift クラスターでローカルストレージを動的にプロビジョニングします。

LVM ストレージは、論理ボリュームマネージャーを使用してシンプロビジョニングボリュームを作成し、限られたリソースのシングルノード OpenShift クラスターでブロックストレージの動的プロビジョニングを提供します。

LVM Storage を使用すると、ボリュームグループ、永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンを作成できます。

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

単一ノードの OpenShift クラスターに論理ボリュームマネージャー(LVM)ストレージをインストールし、ワークロード用にストレージを動的にプロビジョニングするように設定できます。

OpenShift Container Platform CLI (oc)、OpenShift Container Platform Web コンソール、または Red Hat Advanced Cluster Management (RHACM)を使用して、シングルノード OpenShift クラスターに LVM ストレージをデプロイできます。

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 Storage のインストール セクションを参照してください。

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

クラスター管理者は、CLI を使用して Logical Volume Manager (LVM) ストレージをインストールできます。

前提条件

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

手順

  1. LVM Storage Operator の namespace を作成します。

    1. 次の YAML を lvms-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-storage
    2. Namespace CR を作成します。

      $ oc create -f lvms-namespace.yaml
  2. LVM Storage Operator の Operator グループを作成します。

    1. 次の YAML を lvms-operatorgroup.yaml ファイルに保存します。

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: openshift-storage-operatorgroup
        namespace: openshift-storage
      spec:
        targetNamespaces:
        - openshift-storage
    2. OperatorGroup CR を作成します。

      $ oc create -f lvms-operatorgroup.yaml
  3. LVM Storage Operator にサブスクライブします。

    1. 次の YAML を lvms-sub.yaml ファイルに保存します。

      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
    2. Subscription CR を作成します。

      $ oc create -f lvms-sub.yaml
  4. Operator がインストールされていることを確認するには、以下のコマンドを入力します。

    $ 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. Web コンソールを使用した LVM Storage のインストール

Red Hat OpenShift Container Platform OperatorHub を使用して、Logical Volume Manager (LVM) Storage をインストールできます。

前提条件

  • シングルノード OpenShift クラスターにアクセスできます。
  • cluster-admin および Operator のインストール権限を持つアカウントを使用しています。

手順

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

    1. Channelstable-4.13 として更新します。
    2. Installation ModeA specific namespace on the cluster に設定します。
    3. Installed NamespaceOperator recommended namespace openshift-storage に設定します。openshift-storage namespace が存在しない場合は、Operator のインストール中に作成されます。
    4. Approval StrategyAutomatic または Manual に設定します。

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

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

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

検証手順

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

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

OpenShift CLI (oc) を使用して LVM ストレージをアンインストールできます。

前提条件

  • cluster-admin 権限を持つユーザーとして oc にログインしている。
  • LVM Storage によってプロビジョニングされた永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンが削除されている。これらのリソースを使用しているアプリケーションも削除されている。
  • LVMCluster カスタムリソース (CR) が削除されている。

手順

  1. 次のコマンドを実行して、LVM Storage Operator の currentCSV の値を取得します。

    $ oc get subscription.operators.coreos.com lvms-operator -n <namespace> -o yaml | grep currentCSV

    出力例

    currentCSV: lvms-operator.v4.15.3

  2. 次のコマンドを実行してサブスクリプションを削除します。

    $ oc delete subscription.operators.coreos.com lvms-operator -n <namespace>

    出力例

    subscription.operators.coreos.com "lvms-operator" deleted

  3. 次のコマンドを実行して、ターゲット namespace 内の LVM Storage Operator の CSV を削除します。

    $ oc delete clusterserviceversion <currentCSV> -n <namespace> 
    1
    1
    <currentCSV> は、LVM Storage Operator の currentCSV 値に置き換えます。

    出力例

    clusterserviceversion.operators.coreos.com "lvms-operator.v4.15.3" deleted

検証

  • LVM Storage Operator がアンインストールされたことを確認するには、次のコマンドを実行します。

    $ oc get csv -n <namespace>

    LVM Storage Operator が正常にアンインストールされた場合、このコマンドの出力には表示されません。

Red Hat OpenShift Container Platform Web コンソールを使用して、LVM ストレージをアンインストールできます。

前提条件

  • LVM Storage によってプロビジョニングされたストレージを使用しているクラスター上のすべてのアプリケーションを削除しました。
  • LVM Storage を使用してプロビジョニングされた永続ボリューム要求 (PVC) と永続ボリューム (PV) を削除しました。
  • LVM Storage によってプロビジョニングされたすべてのボリュームスナップショットを削除しました。
  • oc get logicalvolume コマンドを使用して、論理ボリュームリソースが存在しないことを確認しました。
  • cluster-admin 権限を持つアカウントを使用して、シングルノード OpenShift クラスターにアクセスできます。

手順

  1. Operators Installed Operators ページから、LVM Storage にスクロールするか、LVM StorageFilter by name に入力して検索し、クリックします。
  2. LVMCluster タブをクリックします。
  3. LVMCluster ページの右側で、Actions ドロップダウンメニューから Delete LVMCluster を選択します。
  4. Details タブをクリックします。
  5. Operator Details ページの右側で、Actions ドロップダウンメニューから Uninstall Operator を選択します。
  6. Remove を選択します。LVM Storage は実行を停止し、完全に削除されます。

5.4.1.6. 非接続環境での LVM ストレージのインストール

非接続環境の OpenShift Container Platform 4.13 に LVM Storage をインストールできます。この手順で参照されているすべてのセクションは、追加リソース にリンクされています。

前提条件

  • 非接続インストールミラーリングについて セクションを確認した。
  • OpenShift Container Platform イメージリポジトリーにアクセスできる。
  • ミラーレジストリーを作成した。

手順

  1. イメージセット設定の作成 手順の手順に従います。LVM Storage の ImageSetConfiguration リソースを作成するには、次のサンプル YAML ファイルを使用できます。

    LVM Storage 用の ImageSetConfiguration ファイルの例

    kind: ImageSetConfiguration
    apiVersion: mirror.openshift.io/v1alpha2
    archiveSize: 4 
    1
    
    storageConfig: 
    2
    
      registry:
        imageURL: example.com/mirror/oc-mirror-metadata 
    3
    
        skipTLS: false
    mirror:
      platform:
        channels:
        - name: stable-4.13 
    4
    
          type: ocp
        graph: true 
    5
    
      operators:
      - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.13 
    6
    
        packages:
        - name: lvms-operator 
    7
    
          channels:
          - name: stable 
    8
    
      additionalImages:
      - name: registry.redhat.io/ubi9/ubi:latest 
    9
    
      helm: {}

    1
    archiveSize を追加して、イメージセット内の各ファイルの最大サイズを GiB 単位で設定します。
    2
    イメージセットのメタデータを保存するバックエンドの場所を設定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。Technology Preview OCI 機能を使用していない場合は、storageConfig 値を指定する必要があります。
    3
    ストレージバックエンドのレジストリー URL を設定します。
    4
    OpenShift Container Platform イメージを取得するためのチャネルを設定します。
    5
    graph: true を追加して OpenShift Update Service (OSUS) グラフイメージを生成し、Web コンソールを使用する際のクラスター更新エクスペリエンスを向上させます。詳細については、OpenShift Update Service について を参照してください。
    6
    OpenShift Container Platform イメージを取得するための Operator カタログを設定します。
    7
    イメージセットに含める特定の Operator パッケージのみを指定します。カタログ内のすべてのパッケージを取得するには、このフィールドを削除してください。
    8
    イメージセットに含める Operator パッケージの特定のチャネルのみを指定します。そのチャネルでバンドルを使用しない場合も、常に Operator パッケージのデフォルトチャネルを含める必要があります。oc mirror list operators --catalog=<catalog_name> --package=<package_name> コマンドを実行すると、デフォルトチャネルを見つけることができます。
    9
    イメージセットに含める追加のイメージを指定します。
  2. Mirroring an image set to a mirror registry セクションの手順に従います。
  3. Configuring image registry repository mirroring セクションの手順に従います。

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

LVM ストレージは、Red Hat Advanced Cluster Management (RHACM) を使用してシングルノード OpenShift クラスターにデプロイされます。RHACM に Policy オブジェクトを作成します。これは、PlacementRule リソースで指定されたセレクターに一致するマネージドクラスターに適用される際に Operator をデプロイおよび設定します。このポリシーは、後でインポートされ、配置ルールを満たすクラスターにも適用されます。

前提条件

  • cluster-admin および Operator インストール権限を持つアカウントを使用して、RHACM クラスターにアクセスします。
  • LVM ストレージによって使用される各シングルノード OpenShift クラスターの専用ディスク。
  • シングルノード OpenShift クラスターは、インポートまたは作成された RHACM によって管理される必要があります。

手順

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

    # oc create ns lvms-policy-ns
  3. ポリシーを作成するには、次の 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
                         default: true
                         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 ストレージをインストールするシングルノード OpenShift クラスターに設定されたラベルと一致するように、PlacementRule.spec.clusterSelector のキーと値を置き換えます。
    2
    ボリュームグループを優先ディスクに制御または制限するには、LVMCluster YAML の deviceSelector セクションでディスクのローカルパスを手動で指定します。
    3
    追加のワーカーノードのサブセットであるノードフィルターを追加するには、nodeSelector セクションに必要なフィルターを指定します。LVM Storage は、新しいノードが表示されると、追加のワーカーノードを検出して使用します。
    重要

    この nodeSelector ノードフィルターの一致は、Pod ラベルの一致と同じではありません。

  4. 次のコマンドを実行して、namespace にポリシーを作成します。

    # oc create -f policy-lvms-operator.yaml -n lvms-policy-ns 
    1
    1
    policy-lvms-operator.yaml は、ポリシーが保存されるファイルの名前です。

    これにより、lvms-policy-ns namespace に PolicyPlacementRule、および PlacementBinding オブジェクトが作成されます。このポリシーは、配置ルールに一致するクラスター上に NamespaceOperatorGroupSubscription、および LVMCluster リソースを作成します。これにより、選択基準に一致するシングルノード OpenShift クラスターに Operator がデプロイされ、ストレージをプロビジョニングするために必要なリソースをセットアップするように設定されます。Operator は LVMCluster CR で指定されたすべてのディスクを使用します。ディスクが指定されていない場合、Operator はシングルノード OpenShift ノード上の未使用のディスクをすべて使用します。

    重要

    LVMCluster に追加されたデバイスは削除できません。

5.4.1.8. LVM Storage で使用するデバイスのサイズを設定する際の制限事項

LVM Storage を使用したストレージのプロビジョニングで使用できるデバイスのサイズを設定する際の制限は、次のとおりです。

  • プロビジョニングできる合計ストレージサイズは、基礎となる論理ボリュームマネージャー (LVM) シンプールのサイズとオーバープロビジョニング係数によって制限されます。
  • 論理ボリュームのサイズは、物理エクステント (PE) のサイズと論理エクステント (LE) のサイズによって異なります。

    • PE および LE のサイズは、物理デバイスおよび論理デバイスの作成時に定義できます。
    • デフォルトの PE および LE サイズは 4 MB です。
    • PE のサイズを大きくした場合、LVM の最大サイズは、カーネルの制限とディスク領域によって決定されます。
Expand
表5.1 デフォルトの PE および LE サイズを使用した各アーキテクチャーのサイズ制限
アーキテクチャーRHEL 6RHEL 7RHEL 8RHEL 9

32 ビット

16 TB

-

-

-

64 ビット

8 EB [1]

100 TB [2]

8 EB [1]

500 TB [2]

8 EB

8 EB

  1. 理論的サイズ。
  2. テスト済みサイズ。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る