Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.2. 設定ファイルの blacklist セクション

マルチパス設定ファイルの blacklist セクションには、システムがマルチパスデバイスを設定する際に使用しないデバイスを指定します。ブラックリストに指定したデバイスは、マルチパスデバイスには含まれません。
以前の Red Hat Enterprise Linux のリリースでは、明示的にブラックリストに指定されていないすべてのパスに、マルチパスデバイスの作成を試行していました。Red Hat Enterprise Linux 6 からは、find_multipaths 設定パラメーターを yes に設定すると、マルチパスによるデバイスの作成が、以下の 3 つの条件のうちのいずれかを満たす場合に限られます。
  • ブラックリストに指定されておらず、同一の WWID を持つパスが少なくとも 2 つある場合。
  • 手動で multipath コマンドを実行して、デバイスを指定して作成を強制している場合。
  • 任意のパスが、以前に作成されたマルチパスデバイスと同一の WWID を持っている場合 (そのマルチパスデバイスがその時点で存在していない場合も含む)。マルチパスデバイスを作成すると、常にそのデバイスの WWID が記憶されるため、マルチパスは、同一の WWID を持つパスを認識すると、自動的にそのデバイスを再度作成します。これによって、マルチパスのブラックリストを編集しなくても、マルチパスが自動的に正しいパスを選択してマルチパスデバイスにすることができます。
    find_multipaths パラメーターを使用しないでマルチパスデバイスを作成してから、パラメーターを yes に設定し直した場合は、/etc/multipath/wwids ファイルから、マルチデバイスとして作成しないデバイスの WWID を削除しなければならない可能性もあります。以下は、/etc/multipath/wwids ファイルの例を示しています。スラッシュ (/) で囲まれている部分が WWID です。
    # Multipath wwids, Version : 1.0
    # NOTE: This file is automatically maintained by multipath and multipathd.
    # You should not need to edit this file in normal circumstances.
    #
    # Valid WWIDs:
    /3600d0230000000000e13955cc3757802/
    /3600d0230000000000e13955cc3757801/
    /3600d0230000000000e13955cc3757800/
    /3600d02300069c9ce09d41c31f29d4c00/
    /SWINSYS  SF2372         0E13955CC3757802/
    /3600d0230000000000e13955cc3757803/
find_multipaths パラメーターを yes に設定すれば、複数のパスがあるにも関わらずマルチパスを設定しないデバイスだけを、ブラックリストに指定する必要があります。このため、一般的にはデバイスをブラックリストに指定する必要はありません。
デバイスをブラックリストを指定する必要がある場合は、以下の基準に従って行います。
デフォルトでは、設定ファイルの初期ブラックリストセクションをコメントアウトした後でも、各種のデバイスタイプがブラックリストに指定されます。詳細は 「デバイス名でブラックリストの指定」 でご覧ください。

4.2.1. WWID でブラックリストの指定

設定ファイルの blacklist セクションで wwid エントリーを使用し、World-Wide IDentification でデバイスをブラックリストに指定できます。
以下の例では、WWID が 26353900f02796769 であるデバイスをブラックリストに指定しています。
blacklist {
       wwid 26353900f02796769
}

4.2.2. デバイス名でブラックリストの指定

設定ファイルの blacklist セクションで devnode エントリーを使用し、デバイス名でデバイスタイプをブラックリストに指定し、マルチパスデバイスに含まれないようにすることができます。
以下の例では、sd* のデバイスをすべてブラックリストに指定することで、すべての SCSI デバイスをブラックリストに指定しています。
blacklist {
       devnode "^sd[a-z]"
}
blacklist セクションで devnode エントリーを使用すると、特定タイプに該当する全デバイスではなく、個々のデバイスをブラックリストに指定することができます。ただし、デバイスが udev ルールで静的にマッピングされていない限り、再起動後にそのデバイス名が同じ名前になる保証がないため、この方法は推奨できません。再起動すると、デバイス名が /dev/sda から /dev/sdb などに変わる可能性があります。
デフォルトでは、以下の devnode エントリーがデフォルトのブラックリストにコンパイルされています。これらのエントリーによってブラックリストに指定されるデバイスは、通常 DM Multipath をサポートしません。これらのデバイスでマルチパスを有効にするには、「ブラックリストから除外」 の説明どおりに、設定ファイルの blacklist_exceptions セクションにこれらのデバイスを指定する必要があります。
blacklist {
       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
       devnode "^(td|ha)d[a-z]"
}

