5.4.2. LVMCluster カスタムリソースについて


次の操作を実行するように LVMCluster CR を設定できます。

  • 永続ボリューム要求 (PVC) のプロビジョニングに使用できる LVM ボリュームグループを作成する。
  • LVM ボリュームグループに追加するデバイスのリストを設定する。
  • LVM ボリュームグループを作成するノードを選択するための要件と、ボリュームグループのシンプール設定を設定する。
  • 選択したデバイスを強制的にワイプする。

LVM Storage をインストールした後、LVMCluster カスタムリソース (CR) を作成する必要があります。

LVMCluster CR YAML ファイルの例

apiVersion: lvm.topolvm.io/v1alpha1
kind: LVMCluster
metadata:
  name: my-lvmcluster
spec:
  tolerations:
  - effect: NoSchedule
    key: xyz
    operator: Equal
    value: "true"
  storage:
    deviceClasses:
    - name: vg1
      fstype: ext4 
1

      default: true
      nodeSelector: 
2

        nodeSelectorTerms:
        - matchExpressions:
          - key: mykey
            operator: In
            values:
            - ssd
      deviceSelector: 
3

        paths:
        - /dev/disk/by-path/pci-0000:87:00.0-nvme-1
        - /dev/disk/by-path/pci-0000:88:00.0-nvme-1
        optionalPaths:
        - /dev/disk/by-path/pci-0000:89:00.0-nvme-1
        - /dev/disk/by-path/pci-0000:90:00.0-nvme-1
        forceWipeDevicesAndDestroyAllData: true
      thinPoolConfig:
        name: thin-pool-1
        sizePercent: 90 
4

        overprovisionRatio: 10
        chunkSize: 128Ki 
5

        chunkSizeCalculationPolicy: Static 
6

        metadataSize: 1Gi 
7

        metadataSizeCalculationPolicy: Host 
8

1 2 3 4 5 6 7 8
オプションのフィールド

5.4.2.1. LVMCluster CR のフィールドの説明

LVMCluster CR のフィールドは、次の表で説明します。

Expand
表5.5 LVMCluster CR のフィールド
フィールド説明

spec.storage.deviceClasses

array

ローカルストレージデバイスを LVM ボリュームグループに割り当てるための設定を含めます。

LVM Storage は、ユーザーが作成する各デバイスクラスに対してストレージクラスとボリュームスナップショットクラスを作成します。

deviceClasses.name

string

LVM ボリュームグループ (VG) の名前を指定します。

以前のインストールで作成したボリュームグループを再利用するようにこのフィールドを設定することもできます。詳細は、「以前の LVM ストレージインストールからのボリュームグループの再利用」を参照してください。

deviceClasses.fstype

string

このフィールドは、ext4 または xfs に設定します。デフォルトでは、このフィールドは xfs に設定されています。

deviceClasses.default

boolean

デバイスクラスがデフォルトであることを指定するには、このフィールドを true に設定します。それ以外の場合は、false に設定できます。設定できるデフォルトのデバイスクラスは 1 つだけです。

deviceClasses.nodeSelector

object

LVM ボリュームグループを作成するノードを選択するための設定を含めます。このフィールドが空の場合、no-schedule テイントのないすべてのノードが考慮されます。

コントロールプレーンノードでは、クラスター内で新しいノードがアクティブになると、LVM Storage が追加のワーカーノードを検出して使用します。

nodeSelector.nodeSelectorTerms

array

ノードの選択に使用する要件を設定します。

deviceClasses.deviceSelector

object

次の操作を実行するための設定を含めます。

  • LVM ボリュームグループに追加するデバイスへのパスを指定する。
  • LVM ボリュームグループに追加されたデバイスを強制的にワイプする。

詳細は、「ボリュームグループへのデバイスの追加について」を参照してください。

deviceSelector.paths

array

デバイスパスを指定します。

このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage でサポートされていない場合、LVMCluster CR が Failed 状態に移行します。

deviceSelector.optionalPaths

array

オプションのデバイスパスを指定します。

このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage によってサポートされていない場合、LVM Storage はエラーを起こすことなくデバイスを無視します。

deviceSelector. forceWipeDevicesAndDestroyAllData

boolean

LVM Storage は、ファイルシステム署名が含まれていない空のディスクのみを使用します。確実にディスクが空で、ファイルシステム署名が含まれていないようにするには、使用する前にディスクを消去します。

選択したデバイスを強制的にワイプするには、このフィールドを true に設定します。デフォルトでは、このフィールドは false に設定されています。

警告

このフィールドが true に設定されている場合、LVM Storage がデバイス上の以前のデータをすべてワイプします。この機能は注意して使用してください。

