On Wed, Sep 14, 2022 at 02:18:40PM -0500, Mike Christie wrote: > > On 9/12/22 4:45 PM, Dmitry Bogdanov wrote: > >> Remember how ESX used to send a RTPG to one port and expect that it got > >> every group and that the state info was all in sync (basically opposite > >> if what's in the spec now)? > >> > >> The spec and ESX were updated, but I don't know if other OSs did this and > >> if/when everyone was updated. Do you know this info? Are the old ESX versions > >> that worked like that end of life? > > ESXi is kinda a pain. But fortunately it has nothing to do with that > > patch 😄 > > I didn't get why that is. How do you set up a distributed/cluster/HA target? I'm > probably missing that part. > > Software drivers like iscsi I get, but for HW drivers I didn't see how you do it. > > For example, if you have 2 systems/nodes running LIO which each export the same > device via 1 port each where one is active/optimized and the other is standby and you > are using qla2xxx, then on the local node would you create 2 groups: > > [root@ol8n4 alua]# pwd > /sys/kernel/config/target/core/iblock_0/device0/alua > > [root@ol8n4 alua]# ls > default_tg_pt_gp local remote > > Then under the mapped lun: > > [root@ol8n4 lun_0]# pwd > /sys/kernel/config/target/..../tpgt_1/lun/lun_0 > > in the alua_tg_pt_gp file you set that to local. That would then have tg_pt_gp_members > set, but remote would not. > > Before your patch, windows and ESX could do a RTPG to just one port/path and we would > return the default, local and remote groups. We don't want the default group, but we > wanted the local and remote one returned. With your patch we only return the the local > one now. I wasn't sure how that works for drivers like qla2xxx. > > For iscsi, you could just mirror the remote node locally, so you would have a second > tpg: > > [root@ol8n4 lun_0]# pwd > /sys/kernel/config/target/..../tpgt_2/lun/lun_0 > > and in there set alua_tg_pt_gp to remote. Your patch works fine for that because both > groups then have tg_pt_gp_members set so if the OS just does a RTPG to one path/port > you get all the groups. > I use a virtual remote fabric driver to configure wwn/iqn-tpg-lun of remote peers at each local node. In that way 'remote' alua port group will have ports(RTPI) too. That allows RTPG (and other discovery-like commands) report all ports in all port groups in the cluster. I sent it within the RFC patchset: https://patchwork.kernel.org/project/target-devel/patch/20220803162857.27770-36-d.bogdanov@xxxxxxxxx/ BR, Dmitry