Linuxマルチパス設定ガイド|冗長性と可用性を高めるストレージ構成

企業のシステム運用において、高可用性(HA)は欠かせない要素です。特にストレージへのアクセスが1本の経路に依存している場合、万が一の障害で大きな影響を及ぼしかねません。
そんな課題を解決するのが「マルチパス構成」です。Linuxでは Device Mapper Multipath(通称:DM-Multipath)を用いて、複数の経路から同じストレージにアクセスする仕組みを構築できます。

この記事では、Linuxのマルチパス構成について、仕組み、設定方法、確認コマンド、トラブルシュート方法まで網羅的に解説します。これから構築を検討している方や、設定済み環境の理解を深めたい方にとって役立つ内容です。


マルチパスとは?

マルチパス構成とは、1台のストレージに対して複数のパス(経路)を使ってアクセスする技術です。主に以下の目的で利用されます。

  • 冗長性の確保:片方のパスに障害が発生しても、もう片方のパスでアクセスを継続できる。
  • 負荷分散(ロードバランシング):パス間でI/Oを分散することで、性能を向上できる。
  • パスフェイルオーバー:あるパスで障害が発生した場合、自動的に別のパスに切り替えられる。

SAN(Storage Area Network)環境などで特に活用される構成で、Fibre ChannelやiSCSIなどのストレージ接続に適用されます。


Linuxにおけるマルチパス構成の基本

Linuxでマルチパス構成を実現する際は、主に device-mapper-multipath パッケージを使用します。これはRed Hat系、Debian系を問わず主要なディストリビューションで利用可能です。

主な構成ファイル

  • /etc/multipath.conf:マルチパス設定ファイル
  • /etc/multipath/bindings:WWIDとデバイス名の対応関係を記録
  • /etc/multipath/wwids:検出されたWWIDの記録

デーモン

  • multipathd:パスの監視やフェイルオーバーを行う常駐プロセス

インストールと有効化手順

ここではRed Hat系(RHEL、CentOS、Rocky Linux)を例にインストールと有効化手順を解説します。

# パッケージのインストール
sudo dnf install device-mapper-multipath -y

# 初期設定ファイルの生成
sudo mpathconf --enable --with_multipathd y

# multipathdサービスの有効化
sudo systemctl enable --now multipathd

設定ファイル /etc/multipath.conf は必要に応じて編集しますが、標準構成でも動作します。明示的にパスやデバイスを定義したい場合は設定を追加しましょう。


multipath.confの基本設定例

defaults {
user_friendly_names yes
find_multipaths yes
}

blacklist {
devnode "^sd[a-z]$"
}
  • user_friendly_names:デバイス名をmpathXのように見やすくする
  • find_multipaths:マルチパス対象のみに自動適用
  • blacklist:マルチパス対象外のデバイスを除外

設定後は、以下のコマンドで設定を反映します。

sudo multipath -F   # 設定のフラッシュ
sudo multipath -v2 # 検出と設定の確認

動作確認と管理コマンド

以下のコマンドでマルチパス構成の状態を確認できます。

# マルチパスデバイスの一覧表示
sudo multipath -ll

# multipathdのステータス確認
sudo systemctl status multipathd

# アクティブパスの確認
sudo multipathd show paths

確認できる項目:

  • mpathX:マルチパスの論理名
  • デバイスパス:/dev/sdXなどの実体デバイス
  • ステータス:active readyfailed など

パス障害時の挙動とトラブルシュート

パスのフェイルオーバー

あるパスに障害が起きた際、multipathdが自動的に別のパスに切り替えます。ログは以下で確認可能です。

journalctl -u multipathd

よくあるトラブル

症状原因と対処法
multipath -ll にデバイスが出ないblacklist 設定が強すぎる可能性あり
multipath名が変わってしまうbindings ファイルを固定化していない
パス数が意図より少ないHBAまたはSAN側の疎通、ゾーニング要確認

マルチパスをfstabで自動マウントする場合

論理デバイス(例:/dev/mapper/mpathX)を /etc/fstab に記載する場合は、UUIDかデバイス名を利用します。

# UUIDを取得
sudo blkid /dev/mapper/mpathX

# /etc/fstab例
UUID=xxxxx-xxxx-xxxx-xxxx /data ext4 defaults 0 2

/dev/sdXを直接記載すると、リブート後にデバイス名が変わる恐れがあるため非推奨です。


まとめ|マルチパス構成で信頼性を高める

Linuxでのマルチパス構成は、企業システムにおいて可用性と信頼性を高める重要な手段です。device-mapper-multipathの導入により、ストレージへのアクセスパスを複数確保でき、障害時もサービス継続が可能になります。

特に、ミッションクリティカルな業務システムではマルチパス構成の導入を検討する価値が十分にあります。本記事を参考に、まずは小規模な構成からテストしてみてはいかがでしょうか。

タイトルとURLをコピーしました