デバイス マッパー マルチパス入力出力 ( DM-MPIO ) またはDM-マルチパスは、 ブロック デバイス に対してLinux 内のマルチパス I/O を 使用することで、入出力 (I/O) フェイルオーバーと負荷分散を 提供します。[ 1 ] [ 2 ] [ 3 ] デバイス マッパーを利用することで、デーモンはホスト側のロジックを提供し、冗長ネットワーク の複数のパスを使用して、ホスト サーバーとブロック レベル デバイス間の継続的な可用性と高帯域幅の接続を提供します。 [ 4 ] DM-MPIO は、パス障害が発生した場合にブロック I/O を代替パスに再ルーティングします。DM-MPIO は、ファイバーチャネル (FC)およびiSCSI SAN 環境で一般的に使用されるすべての利用可能なパス間で I/O 負荷を分散することもできます。 [ 5 ] DM-MPIO はデバイス マッパーに基づいています。 [ 6 ] デバイスマッパー は、1 つのブロック デバイスを別のブロック デバイスにマッピングする基本的なフレームワークを提供します。multipathd
考慮事項 他のオペレーティングシステムやマルチパスソリューションが存在する データセンター でLinux DM-MPIOを使用する場合、パス管理の主要コンポーネントを考慮する必要があります。
負荷分散 — ワークロードは利用可能なハードウェアコンポーネント全体に分散されます。 目標: I/O完了時間の短縮、スループットの最大化、およびリソースの最適化。パスのフェイルオーバーとリカバリ — 1つ以上のパスが利用できなくなった場合に、冗長なI/Oチャネルを使用してアプリケーションの読み取りと書き込みをリダイレクトします。
歴史 DM-MPIOは、Joe Thornberによって作成されたパッチセットとして始まり、後にRed HatのAlasdair G Kergonによってメンテナンスされました。2005年6月17日にリリースされたカーネルバージョン2.6.12でメインラインLinuxに組み込まれました。[ 7 ]
コンポーネント マルチパスの簡単な例 LinuxにおけるDM-MPIOは、カーネルコンポーネントとユーザー空間コンポーネントから構成される。
カーネル –デバイスマッパー – ブロックデバイスのレイヤリングメカニズムを提供するブロックサブシステム。 dm-multipath–マルチパス デバイスマッパーターゲットを実装するカーネルモジュール。 ユーザー空間 – multipath-tools – は、デバイスマッパーのマルチパスモジュールに何をすべきかを指示することで、マルチパスデバイスを管理するためのツールを提供します。ツールは以下の要素で構成されます。 マルチパス: システム内をスキャンしてマルチパスデバイスを検出し、それらを組み立てて、デバイスマッパーのマップを更新します。[ 5 ] Multipathd: マップイベントを待機し、その後マルチパスを実行してパスを監視するデーモン。パスに障害が発生すると、そのパスを失敗としてマークします。フェイルバックポリシーによっては、パスを再アクティブ化できます。[ 5 ] Devmap-name: udev に対して、devmap 用の意味のあるデバイス名を提供します。[ 5 ] Kpartx: 線形devmapをデバイスパーティションにマッピングして、マルチパスマップをパーティション化できるようにします。[ 5 ] Multipath.conf:マルチパスデーモンの設定ファイル 。multipathd の組み込み設定テーブルを上書きするために使用されます。
設定ファイル 設定ファイル/etc/multipath.conf を使用すると、DM-MPIO の多くの機能をユーザーが設定できます。multipathコマンド とカーネルデーモンmultipathd は、このファイルの情報を使用します。このファイルは、マルチパスデバイスの設定時にのみ参照されます。変更は、 multipath コマンドを実行する前に行う必要があります。設定後にファイルを変更した場合は、 multipath コマンド を再度実行する必要があります。
multipath.conf には 5 つのセクションがあります: [ 8 ]
システムレベルのデフォルト設定(デフォルト ):ユーザーはシステムレベルのデフォルト設定を上書きできます。 ブラックリストに登録されたデバイス(ブラックリスト ):ユーザーは、DM-MPIOの制御下に置かないデバイスのリストを指定します。 ブラックリスト例外(blacklist_exceptions ):ブラックリストに登録されていても、マルチパスデバイスとして扱う特定のデバイス。 ストレージコントローラ固有の設定(デバイス ):ユーザーが指定した構成設定は、指定された「ベンダー」および「製品」情報を持つデバイスに適用されます。 デバイス固有の設定(マルチパス ):個々のLUNの構成設定を微調整します。
用語 HBA:ホストバスアダプタは、 ファイバーチャネル デバイスの入出力(I/O)ホストバスと基盤となるファイバーチャネルネットワーク間の物理インターフェースを提供します。[ 9 ] パス:サーバーからHBAを経由して特定のLUNへの接続。 DMパス状態:デバイスマッパーから見たパス状態。可能な状態は2つのみです。 アクティブ:このパスを介して送信された最後のI/O操作が正常に完了しました。パスの準備完了状態に相当します。 失敗:このパスを介して送信された最後のI/O操作が正常に完了しませんでした。パス障害状態に相当します。 フェイルオーバー :パスが障害状態にあると判断された場合、準備完了状態のパスがアクティブになります。[ 10 ] フェイルバック: 失敗したパスが再びアクティブになったと判断された場合、multipathd はフェイルバック ポリシーで決定されたパスにフェイルバックすることを選択する場合があります。[ 11 ] フェイルバックポリシー:multipath.conf設定ファイルで設定されている4つのオプション。 即時:最優先パスに即座にフェイルバックします。 手動:障害が発生したパスは監視されないため、フェイルバックするにはユーザーによる介入が必要です。 フォローオーバー(クラスタの場合):パスグループの最初のパスがアクティブになった場合にのみ、自動フェイルバックを実行します。これにより、別のノードがフェイルオーバーを要求した際に、ノードが自動的にフェイルバックするのを防ぎます。 秒数:指定された秒数だけ待機してI/Oが安定するまで待ち、その後、最も優先度の高いパスにフェイルバックします。 アクティブ/アクティブ: 2 つのストレージコントローラを持つシステムでは、各コントローラが I/O を処理できます。[ 12 ] アクティブ/パッシブ: 2 つのストレージコントローラを持つシステムでは、一度に 1 つのコントローラのみが I/O を処理でき、もう 1 つのコントローラ (パッシブ) はスタンバイ モードになります。[ 12 ] LUN: SCSI 論理ユニット番号 WWID (Worldwide Identifier)は、マルチパスデバイスを識別するための識別子であり、世界的に一意で不変であることが保証されています。
さらに読む Michael, T.、Kabir, R.、Giles, J.、Hull, J. (2006) マルチパスI/Oを有効にするためのLinuxの設定。http: //www.dell.com/downloads/global/power/ps3q06-20060189-Michael.pdfから取得。2012年2月27日にWayback Machine に アーカイブ済み。 Goggin, E.、Kergon, A.、Varoqui, C.、Olien, D. (2005) Linux Symposium 論文集 – Linux マルチパス。https: //web.archive.org/web/20101227213252/http ://www.linuxinsight.com/files/ols2005/goggin-reprint.pdf より取得。 Red Hat ドキュメント。(nd) Red Hat Enterprise Linux 6、DM マルチパス。https ://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/DM_Multipath/から取得。 Varoqui, C. (2010) Linuxのマルチパス実装。http ://christophe.varoqui.free.fr/refbook.htmlより取得。
参考文献 ↑ Goggin, Edward; Kergon, Alasdair; Varoqui, Christophe; Olien, David. "Linux Multipathing" (PDF) 。 ↑ Varoqui, Christophe. "Linux マルチパス実装" . ↑ Oberg, Michael. 「TeraGrid 上の Blue Gene/L の並列ストレージアーキテクチャの探索」 (PDF) 。2013 年 12 月 2 日に オリジナル (PDF)からアーカイブ済み。2012 年 2 月 13 日 に取得 。 ↑ van Vugt, Sander (2010年3月8日). A Practical Guide to XEN High Availability . Books4Brains. ISBN 9789072389084 。1 2 3 4 5 SUSE。 「ストレージ管理ガイド、SUSE Linux Enterprise Server 11 SP1」 (PDF) 。SLES11 ドキュメント、49ページ 。 ↑ 「デバイスマッパーにおけるマルチパスサポート [ LWN.net ] 」 。 ↑ Linux 2.6.12 kernelnewbies.org ↑ RedHat。 「Device-Mapper Multipath の使用」 。 2011年12月29日の オリジナル からアーカイブ。 2012年1月30日 取得 。 ↑ グプタ、ミータ (2002)。 ストレージ エリア ネットワークの基礎 。インディアナ州インディアナポリス:Cisco Press。 p. 81.ISBN 1-58705-065-X 。↑ アンダーソン、マイケル。 「SCSI ミッドレベル マルチパス」 (PDF) 。 ↑ 「ストレージ管理ガイド、SLES11ドキュメント」 (PDF) 。SUSE。73ページ 。 1 2 Centos。 「DM-Multipath の概要」 。Device -Mapper Multipath の使用 。2012 年 3 月 5 日に オリジナルからアーカイブされました。2012 年 1 月 30 日 に取得 。