Solaris format command fails with Warning: error setting drive geometry.Warning: error writing VTOC.Label failed.

           

   Article Number:     485772                                   Article Version: 6     Article Type:    Break Fix 
   

 


Product:

 

PowerPath for Solaris

 

Issue:

 

 

environment : Solaris 10 or Solaris 11   
    EMC SW : PowerPath for Solaris (any release)   
   
    # format emcpower0a       
        No disks found!       
        # format       
        ...       
        Specify disk (enter its number): 165       
        selecting c1t500009792318B960d42       
        [disk formatted]       
        format> p       
        partition> label       
        Ready to label disk, continue? y       
       
        Warning: error setting drive geometry.       
        Warning: error writing VTOC.       
        Label failed.       
        partition>
   
     
                                                           

 

 

Cause:

 

 

The device is missing entries in /devices/pseudo   
   
    All the entries in /dev/dsk and /dev/rdsk are correct ... but are pointing nowhere:   
   
        294998    2 lrwxrwxrwx   1 root     root          34 Jun 26 12:55 emcpower0 -> ../../devices/pseudo/emcp@0:wd,blk       
            294997    2 lrwxrwxrwx   1 root     root          33 Jun 26 12:55 emcpower0a -> ../../devices/pseudo/emcp@0:a,blk       
            291378    2 lrwxrwxrwx   1 root     root          33 Jun 26 12:55 emcpower0b -> ../../devices/pseudo/emcp@0:b,blk       
            289256    2 lrwxrwxrwx   1 root     root          33 Jun 26 12:55 emcpower0c -> ../../devices/pseudo/emcp@0:c,blk       
            295005    2 lrwxrwxrwx   1 root     root          33 Jun 26 12:55 emcpower0d -> ../../devices/pseudo/emcp@0:d,blk       
            289257    2 lrwxrwxrwx   1 root     root          33 Jun 26 12:55 emcpower0e -> ../../devices/pseudo/emcp@0:e,blk       
            289258    2 lrwxrwxrwx   1 root     root          33 Jun 26 12:55 emcpower0f -> ../../devices/pseudo/emcp@0:f,blk       
            289259    2 lrwxrwxrwx   1 root     root          33 Jun 26 12:55 emcpower0g -> ../../devices/pseudo/emcp@0:g,blk
   
   
    no emcp@0 entry in /devices/pseudo.
                                                           

 

 

Change:

 

 

devices were reconfigured using the same host lun devices without cleaning up PowerPath after unmasking the previous devices. Later, the dead paths were removed with a "powermt check".   
   
    or devices were added to the configuration and a panic later occurred, leaving the boot archive inconsistent.
                                                           

 

 

Resolution:

 

 

The entry in /devices/pseudo need to be recreated. If the 1st method fails, the second method should succeed. In the worst-case scenario,  the last one should succeed.   
   
    1) try to recreate the emcp entries in /devices/pseudo using the "devfsadm -i emcp" command   
    # devfsadm -i emcp     
      # ls /devices/pseudo/emcp@0
    (check that the entries now exist - note that emcp@0 is for emcpower0; for emcpowerXX, look for emcp@XX)   
    # bootadm update-archive    (to consolidate the configuration change in the boot information)    
   
    2) The previous command might be unsuccessful in creating the new entries in /devices. The command below is based on the fact that, when a successful "emcpadm renamepseudo" command is run, all the entries in /devices are rebuilt. This is a side-effect of this command which will be very useful to fix the issue here.   
    Pick-up an unused pseudo device (not currently mounted and part of a filesystem)  which is not having any issue (which is showing up in format and for which entries exist under /devices). Let's say this good pseudo-device is emcpower7. And let's assume that there is no emcpower1007 in the configuration so that emcpower1007 is a possible new name. Run :   
    # emcpadm renamepseudo -s 7 -t 1007       
        # emcpadm renamepseudo -s 1007 -t 7       
        # powermt save       
        # bootadm update-archive
   
   
    It is important to use a "good" pseudo device .... and not the pseudo device which has no entry in /devices otherwise the command will fail (see paragraph 4 below) and will not fix the /devices entries.   
    With the above commands, after the first one, the issue should already be fixed. The second rename is just there to get the original pseudoname back. The last 2 commands are there to consolidate the change.   
   
    3) try to unmanage / manage the problematic device (this will probably fail)   
    # powermt unmanage dev=emcpower0a     
      ERROR: Unmanage failed
   
   
    4) try to rename the problematic pseudo device  (this will probably fail)   
    # emcpadm renamepseudo -s 0 -t 1000     
      <ERROR: can not rename device. emcpower0 does not exist>
    
   
    5) completely reconfigure the problematic device   
    # powermt remove dev=0     
      # powermt save
   
    >> unmask the device from the Storage Group   
    # devfsadm -C (to remove the entries in /dev/dsk and /dev/rdsk for the native paths)   
    # rm /dev/dsk/emcpower0*     
      # rm /dev/rdsk/emcpower0*
   
    >> mask the device back into the Storage Group   
    # devfsadm (to recreate the entries for the native paths)   
    # powermt config (to reconfigure Powerpath)   
    # powermt display dev=all (check that the pseudo device was reconfigured)   
    # powermt save     
      # ls /devices/pseudo/emcp@0
    (check that the entries now exist - note that emcp@0 is for emcpower0; for emcpowerXX, look for emcp@XX)   
    # bootadm update-archive    (to consolidate the configuration change in the boot information)