8.2. システムの起動時に FCoE インターフェースを自動マウントする設定

新しく検出されたディスクは、udev ルール、autofs、およびその他の同様の方法でマウントできます。サービスが、システムの起動時に FCoE ディスクのマウントを必要とする場合は、fcoe サービスが実行してすぐ、そして FCoE ディスクが必要になるサービスが開始する前に、FCoE ディスクをマウントする必要があります。FCoE マウントコードは、シンプルなフォーマットの FCoE ディスク、LVM、マルチパスデバイスノードなどのシステム設定によって異なる場合があります。

手順

  1. FCoE ディスクをシステムの起動時に自動マウントするように設定するには、fcoe サービスの起動スクリプトに適切な FCoE マウントコードを追加します。fcoe 起動スクリプトは、/lib/systemd/system/fcoe.service ファイル内にあります。

    例: 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
    	}
  2. FCoE を開始するには、次のコマンドを実行します。

    # systemctl start fcoe

    mount_fcoe_disks_from_fstab 関数は、fcoe サービススクリプトが fcoemond デーモンを起動した後に呼び出す必要があります。これにより、以下のようにパスが /etc/fstab ファイルに指定されている FCoE ディスクがマウントされます。

    /dev/disk/by-path/fc-0xXX:0xXX /mnt/fcoe-disk1 ext4  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 ディスクマウントエントリーを識別できるようにします。

注記

fcoe サービスは、FCoE ディスク検出のタイムアウトを実装しません。FCoE マウントコードは、独自のタイムアウト期間を実装する必要があります。

関連情報

  • man ページの fcoe
  • man ページの fstab
  • /usr/share/doc/fcoe-utils-version/README ファイル

このページには機械翻訳が使用されている場合があります (詳細はこちら)。