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