4.2.3. デバイスタイプでブラックリストの指定

設定ファイルの blacklist セクションに device セクションを使用して、特定のデバイスタイプを指定できます。以下の例では、IBM DS4200 デバイスと HP デバイスをすべてブラックリストに指定します。
blacklist {
       device {
               vendor  "IBM"
               product "3S42"       #DS4200 Product 10
       }
       device {
               vendor  "HP"
               product "*"
       }
}

4.2.4. udev プロパティーでブラックリストの指定 (Red Hat Enterprise Linux 7.5 以上)

multipath.conf 設定ファイルの blacklist および blacklist_exceptions セクションは property パラメーターをサポートします。このパラメーターを使用すると、ユーザーは特定タイプのデバイスをブラックリストに指定できます。property パラメーターは、デバイスの udev 環境変数名と照合される正規表現の文字列を取ります。
以下の例は、udev プロパティーの ID_ATA プロパティーを持つすべてのデバイスをブラックリストに指定します。
blacklist {
        property "ID_ATA"
}

4.2.5. デバイスプロトコルでブラックリストの指定 (Red Hat Enterprise Linux 7.5 以上)

protocol セクションのある設定ファイルの blacklist セクションに、マルチパス化から除外されるデバイスのプロトコルを指定することができます。マルチパスが認識するプロトコル文字列は scsi:fcp、scsi:spi、scsi:ssa、scsi:sbp、scsi:srp、scsi:iscsi、scsi:sas、scsi:adt、scsi:ata、scsi:unspec、ccw、cciss、nvme、および undef です。パスが使用しているプロトコルを表示するには、コマンド multipathd show paths format "%d %P" を実行します。
以下の例は、未定義のプロトコルまたは未知の SCSI トランスポートタイプを持つすべてのデバイスをブラックリストに指定します。
blacklist {
        protocol "scsi:unspec"
        protocol "undef"
}

4.2.6. ブラックリストから除外

設定ファイルの blacklist_exceptions セクションを使用すると、デフォルトではブラックリストに指定されているデバイスで、マルチパスを有効にできます。
例えば、デバイスが多数あり、その中の1つのデバイス (以下の例では WWID が 3600d0230000000000e13955cc3757803 のデバイス) でのみマルチパスを有効にしたい場合は、有効にしたいデバイス以外のものを 1 つ 1 つブラックリストに指定するのではなく、一旦すべてのデバイスをブラックリストに指定してから、/etc/multipath.conf ファイルに以下の行を追加すれば、目的のデバイスにだけマルチパスを許可することができます。
blacklist {
        wwid "*"
}

blacklist_exceptions {
        wwid "3600d0230000000000e13955cc3757803"
}
設定ファイルの blacklist_exceptions セクションでデバイスを指定する場合は、blacklist で指定したのと同じ方法で指定しなければなりません。例えば、blacklist で devnode エントリーを使ってデバイスを指定している場合は、exception で除外指定に使用している WWID が正しくても適用されません。同様に devnode による除外は、devnode エントリーでブラックリストを指定したデバイスにしか適用されず、device による除外は、device エントリーでブラックリストを指定したデバイスにしか適用されません。
property パラメーターの挙動は、他の blacklist_exception パラメーターとは異なります。このパラメーターが設定された場合、デバイスには一致する udev 変数が必要になります。この変数がないと、デバイスはブラックリストに指定されます。このパラメーターを使用すると、USB スティックやローカルハードドライブなど、マルチパスが無視する必要のある SCSI デバイスをブラックリストに登録することができます。合理的にマルチパス化できる SCSI デバイスのみを許可するには、以下の例のようにこのパラメーターを SCSI_IDENT_|ID_WWN) に設定します。
blacklist_exceptions {
        property "(SCSI_IDENT_|ID_WWN)"
}