Adds this as best practices to mount fcoe disk at startup, I verified added example works for both RHEL6 and SLES11.
Signed-off-by: Vasu Dev <[email protected]> --- README | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-) diff --git a/README b/README index 74ba55c..cc28bf0 100644 --- a/README +++ b/README @@ -14,3 +14,67 @@ library, libhbalinux, may be downloaded from www.Open-FCoE.org. The instructions in the package describes how to download and build the libraries. See the man pages for other requirements. +Best Practices : + +Any newly discovered disk can be mounted using udev rules, autofs and possibly by +other methods as needed but if a fcoe disk is needed during boot by any of other +system startup service followed by fcoe service start then such fcoe disk needs to +be mounted along fcoe service start before service requiring fcoe disk gets to start +at boot. The fcoe disk mounting at boot can be automated by adding fcoe disk +mounting code to fcoe service start code at /etc/init.d/fcoe and this code should +be per system configuration for either a simple formatted fcoe disk, lvm +or muti-path device node etc, below is a sample code as an example to mount a fcoe +disk having ext3 file system using /etc/fstab entries. + + 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 + } + + Above mount_fcoe_disks_from_fstab function should be invoked after +fcoemon daemon is started by fcoe service script to mount any fcoe disk +specified by path in /etc/fstab as:- + + /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 + + These entries with "fc-" and "_netdev" sub-strings enables +mount_fcoe_disks_from_fstab to identify fcoe disks mount entries to wait for a +their fcoe disk to show up within specified timeout period, the timeout is +set to 20 seconds but can be changed per typical fcoe disk discovery time in +a system, see man fstab(5) for for more details on above entries. + + This timeout is needed since currently fcoe service start does not +know when fcoe disk discovery is going to finish, therefore a timed wait +would ensure that a fcoe service start will wait for only specified timeout +or till all fcoe disk from /etc/fstab present before proceeding to mount +fcoe disks per their /etc/fstab entries in this example. _______________________________________________ devel mailing list [email protected] http://www.open-fcoe.org/mailman/listinfo/devel
