マルチパス機能について
サーバとストレージとの間に SAN (Storage Area Network) を構築している場合、サーバとストレージとの間の通信経路(パス)が複数存在する場合がある。
ストレージへのパスを制御する機能として、Red Hat Enterprise Linux においては Device Mapper Multipath
(DM Multipath
) という機能がある。
DM Multipath の構成要素
dm_multipath
カーネルモジュール- I/O を再ルーティングして、パス群とパスグループのフェイルオーバーをサポートする
mpathconf
ユーティリティー- デバイスマッパーのマルチパスを設定し、有効化する
multipath
コマンド- マルチパスデバイスを表示、設定する
multipathd
デーモン- パスを監視する
- パスに障害が発生し復旧した際、パスグループスイッチを起動できる
kpartx
コマンド- デバイス上のパーティション用にデバイスマッパーデバイスを作成する
- DM Multipath の DOS ベースパーティションの場合はこのコマンドを使用する必要がある
関連パッケージ
device-mapper-multipath
- Red Hat Enterprise Linux 7.3 では、インストール時のベース環境が
- 「最小限のインストール」 ⇒ インストールされていない
- 「サーバー(GUI 使用)」 ⇒ インストールされている
- Red Hat Enterprise Linux 7.3 では、インストール時のベース環境が
kpartx
- Red Hat Enterprise Linux 7.3 ではインストール時のベース環境が「最小限のインストール」でもインストールされている
マルチパスデバイスについて
DM Multipath を使用しない場合、サーバーノードからストレージコントローラーへの各パスの先にあるストレージは、それぞれ別々のデバイスとして扱われる。
DM Multipath はこれらの複数のデバイスをまとめて一つのデバイスを作成する。この作成されたデバイスのことをマルチパスデバイス
と呼ぶ。
新しいデバイスを DM-Multipath の管理下に置くと、/dev ディレクトリ配下の /dev/mapper/mpathn
と /dev/dm-n
の 2 ヶ所に表示される。
/dev/mapper
のデバイスは起動プロセスの初期段階で作成され、論理ボリュームの作成時など、マルチパス設定したデバイスへのアクセスに使用される/dev/dm-n
形式のデバイスはすべて内部的な使用を目的としているため、管理者は絶対に使用しないこと
DM Multipath の設定
作業環境
- Red Hat Enterprise Linux 7.3
パッケージインストール
パッケージがインストールされていない場合は以下コマンドでインストール。
yum -y install device-mapper-multipath kpartx
設定ファイルの作成
- 設定ファイルは
/etc/multipath.conf
- /etc/multipath.conf はデフォルトでは存在しない
- /etc/multipath.conf のテンプレートファイルとして
/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
が存在する
/etc/multipath.conf が存在しない状態で以下コマンドを実行すると、デフォルトの /etc/multipath.conf が作成される。
mpathconf --enable
デフォルトの設定ファイルの内容は以下の通り。(コメントアウト部分は省略)
defaults {
user_friendly_names yes
find_multipaths yes
}
設定ファイルの編集
設定ファイルを編集する方法としては以下の2つがある。
- 設定ファイルを直接編集する
mpathconf
ユーティリティーを使用する
mpathconf
ユーティリティーを使用した場合も、結局は設定ファイルが編集されることになるので、直接設定ファイルを編集するほうがわかりやすいかも。
デフォルトの設定値
DM Multipath では、マルチパスで最も一般的に使用する設定値としてデフォルト値が設定されている。
設定ファイルに記載されている項目については設定ファイルに記載されている値が優先される。
デフォルト値一覧については以下のいずれかのコマンドで確認できる。
multipathd show config
multipath -t
設定ポリシー
- 設定ファイルで指定するのは、使用状況に応じて必要とされるセクションや、デフォルト値の変更が必要なセクションのみ
- 使用環境には無関係なセクションや、デフォルト値を無効にする必要がないセクションは、初期ファイルに指定されているコメントアウトを削除する必要はない
- 設定ファイルでは、正規表現の記述構文を使用できる
設定項目
設定ファイルの内容は、セクションとオプションの階層構造になっている。セクションの中にセクションが入る場合もある。
セクション {
オプション 値
...
}
セクション {
セクション {
オプション 値
...
}
...
}
...
すべての設定項目の説明は以下コマンドで確認できる。
man multipath.conf
セクションとしては以下がある。
defaults
セクション- DM Multipath のデフォルトの全般設定
multipaths
セクション- マルチパスデバイスの特性に関する個別設定
devices
セクション- ストレージデバイスの個別設定
blacklist
セクション- マルチパス設定の対象として考慮しないデバイスの一覧
blacklist_exceptions
セクション- ブラックリストの例外としてマルチパス設定の対象となるデバイスの一覧
defaults、multipaths、devices セクションの優先順位は以下の通り。
- multipath セクション
- devices セクション
- defaults セクション
defaults セクション
設定ファイルのテンプレートにコメントで以下のようなサンプルが記載されているので、必要に応じて部分的にコピーして使用することができる。
#defaults {
# polling_interval 10
# path_selector "round-robin 0"
# path_grouping_policy multibus
# uid_attribute ID_SERIAL
# prio alua
# path_checker readsector0
# rr_min_io 100
# max_fds 8192
# rr_weight priorities
# failback immediate
# no_path_retry fail
# user_friendly_names yes
#}
polling_interval
オプション- パスチェックが行われる間隔を秒数で指定
- デフォルト:
5
path_selector
オプション- 次回の I/O 動作に使用するパスを決定する、デフォルトのアルゴリズムを次の3つから指定
round-robin 0
- パスグループ内の全てのパスをループスルーし、それぞれのパスに同負荷の I/O を送る
queue-length 0
- 未処理の I/O 要求数が最も少ないパスに、次の I/O 群を送る
service-time 0
- 推定処理時間が最も短いパスに、次の I/O 群を送る
- デフォルト:
service-time 0
path_grouping_policy
オプション- 未指定のマルチパスに適用する、デフォルトのパスグルーピングポリシーを次の5つから指定
failover
- 優先グループごとに 1 つのパス
multibus
- 1 つの優先グループ内で有効なすべてのパス
group_by_serial
- 検出されたシリアル番号ごとに 1 つの優先グループ
group_by_prio
- パス優先値ごとに 1 つの優先グループ
group_by_node_name
- ターゲットノード名ごとに 1 つの優先グループ
- デフォルト:
failover
uid_attribute
オプション- 固有のパス識別子を指定
- デフォルト:
ID_SERIAL
prio
オプション- パスの優先値を得るために呼び出すデフォルトの関数を次の7つから指定
const
- すべてのパスに優先度 1 を設定
emc
- EMC アレイのパス優先度を生成
alua
- SCSI-3 ALUA 設定に基づいてパス優先度を生成
ontap
- NetApp アレイのパスの優先度を生成
rdac
- LSI/Engenio RDAC コントローラーのパスの優先度を生成
hp_sw
- active/standby モードにおける Compaq/HP コントローラー用パスの優先度を生成
hds
- Hitachi HDS Modular ストレージアレイのパスの優先度を生成
- デフォルト:
const
path_checker
オ プション- パスの状態を判断するのに使用するデフォルトの関数を次の6つから指定
readsector0
- デバイスの最初のセクターを読み取る
tur
- デバイスに対して
TEST UNIT READY
コマンドを発行
- デバイスに対して
emc_clariion
- EMC Clariion 固有の EVPDページ 0xC0 の問い合わせを行い、パスを特定
hp_sw
- Active/Standby のファームウェアを搭載した HP ストレージアレイのパスの状態をチェック
rdac
- LSI/Engenio RDAC ストレージコントローラーのパスの状態をチェック
directio
- 直接 I/O を使用する最初のセクターを読み取る
- デフォルト:
directio
rr_min_io
オプション- 現在のパスグループで、次のパスに切り替えるまでにルーティングする I/O 要求数を指定
- デフォルト:
1000
max_fds
オプション- マルチパスおよび
multipathd
デーモンで開くことが可能な、オープンファイル記述子の最大数を指定 - デフォルト:
max
(/proc/sys/fs/nr_open
に記述されたシステムの上限)
- マルチパスおよび
rr_weight
オプションpriorities
- 次のパスを選択する
selector
を呼び出すまでに送信する要求数の決定にrr_min_io
を使用しない
- 次のパスを選択する
uniform
- 全てのパスの重みが等しくなる
- デフォルト:
uniform
failback
オプション- パスグループのフェイルバックを次の4つから指定
immediate
- active パスを含んでいる最も優先度の高いパスグループに直ちにフェイルバックする
manual
- フェイルバックはすぐに行われず、オペレーター介入がある場合のみにフェイルバックする
followover
- パスグループの最初のパスが active になったときに自動フェイルバックする
「0」以上の数値
- フェイルバックの秒単位の遅延を指定
- デフォルト:
manual
no_path_retry
オプション- 障害の発生したパスの使用を何回試行してからキュー待ちを無効にするか、その回数を指定
fail
- キュー待ちはせず直ちに失敗とする
queue
- パスが復旧するまでキュー待ちを行う
- デフォルト:
queue
user_friendly_names
オプションyes
- マルチパスデバイスの名前が
mpath n
になる
- マルチパスデバイスの名前が
no
- マルチパスデバイスの名前が WWID になる
- デフォルト:
yes
find_multipaths
オプションyes
⇒ マルチパスによるデバイスの作成が、以下の 3 つの条件のうちのいずれかを満たす場合に限られる- ブラックリストに指定されておらず、同一の WWID を持つパスが少なくとも 2 つある場合
- 手動で
multipath
コマンドを実行して、デバイスを指定して作成を強制している場合 - 任意のパスが、以前に作成されたマルチパスデバイスと同一の WWID を持っている場合
- デフォルト:
yes
multipaths セクション
設定ファイルのテンプレートにコメントで以下のようなサンプルが記載されているので、必要に応じて部分的にコピーして使用することができる。
#multipaths {
# multipath {
# wwid 3600508b4000156d700012000000b0000
# alias yellow
# path_grouping_policy multibus
# path_selector "round-robin 0"
# failback manual
# rr_weight priorities
# no_path_retry 5
# }
# multipath {
# wwid 1DEC_____321816758474
# alias red
# }
#}
wwid
オプションmultipath
属性を適用するマルチパスデバイスの WWID を指定- multipaths セクションに必須
alias
オプションmultipath
属性が適用されるマルチパスデバイスのシンボリック名を指定
- その他
- defaults セクションと同様
devices セクション
ストレージデバイスごとの設定を指定する。
設定ファイルのテンプレートにコメントで以下のようなサンプルが記載されているので、必要に応じて部分的にコピーして使用することができる。
#devices {
# device {
# vendor "COMPAQ "
# product "HSV110 (C)COMPAQ"
# path_grouping_policy multibus
# path_checker readsector0
# path_selector "round-robin 0"
# hardware_handler "0"
# failback 15
# rr_weight priorities
# no_path_retry queue
# }
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# }
#}
vendor
オプションdevice
属性が適用されるストレージデバイスのベンダー名を指定
product
オプションdevice
属性が適用されるストレージデバイスの製品名を指定
hardware_handler
オプション- パスグループの切り替えや I/O エラーの処理時に、ハードウェア固有の動作を行うのに使用するモジュールを次の4つから指定
1 emc
- EMC ストレージアレイ用のハードウェアハンドラー
1 alua
- SCSI-3 ALUA アレイ用のハードウェアハンドラー
1 hp_sw
- Compaq/HP コントローラー用のハードウェアハンドラー
1 rdac
- LSI/Engenio RDAC コントローラー用のハードウェアハンドラー
- その他
- defaults セクションと同様
blacklist セクション
システムがマルチパスデバイスを設定する際に使用しないデバイスを指定する。ブラックリストに指定したデバイスは、マルチパスデバイスには含まれない。
find_multipaths
パラメーターをyes
に設定した場合、複数のパスがあるがマルチパスを設定しないデバイスだけをブラックリストに指定する必要がある- このため一般的にはデバイスをブラックリストに指定する必要はない
ブラックリスト指定する方法としては以下がある。
- WWID で指定する
wwid WWID
- デバイス名で指定する
devnode "device-name"
- デバイスタイプで指定する
- 以下のように blacklist セクションの中に device セクションを記載して指定する
blacklist {
device {
vendor "IBM"
product "3S42" #DS4200 Product 10
}
device {
vendor "HP"
product "*"
}
}
- udev プロパティーで指定する(Red Hat Enterprise Linux 7.5 以上)
property "property"
- デバイスプロトコルで指定する(Red Hat Enterprise Linux 7.5 以上)
protocol "protocol"
blacklist_exceptions セクション
ブラックリストに記載されているが、ブラックリストから除外したいデバイスを指定する。
複数のデバイスが存在する場合に、すべてをブラックリストに追加して、マルチパスを有効にしたいデバイスのみ除外する、といった使用方法が想定される。
デバイスの指定方法は blacklist セクションと同様。
multipathd の起動と有効化
systemctl start multipathd.service
systemctl enable multipathd.service
設定変更の反映
multipathd の起動後に設定ファイルの編集を行った場合、設定変更を反映させるためには以下コマンドで設定ファイルの再読み込みを行う必要がある。
systemctl reload multipathd.service
multipath コマンドのオプション
マルチパスデバイスを表示、設定する multipath
コマンドには以下のようなオプションがある。
-l
sysfs
から収集した現在のマルチパス設定とデバイスマッパーを表示する
-ll
sysfs
から収集した現在のマルチパス設定、デバイスマッパー、使用可能な全システムコンポーネントを表示する
-f device
- 指定されたマルチパスデバイスを削除する
-F
- 不要なマルチパスデバイスをすべて削除する
-w device
- 指定したデバイスの
wwid
を、wwids
ファイルから削除する
- 指定したデバイスの
-W
- 現在のマルチパスデバイスのみを組み込むように、
wwids
ファイルをリセットする
- 現在のマルチパスデバイスのみを組み込むように、
【参考】マルチパス設定のデフォルト値
[root@rhel ~]# multipath -t
defaults {
verbosity 2
polling_interval 5
max_polling_interval 20
reassign_maps "yes"
multipath_dir "/lib64/multipath"
path_selector "service-time 0"
path_grouping_policy "failover"
uid_attribute "ID_SERIAL"
prio "const"
prio_args ""
features "0"
path_checker "directio"
alias_prefix "mpath"
failback "manual"
rr_min_io 1000
rr_min_io_rq 1
max_fds 1048576
rr_weight "uniform"
queue_without_daemon "no"
flush_on_last_del "no"
user_friendly_names "yes"
fast_io_fail_tmo 5
bindings_file "/etc/multipath/bindings"
wwids_file /etc/multipath/wwids
prkeys_file /etc/multipath/prkeys
log_checker_err always
find_multipaths yes
retain_attached_hw_handler no
detect_prio no
detect_path_checker no
hw_str_match no
force_sync no
deferred_remove no
ignore_new_boot_devs no
skip_kpartx no
config_dir "/etc/multipath/conf.d"
delay_watch_checks no
delay_wait_checks no
retrigger_tries 3
retrigger_delay 10
missing_uev_wait_timeout 30
new_bindings_in_boot no
remove_retries 0
disable_changed_wwids no
unpriv_sgio no
ghost_delay no
all_tg_pt no
marginal_path_err_sample_time no
marginal_path_err_rate_threshold no
marginal_path_err_recheck_gap_time no
marginal_path_double_failed_time no
}
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^(td|hd|vd)[a-z]"
devnode "^dcssblk[0-9]*"
device {
vendor "DGC"
product "LUNZ"
}
device {
vendor "EMC"
product "LUNZ"
}
device {
vendor "IBM"
product "Universal Xport"
}
device {
vendor "IBM"
product "S/390.*"
}
device {
vendor "DELL"
product "Universal Xport"
}
device {
vendor "LENOVO"
product "Universal Xport"
}
device {
vendor "SGI"
product "Universal Xport"
}
device {
vendor "STK"
product "Universal Xport"
}
device {
vendor "SUN"
product "Universal Xport"
}
device {
vendor "(NETAPP|LSI|ENGENIO)"
product "Universal Xport"
}
}
blacklist_exceptions {
}
devices {
device {
vendor "COMPELNT"
product "Compellent Vol"
path_grouping_policy "multibus"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "APPLE*"
product "Xserve RAID "
path_grouping_policy "multibus"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "3PARdata"
product "VV"
path_grouping_policy "group_by_prio"
path_selector "service-time 0"
path_checker "tur"
features "0"
hardware_handler "1 alua"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 18
fast_io_fail_tmo 10
dev_loss_tmo "infinity"
}
device {
vendor "DEC"
product "HSG80"
path_grouping_policy "group_by_prio"
path_checker "hp_sw"
features "1 queue_if_no_path"
hardware_handler "1 hp_sw"
prio "hp_sw"
rr_weight "uniform"
}
device {
vendor "HP"
product "A6189A"
path_grouping_policy "multibus"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
no_path_retry 12
}
device {
vendor "(COMPAQ|HP)"
product "(MSA|HSV)1.0.*"
path_grouping_policy "group_by_prio"
path_checker "hp_sw"
features "1 queue_if_no_path"
hardware_handler "1 hp_sw"
prio "hp_sw"
rr_weight "uniform"
no_path_retry 12
rr_min_io 100
}
device {
vendor "(COMPAQ|HP)"
product "MSA VOLUME"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 12
rr_min_io 100
}
device {
vendor "(COMPAQ|HP)"
product "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 12
rr_min_io 100
}
device {
vendor "HP"
product "MSA2[02]12fc|MSA2012i"
path_grouping_policy "multibus"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
failback immediate
rr_weight "uniform"
no_path_retry 18
rr_min_io 100
}
device {
vendor "HP"
product "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 18
rr_min_io 100
}
device {
vendor "HP"
product "MSA (1|2)040 SA(N|S)"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 18
rr_min_io 100
}
device {
vendor "HP"
product "HSVX700"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "1 alua"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 12
rr_min_io 100
}
device {
vendor "HP"
product "LOGICAL VOLUME.*"
path_grouping_policy "multibus"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
no_path_retry 12
}
device {
vendor "HP"
product "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 18
rr_min_io 100
}
device {
vendor "DDN"
product "SAN DataDirector"
path_grouping_policy "multibus"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "EMC"
product "SYMMETRIX"
path_grouping_policy "multibus"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
no_path_retry 6
}
device {
vendor "DGC"
product ".*"
product_blacklist "LUNZ"
path_grouping_policy "group_by_prio"
path_checker "emc_clariion"
features "1 queue_if_no_path"
hardware_handler "1 emc"
prio "emc"
failback immediate
rr_weight "uniform"
no_path_retry 60
retain_attached_hw_handler yes
detect_prio yes
detect_path_checker yes
}
device {
vendor "EMC"
product "Invista"
product_blacklist "LUNZ"
path_grouping_policy "multibus"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
no_path_retry 5
}
device {
vendor "FSC"
product "CentricStor"
path_grouping_policy "group_by_serial"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "FUJITSU"
product "ETERNUS_DX(H|L|M|400|8000)"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 10
}
device {
vendor "(HITACHI|HP)"
product "OPEN-.*"
path_grouping_policy "multibus"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "HITACHI"
product "DF.*"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "hds"
failback immediate
rr_weight "uniform"
}
device {
vendor "IBM"
product "ProFibre 4000R"
path_grouping_policy "multibus"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "IBM"
product "^1722-600"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "1 queue_if_no_path"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry 300
}
device {
vendor "IBM"
product "^1724"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "1 queue_if_no_path"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry 300
}
device {
vendor "IBM"
product "^1726"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "1 queue_if_no_path"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry 300
}
device {
vendor "IBM"
product "^1742"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "IBM"
product "^1745|^1746"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "2 pg_init_retries 50"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry 15
}
device {
vendor "IBM"
product "^1814"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "IBM"
product "^1815"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "IBM"
product "^1818"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "IBM"
product "^3526"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "IBM"
product "^3542"
path_grouping_policy "group_by_serial"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "IBM"
product "^2105800"
path_grouping_policy "group_by_serial"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "IBM"
product "^2105F20"
path_grouping_policy "group_by_serial"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "IBM"
product "^1750500"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
}
device {
vendor "IBM"
product "^2107900"
path_grouping_policy "multibus"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "IBM"
product "^2145"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
}
device {
vendor "IBM"
product "S/390 DASD ECKD"
product_blacklist "S/390.*"
path_grouping_policy "multibus"
uid_attribute "ID_UID"
path_checker "directio"
features "1 queue_if_no_path"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "IBM"
product "S/390 DASD FBA"
product_blacklist "S/390.*"
path_grouping_policy "multibus"
uid_attribute "ID_UID"
path_checker "directio"
features "1 queue_if_no_path"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "IBM"
product "^IPR.*"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "1 alua"
prio "alua"
failback immediate
rr_weight "uniform"
}
device {
vendor "IBM"
product "1820N00"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
rr_min_io 100
}
device {
vendor "IBM"
product "2810XIV"
path_grouping_policy "multibus"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "const"
failback 15
rr_weight "uniform"
rr_min_io 15
}
device {
vendor "AIX"
product "VDASD"
path_grouping_policy "multibus"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
failback immediate
rr_weight "uniform"
no_path_retry 60
}
device {
vendor "IBM"
product "3303 NVDISK"
path_grouping_policy "failover"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
failback immediate
rr_weight "uniform"
no_path_retry 60
}
device {
vendor "AIX"
product "NVDISK"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "1 alua"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry 60
}
device {
vendor "DELL"
product "^MD3"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "2 pg_init_retries 50"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry 30
}
device {
vendor "LENOVO"
product "DE_Series"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "2 pg_init_retries 50"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
no_path_retry 30
}
device {
vendor "NETAPP"
product "LUN.*"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "3 queue_if_no_path pg_init_retries 50"
hardware_handler "0"
prio "ontap"
failback immediate
rr_weight "uniform"
rr_min_io 128
flush_on_last_del "yes"
dev_loss_tmo "infinity"
user_friendly_names no
retain_attached_hw_handler yes
detect_prio yes
}
device {
vendor "NEXENTA"
product "COMSTAR"
path_grouping_policy "group_by_serial"
path_checker "directio"
features "1 queue_if_no_path"
hardware_handler "0"
prio "const"
failback immediate
rr_weight "uniform"
no_path_retry 30
rr_min_io 128
}
device {
vendor "IBM"
product "Nseries.*"
path_grouping_policy "group_by_prio"
path_checker "directio"
features "1 queue_if_no_path"
hardware_handler "0"
prio "ontap"
failback immediate
rr_weight "uniform"
rr_min_io 128
}
device {
vendor "Pillar"
product "Axiom.*"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
rr_weight "uniform"
}
device {
vendor "SGI"
product "TP9[13]00"
path_grouping_policy "multibus"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "SGI"
product "TP9[45]00"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "SGI"
product "IS.*"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "2 pg_init_retries 50"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry 15
}
device {
vendor "NEC"
product "DISK ARRAY"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "1 alua"
prio "alua"
failback immediate
rr_weight "uniform"
}
device {
vendor "STK"
product "OPENstorage D280"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
}
device {
vendor "SUN"
product "(StorEdge 3510|T4)"
path_grouping_policy "multibus"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "SUN"
product "STK6580_6780"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
}
device {
vendor "EUROLOGC"
product "FC2502"
path_grouping_policy "group_by_prio"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
rr_weight "uniform"
}
device {
vendor "PIVOT3"
product "RAIGE VOLUME"
path_grouping_policy "multibus"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "0"
prio "const"
rr_weight "uniform"
rr_min_io 100
}
device {
vendor "SUN"
product "CSM200_R"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "SUN"
product "LCSM100_[IEFS]"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "SUN"
product "SUN_6180"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
rr_min_io 1000
rr_min_io_rq 1
}
device {
vendor "(NETAPP|LSI|ENGENIO)"
product "INF-01-00"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "2 pg_init_retries 50"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry 30
retain_attached_hw_handler yes
detect_prio yes
}
device {
vendor "STK"
product "FLEXLINE 380"
product_blacklist "Universal Xport"
path_grouping_policy "group_by_prio"
path_checker "rdac"
features "0"
hardware_handler "1 rdac"
prio "rdac"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "Intel"
product "Multi-Flex"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "1 alua"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "DataCore"
product "SANmelody"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "DataCore"
product "Virtual Disk"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
rr_weight "uniform"
no_path_retry "queue"
}
device {
vendor "NFINIDAT"
product "InfiniBox.*"
path_grouping_policy "group_by_prio"
path_selector "round-robin 0"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback 30
rr_weight "priorities"
no_path_retry "fail"
flush_on_last_del "yes"
dev_loss_tmo 30
}
device {
vendor "Nimble"
product "Server"
path_grouping_policy "group_by_prio"
path_selector "round-robin 0"
path_checker "tur"
features "1 queue_if_no_path"
hardware_handler "1 alua"
prio "alua"
failback immediate
dev_loss_tmo "infinity"
}
device {
vendor "XtremIO"
product "XtremApp"
path_grouping_policy "multibus"
path_selector "queue-length 0"
path_checker "directio"
features "0"
hardware_handler "0"
prio "const"
failback immediate
fast_io_fail_tmo 15
}
device {
vendor "PURE"
product "FlashArray"
path_grouping_policy "multibus"
path_selector "queue-length 0"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
failback immediate
fast_io_fail_tmo 10
dev_loss_tmo 60
user_friendly_names no
}
device {
vendor "HUAWEI"
product "XSG1"
path_grouping_policy "group_by_prio"
path_checker "tur"
features "0"
hardware_handler "0"
prio "alua"
failback immediate
dev_loss_tmo 30
}
device {
vendor "NVME"
product ".*"
uid_attribute "ID_WWN"
path_checker "none"
detect_prio yes
}
device {
vendor "NVME"
product "^EMC PowerMax_"
path_grouping_policy "multibus"
uid_attribute "ID_WWN"
path_checker "none"
prio "const"
}
}
multipaths {
}
参考資料

―――――――――――――