vxdisk list shows "online altused" following SAN outage, caused the disk group private region not accessible and unable to import disk group

book

Article ID: 100009471

calendar_today

Updated On:

Description

Error Message

*** vxdisk list output shows online altused:

# vxdisk -o alldgs list
[...]
hds9500-alua0_358 auto:cdsdisk    -            (altdg)      online altused
hds9500-alua0_359 auto:cdsdisk    -            (altdg)      online
#



*** vxconfigd debug log when enabled may show the following errors when running 'vxdisk online' or 'vxdctl enable' commands:

05/05 16:57:50:  VxVM vxconfigd DEBUG  V-5-1-18996 dasup_dg_join: register:
05/05 16:57:50:  VxVM vxconfigd DEBUG  V-5-1-12246 IOCTL completion (thread 49082, ET = 0m0.000s): return 0(0x0)
05/05 16:57:50:  VxVM vxconfigd DEBUG  V-5-1-5785 priv_read_toc_block: bad magic
05/05 16:57:50:  VxVM vxconfigd DEBUG  V-5-1-23406 dasup_dg_join: priv_join failed with 165
05/05 16:57:50:  VxVM vxconfigd DEBUG  V-5-1-6059 thread 49080: running
05/05 16:57:50:  VxVM vxconfigd DEBUG  V-5-1-18996 dasup_dg_join: register:
05/05 16:57:50:  VxVM vxconfigd DEBUG  V-5-1-5310 da_join failed, thread 49082: Format error in disk private region

 

05/05 17:06:40:  VxVM vxconfigd DEBUG  V-5-1-12246 IOCTL completion (thread 65745, ET = 0m0.001s): return 0(0x0)
05/05 17:06:40:  VxVM vxconfigd DEBUG  V-5-1-5793 priv_unformat_header: bad magic
05/05 17:06:40:  VxVM vxconfigd DEBUG  V-5-1-23546 dapriv_refresh_region_info returned error res=3547684
05/05 17:06:40:  VxVM vxconfigd DEBUG  V-5-1-5892 REQUEST FAILURE: client 20455: Disk device is offline

 

Cause

VxVM uses two (primary and alternate) private headers in its private region configuration. As part of private region scanning, VxVM will search and read the disk header. When the 'alternate private header' sequence number is larger than (more up to date) the 'primary private header', the alternate header will be used (“altused” is marked) although the primary header is readable.
 

 A defect  tracked via e1912444 in VxVM versions prior to 5.1SP1 causes alternate private header offset not to be set properly. This will fail when the VxVM reads the alternate header later on causing the “bad magic” issue to be reported causing the private region of the disks inaccessible.
 

Resolution

  • This issue is addressed in VxVM 5.1SP1 and above.
     
  • VxVM 5.1SP1 (and above) successfully imports the diskgroup which has disks marked as altused. The disk will continue to show "altused" flag, but this will clear automatically upon the subsequent DG deport/import. 
     
  • "vxprivutil -D set ... " command (as mentioned below) could be run manually to explicitly clear the altused flag on the disk.|
     


Procedure to explicitly clear the altused flag using vxprivutil command

On systems running VxVM 5.1SP1 or above, the following procedure could be used to explicitly clear the altused flag.

==> altused flag is set on hds9500-alua0_358:

hds9500-alua0_358 auto:cdsdisk - (altdg) online altused
hds9500-alua0_359 auto:cdsdisk - (altdg) online


/etc/vx/diag.d/vxprivutil scan /dev/vx/rdmp/hds9500-alua0_358
diskid:  1368580956.92.ppatil1
group:   name=altdg id=1368580973.94.ppatil1
flags:   private noautoimport cds
hostid:
version: 3.1
iosize:  512
public:  slice=2 offset=65792 len=3006208
private: slice=2 offset=256 len=65536
update:  time: 1368582675  seqno: 0.29
headers: 0 240 altused
configs: count=1 len=48144
logs:    count=1 len=7296
#


==> Setting DG name using vxprivutil:

/etc/vx/diag.d/vxprivutil -D set /dev/vx/rdmp/ dg_name=

For example:

/etc/vx/diag.d/vxprivutil -D set /dev/vx/rdmp/hds9500-alua0_358 dg_name=altdg
#


==> altused flag is cleared:

#  /etc/vx/diag.d/vxprivutil scan /dev/vx/rdmp/hds9500-alua0_358
diskid:  1368580956.92.ppatil1
group:   name=altdg id=1368580973.94.ppatil1
flags:   private noautoimport cds
hostid:
version: 3.1
iosize:  512
public:  slice=2 offset=65792 len=3006208
private: slice=2 offset=256 len=65536
update:  time: 1368582870  seqno: 0.30
headers: 0 240
configs: count=1 len=48144
logs:    count=1 len=7296
#

hds9500-alua0_358 auto:cdsdisk    -            (altdg)      online
hds9500-alua0_359 auto:cdsdisk    -            (altdg)      online


#  vxdg import altdg
#

hds9500-alua0_358 auto:cdsdisk    hds9500-alua0_358  altdg        online
hds9500-alua0_359 auto:cdsdisk    hds9500-alua0_359  altdg        online

 

 

Applies To

This issue is applicable to any UNIX/Linux systems running Veritas Volume Manager (VxVM) prior to 5.1SP1.

Issue/Introduction

vxdisk list shows "online altused" following SAN outage. After a power loss or reconfiguration of a multi pathed disk arrays, it is possible that the primary and alternate private region headers can go out of sync and may cause vxdisk list to show "online altused". After that, the private region of disks won't be accessible, causing the import of the disk groups to fail.

Additional Information

ETrack: 1912444