VxVM vxconfigd ERROR V-5-1-0 Segmentation violation - core dumped
Sample stack trace
# pstack core
core 'core' of 56: vxconfigd -x syslog -m boot
----------------- lwp# 1 / thread# 1 --------------------
001ae948 ddl_change_path_instr (54b250, 40000025, 34b25c, 34b25c, 57dca8, 54b250) + 12c
0019202c ddl_migration_devlist_found (40000005, 4000, fffffffe, fffffffd, 0, 34b25c) + 6d4
0019158c ddl_check_migration_of_devices (550b68, 54fd28, ffbfeb44, 547c30, 47c00, 0) + b8
00191114 ddl_reconfigure_all (47c00, 36e888, 34b25c, 393004, 0, 3955a0) + 390
0016d8c8 ddl_find_devices_in_system (393018, 0, 5c6698, 0, 36e88c, 34b25c) + 43c
0010b14c find_devices_in_system (2, ffbff8f8, 2ef384, 3b253c, 4, 36e800) + 38
0010a5bc mode_set (2, ffbffb44, 11, 0, 2, 3b2568) + 1a8
0015fc6c req_vold_enable (5e1c08, 3ca248, 0, 38f000, 394400, 38f000) + 120
0013390c request_loop (0, 379590, 5e1c08, a8c0, ffffffff, 1526b) + b38
000ff61c main (0, 36d000, ffffffff, 3, ffbffe44, 0) + fc0
00041ca8 _start (0, 0, 0, 0, 0, 0) + 108
Server: systemA
Once a mismatch of FailoverMode settings has been defined using the required EMC storage related interface, the vxconfigd death should occur as follows:
At this time, the vxdmpadm CLI interface is not capable of reporting an ARRAY_TYPE difference, even when there is a array setting discrepancy.
# vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT
=======================================================================================
disk Disk DISKS CONNECTED Disk 1
emc_clariion0 EMC_CLARiiON CK200053300424 CONNECTED CLR-A/P 5
1.] Refresh VxVM and VxDMP following the array setting
# vxdctl enable
VxVM vxdctl ERROR V-5-1-1589 enable failed: Configuration daemon is not accessible
# vxdisk list
VxVM vxdisk ERROR V-5-1-684 IPC failure: Configuration daemon is not accessible
# ls -al core
-rw------- 1 root root 15316463 Dec 31 13:17 core
# file core
core: ELF 32-bit MSB core file SPARC Version 1, from 'vxconfigd'
# pstack core
core 'core' of 56: vxconfigd -x syslog -m boot
----------------- lwp# 1 / thread# 1 --------------------
001ae948 ddl_change_path_instr (54b250, 40000025, 34b25c, 34b25c, 57dca8, 54b250) + 12c
0019202c ddl_migration_devlist_found (40000005, 4000, fffffffe, fffffffd, 0, 34b25c) + 6d4
0019158c ddl_check_migration_of_devices (550b68, 54fd28, ffbfeb44, 547c30, 47c00, 0) + b8
00191114 ddl_reconfigure_all (47c00, 36e888, 34b25c, 393004, 0, 3955a0) + 390
0016d8c8 ddl_find_devices_in_system (393018, 0, 5c6698, 0, 36e88c, 34b25c) + 43c
0010b14c find_devices_in_system (2, ffbff8f8, 2ef384, 3b253c, 4, 36e800) + 38
0010a5bc mode_set (2, ffbffb44, 11, 0, 2, 3b2568) + 1a8
0015fc6c req_vold_enable (5e1c08, 3ca248, 0, 38f000, 394400, 38f000) + 120
0013390c request_loop (0, 379590, 5e1c08, a8c0, ffffffff, 1526b) + b38
000ff61c main (0, 36d000, ffffffff, 3, ffbffe44, 0) + fc0
00041ca8 _start (0, 0, 0, 0, 0, 0) + 108
2.] Server is rebooted:
# vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT
=======================================================================================
disk Disk DISKS CONNECTED Disk 1
emc_clariion0 EMC_CLARiiON CK200053300424 CONNECTED CLR-A/P 5
# vxdctl enable
VxVM vxdctl ERROR V-5-1-1589 enable failed: Configuration daemon is not accessible
# vxdisk list
VxVM vxdisk ERROR V-5-1-684 IPC failure: Configuration daemon is not accessible
# ls -al core
-rw------- 1 root root 15316463 Dec 31 13:17 core
# file core
core: ELF 32-bit MSB core file SPARC Version 1, from 'vxconfigd'
# pstack core
core 'core' of 56: vxconfigd -x syslog -m boot
----------------- lwp# 1 / thread# 1 --------------------
001ae948 ddl_change_path_instr (54b250, 40000025, 34b25c, 34b25c, 57dca8, 54b250) + 12c
0019202c ddl_migration_devlist_found (40000005, 4000, fffffffe, fffffffd, 0, 34b25c) + 6d4
0019158c ddl_check_migration_of_devices (550b68, 54fd28, ffbfeb44, 547c30, 47c00, 0) + b8
00191114 ddl_reconfigure_all (47c00, 36e888, 34b25c, 393004, 0, 3955a0) + 390
0016d8c8 ddl_find_devices_in_system (393018, 0, 5c6698, 0, 36e88c, 34b25c) + 43c
0010b14c find_devices_in_system (2, ffbff8f8, 2ef384, 3b253c, 4, 36e800) + 38
0010a5bc mode_set (2, ffbffb44, 11, 0, 2, 3b2568) + 1a8
0015fc6c req_vold_enable (5e1c08, 3ca248, 0, 38f000, 394400, 38f000) + 120
0013390c request_loop (0, 379590, 5e1c08, a8c0, ffffffff, 1526b) + b38
000ff61c main (0, 36d000, ffffffff, 3, ffbffe44, 0) + fc0
00041ca8 _start (0, 0, 0, 0, 0, 0) + 108
How to troubleshoot the issue and report the report the enclosure attribute discrepancy
# vxconfigd -x 9 -x log -x logfile=/var/tmp/vold9.log
# grep -i enclosure vold9.log
12/31 13:56:13: VxVM vxconfigd DEBUG V-5-1-14472 Done with enclosure set_property
12/31 13:56:13: VxVM vxconfigd DEBUG V-5-1-14471 Done with enclosure set_asso
12/31 13:56:13: VxVM vxconfigd DEBUG V-5-1-14121 make_devinfo_list: Adding EMC_CLARiiON (CK200053300424) as first enclosure
12/31 13:56:17: VxVM vxconfigd DEBUG V-5-1-14472 Done with enclosure set_property
12/31 13:56:17: VxVM vxconfigd DEBUG V-5-1-14471 Done with enclosure set_asso
12/31 13:56:33: VxVM vxconfigd DEBUG V-5-1-14472 Done with enclosure set_property
12/31 13:56:33: VxVM vxconfigd DEBUG V-5-1-14471 Done with enclosure set_asso
12/31 13:56:33: VxVM vxconfigd DEBUG V-5-1-14475 Enclosure is CK200053300424:0:DGC:CLR-A/PF:EMC_CLARiiON:1024
12/31 13:56:34: VxVM vxconfigd DEBUG V-5-1-14475 Enclosure is DISKS:0:SEAGATE:Disk:Disk:1026
12/31 13:56:34: VxVM vxconfigd DEBUG V-5-1-14475 Enclosure is CK200053300424:0:DGC:CLR-A/P:EMC_CLARiiON:1024
12/31 13:56:35: VxVM vxconfigd DEBUG V-5-1-14475 Enclosure is DISKS:3:SEAGATE:Disk:Disk:2
12/31 13:56:35: VxVM vxconfigd DEBUG V-5-1-14475 Enclosure is CK200053300424:52:DGC:CLR-A/P:EMC_CLARiiON:0
12/31 13:56:36: VxVM vxconfigd DEBUG V-5-1-14475 Enclosure is CK200053300424:52:DGC:CLR-A/PF:EMC_CLARiiON:0
Summary:
When the DGC (EMC CLARiiON) FailoverMode is set to “1”, the EMC CLARiiON enclosure ARRAY_TYPE will be reported as "CLR-A/PF".
When the DGC (EMC CLARiiON) FailoverMode is set to “2”, the EMC CLARiiON enclosure ARRAY_TYPE will be reported as "CLR-A/P".
As shown above the EMC CLARiiON "ENCLR_SNO" CK200053300424 is shown as CLR-A/PF and CLR-A/P.
Active/Passive (A/P)
Array supported in Active/Passive mode
Active/Passive arrays in auto-trespass mode support I/O on a single primary (active) path, while the secondary (passive) path is engaged in the event of primary path failure.
Active/Passive-Failover (A/P-F)
Array supported in Active/Passive-Failover(explicit) mode
Active/Passive-Failover arrays in explicit Failover mode support I/O on a single primary (active) path, while the secondary (passive) path is engaged through the use of an explicit command in the event of primary path failure.
At this time, Volume Manager release 5.1 SP1 or earlier is not capable of handling different FailoverMode settings.
Therefore, it is essential that the enclosure array settings are validated prior to the presentation of the EMC CLARiiON storage.
Applies To
Solaris 10 running SF 5.1 with EMC CLARiiON storage connected.
A mismatch of FailoverModes are defined across the EMC CLARiiON array.
How to change the Failover Mode setting for a given hbauid | sp | spport using EMC utility "navicli"
# navicli -h #.#.#.# storagegroup -setpath -gname
The recommended configuration is to have all HBAs on one host mapped to the same storage group.
Set Path to storage group
Warning: Changing configuration options may cause the array to stop functioning
correctly. Failover-related Initiator settings for a single host MUST BE CONSISTENT
for all paths from the host to the storage system. Please verify after reconnect.
Do you wish to continue (y/n)? y
How to confirm the SP port settings have been modified
# navicli -h #.#.#.#port -list -failovermode -gname
Server Name: systemA
SP Port ID: 0
Failover mode: 2
SP Port ID: 0
Failover mode: 2
SP Port ID: 1
Failover mode: 2
SP Port ID: 1
Failover mode: 1 <<<<<<<<<<< different failover mode
Server Name: systemB
SP Port ID: 0
Failover mode: 1
SP Port ID: 0
Failover mode: 1
SP Port ID: 1
Failover mode: 1
SP Port ID: 1
Failover mode: 1