I first disk of raid5 or mirror is
going to be unavailable and the system
does reboot it stops at single user
and wait's for manual input of fsck.
This prevents coming up in multi-user
mode automatically and getting reachable
from network.
Reproducible case is as follows:
--------------------------------------
create a metaset with 2 or 3 disks on one system
create a 2 or 3way mirror
set mirrored slice of first mirror device to 0c and save it. (format)
run now fsck -o p .... : (this -o p(preen) is executing preen_md.so.1)
# fsck -o p /dev/md/import/dsk/d0
fsck: schroeder: /dev/rdsk/c5t0d0s0: I/O error
Apr 8 09:28:48 schroeder last message repeated 1 time
Apr 8 09:29:16 schroeder fsck: schroeder: /dev/rdsk/c5t0d0s0: I/O error
wait: No child processes
#
# fsck -F ufs -o p /dev/md/import/dsk/d0
/dev/md/import/dsk/d0: is logging.
#
xxxxx@xxxxx.com 2005-05-20 07:47:18 GMT
Same behaviour exists under Solaris10(GA).
xxxxx@xxxxx.com 2005-05-20 09:08:22 GMT
Work Around
Use fsck -F ufs -o p ... (instead fsck -o p ...) in
script "/usr/lib/fs/ufs/fsckall"
Also for Solaris9 there is an IDR-Patch available: IDR119449-01
xxxxx@xxxxx.com 2005-05-20 07:47:18 GMT
The modification of fsckall only helps for filesystems,
which are mounted directly via vfstab.
Failover-filesystems are checked an mounted via ksh-script:
/usr/cluster/lib/rgm/rt/hastorageplus/hastorageplus_prenet_start
To workaround the BUG for failover-filesystems, you have to change:
FSCK_KNOWN_FS="/usr/sbin/fsck -o p"
to
FSCK_KNOWN_FS="/usr/sbin/fsck -F ufs -o p"
in that script.