次の条件のいずれかが満たされている場合にデバイスをワイプすると、データの整合性が失われる可能性があります。

  • デバイスがスワップ領域として使用されている。
  • デバイスが RAID アレイの一部である。
  • デバイスがマウントされている。

これらの条件のいずれかに該当する場合は、ディスクを強制的にワイプしないでください。代わりに、ディスクを手動でワイプする必要があります。

deviceClasses.thinPoolConfig

object

LVM ボリュームグループにシンプールを作成するための設定を含めます。

このフィールドを除外すると、論理ボリュームはシックプロビジョニングされます。

シックプロビジョニングされたストレージを使用する場合、次の制限があります。

  • ボリュームのクローン作成ではコピーオンライトはサポートされません。
  • スナップショットクラスはサポートされていません。
  • オーバープロビジョニングはサポートされていません。その結果、PersistentVolumeClaims (PVC) のプロビジョニングされた容量が、ボリュームグループからすぐに削減されます。
  • シンメトリクスはサポートされていません。シックプロビジョニングされたデバイスは、ボリュームグループメトリクスのみをサポートします。

thinPoolConfig.name

string

シンプールの名前を指定します。

thinPoolConfig.sizePercent

integer

シンプールを作成するための LVM ボリュームグループ内の領域の割合を指定します。

デフォルトでは、このフィールドは 90 に設定されています。設定できる最小値は 10、最大値は 90 です。

thinPoolConfig.overprovisionRatio

integer

シンプールで使用可能なストレージに基づいて追加のストレージをプロビジョニングするのに使用する係数を指定します。

たとえば、このフィールドが 10 に設定されている場合、シンプールで使用可能なストレージの量の最大 10 倍をプロビジョニングできます。このフィールドは、LVM クラスターが作成された後に変更できます。

パラメーターを更新するには、次のいずれかのタスクを実行します。

  • LVM クラスターを編集するには、次のコマンドを実行します。
$ oc edit lvmcluster <lvmcluster_name>
  • パッチを適用するには、次のコマンドを実行します。
$ oc patch lvmcluster <lvmcluster_name> -p <patch_file.yaml>

オーバープロビジョニングを無効にするには、このフィールドを 1 に設定します。

thinPoolConfig.chunkSize

integer

静的に計算されたチャンクサイズをシンプールに指定します。このフィールドは、ChunkSizeCalculationPolicy フィールドが Static に設定されている場合にのみ使用されます。lvm2 の根本的な制限のため、このフィールドの値は 64 KiB - 1 GiB の範囲で設定する必要があります。

このフィールドを設定せず、ChunkSizeCalculationPolicy フィールドが Static に設定されている場合、デフォルトのチャンクサイズとして 128 KiB が設定されます。

詳細は、「チャンクサイズの概要」を参照してください。

thinPoolConfig.chunkSizeCalculationPolicy

string

基盤となるボリュームグループのチャンクサイズを計算するポリシーを指定します。このフィールドは、Static または Host のいずれかに設定できます。デフォルトでは、このフィールドは Static に設定されています。

このフィールドが Static に設定されている場合、チャンクサイズが chunkSize フィールドの値に設定されます。chunkSize フィールドが設定されていない場合、チャンクサイズは 128 KiB に設定されます。

このフィールドが Host に設定されている場合、チャンクサイズは lvm.conf ファイルの設定に基づいて計算されます。

詳細は、「LVM ストレージで使用するデバイスのサイズを設定する際の制限事項」を参照してください。

thinPoolConfig.metadataSize

integer

シンプールのメタデータサイズを指定します。MetadataSizeCalculationPolicy フィールドが Static に設定されている場合にのみ、このフィールドを設定できます。

このフィールドが設定されておらず、MetadataSizeCalculationPolicy フィールドが Static に設定されている場合は、デフォルトのメタデータサイズが 1 GiB に設定されます。

lvm2 の根本的な制限により、このフィールドの値は 2 MiB - 16 GiB の範囲で設定する必要があります。このフィールドの値は更新時にのみ増やすことができます。

thinPoolConfig.metadataSizeCalculationPolicy

string

基になるボリュームグループのメタデータサイズを計算するポリシーを指定します。このフィールドは、Static または Host のいずれかに設定できます。デフォルトでは、このフィールドは Host に設定されています。

このフィールドが Static に設定されている場合は、メタデータサイズが thinPoolConfig.metadataSize フィールドの値に基づいて計算されます。

このフィールドが Host に設定されている場合は、メタデータのサイズが lvm2 設定に基づいて計算されます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る