Upgrade to SF5.0MP3 from SF5.0 by running installmp successfully however vxdmp driver fails to load in server reboot.
The errors received during the server reboot are:
Rebooting with command: boot
Boot device: rootdisk File and args:
SunOS Release 5.10 Version Generic_138888-08 64-bit
Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Warning: VxVM vxdmp V-5-0-216 mod_install returned 6
Warning: forceload of drv/vxdmp failed
Warning: forceload of drv/vxio failed
Warning: VxVM vxspec V-5-0-0 vxspec: vxio not loaded. Aborting vxspec load
Warning: forceload of drv/vxspec failed
Hostname: lions
VxVM sysboot INFO V-5-2-3409 starting in boot mode...
Jul 15 14:50:48 vxvm:vxconfigd: V-5-1-7840 cannot open /dev/vx/config: No
such file or directory
VxVM sysboot WARNING V-5-0-4817 Error starting vxconfigd
... snip...
The issue is caused by the device drivers for Volume Manager are missing from the /etc/name_to_major file.
To add the missing devices to the /etc/name_to_major file, follow the [procedure below:
1. Perform a failsafe boot this step is optional and available only on Solaris 10.
ok> boot -F failsafe
This boots to a RAM disk but like a CDROM boot does allow access to partitions.
This also works with encapsulated root file systems but any changes made to files on partitions on one side of the VxVM mirrors MUST be done on the other side.
If you are using this failsafe boot - then you must identify the root partition and also the mirror partition.
The process for root mirror is identical just using different devices.
# eeprom | grep boot-device returns
boot-device=vx-rootdisk vx-rootmirror
# eeprom | grep vx
devalias vx-rootdisk /pci@1c,600000/scsi@2/disk@0,0:a
devalias vx-rootmirror /pci@1c,600000/scsi@2/disk@1,0:a
The ok> prompt and eeprom use disk@0,0:a for the device partitions - but Solaris uses sd@0,0:a for the specific slice.
Look for /pci@1c,600000/scsi@2/sd@0,0:a in the following command changing the eeprom string "disk" to "sd"
# ls -l /dev/dsk | grep /pci@1c,600000/scsi@2/sd@0,0:a
lrwxrwxrwx 1 root root 43 Jun 16 10:19 c1t0d0s0 -> ../../devices/pci@1c,600000/scsi@2/sd@0,0:a
So my root partition is actually /dev/dsk/c1t0d0s0.
Mount the root slice to continue. You may have to fsck the slice first. Note - this will be a UFS fsck.
# mount /dev/dsk/c1t0d0s0 /a
This is now known as an failsafe boot.
1. run grep vx /etc/name_to_major to check list vx device drivers in /etc/name_to_major
to check to see if all 4 vx devices are in name_to_major (example output below).
# grep vx /etc/name_to_major or
# grep vx /a/etc/name_to_major if using failsafe boot
vxdmp 74
vxio 75
vxspec 79
vxportal 232
Please note that the 4 required device drivers for Veritas Volume Manager are, vxdmp, vxio, vxspec and vxportal.
Normally for the above errors - only the vxportal module is loaded.
2. to add missing device drivers to name_to_major, run `add_drv -m permission device_driver` command.
example:
# add_drv -m '* 0640 root sys' vxio or
# add_drv -b /a -m '* 0640 root sys' vxio if using failsafe boot
# add_drv -m '* 0640 root sys' vxdmp or
# add_drv -b /a -m '* 0640 root sys' vxdmp if using failsafe boot
# add_drv -m '* 0600 root sys' vxspec or
# add_drv -b /a -m '* 0640 root sys' vxspec if using failsafe boot
Note - when using the failsafe boot there will be a message to reboot to install these drivers.
Please add all drivers BEFORE reconfigure rebooting.
3. Once verified that all the required vx device drivers are added to name_to_major, do a reconfiguration reboot
# grep vx /etc/name_to_major or
# grep vx /a/etc/name_to_major if using failsafe boot
# umount /a if using failsafe boot
# reboot -- -r