企業のストレージ運用において、マルチパス構成は可用性と信頼性を確保するための基本的な仕組みです。SANストレージやFC接続されたディスクの構成では、マルチパス経由で同一ディスクに複数経路が存在するため、通常のディスク拡張と比べて注意が必要になります。本記事では、Linuxサーバにおけるマルチパス構成下でのディスク拡張の具体的な手順について解説します。手順を誤るとパーティション破損やシステム障害の原因にもなりかねないため、安全・確実なディスク拡張を実現するためのポイントを押さえておきましょう。
マルチパス環境とは
マルチパス構成とは、ストレージとサーバを複数の経路で接続することで、1つの物理ディスクに複数のパス(経路)が存在する状態を指します。これは、サーバとストレージの間に障害が起きた場合でも、別経路で継続的にアクセスできるようにするための冗長化手法です。
Linuxでは multipath-tools
を使用して、複数パスを統合し、1つのデバイス(たとえば /dev/mapper/mpatha
)として認識させます。マルチパス環境下では、ストレージの拡張に伴い、OS側でも適切に再認識させる必要があります。
拡張対象ディスクの特定
拡張対象となるディスクがマルチパス経由でどのように見えているかを確認するには、以下のコマンドを使用します。
multipath -ll
この出力により、複数の物理パス(たとえば /dev/sdX
系)が mpatha
のように統合されていることを確認します。
また、以下のコマンドでデバイスサイズの確認も可能です。
lsblk
この時点では、ストレージ側で拡張されたサイズが反映されていない場合があります。
ストレージ側での拡張作業
このステップはストレージ管理者の作業になります。LUNの容量を拡張する操作を行います。代表的な手順としては:
- ストレージ管理画面から対象LUNの容量を変更
- SANまたはFC経路に問題がないことを確認
- サーバ側で拡張が検知できるように構成を維持
拡張が完了したら、OSにその変更を反映させる必要があります。
Linuxでのディスクサイズ再認識
拡張されたLUNをOS側で再認識させるには、次の手順を踏みます。
ステップ1:SCSIバスの再スキャン
まずはホストに接続されたSCSIバスを再スキャンして、拡張されたサイズを認識させます。
echo 1 > /sys/class/scsi_device/H:C:T:L/device/rescan
もしくは以下のようにスクリプトで一括実行も可能です:
for host in /sys/class/scsi_host/host*; do
echo "- - -" > "$host/scan"
done
ステップ2:マルチパス再スキャン
次にマルチパスの情報を更新します。
multipath -r
または multipath -ll
でサイズが変わっているか確認します。
パーティションの拡張(必要に応じて)
ディスクにパーティションがある場合、パーティションテーブルを更新し、ファイルシステムを拡張する必要があります。
以下は parted
コマンドを使った例です。
parted /dev/mapper/mpatha
(parted) resizepart 1 100%
変更後、パーティションテーブルの再読み込みを行います。
partprobe
ファイルシステムの拡張
最後にファイルシステムを拡張します。使用しているファイルシステムによりコマンドが異なります。
ext4 の場合:
resize2fs /dev/mapper/mpatha1
xfs の場合:
xfs_growfs /mount/point
※ xfs_growfs
はマウント中でも使用できます。
拡張後の確認
拡張が正しく反映されたかどうかは、以下のコマンドで確認できます。
df -h
lsblk
multipath -ll
想定した容量に増えていれば完了です。
注意点とトラブル時の対処
- OS再起動不要が基本ですが、うまく再認識できない場合はリブートが必要なケースもあります。
- dmsetupコマンドを使ってより詳細な情報を得ることも可能です。
- 不要なmultipathエントリが残っている場合は
multipath -f <name>
で削除可能です。
まとめ
Linuxのマルチパス環境下でのディスク拡張は、ストレージ側の操作とOS側の再認識手順を正確に行うことで、安全に実施可能です。ポイントは以下の通りです。
- multipath構成を把握しておく
- ストレージ拡張後にOS側で適切な再スキャンを行う
- パーティション・ファイルシステム拡張の順を誤らない