Linux ホストの設定

フェイルオーバー・シナリオでのパス・リカバリーを確実にするためには、Linux ホストをシステムに接続するために、特定のデバイス・マッパー・マルチパス (DMMP) 設定および udev 規則を使用することが推奨されます。これらの設定は、IBM® System x、すべての Intel または AMD ベースのサーバー、および Power® プラットフォームで有効です。

以下の 2 つのステップを完了した後に、ホストを再始動する必要があります。
  • /etc/multipath.conf のマルチパス設定を編集する
  • SCSI コマンド・タイムアウトの udev 規則を編集する

各 Linux ディストリビューションおよびディストリビューション内のリリースについては、[/usr/share/doc/device-mapper-multipath.*] (Red Hat の場合) および [/usr/share/doc/packages/multipath-tools] (Novell SuSE の場合) の下のデフォルト設定を参照してください。 multipath.conf に追加された項目が、必要な Linux ディストリビューションの形式および構文に一致していることを確認します。 multipath.conf は、関連するディストリビューションおよびリリースからのみ使用してください。 異なるディストリビューションあるいはリリース間で、multipath.conf ファイルをコピーしないでください。

一部のオペレーティング・システム・レベルでは、device settings の下ではなく defaults の下に polling_interval を配置する必要がある場合があります。polling_interval が device セクションにある場合は、# キーを使用して polling_interval をコメント化してください。

例えば、次のとおりです。
Under Device Section
# 		polling_interval 30,

Under Defaults Section
defaults {
		user_friendly_names yes
		polling_interval  30
}

特定の Linux ディストリビューションおよびリリースでのマルチパス設定

以下のパラメーターを使用して /etc/multipath.conf を編集し、次のように入力して変更を確認します。
multipathd -k
multipathd> show config
Red Hat Linux バージョン 5.x、6.0、および 6.1
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0"
     prio_callout "/sbin/mpath_prio_alua /dev/%n" #Used by Red Hat 5.x
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io 1000
     dev_loss_tmo 120	
Red Hat Linux バージョン 6.2 以降
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0" # Used by Red Hat 6.2
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120	
Red Hat Linux バージョン 7.x
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" # Used by Red Hat 7.x
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120	
SUSE Linux バージョン 10.x と、バージョン 11.0 および 11SP1
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0"
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io 1000
     dev_loss_tmo 120	
SUSE Linux バージョン 11SP2 以降
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0" # Used by SLES 11 SP2
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120	
SUSE Linux バージョン 11SP3+
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" # Used by SLES 11 SP3+
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120	

SCSI コマンド・タイムアウトの udev 規則

SCSI コマンド・タイムアウトの udev 規則を設定します。

SCSI コマンド・タイムアウトを 120 秒に設定します。これは、すべてのバージョンの Linux に推奨される設定です。

udev 規則ファイルの作成

システムの SCSI コマンド・タイムアウトを増やすには、以下の udev 規則を作成します。
udev rules file
cat /etc/udev/rules.d/99-ibm-2145.rules

# Set SCSI command timeout to 120s (default == 30 or 60) for IBM 2145 devices
SUBSYSTEM=="block", ACTION=="add", ENV{ID_VENDOR}=="IBM",ENV{ID_MODEL}=="2145", RUN+="/bin/sh -c 'echo 120 >/sys/block/%k/device/timeout'"

ボリュームをセットアップした後、それらのボリュームが 120 秒に設定されていることを確認してください。コマンド・ラインから multipath -ll | grep sd を実行して、ブロック・デバイス・パスを見つけます。その後、cat /sys/block/sdX/device/timeout (ここで、X は各 2145 ブロック・デバイス・パス) を実行します。