On 09/09/2014 09:35 AM, Robert Wood wrote: > Robert Wood <rwood <at> iss-integration.com> writes: > >> >> One node sets ALUA state to s (Standby), while the other to o >> (Active/Optimized). However,when both nodes are presenting the same >> LUN to Vmware, the TPG is only set to one of the nodes' ID for all >> paths to storage. ALUA state is Standby for all LUNs and there are >> many errors in Vmware host's vmkernel.log, such as: > > So far we found that TPG groups of the same name must be present on both > hosts, even if they have no members. Suspecting that LIO generates some TPG > ID behind the scenes, but this is not documented. As long as all groups with > the same names are present on all hosts, initiator sees correct ALUA states. > Yeah, ESXi requires that it gets the same info from all ports that the LU can be accessed through. This includes group id values and also ALUA states. In your example you had group id 2 showing standby on kio1, but that group did not exist on e1. Also e1 had a group id 1, but kio1 did not. So in your example we would want to see: root@kio1:/sys/kernel/config/target# tcm_node --listtgptgps iblock_4711/p_FCLun_test2 \------> kio1 Target Port Group ID: 0 Active ALUA Access Type(s): Implicit and Explicit Primary Access State: Standby Primary Access Status: Altered by Implicit ALUA Preferred Bit: 0 Active/NonOptimized Delay in milliseconds: 100 Transition Delay in milliseconds: 0 \------> TG Port Group Members qla2xxx/naa.21000024ff4f0dee/tpgt_1/lun_1 qla2xxx/naa.21000024ff4f0def/tpgt_1/lun_1 \------> default_tg_pt_gp Target Port Group ID: 1 Active ALUA Access Type(s): Implicit and Explicit Primary Access State: Active/Optimized Primary Access Status: None Preferred Bit: 0 Active/NonOptimized Delay in milliseconds: 100 Transition Delay in milliseconds: 0 \------> TG Port Group Members No Target Port Group Members root@e1:/var/log# tcm_node --listtgptgps iblock_4711/p_FCLun_test \------> e1 Target Port Group ID: 1 Active ALUA Access Type(s): Implicit and Explicit Primary Access State: Active/Optimized Primary Access Status: None Preferred Bit: 0 Active/NonOptimized Delay in milliseconds: 100 Transition Delay in milliseconds: 0 \------> TG Port Group Members qla2xxx/naa.21000024ff4f0f20/tpgt_1/lun_1 qla2xxx/naa.21000024ff4f0f21/tpgt_1/lun_1 \------> default_tg_pt_gp Target Port Group ID: 0 Active ALUA Access Type(s): Implicit and Explicit Primary Access State: Standby Primary Access Status: None Preferred Bit: 0 Active/NonOptimized Delay in milliseconds: 100 Transition Delay in milliseconds: 0 \------> TG Port Group Members No Target Port Group Members > Working to test failover and wondering if there are any controls over the > described behavior. For failover, how are you handling the alua state changes? In my example above e1 has the active paths. If they went down, ESXi would send a STPG to kio1. We would then need to resync the alua state. It would look something like this where group id 0 goes to active group id 1 goes to standby on both nodes [note the status info might be wrong below but you get the idea with the groups and alua states changing]: root@kio1:/sys/kernel/config/target# tcm_node --listtgptgps iblock_4711/p_FCLun_test2 \------> kio1 Target Port Group ID: 0 Active ALUA Access Type(s): Implicit and Explicit Primary Access State: Active/Optimized Primary Access Status: Altered by Explicit ALUA Preferred Bit: 0 Active/NonOptimized Delay in milliseconds: 100 Transition Delay in milliseconds: 0 \------> TG Port Group Members qla2xxx/naa.21000024ff4f0dee/tpgt_1/lun_1 qla2xxx/naa.21000024ff4f0def/tpgt_1/lun_1 \------> default_tg_pt_gp Target Port Group ID: 1 Active ALUA Access Type(s): Implicit and Explicit Primary Access State: Standby Primary Access Status: None Preferred Bit: 0 Active/NonOptimized Delay in milliseconds: 100 Transition Delay in milliseconds: 0 \------> TG Port Group Members No Target Port Group Members root@e1:/var/log# tcm_node --listtgptgps iblock_4711/p_FCLun_test \------> e1 Target Port Group ID: 1 Active ALUA Access Type(s): Implicit and Explicit Primary Access State: Standby Primary Access Status: None Preferred Bit: 0 Active/NonOptimized Delay in milliseconds: 100 Transition Delay in milliseconds: 0 \------> TG Port Group Members qla2xxx/naa.21000024ff4f0f20/tpgt_1/lun_1 qla2xxx/naa.21000024ff4f0f21/tpgt_1/lun_1 \------> default_tg_pt_gp Target Port Group ID: 0 Active ALUA Access Type(s): Implicit and Explicit Primary Access State: Active/Optimized Primary Access Status: None Preferred Bit: 0 Active/NonOptimized Delay in milliseconds: 100 Transition Delay in milliseconds: 0 \------> TG Port Group Members No Target Port Group Members -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html