5.4. Logical Volume Manager Storage を使用した永続ストレージ
論理ボリュームマネージャー (LVM) ストレージは、TopoLVM CSI ドライバーを介して LVM2 を使用して、リソースが制限されたクラスター上でローカルストレージを動的にプロビジョニングします。
LVM Storage を使用すると、ボリュームグループ、永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンを作成できます。
5.4.1. Logical Volume Manager Storage のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターに論理ボリュームマネージャー (LVM) ストレージをインストールし、ワークロードのストレージを動的にプロビジョニングするように設定できます。
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 Storage のインストール」セクションを参照してください。
5.4.1.2. CLI を使用した LVM Storage のインストール リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、OpenShift CLI を使用して LVM Storage をインストールできます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-adminおよび Operator インストール権限を持つユーザーとして OpenShift Container Platform にログインしている。
手順
namespace を作成するための設定を含む YAML ファイルを作成します。
namespace を作成するための YAML 設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して namespace を作成します。
oc create -f <file_name>
$ oc create -f <file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow OperatorGroupCR YAML ファイルを作成します。OperatorGroupCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
OperatorGroupCR を作成します。oc create -f <file_name>
$ oc create -f <file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow SubscriptionCR YAML ファイルを作成します。SubscriptionCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
SubscriptionCR を作成します。oc create -f <file_name>
$ oc create -f <file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
LVM Storage がインストールされていることを確認するには、次のコマンドを実行します。
oc get csv -n openshift-storage -o custom-columns=Name:.metadata.name,Phase:.status.phase
$ oc get csv -n openshift-storage -o custom-columns=Name:.metadata.name,Phase:.status.phaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Name Phase 4.13.0-202301261535 Succeeded
Name Phase 4.13.0-202301261535 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.1.3. Web コンソールを使用した LVM Storage のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して LVM Storage をインストールできます。
前提条件
- クラスターにアクセスできる。
-
cluster-adminおよび Operator インストール権限で OpenShift Container Platform にアクセスできる。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
OperatorHub をクリックします。 - OperatorHub ページで LVM Storage をクリックします。
Operator Installation ページで次のオプションを設定します。
- Update Channel を stable-4.16 に設定します。
- Installation Mode を A specific namespace on the cluster に設定します。
-
Installed Namespace を Operator recommended namespace openshift-storage に設定します。
openshift-storagenamespace が存在しない場合は、Operator のインストール中に作成されます。 Update approval で Automatic または Manual を選択します。
注記Automatic (自動) 更新を選択すると、手動による介入なしで、Operator Lifecycle Manager (OLM) によって LVM Storage の実行中のインスタンスが自動的に更新されます。
Manual 更新を選択した場合、OLM は更新要求を作成します。LVM Storage を新しいバージョンに更新するには、クラスター管理者が更新要求を手動で承認する必要があります。
- オプション: Enable Operator recommended cluster monitoring on this Namespace チェックボックスを選択します。
- Install をクリックします。
検証手順
- インストールが成功したことを示す緑色のチェックマークが LVM Storage に表示されていることを確認します。
5.4.1.4. 非接続環境での LVM Storage のインストール リンクのコピーリンクがクリップボードにコピーされました!
非接続環境の OpenShift Container Platform に LVM Storage をインストールできます。「関連情報」セクションに、この手順で参照されているすべてのセクションのリンクが記載されています。
前提条件
- 「非接続インストールミラーリングについて」セクションを確認した。
- OpenShift Container Platform イメージリポジトリーにアクセスできる。
- ミラーレジストリーを作成した。
手順
「イメージセット設定の作成」手順の手順に従います。LVM Storage の
ImageSetConfigurationカスタムリソース (CR) を作成するには、次のImageSetConfigurationCR 設定の例を使用できます。LVM Storage 用の
ImageSetConfigurationCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- イメージセット内の各ファイルの最大サイズ (GiB 単位) を設定します。
- 2
- イメージセットを保存する場所を指定します。この場所は、レジストリーまたはローカルディレクトリーにすることができます。テクノロジープレビューの OCI 機能を使用している場合を除き、
storageConfigフィールドを設定する必要があります。 - 3
- レジストリーを使用する場合は、イメージストリームのストレージ URL を指定します。詳細は、イメージストリームを使用する理由 を参照してください。
- 4
- OpenShift Container Platform イメージの取得元のチャネルを指定します。
- 5
- OpenShift Update Service (OSUS) グラフイメージを生成するには、このフィールドを
trueに設定します。詳細は、OpenShift Update Service について を参照してください。 - 6
- OpenShift Container Platform イメージの取得元の Operator カタログを指定します。
- 7
- イメージセットに含める Operator パッケージを指定します。このフィールドが空の場合、カタログ内のすべてのパッケージが取得されます。
- 8
- イメージセットに含める Operator パッケージのチャネルを指定します。Operator パッケージのデフォルトチャネルは、そのチャネルのバンドルを使用しない場合でも含める必要があります。コマンド
$ oc mirror list operators --catalog=<catalog_name> --package=<package_name>を実行すると、デフォルトチャネルを見つけることができます。 - 9
- イメージセットに含める追加のイメージを指定します。
- 「イメージセットをミラーレジストリーにミラーリングする」セクションの手順に従います。
- 「イメージレジストリーのリポジトリーミラーリングの設定」セクションの手順に従います。
5.4.1.5. RHACM を使用した LVM Storage のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management (RHACM) を使用してクラスターに LVM Storage をインストールするには、Policy カスタムリソース (CR) を作成する必要があります。LVM Storage をインストールするクラスターを選択するための基準を設定することもできます。
LVM Storage をインストールするために作成した Policy CR は、Policy CR の作成後にインポートまたは作成したクラスターにも適用されます。
前提条件
-
cluster-adminおよび Operator のインストール権限を持つアカウントを使用して、RHACM クラスターにアクセスできる。 - 各クラスターに、LVM Storage が使用できる専用のディスクがある。
- クラスターが RHACM によって管理されている。
手順
- OpenShift Container Platform の認証情報を使用して RHACM CLI にログインします。
namespace を作成します。
oc create ns <namespace>
$ oc create ns <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow PolicyCR YAML ファイルを作成します。LVM Storage をインストールして設定するための
PolicyCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
PolicyCR を作成します。oc create -f <file_name> -n <namespace>
$ oc create -f <file_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow PolicyCR を作成すると、PlacementRuleCR で設定された選択基準に一致するクラスターに次のカスタムリソースが作成されます。-
namespace -
OperatorGroup -
Subscription
-
5.4.2. LVMCluster カスタムリソースについて リンクのコピーリンクがクリップボードにコピーされました!
次の操作を実行するように LVMCluster CR を設定できます。
- 永続ボリューム要求 (PVC) のプロビジョニングに使用できる LVM ボリュームグループを作成する。
- LVM ボリュームグループに追加するデバイスのリストを設定する。
- LVM ボリュームグループを作成するノードを選択するための要件と、ボリュームグループのシンプール設定を設定する。
- 選択したデバイスを強制的にワイプする。
LVM Storage をインストールした後、LVMCluster カスタムリソース (CR) を作成する必要があります。
LVMCluster CR YAML ファイルの例
5.4.2.1. LVMCluster CR のフィールドの説明 リンクのコピーリンクがクリップボードにコピーされました!
LVMCluster CR のフィールドは、次の表で説明します。
| フィールド | 型 | 説明 |
|---|---|---|
|
|
| ローカルストレージデバイスを LVM ボリュームグループに割り当てるための設定を含めます。 LVM Storage は、ユーザーが作成する各デバイスクラスに対してストレージクラスとボリュームスナップショットクラスを作成します。 |
|
|
| LVM ボリュームグループ (VG) の名前を指定します。 以前のインストールで作成したボリュームグループを再利用するようにこのフィールドを設定することもできます。詳細は、「以前の LVM ストレージインストールからのボリュームグループの再利用」を参照してください。 |
|
|
|
このフィールドは、 |
|
|
|
デバイスクラスがデフォルトであることを指定するには、このフィールドを |
|
|
| LVM ボリュームグループを作成するノードを選択するための設定を含めます。このフィールドが空の場合、no-schedule テイントのないすべてのノードが考慮されます。 コントロールプレーンノードでは、クラスター内で新しいノードがアクティブになると、LVM Storage が追加のワーカーノードを検出して使用します。 |
|
|
| ノードの選択に使用する要件を設定します。 |
|
|
| 次の操作を実行するための設定を含めます。
詳細は、「ボリュームグループへのデバイスの追加について」を参照してください。 |
|
|
| デバイスパスを指定します。
このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage でサポートされていない場合、 |
|
|
| オプションのデバイスパスを指定します。 このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage によってサポートされていない場合、LVM Storage はエラーを起こすことなくデバイスを無視します。 |
|
|
| LVM Storage は、ファイルシステム署名が含まれていない空のディスクのみを使用します。確実にディスクが空で、ファイルシステム署名が含まれていないようにするには、使用する前にディスクを消去します。
選択したデバイスを強制的にワイプするには、このフィールドを 警告
このフィールドが 次の条件のいずれかが満たされている場合にデバイスをワイプすると、データの整合性が失われる可能性があります。
これらの条件のいずれかに該当する場合は、ディスクを強制的にワイプしないでください。代わりに、ディスクを手動でワイプする必要があります。 |
|
|
| LVM ボリュームグループにシンプールを作成するための設定を含めます。 このフィールドを除外すると、論理ボリュームはシックプロビジョニングされます。 シックプロビジョニングされたストレージを使用する場合、次の制限があります。
|
|
|
| シンプールの名前を指定します。 |
|
|
| シンプールを作成するための LVM ボリュームグループ内の領域の割合を指定します。 デフォルトでは、このフィールドは 90 に設定されています。設定できる最小値は 10、最大値は 90 です。 |
|
|
| シンプールで使用可能なストレージに基づいて追加のストレージをプロビジョニングするのに使用する係数を指定します。 たとえば、このフィールドが 10 に設定されている場合、シンプールで使用可能なストレージの量の最大 10 倍をプロビジョニングできます。 オーバープロビジョニングを無効にするには、このフィールドを 1 に設定します。 |
|
|
|
静的に計算されたチャンクサイズをシンプールに指定します。このフィールドは、
このフィールドを設定せず、 詳細は、「チャンクサイズの概要」を参照してください。 |
|
|
|
基盤となるボリュームグループのチャンクサイズを計算するポリシーを指定します。このフィールドは、
このフィールドが
このフィールドが 詳細は、「LVM ストレージで使用するデバイスのサイズを設定する際の制限事項」を参照してください。 |
5.4.2.2. LVM Storage で使用するデバイスのサイズを設定する際の制限事項 リンクのコピーリンクがクリップボードにコピーされました!
LVM Storage を使用したストレージのプロビジョニングで使用できるデバイスのサイズを設定する際の制限は、次のとおりです。
- プロビジョニングできる合計ストレージサイズは、基礎となる論理ボリュームマネージャー (LVM) シンプールのサイズとオーバープロビジョニング係数によって制限されます。
論理ボリュームのサイズは、物理エクステント (PE) のサイズと論理エクステント (LE) のサイズによって異なります。
- PE および LE のサイズは、物理デバイスおよび論理デバイスの作成時に定義できます。
- デフォルトの PE および LE サイズは 4 MB です。
- PE のサイズを大きくした場合、LVM の最大サイズは、カーネルの制限とディスク領域によって決定されます。
次の表に、静的設定とホスト設定のチャンクサイズとボリュームサイズの制限を示します。
| パラメーター | 値 |
|---|---|
| チャンクサイズ | 128 KiB |
| 最大ボリュームサイズ | 32 TiB |
| パラメーター | 最小値 | 最大値 |
|---|---|---|
| チャンクサイズ | 64 KiB | 1 GiB |
| ボリュームサイズ | 基盤となる Red Hat Enterprise Linux CoreOS (RHCOS) システムの最小サイズ。 | 基盤となる RHCOS システムの最大サイズ。 |
| パラメーター | 値 |
|---|---|
| チャンクサイズ |
この値は、 |
| 最大ボリュームサイズ | 基盤となる RHCOS システムの最大ボリュームサイズと同じです。 |
| 最小ボリュームサイズ | 基盤となる RHCOS システムの最小ボリュームサイズと同じです。 |
5.4.2.3. ボリュームグループへのデバイスの追加について リンクのコピーリンクがクリップボードにコピーされました!
LVMCluster CR の deviceSelector フィールドには、論理ボリュームマネージャー (LVM) ボリュームグループに追加するデバイスへのパスを指定するための設定が含まれています。
デバイスへのパスは、deviceSelector.paths フィールド、deviceSelector.optionalPaths フィールド、またはその両方で指定できます。deviceSelector.paths フィールドと deviceSelector.optionalPaths フィールドのどちらにもデバイスパスを指定しなかった場合、LVM Storage によって、サポートされている未使用のデバイスがボリュームグループ (VG) に追加されます。
/dev/sdX などのシンボリックな命名を使用したディスクの参照は避けることが推奨されます。これらの名前は RHCOS 内での再起動によって変更される可能性があるためです。代わりに、一貫したディスク識別を確保するために、/dev/disk/by-path/ または /dev/disk/by-id/ などの安定した命名スキームを使用する必要があります。
この変更により、モニタリングで各ノードのインストールデバイスに関する情報が収集される場合、既存の自動化ワークフローの調整が必要になる可能性があります。
詳細は、RHEL ドキュメント を参照してください。
deviceSelector フィールドに Redundant Array of Independent Disks (RAID) アレイへのパスを追加して、RAID アレイを LVM ストレージと統合できます。mdadm ユーティリティーを使用して RAID アレイを作成できます。LVM ストレージはソフトウェア RAID の作成をサポートしていません。
RAID アレイは、OpenShift Container Platform のインストール中にのみ作成できます。RAID アレイの作成に関する詳細は、以下のセクションを参照してください。
- 「関連情報」の「RAID 対応データボリュームの設定」
- インストール済みシステムでのソフトウェア RAID の作成
- RAID での障害のあるディスクの置き換え
- RAID ディスクの修復
暗号化されたデバイスをボリュームグループに追加することもできます。OpenShift Container Platform のインストール中に、クラスターノードでディスク暗号化を有効にすることができます。デバイスを暗号化した後、deviceSelector フィールドで LUKS 暗号化デバイスへのパスを指定できます。ディスク暗号化の詳細は、「ディスク暗号化について」および「ディスク暗号化とミラーリングの設定」を参照してください。
VG に追加するデバイスは、LVM ストレージでサポートされている必要があります。サポートされていないデバイスの詳細は、「LVM ストレージでサポートされていないデバイス」を参照してください。
LVM ストレージは、次の条件が満たされた場合にのみ、デバイスを VG に追加します。
- デバイスパスが存在する。
- デバイスが LVM Storage によってサポートされている。
デバイスを VG に追加した後は、そのデバイスを削除することはできません。
LVM ストレージは動的デバイス検出をサポートします。LVMCluster CR に deviceSelector フィールドを追加しない場合、デバイスが利用可能になると、LVM Storage は新しいデバイスを自動的に VG に追加します。
以下の理由により、動的デバイス検出を通じてデバイスを VG に追加することは推奨されません。
- VG に追加するつもりのない新しいデバイスを追加すると、LVM ストレージは動的デバイス検出を通じてこのデバイスを VG に自動的に追加します。
- LVM ストレージが動的デバイス検出を通じて VG にデバイスを追加する場合、LVM ストレージはノードからデバイスを削除することを制限しません。VG にすでに追加されているデバイスを削除または更新すると、VG が中断される可能性があります。これにより、データが失われ、手動でのノードの修復が必要になる可能性もあります。
5.4.2.4. LVM Storage でサポートされないデバイス リンクのコピーリンクがクリップボードにコピーされました!
LVMCluster カスタムリソース (CR) の deviceSelector フィールドにデバイスパスを追加する場合は、そのデバイスが LVM Storage でサポートされていることを確認してください。サポートされていないデバイスへのパスを追加すると、論理ボリュームの管理が複雑になることを回避するために、LVM Storage はそのデバイスを除外します。
deviceSelector フィールドでデバイスパスを指定しない場合、LVM Storage はサポート対象の未使用デバイスのみ追加します。
デバイスに関する情報を取得するには、次のコマンドを実行します。
lsblk --paths --json -o \ NAME,ROTA,TYPE,SIZE,MODEL,VENDOR,RO,STATE,KNAME,SERIAL,PARTLABEL,FSTYPE
$ lsblk --paths --json -o \
NAME,ROTA,TYPE,SIZE,MODEL,VENDOR,RO,STATE,KNAME,SERIAL,PARTLABEL,FSTYPE
LVM Storage は、次のデバイスをサポートしません。
- 読み取り専用デバイス
-
roパラメーターがtrueに設定されているデバイス。 - 一時停止されたデバイス
-
stateパラメーターがsuspendedに設定されているデバイス。 - ROM デバイス
-
typeパラメーターがromに設定されているデバイス。 - LVM パーティションデバイス
-
typeパラメーターがlvmに設定されているデバイス。 - 無効なパーティションラベルを持つデバイス
-
partlabelパラメーターがbios、boot、またはreservedに設定されているデバイス。 - 無効なファイルシステムを持つデバイス
fstypeパラメーターが、nullまたはLVM2_member以外の値に設定されているデバイス。重要LVM Storage は、そのデバイスに子デバイスが含まれていない場合に限り、
fstypeパラメーターがLVM2_memberに設定されているデバイスをサポートします。- 別のボリュームグループの一部であるデバイス
デバイスのボリュームグループに関する情報を取得するには、次のコマンドを実行します。
pvs <device-name>
$ pvs <device-name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<device-name>をデバイス名に置き換えます。
- バインドマウントを備えたデバイス
デバイスのマウントポイントを取得するには、次のコマンドを実行します。
cat /proc/1/mountinfo | grep <device-name>
$ cat /proc/1/mountinfo | grep <device-name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<device-name>をデバイス名に置き換えます。
- 子デバイスを含むデバイス
予期しない動作を防ぐために、LVM Storage で使用する前にデバイスをワイプすることが推奨されます。
5.4.3. LVMCluster カスタムリソースを作成する方法 リンクのコピーリンクがクリップボードにコピーされました!
LVMCluster カスタムリソース (CR) は、OpenShift CLI (oc) または OpenShift Container Platform Web コンソールを使用して作成できます。Red Hat Advanced Cluster Management (RHACM) を使用して LVM Storage をインストールした場合は、RHACM を使用して LVMCluster CR を作成することもできます。
LVMCluster CR は、LVM Storage Operator をインストールしたのと同じ namespace (デフォルトでは openshift-storage) に作成する必要があります。
LVMCluster CR を作成すると、LVM Storage によって次のシステム管理 CR が作成されます。
各デバイスクラスの
storageClassとvolumeSnapshotClass。注記LVM Storage は、ストレージクラスとボリュームスナップショットクラスの名前を
lvms-<device_class_name>の形式で設定します。<device_class_name>は、LVMClusterCR のdeviceClasses.nameフィールドの値です。たとえば、deviceClasses.nameフィールドが vg1 に設定されている場合、ストレージクラスとボリュームスナップショットクラスの名前はlvms-vg1になります。-
LVMVolumeGroup: この CR は、LVM ボリュームグループによってサポートされる特定のタイプの永続ボリューム (PV) です。複数のノードにわたる個々のボリュームグループを追跡します。 -
LVMVolumeGroupNodeStatus: この CR は、ノード上のボリュームグループのステータスを追跡します。
5.4.3.1. 以前の LVM Storage インストールからのボリュームグループを再利用する リンクのコピーリンクがクリップボードにコピーされました!
新しいボリュームグループ (VG) を作成する代わりに、以前の LVM Storage インストールからの既存の VG を再利用できます。
再利用できるのは VG のみです。VG に関連付けられた論理ボリュームは再利用できません。
この手順は、LVMCluster カスタムリソース (CR) の作成中にのみ実行できます。
前提条件
- 再利用する VG が破損していない。
-
再利用する VG に
lvmsタグが付いている。LVM オブジェクトにタグを追加する方法の詳細は、タグを使用した LVM オブジェクトのグループ化 を参照してください。
手順
-
LVMClusterCR YAML ファイルを開きます。 次の例の説明に従って、
LVMClusterCR のパラメーターを設定します。LVMClusterCR YAML ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このフィールドは、以前の LVM Storage インストールの VG 名に設定します。
- 2
- このフィールドは、
ext4またはxfsに設定します。デフォルトでは、このフィールドはxfsに設定されています。 - 3
deviceSelectorフィールドに新しいデバイスパスを指定すると、再利用する新しいデバイスを VG に追加できます。新しいデバイスを VG に追加する必要がない場合は、現在の LVM Storage インストールのdeviceSelector設定が以前の LVM Storage インストールの設定と同じであることを確認してください。- 4
- このフィールドを
trueに設定すると、LVM Storage が VG に追加されたデバイス上のすべてのデータをワイプします。 - 5
- 再利用する VG の
thinPoolConfig設定を保持するには、現在の LVM Storage インストールのthinPoolConfig設定が以前の LVM Storage インストールの thinPoolConfig 設定と同じであることを確認してください。保持しない場合は、必要に応じてthinPoolConfigフィールドを設定できます。 - 6
- LVM ボリュームグループを作成するノードを選択するための要件を設定します。このフィールドが空の場合、no-schedule テイントのないすべてのノードが考慮されます。
-
LVMClusterCR YAML ファイルを保存します。
ボリュームグループに含まれているデバイスを表示するには、次のコマンドを実行します。
pvs -S vgname=<vg_name>
$ pvs -S vgname=<vg_name>
- 1
<vg_name>は、ボリュームグループの名前に置き換えます。
5.4.3.2. CLI を使用した LVMCluster CR の作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用して、ワーカーノード上に LVMCluster カスタムリソース (CR) を作成できます。
OpenShift Container Platform クラスターでは、LVMCluster カスタムリソース (CR) のインスタンスを 1 つだけ作成できます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとして OpenShift Container Platform にログインしている。 - LVM Storage がインストールされている。
- クラスターにワーカーノードがインストールされている。
- 「LVMCluster カスタムリソースについて」セクションを確認した。
手順
LVMClusterカスタムリソース (CR) YAML ファイルを作成します。LVMClusterCR YAML ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
LVMClusterCR を作成します。oc create -f <file_name>
$ oc create -f <file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
lvmcluster/lvmcluster created
lvmcluster/lvmcluster createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
LVMClusterCR がReady状態であることを確認します。oc get lvmclusters.lvm.topolvm.io -o jsonpath='{.items[*].status}' -n <namespace>$ oc get lvmclusters.lvm.topolvm.io -o jsonpath='{.items[*].status}' -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記LVMClusterCR がFailed状態の場合、statusフィールドに失敗の理由が表示されます。失敗の理由を示す
statusフィールドの例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 各デバイスクラスに対して LVM Storage によって作成されたストレージクラスを表示するには、次のコマンドを実行します。
oc get storageclass
$ oc get storageclassCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE lvms-vg1 topolvm.io Delete WaitForFirstConsumer true 31m
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE lvms-vg1 topolvm.io Delete WaitForFirstConsumer true 31mCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 各デバイスクラスに対して LVM Storage によって作成されたボリュームスナップショットクラスを表示するには、次のコマンドを実行します。
oc get volumesnapshotclass
$ oc get volumesnapshotclassCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME DRIVER DELETIONPOLICY AGE lvms-vg1 topolvm.io Delete 24h
NAME DRIVER DELETIONPOLICY AGE lvms-vg1 topolvm.io Delete 24hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.3.3. Web コンソールを使用した LVMCluster CR の作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、ワーカーノード上に LVMCluster CR を作成できます。
OpenShift Container Platform クラスターでは、LVMCluster カスタムリソース (CR) のインスタンスを 1 つだけ作成できます。
前提条件
-
cluster-admin権限を使用して OpenShift Container Platform クラスターにアクセスできる。 - LVM Storage がインストールされている。
- クラスターにワーカーノードがインストールされている。
- 「LVMCluster カスタムリソースについて」セクションを確認した。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
Installed Operators をクリックします。 -
openshift-storagenamespace で、LVM Storage をクリックします。 - Create LVMCluster をクリックし、Form view または YAML view のいずれかを選択します。
-
LVMClusterCR の必要なパラメーターを設定します。 - Create をクリックします。
オプション:
LVMCLusterCR を編集する場合は、次の操作を実行します。- LVMCluster タブをクリックします。
- Actions メニューから Edit LVMCluster を選択します。
-
YAML をクリックし、
LVMCLusterCR の必要なパラメーターを編集します。 - Save をクリックします。
検証
-
LVMCLuster ページで、
LVMClusterCR がReady状態であることを確認します。 -
オプション: 各デバイスクラスに対して LVM Storage によって作成された使用可能なストレージクラスを表示するには、Storage
StorageClasses をクリックします。 -
オプション: 各デバイスクラスに対して LVM Storage によって作成された使用可能なボリュームスナップショットクラスを表示するには、Storage
VolumeSnapshotClasses をクリックします。
5.4.3.4. RHACM を使用した LVMCluster CR の作成 リンクのコピーリンクがクリップボードにコピーされました!
RHACM を使用して LVM Storage をインストールした後、LVMCluster カスタムリソース (CR) を作成する必要があります。
前提条件
- RHACM を使用して LVM Storage をインストールした。
-
cluster-admin権限を持つアカウントを使用して RHACM クラスターにアクセスできる。 - 「LVMCluster カスタムリソースについて」セクションを確認した。
手順
- OpenShift Container Platform の認証情報を使用して RHACM CLI にログインします。
LVMClusterCR を作成するための設定を含むConfigurationPolicyCR YAML ファイルを作成します。LVMClusterCR を作成するためのConfigurationPolicyCR YAML ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ConfigurationPolicyCR を作成します。oc create -f <file_name> -n <cluster_namespace>
$ oc create -f <file_name> -n <cluster_namespace>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- LVM Storage がインストールされている OpenShift Container Platform クラスターの namespace。
5.4.4. LVMCluster カスタムリソースを削除する方法 リンクのコピーリンクがクリップボードにコピーされました!
LVMCluster カスタムリソース (CR) は、OpenShift CLI (oc) または OpenShift Container Platform Web コンソールを使用して削除できます。Red Hat Advanced Cluster Management (RHACM) を使用して LVM Storage をインストールした場合は、RHACM を使用して LVMCluster CR を削除することもできます。
LVMCluster CR を削除すると、LVM Storage によって次の CR が削除されます。
-
storageClass -
volumeSnapshotClass -
LVMVolumeGroup -
LVMVolumeGroupNodeStatus
5.4.4.1. CLI を使用した LVMCluster CR の削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用して、LVMCluster カスタムリソース (CR) を削除できます。
前提条件
-
cluster-adminパーミッションを持つユーザーとして OpenShift Container Platform にアクセスできる。 - LVM Storage によってプロビジョニングされた永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンが削除されている。これらのリソースを使用しているアプリケーションも削除されている。
手順
-
OpenShift CLI (
oc) にログインします。 次のコマンドを実行して、
LVMClusterCR を削除します。oc delete lvmcluster <lvm_cluster_name> -n openshift-storage
$ oc delete lvmcluster <lvm_cluster_name> -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
LVMClusterCR が削除されたことを確認するには、次のコマンドを実行します。oc get lvmcluster -n <namespace>
$ oc get lvmcluster -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
No resources found in openshift-storage namespace.
No resources found in openshift-storage namespace.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.4.2. Web コンソールを使用した LVMCluster CR の削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、LVMCluster カスタムリソース (CR) を削除できます。
前提条件
-
cluster-adminパーミッションを持つユーザーとして OpenShift Container Platform にアクセスできる。 - LVM Storage によってプロビジョニングされた永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンが削除されている。これらのリソースを使用しているアプリケーションも削除されている。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
Installed Operators をクリックして、インストールされているすべての Operators を表示します。 -
openshift-storagenamespace で LVM Storage をクリックします。 - LVMCluster タブをクリックします。
- Actions から Delete LVMCluster を選択します。
- Delete をクリックします。
検証
-
LVMCLusterページで、LVMClusterCR が削除されたことを確認します。
5.4.4.3. RHACM を使用した LVMCluster CR の削除 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management (RHACM) を使用して LVM Storage をインストールした場合は、RHACM を使用して LVMCluster CR を削除できます。
前提条件
-
cluster-admin権限を持つユーザーとして RHACM クラスターにアクセスできる。 - LVM Storage によってプロビジョニングされた永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンが削除されている。これらのリソースを使用しているアプリケーションも削除されている。
手順
- OpenShift Container Platform の認証情報を使用して RHACM CLI にログインします。
LVMClusterCR 用に作成したConfigurationPolicyCR YAML ファイルを削除します。oc delete -f <file_name> -n <cluster_namespace>
$ oc delete -f <file_name> -n <cluster_namespace>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- LVM Storage がインストールされている OpenShift Container Platform クラスターの namespace。
LVMClusterCR を削除するためのPolicyCR YAML ファイルを作成します。LVMClusterCR を削除するためのPolicyCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
PolicyCR を作成します。oc create -f <file_name> -n <namespace>
$ oc create -f <file_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow LVMClusterCR が削除されたかどうかを確認するためのPolicyCR YAML ファイルを作成します。LVMClusterCR が削除されたかどうかを確認するためのPolicyCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
PolicyCR を作成します。oc create -f <file_name> -n <namespace>
$ oc create -f <file_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、
PolicyCR のステータスを確認します。oc get policy -n <namespace>
$ oc get policy -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME REMEDIATION ACTION COMPLIANCE STATE AGE policy-lvmcluster-delete enforce Compliant 15m policy-lvmcluster-inform inform Compliant 15m
NAME REMEDIATION ACTION COMPLIANCE STATE AGE policy-lvmcluster-delete enforce Compliant 15m policy-lvmcluster-inform inform Compliant 15mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要PolicyCR がCompliant状態である必要があります。
5.4.5. ストレージのプロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
LVMCluster カスタムリソース (CR) を使用して LVM ボリュームグループを作成した後、永続ボリューム要求 (PVC) を作成してストレージをプロビジョニングできます。
以下は、各ファイルシステムタイプに対して要求できる最小ストレージサイズです。
-
block: 8 MiB -
xfs: 300 MiB -
ext4: 32 MiB
PVC を作成するには、PersistentVolumeClaim オブジェクトを作成する必要があります。
前提条件
-
LVMClusterCR が作成されている。
手順
-
OpenShift CLI (
oc) にログインします。 PersistentVolumeClaimオブジェクトを作成します。PersistentVolumeClaimオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC の名前を指定します。
- 2
- ブロック PVC を作成するには、このフィールドを
Blockに設定します。ファイル PVC を作成するには、このフィールドをFilesystemに設定します。 - 3
- ストレージサイズを指定します。値が最小ストレージサイズより小さい場合、要求されるストレージサイズは最小ストレージサイズに切り上げられます。プロビジョニングできる合計ストレージサイズは、Logical Volume Manager (LVM) シンプールのサイズとオーバープロビジョニング係数によって制限されます。
- 4
- オプション: ストレージ制限を指定します。このフィールドには、最小ストレージサイズ以上の値を設定します。それ以外の場合、PVC の作成はエラーが発生して失敗します。
- 5
storageClassNameフィールドの値はlvms-<device_class_name>の形式である必要があります。ここで、<device_class_name>は、LVMClusterCR のdeviceClasses.nameフィールドの値になります。たとえば、deviceClasses.nameフィールドがvg1に設定されている場合、storageClassNameフィールドをlvms-vg1に設定する必要があります。
注記ストレージクラスの
volumeBindingModeフィールドはWaitForFirstConsumerに設定されます。以下のコマンドを実行して PVC を作成します。
oc create -f <file_name> -n <application_namespace>
# oc create -f <file_name> -n <application_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記作成された PVC は、それらを使用する Pod をデプロイするまで
Pending状態のままになります。
検証
PVC が作成されたことを確認するには、次のコマンドを実行します。
oc get pvc -n <namespace>
$ oc get pvc -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvm-block-1 Bound pvc-e90169a8-fd71-4eea-93b8-817155f60e47 1Gi RWO lvms-vg1 5s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvm-block-1 Bound pvc-e90169a8-fd71-4eea-93b8-817155f60e47 1Gi RWO lvms-vg1 5sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.6. クラスターのストレージをスケールアップする方法 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は、ベアメタル user-provisioned infrastructure 上のクラスターの追加のワーカーノードをサポートします。クラスターのストレージをスケールアップするには、使用可能なストレージを備えた新しいワーカーノードを追加するか、既存のワーカーノードに新しいデバイスを追加します。
Logical Volume Manager (LVM) Storage は、ノードがアクティブになると、追加のワーカーノードを検出して使用します。
クラスター上の既存のワーカーノードに新しいデバイスを追加するには、LVMCluster カスタムリソース (CR) の deviceSelector フィールドに新しいデバイスへのパスを追加する必要があります。
LVMCluster CR に deviceSelector フィールドを追加できるのは、LVMCluster CR の作成時にのみです。LVMCluster CR の作成時に deviceSelector フィールドを追加しなかった場合は、LVMCluster CR を削除し、deviceSelector フィールドを含む新しい LVMCluster CR を作成する必要があります。
LVMCluster CR に deviceSelector フィールドを追加しない場合、デバイスが利用可能になると、LVM Storage は新しいデバイスを自動的に追加します。
LVM Storage は、サポートされるデバイスのみを追加します。サポートされていないデバイスの詳細は、「LVM ストレージでサポートされていないデバイス」を参照してください。
5.4.6.1. CLI を使用したクラスターのストレージのスケールアップ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用して、クラスター上のワーカーノードのストレージ容量をスケールアップできます。
前提条件
- 各クラスターには、Logical Volume Manager (LVM) Storage で使用される追加の未使用デバイスがある。
-
OpenShift CLI (
oc) がインストールされている。 -
LVMClusterカスタムリソース (CR) が作成されている。
手順
次のコマンドを実行して、
LVMClusterCR を編集します。oc edit <lvmcluster_file_name> -n <namespace>
$ oc edit <lvmcluster_file_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow deviceSelectorフィールドに新しいデバイスへのパスを追加します。LVMClusterCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- LVM ボリュームグループに追加するデバイスへのパスを指定するための設定が含まれています。デバイスパスは、
pathsフィールド、optionalPathsフィールド、またはその両方で指定できます。pathsとoptionalPathsの両方でデバイスパスを指定しない場合、Logical Volume Manager (LVM) Storage は、サポートされている未使用のデバイスを LVM ボリュームグループに追加します。LVM Storage は、次の条件が満たされている場合にのみ、デバイスを LVM ボリュームグループに追加します。- デバイスパスが存在する。
- デバイスが LVM Storage によってサポートされている。サポートされていないデバイスの詳細は、「LVM ストレージでサポートされていないデバイス」を参照してください。
- 2
- デバイスパスを指定します。このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage でサポートされていない場合、
LVMClusterCR がFailed状態に移行します。 - 3
- オプションのデバイスパスを指定します。このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage によってサポートされていない場合、LVM Storage はエラーを起こすことなくデバイスを無視します。重要
デバイスが LVM ボリュームグループに追加された後は、デバイスを削除できません。
-
LVMClusterCR を保存します。
5.4.6.2. Web コンソールを使用したクラスターのストレージのスケールアップ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して、クラスター上のワーカーノードのストレージ容量をスケールアップできます。
前提条件
- 各クラスターには、Logical Volume Manager (LVM) Storage で使用される追加の未使用デバイスがある。
-
LVMClusterカスタムリソース (CR) が作成されている。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
Installed Operators をクリックします。 -
openshift-storagenamespace で LVM Storage をクリックします。 -
LVMCluster タブをクリックして、クラスター上に作成された
LVMClusterCR を表示します。 - Actions メニューから Edit LVMCluster を選択します。
- YAML タブをクリックします。
LVMClusterCR を編集して、deviceSelectorフィールドに新しいデバイスパスを追加します。LVMClusterCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- LVM ボリュームグループに追加するデバイスへのパスを指定するための設定が含まれています。デバイスパスは、
pathsフィールド、optionalPathsフィールド、またはその両方で指定できます。pathsとoptionalPathsの両方でデバイスパスを指定しない場合、Logical Volume Manager (LVM) Storage は、サポートされている未使用のデバイスを LVM ボリュームグループに追加します。LVM Storage は、次の条件が満たされている場合にのみ、デバイスを LVM ボリュームグループに追加します。- デバイスパスが存在する。
- デバイスが LVM Storage によってサポートされている。サポートされていないデバイスの詳細は、「LVM ストレージでサポートされていないデバイス」を参照してください。
- 2
- デバイスパスを指定します。このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage でサポートされていない場合、
LVMClusterCR がFailed状態に移行します。 - 3
- オプションのデバイスパスを指定します。このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage によってサポートされていない場合、LVM Storage はエラーを起こすことなくデバイスを無視します。重要
デバイスが LVM ボリュームグループに追加された後は、デバイスを削除できません。
- Save をクリックします。
5.4.6.3. RHACM を使用したクラスターのストレージのスケールアップ リンクのコピーリンクがクリップボードにコピーされました!
RHACM を使用すると、クラスター上のワーカーノードのストレージ容量をスケールアップできます。
前提条件
-
cluster-admin権限を持つアカウントを使用して RHACM クラスターにアクセスできる。 -
RHACM を使用して
LVMClusterカスタムリソース (CR) を作成した。 - 各クラスターには、Logical Volume Manager (LVM) Storage で使用される追加の未使用デバイスがある。
手順
- OpenShift Container Platform の認証情報を使用して RHACM CLI にログインします。
次のコマンドを実行して、RHACM を使用して作成した
LVMClusterCR を編集します。oc edit -f <file_name> -n <namespace>
$ oc edit -f <file_name> -n <namespace>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<file_name>は、LVMClusterCR の名前に置き換えます。
LVMClusterCR で、deviceSelectorフィールドに新しいデバイスへのパスを追加します。LVMClusterCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- LVM ボリュームグループに追加するデバイスへのパスを指定するための設定が含まれています。デバイスパスは、
pathsフィールド、optionalPathsフィールド、またはその両方で指定できます。pathsとoptionalPathsの両方でデバイスパスを指定しない場合、Logical Volume Manager (LVM) Storage は、サポートされている未使用のデバイスを LVM ボリュームグループに追加します。LVM Storage は、次の条件が満たされている場合にのみ、デバイスを LVM ボリュームグループに追加します。- デバイスパスが存在する。
- デバイスが LVM Storage によってサポートされている。サポートされていないデバイスの詳細は、「LVM ストレージでサポートされていないデバイス」を参照してください。
- 2
- デバイスパスを指定します。このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage でサポートされていない場合、
LVMClusterCR がFailed状態に移行します。 - 3
- オプションのデバイスパスを指定します。このフィールドに指定されたデバイスパスが存在しない場合、またはデバイスが LVM Storage によってサポートされていない場合、LVM Storage はエラーを起こすことなくデバイスを無視します。重要
デバイスが LVM ボリュームグループに追加された後は、デバイスを削除できません。
-
LVMClusterCR を保存します。
5.4.7. 永続ボリューム要求の拡張 リンクのコピーリンクがクリップボードにコピーされました!
クラスターのストレージをスケールアップした後、既存の永続ボリューム要求 (PVC) を拡張できます。
PVC を拡張するには、PVC 内の storage フィールドを更新する必要があります。
前提条件
- 動的プロビジョニングを使用している。
-
PVC に関連付けられた
StorageClassオブジェクトには、allowVolumeExpansionフィールドがtrueに設定されています。
手順
-
OpenShift CLI (
oc) にログインします。 次のコマンドを実行して、
spec.resources.requests.storageフィールドの値を現在の値より大きい値に更新します。oc patch pvc <pvc_name> -n <application_namespace> \ --type=merge -p \ '{ "spec": { "resources": { "requests": { "storage": "<desired_size>" }}}}'$ oc patch pvc <pvc_name> -n <application_namespace> \1 --type=merge -p \ '{ "spec": { "resources": { "requests": { "storage": "<desired_size>" }}}}'2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
サイズ変更が完了したことを確認するには、次のコマンドを実行します。
oc get pvc <pvc_name> -n <application_namespace> -o=jsonpath={.status.capacity.storage}$ oc get pvc <pvc_name> -n <application_namespace> -o=jsonpath={.status.capacity.storage}Copy to Clipboard Copied! Toggle word wrap Toggle overflow LVM Storage は、拡張中に PVC に
Resizing条件を追加します。PVC の拡張後、Resizing条件を削除します。
5.4.8. 永続ボリューム要求の削除 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用して、永続ボリューム要求 (PVC) を削除できます。
前提条件
-
cluster-adminパーミッションを持つユーザーとして OpenShift Container Platform にアクセスできる。
手順
-
OpenShift CLI (
oc) にログインします。 次のコマンドを実行して、PVC を削除します。
oc delete pvc <pvc_name> -n <namespace>
$ oc delete pvc <pvc_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
PVC が削除されたことを確認するには、次のコマンドを実行します。
oc get pvc -n <namespace>
$ oc get pvc -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 削除された PVC は、このコマンドの出力には存在しません。
5.4.9. ボリュームスナップショットについて リンクのコピーリンクがクリップボードにコピーされました!
LVM Storage によってプロビジョニングされる永続ボリューム要求 (PVC) のスナップショットを作成できます。
ボリュームスナップショットを使用して、次のアクションを実行できます。
アプリケーションデータをバックアップします。
重要ボリュームスナップショットは元のデータと同じデバイスにあります。ボリュームスナップショットをバックアップとして使用するには、スナップショットを安全な場所に移動する必要があります。OpenShift API for Data Protection (OADP) のバックアップおよび復元ソリューションを使用できます。OADP の詳細は、「OADP の機能」を参照してください。
- ボリュームスナップショットが作成された状態に戻します。
ボリュームクローンのボリュームスナップショットを作成することもできます。
5.4.9.1. マルチノードトポロジーでボリュームスナップショットを作成する場合の制限事項 リンクのコピーリンクがクリップボードにコピーされました!
LVM Storage には、マルチノードトポロジーでのボリュームスナップショットの作成に関して、次の制限があります。
- ボリュームスナップショットの作成は、LVM シンプール機能に基づいています。
- ボリュームスナップショットを作成した後、元のデータソースをさらに更新するために、ノードには追加のストレージ領域が必要です。
- ボリュームスナップショットは、元のデータソースをデプロイしたノード上でのみ作成できます。
- スナップショットデータを使用する PVC に依存する Pod は、元のデータソースをデプロイしたノードでのみスケジュールできます。
5.4.9.2. ボリュームスナップショットの作成 リンクのコピーリンクがクリップボードにコピーされました!
シンプールの利用可能な容量とオーバープロビジョニングの制限に基づいて、ボリュームスナップショットを作成できます。ボリュームスナップショットを作成するには、VolumeSnapshotClass オブジェクトを作成する必要があります。
前提条件
-
cluster-adminパーミッションを持つユーザーとして OpenShift Container Platform にアクセスできる。 -
永続ボリューム要求 (PVC) が
Bound状態であることが確認されている。これは、一貫性のあるスナップショットに必要です。 - PVC へのすべての I/O が停止されている。
手順
-
OpenShift CLI (
oc) にログインします。 VolumeSnapshotオブジェクトを作成します。VolumeSnapshotオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記使用可能なボリュームスナップショットクラスのリストを取得するには、次のコマンドを実行します。
oc get volumesnapshotclass
$ oc get volumesnapshotclassCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ソース PVC を作成した namespace にボリュームスナップショットを作成します。
oc create -f <file_name> -n <namespace>
$ oc create -f <file_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow LVM Storage は、PVC の読み取り専用コピーをボリュームスナップショットとして作成します。
検証
ボリュームスナップショットが作成されたことを確認するには、次のコマンドを実行します。
oc get volumesnapshot -n <namespace>
$ oc get volumesnapshot -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE lvm-block-1-snap true lvms-test-1 1Gi lvms-vg1 snapcontent-af409f97-55fc-40cf-975f-71e44fa2ca91 19s 19s
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE lvm-block-1-snap true lvms-test-1 1Gi lvms-vg1 snapcontent-af409f97-55fc-40cf-975f-71e44fa2ca91 19s 19sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 作成したボリュームスナップショットの
READYTOUSEフィールドの値はtrueである必要があります。
5.4.9.3. ボリュームスナップショットの復元 リンクのコピーリンクがクリップボードにコピーされました!
ボリュームスナップショットを復元するには、dataSource.name フィールドをボリュームスナップショットの名前に設定して、永続ボリューム要求 (PVC) を作成する必要があります。
復元される PVC はボリュームスナップショットおよびソース PVC とは切り離されています。
前提条件
-
cluster-adminパーミッションを持つユーザーとして OpenShift Container Platform にアクセスできる。 - ボリュームスナップショットが作成されている。
手順
-
OpenShift CLI (
oc) にログインします。 ボリュームスナップショットを復元するための設定を使用して
PersistentVolumeClaimオブジェクトを作成します。ボリュームスナップショットを復元するための
PersistentVolumeClaimオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ボリュームスナップショットを作成した namespace に PVC を作成します。
oc create -f <file_name> -n <namespace>
$ oc create -f <file_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ボリュームスナップショットが復元されたことを確認するには、次のコマンドを実行します。
oc get pvc -n <namespace>
$ oc get pvc -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvm-block-1-restore Bound pvc-e90169a8-fd71-4eea-93b8-817155f60e47 1Gi RWO lvms-vg1 5s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvm-block-1-restore Bound pvc-e90169a8-fd71-4eea-93b8-817155f60e47 1Gi RWO lvms-vg1 5sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.9.4. ボリュームスナップショットの削除 リンクのコピーリンクがクリップボードにコピーされました!
永続ボリューム要求 (PVC) のボリュームスナップショットを削除できます。
永続ボリューム要求 (PVC) を削除すると、LVM Storage は永続ボリューム要求のみを削除し、永続ボリューム要求のスナップショットは削除しません。
前提条件
-
cluster-adminパーミッションを持つユーザーとして OpenShift Container Platform にアクセスできる。 - 削除するボリュームスナップショットが使用されていないことを確認している。
手順
-
OpenShift CLI (
oc) にログインします。 次のコマンドを実行して、ボリュームのスナップショットを削除します。
oc delete volumesnapshot <volume_snapshot_name> -n <namespace>
$ oc delete volumesnapshot <volume_snapshot_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ボリュームスナップショットが削除されたことを確認するには、次のコマンドを実行します。
oc get volumesnapshot -n <namespace>
$ oc get volumesnapshot -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 削除されたボリュームのスナップショットは、このコマンドの出力には存在しません。
5.4.10. ボリュームクローンについて リンクのコピーリンクがクリップボードにコピーされました!
ボリュームクローンは、既存の永続ボリューム要求 (PVC) の複製です。ボリュームクローンを作成して、データのポイントインタイムコピーを作成できます。
5.4.10.1. マルチノードトポロジーでボリュームクローンを作成する場合の制限事項 リンクのコピーリンクがクリップボードにコピーされました!
LVM Storage には、マルチノードトポロジーでのボリュームクローンの作成に関して、次の制限があります。
- ボリュームクローンの作成は、LVM シンプール機能に基づいています。
- ボリュームクローンを作成した後、元のデータソースをさらに更新するには、ノードに追加のストレージが必要です。
- ボリュームクローンは、元のデータソースをデプロイしたノード上でのみ作成できます。
- クローンデータを使用する PVC に依存する Pod は、元のデータソースをデプロイしたノード上でのみスケジュールできます。
5.4.10.2. ボリュームクローンの作成 リンクのコピーリンクがクリップボードにコピーされました!
永続ボリューム要求 (PVC) のクローンを作成するには、ソース永続ボリューム要求を作成した namespace に PersistentVolumeClaim オブジェクトを作成する必要があります。
クローン作成された PVC には書き込みアクセス権限があります。
前提条件
-
ソース PVC が
Bound状態であることが確認されている。これは一貫性のあるクローンに必要です。
手順
-
OpenShift CLI (
oc) にログインします。 PersistentVolumeClaimオブジェクトを作成します。ボリュームクローンを作成するための
PersistentVolumeClaimオブジェクトの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ソース PVC を作成した namespace に PVC を作成します。
oc create -f <file_name> -n <namespace>
$ oc create -f <file_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ボリュームクローンが作成されたことを確認するには、次のコマンドを実行します。
oc get pvc -n <namespace>
$ oc get pvc -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvm-block-1-clone Bound pvc-e90169a8-fd71-4eea-93b8-817155f60e47 1Gi RWO lvms-vg1 5s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvm-block-1-clone Bound pvc-e90169a8-fd71-4eea-93b8-817155f60e47 1Gi RWO lvms-vg1 5sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.10.3. ボリュームクローンの削除 リンクのコピーリンクがクリップボードにコピーされました!
ボリュームクローンを削除できます。
永続ボリューム要求 (PVC) を削除すると、LVM Storage はソース永続ボリューム要求のみを削除し、永続ボリューム要求のクローンは削除しません。
前提条件
-
cluster-adminパーミッションを持つユーザーとして OpenShift Container Platform にアクセスできる。
手順
-
OpenShift CLI (
oc) にログインします。 次のコマンドを実行して、クローン作成された PVC を削除します。
oc delete pvc <clone_pvc_name> -n <namespace>
# oc delete pvc <clone_pvc_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ボリュームクローンが削除されたことを確認するには、次のコマンドを実行します。
oc get pvc -n <namespace>
$ oc get pvc -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 削除されたボリュームクローンは、このコマンドの出力には存在しません。
5.4.11. LVM Storage の更新 リンクのコピーリンクがクリップボードにコピーされました!
LVM Storage を更新して、OpenShift Container Platform バージョンとの互換性を確保できます。
前提条件
- OpenShift Container Platform クラスターが更新されている。
- 以前のバージョンの LVM Storage がインストールされている。
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つアカウントを使用してクラスターにアクセスできる。
手順
-
OpenShift CLI (
oc) にログインします。 次のコマンドを実行して、LVM Storage のインストール時に作成した
Subscriptionカスタムリソース (CR) を更新します。oc patch subscription lvms-operator -n openshift-storage --type merge --patch '{"spec":{"channel":"<update_channel>"}}'$ oc patch subscription lvms-operator -n openshift-storage --type merge --patch '{"spec":{"channel":"<update_channel>"}}'1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<update_channel>を、インストールする LVM Storage のバージョンに置き換えます。たとえば、stable-4.16などです。
次のコマンドを実行して、更新イベントを表示し、インストールが完了していることを確認します。
oc get events -n openshift-storage
$ oc get events -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、LVM Storage のバージョンを確認します。
oc get subscription lvms-operator -n openshift-storage -o jsonpath='{.status.installedCSV}'$ oc get subscription lvms-operator -n openshift-storage -o jsonpath='{.status.installedCSV}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
lvms-operator.v4.16
lvms-operator.v4.16Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.12. LVM Storage の監視 リンクのコピーリンクがクリップボードにコピーされました!
クラスターモニタリングを有効にするには、LVM Storage をインストールした namespace に次のラベルを追加する必要があります。
openshift.io/cluster-monitoring=true
openshift.io/cluster-monitoring=true
RHACM でクラスターモニタリングを有効化する方法の詳細は、可観測性 と カスタムメトリクスの追加 を参照してください。
5.4.12.1. メトリクス リンクのコピーリンクがクリップボードにコピーされました!
メトリクスを表示することで、LVM Storage を監視できます。
次の表は、topolvm メトリクスを説明しています。
| アラート | 説明 |
|---|---|
|
| LVM シンプールで使用されているデータ領域の割合を示します。 |
|
| LVM シンプールで使用されているメタデータ領域の割合を示します。 |
|
| LVM シンプールのサイズをバイト単位で示します。 |
|
| LVM ボリュームグループ内の利用可能な領域をバイト単位で示します。 |
|
| LVM ボリュームグループのサイズをバイト単位で示します。 |
|
| LVM シンプールの利用可能なオーバープロビジョニングサイズをバイト単位で示します。 |
メトリクスは 10 分ごとに、または変更 (シンプールに新しい論理ボリュームが作成されるなど) があったときに更新されます。
5.4.12.2. アラート リンクのコピーリンクがクリップボードにコピーされました!
シンプールとボリュームグループが最大ストレージ容量に達すると、それ以降の操作は失敗します。これにより、データ損失が発生する可能性があります。
LVM Storage は、シンプールとボリュームグループの使用量が特定の値を超えると、次のアラートを送信します。
| アラート | 説明 |
|---|---|
|
| このアラートは、ボリュームグループとシンプールの両方の使用量がノード上で 75% を超えるとトリガーされます。データの削除またはボリュームグループの拡張が必要です。 |
|
| このアラートは、ボリュームグループとシンプールの両方の使用量がノード上で 85% を超えるとトリガーされます。この場合、ボリュームグループは、かなりいっぱいになっています。データの削除またはボリュームグループの拡張が必要です。 |
|
| このアラートは、ボリュームグループ内のシンプールのデータ使用量がノード上で 75% を超えるとトリガーされます。データの削除またはシンプールの拡張が必要です。 |
|
| このアラートは、ボリュームグループ内のシンプールのデータ使用量がノード上で 85% を超えるとトリガーされます。データの削除またはシンプールの拡張が必要です。 |
|
| このアラートは、ボリュームグループ内のシンプールのメタデータ使用量がノード上で 75% を超えるとトリガーされます。データの削除またはシンプールの拡張が必要です。 |
|
| このアラートは、ボリュームグループ内のシンプールのメタデータ使用量がノード上で 85% を超えるとトリガーされます。データの削除またはシンプールの拡張が必要です。 |
5.4.13. CLI を使用した LVM Storage のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc) を使用して LVM ストレージをアンインストールできます。
前提条件
-
cluster-admin権限を持つユーザーとしてocにログインしている。 - LVM Storage によってプロビジョニングされた永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンが削除されている。これらのリソースを使用しているアプリケーションも削除されている。
-
LVMClusterカスタムリソース (CR) が削除されている。
手順
次のコマンドを実行して、LVM Storage Operator の
currentCSVの値を取得します。oc get subscription.operators.coreos.com lvms-operator -n <namespace> -o yaml | grep currentCSV
$ oc get subscription.operators.coreos.com lvms-operator -n <namespace> -o yaml | grep currentCSVCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
currentCSV: lvms-operator.v4.15.3
currentCSV: lvms-operator.v4.15.3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、サブスクリプションを削除します。
oc delete subscription.operators.coreos.com lvms-operator -n <namespace>
$ oc delete subscription.operators.coreos.com lvms-operator -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
subscription.operators.coreos.com "lvms-operator" deleted
subscription.operators.coreos.com "lvms-operator" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ターゲット namespace 内の LVM Storage Operator の CSV を削除します。
oc delete clusterserviceversion <currentCSV> -n <namespace>
$ oc delete clusterserviceversion <currentCSV> -n <namespace>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<currentCSV>は、LVM Storage Operator のcurrentCSV値に置き換えます。
出力例
clusterserviceversion.operators.coreos.com "lvms-operator.v4.15.3" deleted
clusterserviceversion.operators.coreos.com "lvms-operator.v4.15.3" deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
LVM Storage Operator がアンインストールされたことを確認するには、次のコマンドを実行します。
oc get csv -n <namespace>
$ oc get csv -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow LVM Storage Operator が正常にアンインストールされた場合、このコマンドの出力には表示されません。
5.4.14. Web コンソールを使用した LVM ストレージのアンインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform Web コンソールを使用して LVM Storage をアンインストールできます。
前提条件
-
cluster-adminパーミッションを持つユーザーとして OpenShift Container Platform にアクセスできる。 - LVM Storage によってプロビジョニングされた永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンが削除されている。これらのリソースを使用しているアプリケーションも削除されている。
-
LVMClusterカスタムリソース (CR) が削除されている。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
Installed Operators をクリックします。 -
openshift-storagenamespace で LVM Storage をクリックします。 - Details タブをクリックします。
- Actions メニューから、Uninstall Operator を選択します。
- オプション: プロンプトが表示されたら、Delete all operand instances for this operator チェックボックスを選択して、LVM Storage のオペランドインスタンスを削除します。
- Uninstall をクリックします。
5.4.15. RHACM を使用してインストールされた LVM Storage のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
RHACM を使用してインストールした LVM Storage をアンインストールするには、LVM Storage のインストールと設定用に作成した RHACM Policy カスタムリソース (CR) を削除する必要があります。
前提条件
-
cluster-admin権限を持つユーザーとして RHACM クラスターにアクセスできる。 - LVM Storage によってプロビジョニングされた永続ボリューム要求 (PVC)、ボリュームスナップショット、およびボリュームクローンが削除されている。これらのリソースを使用しているアプリケーションも削除されている。
-
RHACM を使用して作成した
LVMClusterCR を削除した。
手順
-
OpenShift CLI (
oc) にログインします。 次のコマンドを使用して、LVM Storage のインストールと設定用に作成した RHACM
PolicyCR を削除します。oc delete -f <policy> -n <namespace>
$ oc delete -f <policy> -n <namespace>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<policy>は、PolicyCR YAML ファイルの名前に置き換えます。
LVM Storage をアンインストールするための設定を含む
PolicyCR YAML ファイルを作成します。LVM Storage をアンインストールするための
PolicyCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
PolicyCR を作成します。oc create -f <policy> -ns <namespace>
$ oc create -f <policy> -ns <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.16. must-gather を使用したログファイルおよび診断情報のダウンロード リンクのコピーリンクがクリップボードにコピーされました!
LVM Storage が問題を自動的に解決できない場合、must-gather ツールを使用してログファイルと診断情報を収集し、ユーザーまたは Red Hat サポートが問題を確認して解決策を決定できるようにします。
手順
LVM Storage クラスターに接続されているクライアントから
must-gatherコマンドを実行します。oc adm must-gather --image=registry.redhat.io/lvms4/lvms-must-gather-rhel9:v4.16 --dest-dir=<directory_name>
$ oc adm must-gather --image=registry.redhat.io/lvms4/lvms-must-gather-rhel9:v4.16 --dest-dir=<directory_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.17. 永続ストレージのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
論理ボリュームマネージャー (LVM) ストレージを使用して永続ストレージを設定するときに、トラブルシューティングが必要ないくつかの問題が発生する可能性があります。
5.4.17.1. 保留状態でスタックしている PVC を調査する リンクのコピーリンクがクリップボードにコピーされました!
永続ボリューム要求 (PVC) は、次の理由により Pending 状態のままになることがあります。
- コンピューティングリソースが足りない
- ネットワークの問題
- ストレージクラスまたはノードセレクターが一致していない
- 利用可能な永続ボリューム (PV) がない
-
PV を持つノードが
Not Ready状態にある
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとして OpenShift CLI (oc) にログインしている。
手順
次のコマンドを実行して、PVC のリストを取得します。
oc get pvc
$ oc get pvcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvms-test Pending lvms-vg1 11s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE lvms-test Pending lvms-vg1 11sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
Pending状態のままになっている PVC に関連するイベントを検査します。oc describe pvc <pvc_name>
$ oc describe pvc <pvc_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<pvc_name>を PVC の名前に置き換えます。たとえば、lvms-vg1です。
出力例
Type Reason Age From Message ---- ------ ---- ---- ------- Warning ProvisioningFailed 4s (x2 over 17s) persistentvolume-controller storageclass.storage.k8s.io "lvms-vg1" not found
Type Reason Age From Message ---- ------ ---- ---- ------- Warning ProvisioningFailed 4s (x2 over 17s) persistentvolume-controller storageclass.storage.k8s.io "lvms-vg1" not foundCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.17.2. ストレージクラスがない状態からの回復 リンクのコピーリンクがクリップボードにコピーされました!
storage class not found というエラーが発生した場合は、LVMCluster カスタムリソース (CR) をチェックし、すべての論理ボリュームマネージャー (LVM) ストレージ Pod が Running 状態であることを確認します。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとして OpenShift CLI (oc) にログインしている。
手順
以下のコマンドを実行して、
LVMClusterCR が存在することを確認します。oc get lvmcluster -n openshift-storage
$ oc get lvmcluster -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE my-lvmcluster 65m
NAME AGE my-lvmcluster 65mCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
LVMClusterCR が存在しない場合は、LVMClusterCR を作成します。詳細は、「LVMCluster カスタムリソースを作成する方法」を参照してください。 openshift-storagenamespace で、次のコマンドを実行して、すべての LVM ストレージ Pod がRunning状態であることを確認します。oc get pods -n openshift-storage
$ oc get pods -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE lvms-operator-7b9fb858cb-6nsml 3/3 Running 0 70m topolvm-controller-5dd9cf78b5-7wwr2 5/5 Running 0 66m topolvm-node-dr26h 4/4 Running 0 66m vg-manager-r6zdv 1/1 Running 0 66m
NAME READY STATUS RESTARTS AGE lvms-operator-7b9fb858cb-6nsml 3/3 Running 0 70m topolvm-controller-5dd9cf78b5-7wwr2 5/5 Running 0 66m topolvm-node-dr26h 4/4 Running 0 66m vg-manager-r6zdv 1/1 Running 0 66mCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの出力には、以下の Pod の実行中のインスタンスが含まれている必要があります。
-
lvms-operator vg-manager設定ファイルの読み込み中に
vg-managerPod が停止する場合は、LVM ストレージが使用できるディスクが見つからないことが原因です。この問題のトラブルシューティングに必要な情報を取得するには、以下のコマンドを実行してvg-managerPod のログを確認します。oc logs -l app.kubernetes.io/component=vg-manager -n openshift-storage
$ oc logs -l app.kubernetes.io/component=vg-manager -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
5.4.17.3. ノード障害からの回復 リンクのコピーリンクがクリップボードにコピーされました!
クラスター内のノード障害が原因で、永続ボリューム要求 (PVC) が Pending 状態のままになることがあります。
障害が発生したノードを特定するには、topolvm-node Pod の再起動回数を調べることができます。再起動回数の増加は、基礎となるノードに潜在的な問題があることを示しており、さらなる調査とトラブルシューティングが必要になる場合があります。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとして OpenShift CLI (oc) にログインしている。
手順
次のコマンドを実行して、
topolvm-nodePod インスタンスの再起動回数を調べます。oc get pods -n openshift-storage
$ oc get pods -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
-
ノードの問題を解決した後も PVC が
Pending状態のままになっている場合は、強制クリーンアップを実行する必要があります。詳細は、「強制クリーンアップの実行」を参照してください。
5.4.17.4. ディスク障害からの回復 リンクのコピーリンクがクリップボードにコピーされました!
永続ボリューム要求 (PVC) に関連するイベントの検査中にエラーメッセージが表示された場合は、基になるボリュームまたはディスクに問題がある可能性があります。
ディスクおよびボリュームのプロビジョニングの問題が発生すると、Failed to provision volume with storage class <storage_class_name> などの一般的なエラーメッセージが表示されます。一般的なエラーメッセージの後には、特定のボリューム障害のエラーメッセージが続きます。
以下の表は、ボリューム障害のエラーメッセージを説明しています。
| Error message | 説明 |
|---|---|
|
| ボリュームがすでに存在するかどうかを確認する際に問題が発生したことを示します。ボリューム検証の失敗は、ネットワーク接続の問題やその他の障害によって発生する可能性があります。 |
|
| 使用可能な永続ボリューム (PV) が PVC の要件と一致しない場合、ボリュームのバインドに失敗する可能性があります。 |
|
| このエラーは、ボリュームをノードにマウントしようとしたときに問題が発生したことを示します。ディスクに障害が発生した場合、Pod が PVC を使用しようとしたときにこのエラーが表示されることがあります。 |
|
| このエラーは、ノードからボリュームをアンマウントしようとしたときに問題が発生したことを示します。ディスクに障害が発生した場合、Pod が PVC を使用しようとしたときにこのエラーが表示されることがあります。 |
|
|
このエラーは、 |
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとして OpenShift CLI (oc) にログインしている。
手順
次のコマンドを実行して、PVC に関連付けられたイベントを検査します。
oc describe pvc <pvc_name>
$ oc describe pvc <pvc_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<pvc_name>を PVC の名前に置き換えます。
- 問題が発生しているホストへの直接接続を確立します。
- ディスクの問題を解決します。
次のステップ
- ディスクの問題を解決した後もボリューム障害メッセージが続く場合や再発する場合は、強制クリーンアップを実行する必要があります。詳細は、「強制クリーンアップの実行」を参照してください。
5.4.17.5. 強制クリーンアップの実行 リンクのコピーリンクがクリップボードにコピーされました!
トラブルシューティング手順を完了した後もディスクまたはノード関連の問題が解決しない場合は、強制クリーンアップを実行する必要があります。強制クリーンアップは、永続的な問題に対処し、論理ボリュームマネージャー (LVM) ストレージが確実に適切に機能するために使用されます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとして OpenShift CLI (oc) にログインしている。 - LVM ストレージを使用して作成されたすべての永続ボリューム要求 (PVC) が削除されている。
- LVM ストレージを使用して作成された PVC を使用している Pod を停止している。
手順
次のコマンドを実行して、
openshift-storagenamespace に切り替えます。oc project openshift-storage
$ oc project openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、
LogicalVolumeカスタムリソース (CR) が存在するか確認します。oc get logicalvolume
$ oc get logicalvolumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow LogicalVolumeCR が存在する場合は、以下のコマンドを実行して削除します。oc delete logicalvolume <name>
$ oc delete logicalvolume <name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<name>をLogicalVolumeCR の名前に置き換えます。
LogicalVolumeCR を削除した後、以下のコマンドを実行してファイナライザーを削除します。oc patch logicalvolume <name> -p '{"metadata":{"finalizers":[]}}' --type=merge$ oc patch logicalvolume <name> -p '{"metadata":{"finalizers":[]}}' --type=merge1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<name>をLogicalVolumeCR の名前に置き換えます。
以下のコマンドを実行して、
LVMVolumeGroupCR が存在するか確認します。oc get lvmvolumegroup
$ oc get lvmvolumegroupCopy to Clipboard Copied! Toggle word wrap Toggle overflow LVMVolumeGroupCR が存在する場合は、以下のコマンドを実行して削除します。oc delete lvmvolumegroup <name>
$ oc delete lvmvolumegroup <name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<name>をLVMVolumeGroupCR の名前に置き換えます。
LVMVolumeGroupCR を削除した後、以下のコマンドを実行してファイナライザーを削除します。oc patch lvmvolumegroup <name> -p '{"metadata":{"finalizers":[]}}' --type=merge$ oc patch lvmvolumegroup <name> -p '{"metadata":{"finalizers":[]}}' --type=merge1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<name>をLVMVolumeGroupCR の名前に置き換えます。
以下のコマンドを実行して、
LVMVolumeGroupNodeStatusCR を削除します。oc delete lvmvolumegroupnodestatus --all
$ oc delete lvmvolumegroupnodestatus --allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
LVMClusterCR を削除します。oc delete lvmcluster --all
$ oc delete lvmcluster --allCopy to Clipboard Copied! Toggle word wrap Toggle overflow LVMClusterCR を削除した後、以下のコマンドを実行してファイナライザーを削除します。oc patch lvmcluster <name> -p '{"metadata":{"finalizers":[]}}' --type=merge$ oc patch lvmcluster <name> -p '{"metadata":{"finalizers":[]}}' --type=merge1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<name>をLVMClusterCR の名前に置き換えます。