SUN Solaris & Veritas bug
There is bug in Veritas volume manager 3.5 and greater with an encapsulated rootdisk and ufs logging enabled. We enable ufs logging on systems running Solaris 8, and on Solaris 9 it is enabled by default. The error message you see is below as well as a resolution to this problem. Anyone with systems running Solaris 8 or greater needs to verify that logging is either disabled or that the necessary patch for Veritas volume manager is applied. See the sunsolve article for patch numbers and fixes.
ERROR MESSAGE ON THE CONSOLE
00:19:24: WARNING: Error writing ufs log state
00:19:32: WARNING: ufs log for / changed state to Error
00:19:32: WARNING: Please umount(1M) / and run fsck(1M)
00:19:33: WARNING: Error writing master during ufs log roll
00:19:33: WARNING: ufs log for / changed state to Error
00:19:33: WARNING: Please umount(1M) / and run fsck(1M)
00:19:34: Cannot mount root on /pseudo/vxio@0:0 fstype ufs
http://sunsolve.sun.com/search/document.do?assetkey=1-26-57636-1
Example commands to check your server:
grep -i /rootvol /etc/vfstab
pkginfo -l VRTSvxvm | grep VERSION
patchadd -p | grep 112392
If you do not want to apply the patch, you can add nologging to the end of the rootvol and var mount lines in /etc/vfstab like this: (one line with and one without)
/dev/vx/dsk/rootvol /dev/vx/rdsk/rootvol / ufs 1 no nologging
/dev/vx/dsk/var /dev/vx/rdsk/var /var ufs 1 no -
You must reboot for the above to take affect, either way. It may take two reboots for it to actually “take” when going from “nologging” to “-” The first boot creates the metaspace for the log, and the second actually starts logging.
IF you DO get a machine that will not boot because of this, then you can try booting from the oscopy disk and fixing things like this:
In the OBP:
ok setenv auto-boot? false
ok reset-all
(it won’t try to boot since auto-boot is false)
ok boot oscopy -s
vxdisk list
ksh -o vi
mount /dev/dsk/c1t0d0s0 /mnt
cd /mnt
ls -la
cd
umount /mnt
fsck /dev/dsk/c1t0d0s0 /mnt
#IF var also has trouble:
mount /dev/dsk/c1t0d0s5 /mnt/var
cd /mnt/var
umount /mnt/var
mount -o nologging n/dev/dsk/c1t0d0s5 /mnt/var
umount /mnt/var
umount /mnt
You have to keep doing it until all errors are gone. You could try this:
for i in 0 5 6 7
do
fsck -o f -y /dev/rdsk/c1t0d0s${i}
done
SAME
fsck -o f -y /dev/rdsk/c1t0d0s${i}
OVER AND OVER until ALL errors are gone
See if it will work:
mount -o nologging /dev/dsk/c1t0d0s0 /mnt
You must also change the logging status:
cd /mnt/etc
vi vfstab
in vfstab
add nologging to the end of the rootvol and var mount lines
