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 挂载代码应该实现它自己的超时时间。