第33章 システムの起動時に FCoE インターフェースを自動マウントする設定
注記
本セクションの手順は、Red Hat Enterprise Linux 6.1 より、
/usr/share/doc/fcoe-utils-version/README で参照できます。マイナーリリース間における変更については、該当するドキュメントを参照してください。
新しく検出されたディスクは、udev ルール、autofs、およびその他の同様の方法でマウントできます。ただし、特定のサービスでは、システムの起動時に FCoE ディスクをマウントする必要がある場合があります。このような場合は、FCoE ディスクを必要とするサービスが開始される 前 に、fcoe サービスの実行 するやいなや FCoE ディスクをマウントする必要があります。
システムの起動時に FCoE ディスクを自動的にマウントするように設定するには、fcoe サービスの起動スクリプトに適切な FCoE マウントコードを追加します。fcoe 起動スクリプトは
/etc/init.d/fcoe です。
FCoE マウントコードは、シンプルなフォーマットの FCoE ディスク、LVM、またはマルチパスのデバイスノードを使用しているかどうかに関わらず、システム設定によって異なります。
例33.1 FCoE マウントコード
以下は、
/etc/fstab のワイルドカードで指定されたファイルシステムをマウントする FCoE マウントコードの例です。
mount_fcoe_disks_from_fstab()
{
local timeout=20
local done=1
local fcoe_disks=($(egrep 'by-path\/fc-.*_netdev' /etc/fstab | cut -d ' ' -f1))
test -z $fcoe_disks && return 0
echo -n "Waiting for fcoe disks . "
while [ $timeout -gt 0 ]; do
for disk in ${fcoe_disks[*]}; do
if ! test -b $disk; then
done=0
break
fi
done
test $done -eq 1 && break;
sleep 1
echo -n ". "
done=1
let timeout--
done
if test $timeout -eq 0; then
echo "timeout!"
else
echo "done!"
fi
# mount any newly discovered disk
mount -a 2>/dev/null
}
mount_fcoe_disks_from_fstab 関数は、fcoe サービススクリプトが fcoe mon デーモンを起動 した後に 呼び出す必要があります。これにより、
/etc/fstab の以下のパスで指定された FCoE ディスクがマウントされます。
/dev/disk/by-path/fc-0xXX:0xXX /mnt/fcoe-disk1 ext3 defaults,_netdev 0 0
/dev/disk/by-path/fc-0xYY:0xYY /mnt/fcoe-disk2 ext3 defaults,_netdev 0 0
fc- および _netdev サブ文字列を含むエントリーは、mount_fcoe_disks_from_fstab 関数が FCoE ディスクマウントエントリーを識別できるようにします。/etc/fstab エントリーの詳細は、man 5 fstab を参照してください。
注記
fcoe サービスは、FCoE ディスク検出のタイムアウトを実装しません。そのため、FCoE マウントコードは独自のタイムアウト期間を実装する必要があります。