Show Table of Contents
4.5. フィルターを使用した LVM デバイススキャンの制御
起動時に、
vgscan コマンドが実行して、システム上のブロックデバイスのスキャンによる LVM ラベルの確認、物理ボリュームの判別、メタデータの読み取り、およびボリュームグループの一覧の構築が行われます。物理ボリュームの名前は、システム内の各ノードの LVM キャッシュファイル /etc/lvm/cache/.cache に保存されます。それ以後のコマンドはそのファイルを読み込み、再スキャンを防止することになります。
lvm.conf 設定ファイル内にフィルターを設定することにより、LVM がスキャンするデバイスを制御することができます。lvm.conf ファイル内のフィルターは、一連の簡単な正規表現で構成されており、/dev ディレクトリー内のデバイス名に適用され、検出されるそれぞれのブロックデバイスを受理するか、または拒否するかの決定が行われます。
以下の例は、LVM がスキャンするデバイスを制御するフィルターの使用を示しています。正規表現は完全なパス名に対して自由に照合されるため、これらの例の一部は必ずしも推奨される方法ではないことに注意してください。たとえば、
a/loop/ は a/.*loop.*/ と同等であり、/dev/solooperation/lvol1 に一致します。
以下のフィルターは、検出されたすべてのデバイスを追加します。これは、設定ファイル内で設定されているフィルターはないため、デフォルトの動作になります。
filter = [ "a/.*/" ]
以下のフィルターは、ドライブにメディアが入っていない場合の遅延を回避するために cdrom デバイスを削除します。
filter = [ "r|/dev/cdrom|" ]
以下のフィルターはすべてのループを追加して、その他のすべてのブロックデバイスを削除します。
filter = [ "a/loop.*/", "r/.*/" ]
以下のフィルターはすべてのループと IDE を追加して、その他のすべてのブロックデバイスを削除します。
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
以下のフィルターは 1 番目の IDE ドライブ上にパーティション 8 のみを追加して、他のすべてのブロックデバイスを削除します。
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
注記
lvmetad デーモンの実行中は、/etc/lvm/lvm.conf ファイルの filter = 設定は、pvscan --cache device コマンドを実行する場合には適用されません。デバイスをフィルターするには、global_filter = 設定を使用する必要があります。グローバルフィルターに失敗するデバイスは LVM では開かれず、スキャンは一切実行されません。VM で LVM デバイスを使用する場合や、VM 内のデバイスのコンテンツを物理ホストでスキャンする必要がない場合などには、グローバルフィルターを使用する必要がある場合があります。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.