6 効率的なストレージのためのマルチパスの使用
警告:
Oracle Linux 7は現在延長サポート中です。詳細は、Oracle Linux拡張サポートおよびOracleオープン・ソース・サポート・ポリシーを参照してください。
できるだけ早くアプリケーションとデータをOracle Linux 8またはOracle Linux 9に移行してください。
ストレージ・デバイスへの複数のパスによって、接続の冗長性、フェイルオーバー機能、ロード・バランシングおよびパフォーマンスの向上が提供されます。Device-Mapper Multipath (DM-Multipath)は、サーバーとストレージ・デバイスの間の複数のI/Oパスを1つのパスとして表すことができるマルチパス化ツールです。
デバイス・マルチパス化のサンプル設定
多くの場合は、ファイバ・チャネルベースのストレージ・エリア・ネットワーク(SAN)上のストレージにアクセスできるシステムでマルチパス化を構成することになります。イニシエータとターゲット間に冗長ネットワーク接続が存在する場合は、iSCSIイニシエータでもマルチパス化を使用できます。
図6-1は、サーバーとSAN接続ストレージ・アレイのディスク間に、2つのI/Oパスが構成されている単純なDM-Multipath構成を示しています。
-
サーバーのホスト・バス・アダプタ
hba1
とストレージ・アレイのコントローラctrl1
との間。 -
サーバーのホスト・バス・アダプタ
hba2
とストレージ・アレイのコントローラctrl2
との間。
図6-1 SANを介したディスクへの2つのパスのDM-Multipathマッピング

DM-Multipathがないと、サーバーが同じストレージ・デバイスに接続されても、システムでは各パスが別々に取り扱われます。DM-Multipathは、基礎となるデバイス/dev/sdc
および/dev/sdf
が組み込まれた単一のマルチパス・デバイス/dev/mapper/mpathN
を作成します。
次のいずれかの方法でマルチパス化サービス(multipathd
)を構成し、マルチパス化デバイスとのI/Oを処理できます。
- アクティブ/アクティブ
-
ラウンドロビン割当または動的ロード・バランシングのいずれかで、使用可能なすべてのパスにI/Oが分散されます。
- アクティブ/パッシブ(スタンバイ・フェイルオーバー)
-
I/Oには1つのパスのみが使用されます。アクティブなパスに障害が発生すると、DM-MultipathによってI/Oがスタンバイ・パスに切り替わります。これはデフォルトの構成です。
ノート:
DM-Multipathは、SANファブリック内のパス障害など、パス障害時にフェイルオーバーを提供できます。ディスク・メディア障害は、ソフトウェアまたはハードウェアのRAIDソリューションを使用して処理する必要があります。
マルチパス化の構成
次の手順では、SAN接続ストレージにアクセスできるサーバーで単純なマルチパス構成を設定する方法について説明します。
-
device-mapper-multipath
パッケージをインストールします。sudo yum install device-mapper-multipath
-
マルチパス機能の基本構成設定を開始します。
sudo mpathconf --enable --with_multipathd y
このコマンドは、
/etc/multipath.conf
ファイルも作成します。 -
(オプション)マルチパス化のステータスを確認するには、次のコマンドを使用します。
sudo mpathconf
-
必要に応じて、
/etc/multipath.conf
を編集します。詳細は、マルチパス構成ファイルの操作を参照してください。
現在のマルチパス構成を表示する場合は、multipath - llコマンドを使用します。次に例を示します。
sudo multipath -ll
マルチパスが正しく構成されている場合、コマンドの出力は次のようになります。
mpath1(360000970000292602744533030303730) dm-0 SUN,(StorEdge 3510|T4 size=20G features=‘0’ hwhandler=‘0’ wp=rw |-+- policy=‘round-robin 0’ prio=1 status=active | ‘- 5:0:0:2 sdb 8:16 active ready running ‘-+- policy=‘round-robin 0’ prio=1 status=active ‘- 5:0:0:3 sdc 8:32 active ready running
前の出力は、ラウンドロビンI/Oパス選択を使用して、
/dev/mapper/mpath1
に20GBのストレージへの2つのパス(/dev/sdb
と/dev/sdc
)がアクティブ/アクティブ構成で組み込まれていることを示しています。ストレージを識別するWWIDは360000970000292602744533030303730
で、sysfs
のマルチパス・デバイス名前はdm-0
です。詳細は、
mpathconf(8)
、multipath(8)
、multipathd(8)
、multipath.conf(5)
およびscsi_id(8)
の各マニュアル・ページを参照してください。
マルチパス構成ファイルの操作
/etc/multipath.conf
ファイルを使用して、システム環境の設定に従ってマルチパス化をカスタマイズする定義の組合せを追加できます。コメント付きの構成例は、/usr/share/doc/device-mapper-multipath/multipath.conf
から取得できます。
/etc/multipath.conf
ファイルは、次の一般的なセクションに分かれています。
-
defaults
-
デフォルトのマルチパス設定を定義します。このデフォルト設定は
devices
セクションの設定によってオーバーライドされ、このセクションの設定はmultipaths
セクションの設定によってオーバーライドされます。 -
blacklist
-
マルチパス・トポロジ検出から除外されるデバイスを定義します。ブラックリストに登録されたデバイスはマルチパス・デバイスには組み込まれません。
例には、デバイスの除外に使用できる方法として、WWID(
wwid
)、デバイス名(devnode
)およびデバイス・タイプ(device
)による3つの方法が記載されています。 -
blacklist_exceptions
-
デバイスが
blacklist
セクションに暗黙的または明示的にリストされている場合も、マルチパス・トポロジ検出に含めるデバイスを定義します。 -
multipaths
-
WWIDで識別されるマルチパス・デバイスの設定を定義します。
alias
属性には、WWIDまたはマルチパス・グループ番号に基づく名前ではなく、/dev/mapper
に表示されるマルチパス・デバイスの名前を指定します。SCSIデバイスのWWIDを取得するには、scsi_idコマンドを使用します。
sudo scsi_id --whitelisted --replace-whitespace --device=device_name
-
devices
-
ストレージ・コントローラの個々のタイプの設定を定義します。各コントローラ・タイプは、
vendor
、product
およびオプションのrevision
設定で識別され、これがデバイスのsysfs
の情報と一致する必要があります。DM-Multipathがサポートするストレージ・アレイの詳細とそのデフォルトの構成値は
/usr/share/doc/device-mapper-multipath-version/multipath.conf.defaults
にあり、/etc/multipath.conf
ファイルのエントリのベースとして使用できます。DM-Multipathのサポート対象としてリストされていないストレージ・デバイスを追加するには、
/sys/block/device_name/device
のvendor
、model
およびrev
ファイルからベンダー、製品およびリビジョンの情報を取得します。
/etc/multipath.conf
ファイルの次のエントリは、指定されたWWIDのiSCSI LUNにアクティブ/パッシブ・マルチパス化を設定するのに適しています。
defaults { user_friendly_names yes uid_attribute ID_SERIAL } multipaths { multipath { wwid 360000970000292602744533030303730 } }
このスタンバイ・フェイルオーバー構成では、iSCSIイニシエータでネットワーク・インタフェースに障害が発生した場合は、残りのアクティブなネットワーク・インタフェースを介してI/Oが続行されます。
ノート:
/etc/multipath.conf
ファイルを編集した場合は、multipathd
サービスを再起動してファイルが再読取りされるようにします。
/etc/multipath.conf
の構成エントリに関する詳細は、multipath.conf(5)
マニュアル・ページを参照してください。