VxVM will be limited to a single bootable path for a mutlipathed A/A SAN bootable LIN whilst in an unencapsulated state.
In this instance, the disk access name for the EMC A/A LUN is "emc0_032d" for which has two active paths available:
# vxdisk listemc0_032d
Device: emc0_032d
devicetag:emc0_032d
type: auto
info: format=none
flags: online ready private autoconfiginvalid
pubpaths: block=/dev/vx/dmp/emc0_032ds2char=/dev/vx/rdmp/emc0_032ds2
guid: -
udid: EMC%5FSYMMETRIX%5F000290300822%5F220032D000
site: -
Multipathing information:
numpaths: 2
c1t5006048C5368E580d210s2 state=enabled
c1t5006048C5368E5A0d228s2 state=enabled
The system successfully boots from the native"c1t5006048C5368E580d210s0" device path.
# df-k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t5006048C5368E580d210s0
25821143 207959504766982 82% /
/devices 0 0 0 0% /devices
ctfs 0 0 0 0% /system/contract
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
swap 4130536 1720 4128816 1% /etc/svc/volatile
objfs 0 0 0 0% /system/object
sharefs 0 0 0 0% /etc/dfs/sharetab
/platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1
25821143 207959504766982 82% /platform/sun4u-us3/lib/libc_psr.so.1
/platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1
25821143 207959504766982 82% /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1
fd 0 0 0 0% /dev/fd
swap 4128816 0 4128816 0% /tmp
swap 4128864 48 4128816 1% /var/run
swap 4128816 0 4128816 0% /dev/vx/dmp
swap 4128816 0 4128816 0% /dev/vx/rdmp
/dev/odm 0 0 0 0% /dev/odm
# prtconf -vp | egrep'bootpath|boot-device'
bootpath: '/pci@1e,600000/SUNW,jfca@2/fp@0,0/disk@w5006048c5368e580,d2:a'
boot-device: '/pci@1e,600000/SUNW,jfca@2/fp@0,0/disk@w5006048c5368e580,d2:a'
#ls -al /dev/dsk/c1t5006048C5368E580d210s0
lrwxrwxrwx 1root root 73 May 28 2009/dev/dsk/c1t5006048C5368E580d210s0 ->../../devices/pci@1e,600000/SUNW,jfca@2/fp@0,0/ssd@w5006048c5368e580,d2:a
The /etc/vfstab is limited to a single native boot device path:
# more/etc/vfstab
#device device mount FS fsck mount mount
#tomount to fsck point type pass atboot options
#
fd - /dev/fdfd - no -
/proc - /proc proc - no -
/dev/dsk/c1t5006048C5368E580d210s1 - - swap - no -
/dev/dsk/c1t5006048C5368E580d210s0 /dev/rdsk/c1t5006048C5368E580d210s0 / ufs 1 no -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
If the user attempts to boot from the alternate path"c1t5006048C5368E5A0d228s0"
#/usr/lib/vxvm/bin/vxeeprom devlias
vx-newdisk /pci@1c,600000/scsi@2/disk@2,0:a
vx-rootdisk/pci@1c,600000/scsi@2/disk@0,0:a
vx-emc0_032d/pci@1e,600000/SUNW,jfca@2/fp@0,0/disk@w5006048c5368e580,d2:a
emc/pci@1e,600000/SUNW,jfca@2/fp@0,0/disk@w5006048c5368e5a0,e4:a
# ls-al /dev/dsk/c1t5006048C5368E5A0d228s0
lrwxrwxrwx 1root root 73 May 28 2009/dev/dsk/c1t5006048C5368E5A0d228s0 ->../../devices/pci@1e,600000/SUNW,jfca@2/fp@0,0/ssd@w5006048c5368e5a0,e4:a
#reboot -- emc
VxVM sysboot INFOV-5-2-3409 starting in boot mode...
NOTICE: VxVM vxdmp V-5-0-34 added diskarray DISKS, datype = Disk
NOTICE: VxVM vxdmp V-5-0-34 added disk arrayCK200053300424, datype = EMC_CLARiiON
NOTICE: VxVM vxdmp V-5-0-34 addeddisk array 000290300822, datype = EMC
.
VxVM sysboot INFOV-5-2-3390 Starting restore daemon...
The / file system(/dev/rdsk/c1t5006048C5368E580d210s0) is being checked.
Mar 22 17:33:12svc.startd[7]: svc:/system/sysevent:default: Method"/lib/svc/method/svc-syseventd start" failed with exit status 95.
NIS domain name is uklab.veritas.com
Mar 22 17:33:12 svc.startd[7]:system/sysevent:default failed fatally: transitioned to maintenance (see 'svcs-xv' for details)
Mar 22 17:33:12 vxvm:vxnetd: VxVM VVR vxnetd V-5-0-0Setting family to 26
Requesting System Maintenance Mode
(See/lib/svc/share/README for more information.)
Console login service(s) cannotrun
Root password for system maintenance (control-d tobypass):
# df-k
Filesystem kbytes used avail capacity Mountedon
/pci@1e,600000/SUNW,jfca@2/fp@0,0/disk@w5006048c5368e5a0,e4:a
25821143 207957624767170 82% /
/devices 0 0 0 0% /devices
ctfs 0 0 0 0% /system/contract
proc 0 0 0 0% /proc
mnttab 0 0 0 0% /etc/mnttab
swap 4352528 1536 4350992 1% /etc/svc/volatile
objfs 0 0 0 0% /system/object
sharefs 0 0 0 0% /etc/dfs/sharetab
/platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1
25821143 207957624767170 82% /platform/sun4u-us3/lib/libc_psr.so.1
/platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1
25821143 207957624767170 82% /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1
fd 0 0 0 0% /dev/fd
swap 4350992 0 4350992 0% /tmp
swap 4350992 0 4350992 0% /var/run
Note: The /etc/vfstab still refers to"c1t5006048C5368E580d210s0"
# more/etc/vfstab
#device device mount FS fsck mount mount
#tomount to fsck point type pass atboot options
#
fd - /dev/fdfd - no -
/proc - /proc proc - no -
/dev/dsk/c1t5006048C5368E580d210s1 - - swap - no -
/dev/dsk/c1t5006048C5368E580d210s0 /dev/rdsk/c1t5006048C5368E580d210s0 / ufs 1 no -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
The user would then need to boot from the respective device path for the native device entry contained within the /etc/vfstab
Workaround:
=====================================
Create multiple versions of the /etc/vfstab file referring to the respective device bootable paths.
If a given path then becomes unavailable, simply copy the respective vfstab.* fileover the current /etc/vfstab file and boot from the respective devalias for that given path.
Examples
====================================
# more/etc/vfstab*
::::::::::::::
/etc/vfstab
::::::::::::::
#device device mount FS fsck mount mount
#tomount to fsck point type pass atboot options
#
fd - /dev/fdfd - no -
/proc - /proc proc - no -
/dev/dsk/c1t5006048C5368E5A0d228s1 - - swap - no -
/dev/dsk/c1t5006048C5368E5A0d228s0 /dev/rdsk/c1t5006048C5368E5A0d228s0 / ufs 1 no -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
::::::::::::::
/etc/vfstab.d210
::::::::::::::
#device device mount FS fsck mount mount
#tomount to fsck point type pass atboot options
#
fd - /dev/fdfd - no -
/proc - /proc proc - no -
/dev/dsk/c1t5006048C5368E580d210s1 - - swap - no -
/dev/dsk/c1t5006048C5368E580d210s0 /dev/rdsk/c1t5006048C5368E580d210s0 / ufs 1 no -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
::::::::::::::
/etc/vfstab.d228
::::::::::::::
#device device mount FS fsck mount mount
#tomount to fsck point type pass atboot options
#
fd - /dev/fdfd - no -
/proc - /proc proc - no -
/dev/dsk/c1t5006048C5368E5A0d228s1 - - swap - no -
/dev/dsk/c1t5006048C5368E5A0d228s0 /dev/rdsk/c1t5006048C5368E5A0d228s0 / ufs 1 no -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
::::::::::::::
/etc/vfstab.prevm
::::::::::::::
#device device mount FS fsck mount mount
#tomount to fsck point type pass atboot options
#
fd - /dev/fdfd - no -
/proc - /proc proc - no -
/dev/dsk/c1t5006048C5368E580d210s1 - - swap - no -
/dev/dsk/c1t5006048C5368E580d210s0 /dev/rdsk/c1t5006048C5368E580d210s0 / ufs 1 no -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -