Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.6. 将 FCoE 接口配置为在引导时自动挂载

注意
从 Red Hat Enterprise Linux 6.1 开始,本节中的说明包括在 /usr/share/doc/fcoe-utils-版本/README 中。有关小版本的任何可能的更改,请参阅该文档。
您可以通过 udev 规则、autofs 和其他类似方法挂载新发现的磁盘。但有时候,特定的服务可能会要求在启动时挂载 FCoE 磁盘。在这种情况下,应在 fcoe 服务运行时以及需要 FCoE 磁盘的任何服务启动前 立即 挂载 FCoE 磁盘。
要将 FCoE 磁盘配置为在引导时自动挂载,请将正确的 FCoE 挂载代码添加到 fcoe 服务的启动脚本中。fcoe 启动脚本为 /lib/systemd/system/fcoe.service
FCoE 挂载代码在每个系统配置中都有所不同,无论您使用的是简单格式化的 FCoE 磁盘、LVM 还是多路径设备节点。

例 25.2. 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
	}
fcoe 服务脚本启动 fcoemon 守护进程后,应调用 mount_fcoe_disks_from_fstab 功能。这将挂载由 /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 挂载代码应该实现它自己的超时时间。