how to re-add drivers with add_drv on Solaris (vxio, vxdmp, vxspec, vxportal, vxfen)

book

Article ID: 100005928

calendar_today

Updated On:

Description

Error Message

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

Resolution

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
 

 


Issue/Introduction

When drivers are missing from /etc/name_to_major - they must be re-added with add_drv.