I have an IBM blade running RHEL 5.4 server, connected to two Hitachi SANs using common fibre cards & Brocade switches. It has two volume groups made from old SAN LUNs. The old SAN needs to be retired so we allocated LUNs from the new SAN, discovered the LUNs as multipath disks (4 paths) and grew the volume groups. We then moved the logical volumes and removed the old LUNs from the volume groups.
On the next boot, the volume group was not active when the filesystems tried to mount. The output from
vgdisplay -v showed
LV Status : Not available for every LV in the VG.
Panicking a little, I managed to find a tenuous suggestion to force the volume group on-line. This I did with
vgchange -a y vgname and after that all the filesystems could be mounted.
PHEW!
The next boot did the same thing, so again I forced the VGs on-line & mounted everything. I then wrote to Red-Hat. They suggested I alter
/etc/fstab to add an option
_netdev as an option for each filesystem. It worked, which is great but I just don't get it
Their explanation is:
Quote:
--- ============================
Root Cause
============================
The storage needs more time to become ready on the host
For iSCSI storage, the operation of activating vg defined in script file "/etc/rc.sysinit" was done before network service starting.
While the _netdev mount option was created for network connected devices, it can be used to introduce a delay before running another activation and mount
The _netdev options calls the /etc/init.d/netfs script, which by default starts after networking.
The netfs script calls another vgchange and mount for this device, allowing activation and mounting
The last line says that it's doing the manual tasks I performed so I understand what it does, but I'm confused on a few things that RH don't answer (issues solved, ticket closed!):-
- Why does migrating between SAN have this effect (same fibre cards & switches)
- How does the option in fstab affect if the VG in on-line or not?
- What can one do to prepare for this? I don't really want to set _netdev as a standard.
- What is the cost/penalty/limit of doing this?
We don't auto-start the Oracle databases on this server, although we do for other servers. Might this workaround upset these or any other
/etc/rc.d/..... scripts.
Just trying to understand
Robin