Message ID | 20210326030839.15452-1-xose.vazquez@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | christophe varoqui |
Headers | show |
Series | multipath-tools: convert back HUAWEI/XSG1 to multibus | expand |
On Fri, 2021-03-26 at 04:08 +0100, Xose Vazquez Perez wrote: > This reverts commit ad206af1716437e84bbd81de6c4da7961d9a41d2 > > Recommended configs are, info from: > - RHEL > https://download.huawei.com/edownload/e/download.do?actionFlag=download&nid=EDOC1100113070&partNo=6001&mid=SUPE_DOC&_t=1612885511000 > - SLES > https://download.huawei.com/edownload/e/download.do?actionFlag=download&nid=EDOC1100117892&partNo=6001&mid=SUPE_DOC&_t=1612885538000 > > - without HyperMetro: > vendor "HUAWEI" > product "XSG1" > path_grouping_policy multibus > no_path_retry 15 > > - with HyperMetro: > vendor "HUAWEI" > product "XSG1" > path_grouping_policy group_by_prio > prio alua > failback immediate > no_path_retry 15 > > ALUA is only used with HyperMetro(cluster of two arrays). > > Cc: Zhouweigang (Jack) <zhouweigang09@huawei.com> > Cc: Zou Ming <zouming.zouming@huawei.com> > Cc: Benjamin Marzinski <bmarzins@redhat.com> > Cc: Martin Wilck <mwilck@suse.com> > Cc: Christophe Varoqui <christophe.varoqui@opensvc.com> > Cc: DM-DEVEL ML <dm-devel@redhat.com> > Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com> Forgive me if I'm missing something here, but what is this good for? multipathd detects ALUA support by default. 1 if the device doesn't support ALUA, it falls back to "const" anyway, in which case "group_by_prio" degenerates to "multibus" - which is exactly what this patch does; 2 if the device supports ALUA, but returns the same ALUA state for all ports, again "group_by_prio" degenerates to "multibus"; 3 if the device supports ALUA and returns different states for different ports, "group_by_prio" is the best bet anyway. So why not just use "group_by_prio"? Martin -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel
On 3/26/21 6:24 PM, Martin Wilck wrote: > Forgive me if I'm missing something here, but what is this good for? > multipathd detects ALUA support by default. > > 1 if the device doesn't support ALUA, it falls back to "const" anyway, > in which case "group_by_prio" degenerates to "multibus" - which is > exactly what this patch does; > 2 if the device supports ALUA, but returns the same ALUA state for > all ports, again "group_by_prio" degenerates to "multibus"; > 3 if the device supports ALUA and returns different states for > different ports, "group_by_prio" is the best bet anyway. > > So why not just use "group_by_prio"? You are right, but: 1.- It's the official vendor recommendation, and people trust it blindly above the multipath-tools setting. Sad but true. So it's going to be manually replaced by the vendor's config. 2.- It generates an awful warning: [This is SLES 12SP5 with 4.12.14-122.54-default on x86_64 and multipath-tools-0.7.9+195+suse.16740c5-3.6.1.x86_64] # multipath -ll Mar 26 18:34:46 | sdi: prio = const (setting: emergency fallback - alua failed) Mar 26 18:34:46 | sdj: prio = const (setting: emergency fallback - alua failed) Mar 26 18:34:46 | sdk: prio = const (setting: emergency fallback - alua failed) Mar 26 18:34:46 | sdl: prio = const (setting: emergency fallback - alua failed) 36a35324100e5x5d408d0526600000001 dm-1 HUAWEI,XSG1 size=10G features='0' hwhandler='0' wp=rw `-+- policy='service-time 0' prio=1 status=enabled |- 0:0:4:1 sdi 8:128 active ready running |- 0:0:5:1 sdj 8:144 active ready running |- 1:0:4:1 sdk 8:160 active ready running `- 1:0:5:1 sdl 8:176 active ready running No nice, mainly for people without knowledge of mpt internals. 3.- The LUN is blacklisted by Fedora and derivatives(RHEL,CentOS,Oracle,...) And the installation program is unable to see it, this involves manual intervention. See page 76 of the OceanStor RHEL Guide. -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel
On Fri, 2021-03-26 at 19:10 +0100, Xose Vazquez Perez wrote: > On 3/26/21 6:24 PM, Martin Wilck wrote: > > > Forgive me if I'm missing something here, but what is this good > > for? > > multipathd detects ALUA support by default. > > > > 1 if the device doesn't support ALUA, it falls back to "const" > > anyway, > > in which case "group_by_prio" degenerates to "multibus" - which > > is > > exactly what this patch does; > > 2 if the device supports ALUA, but returns the same ALUA state > > for > > all ports, again "group_by_prio" degenerates to "multibus"; > > 3 if the device supports ALUA and returns different states for > > different ports, "group_by_prio" is the best bet anyway. > > > > So why not just use "group_by_prio"? > You are right, but: > > 1.- It's the official vendor recommendation, and people trust it > blindly > above the multipath-tools setting. Sad but true. > So it's going to be manually replaced by the vendor's config. Some users are like that, sure. But if that was generally true, we wouldn't need to adapt our defaults, because everyone would copy the configs from the vendor manuals. > 2.- It generates an awful warning: > > [This is SLES 12SP5 with 4.12.14-122.54-default on x86_64 > and multipath-tools-0.7.9+195+suse.16740c5-3.6.1.x86_64] > > # multipath -ll > > Mar 26 18:34:46 | sdi: prio = const (setting: emergency fallback - > alua failed) > Mar 26 18:34:46 | sdj: prio = const (setting: emergency fallback - > alua failed) > Mar 26 18:34:46 | sdk: prio = const (setting: emergency fallback - > alua failed) > Mar 26 18:34:46 | sdl: prio = const (setting: emergency fallback - > alua failed) > 36a35324100e5x5d408d0526600000001 dm-1 HUAWEI,XSG1 > size=10G features='0' hwhandler='0' wp=rw > `-+- policy='service-time 0' prio=1 status=enabled > |- 0:0:4:1 sdi 8:128 active ready running > |- 0:0:5:1 sdj 8:144 active ready running > |- 1:0:4:1 sdk 8:160 active ready running > `- 1:0:5:1 sdl 8:176 active ready running > > No nice, mainly for people without knowledge of mpt internals. The problem is that the prioritizer was explicitly set to "alua". Therefore multipathd warns, because the configured setting couldn't be applied. We could just drop that line, alua would still be selected by the autodetection if it was supported, and the message wouldn't be printed any more otherwise. Setting "multibus" explicitly isn't necessary. Can we agree on that? > > 3.- The LUN is blacklisted by Fedora and > derivatives(RHEL,CentOS,Oracle,...) > And the installation program is unable to see it, this involves > manual intervention. > See page 76 of the OceanStor RHEL Guide. > That would be for Ben to fix ;-) Regards Martin -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel
On 3/26/21 8:55 PM, Martin Wilck wrote: > On Fri, 2021-03-26 at 19:10 +0100, Xose Vazquez Perez wrote: >> 1.- It's the official vendor recommendation, and people trust it >> blindly >> above the multipath-tools setting. Sad but true. >> So it's going to be manually replaced by the vendor's config. > > Some users are like that, sure. But if that was generally true, we > wouldn't need to adapt our defaults, because everyone would copy the > configs from the vendor manuals. I would like that HUAWEI guys fix their docs. Or much better, make their arrays always work in ALUA mode. I do not see what the problem is. Other vendors do this with A/A arrays. >> 2.- It generates an awful warning: >> >> [This is SLES 12SP5 with 4.12.14-122.54-default on x86_64 >> and multipath-tools-0.7.9+195+suse.16740c5-3.6.1.x86_64] >> >> # multipath -ll >> >> Mar 26 18:34:46 | sdi: prio = const (setting: emergency fallback - >> alua failed) >> Mar 26 18:34:46 | sdj: prio = const (setting: emergency fallback - >> alua failed) >> Mar 26 18:34:46 | sdk: prio = const (setting: emergency fallback - >> alua failed) >> Mar 26 18:34:46 | sdl: prio = const (setting: emergency fallback - >> alua failed) >> 36a35324100e5x5d408d0526600000001 dm-1 HUAWEI,XSG1 >> size=10G features='0' hwhandler='0' wp=rw >> `-+- policy='service-time 0' prio=1 status=enabled >> |- 0:0:4:1 sdi 8:128 active ready running >> |- 0:0:5:1 sdj 8:144 active ready running >> |- 1:0:4:1 sdk 8:160 active ready running >> `- 1:0:5:1 sdl 8:176 active ready running >> >> No nice, mainly for people without knowledge of mpt internals. > > The problem is that the prioritizer was explicitly set to "alua". > Therefore multipathd warns, because the configured setting couldn't be > applied. We could just drop that line, alua would still be selected by > the autodetection if it was supported, and the message wouldn't be > printed any more otherwise. Setting "multibus" explicitly isn't > necessary. > > Can we agree on that? Something like the patch below? It's a frankenstein config, and ALUA should only work for kernels >= 4.3 ------ From 47c505f853b37c38d847b411fc7ba763c61ad87b Mon Sep 17 00:00:00 2001 From: Xose Vazquez Perez <xose.vazquez@gmail.com> Date: Sat, 27 Mar 2021 00:13:57 +0100 Subject: [PATCH] multipath-tools: make HUAWEI/XSG1 config work with alua and multibus X-Patchwork-Bot: notify And add recommended no_path_retry and pgfailback values. Info from: - RHEL https://download.huawei.com/edownload/e/download.do?actionFlag=download&nid=EDOC1100113070&partNo=6001&mid=SUPE_DOC&_t=1612885511000 - SLES https://download.huawei.com/edownload/e/download.do?actionFlag=download&nid=EDOC1100117892&partNo=6001&mid=SUPE_DOC&_t=1612885538000 - without HyperMetro: vendor "HUAWEI" product "XSG1" path_grouping_policy multibus no_path_retry 15 - with HyperMetro: vendor "HUAWEI" product "XSG1" path_grouping_policy group_by_prio prio alua failback immediate no_path_retry 15 ALUA is only used with HyperMetro(cluster of two arrays). Suggested-by: Martin Wilck <mwilck@suse.com> Cc: Zhouweigang (Jack) <zhouweigang09@huawei.com> Cc: Zou Ming <zouming.zouming@huawei.com> Cc: Benjamin Marzinski <bmarzins@redhat.com> Cc: Martin Wilck <mwilck@suse.com> Cc: Christophe Varoqui <christophe.varoqui@opensvc.com> Cc: DM-DEVEL ML <dm-devel@redhat.com> Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com> --- libmultipath/hwtable.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c index 58fa7387..f09af30e 100644 --- a/libmultipath/hwtable.c +++ b/libmultipath/hwtable.c @@ -1082,7 +1082,8 @@ static struct hwentry default_hw[] = { .vendor = "HUAWEI", .product = "XSG1", .pgpolicy = GROUP_BY_PRIO, - .prio_name = PRIO_ALUA, + .pgfailback = -FAILBACK_IMMEDIATE, + .no_path_retry = 15, }, /* * Kove
On Sat, 2021-03-27 at 00:50 +0100, Xose Vazquez Perez wrote: > On 3/26/21 8:55 PM, Martin Wilck wrote: > > > On Fri, 2021-03-26 at 19:10 +0100, Xose Vazquez Perez wrote: > > > > 1.- It's the official vendor recommendation, and people trust it > > > blindly > > > above the multipath-tools setting. Sad but true. > > > So it's going to be manually replaced by the vendor's > > > config. > > > > Some users are like that, sure. But if that was generally true, we > > wouldn't need to adapt our defaults, because everyone would copy > > the > > configs from the vendor manuals. > > I would like that HUAWEI guys fix their docs. Or much better, > make their arrays always work in ALUA mode. I do not see what the > problem is. Other vendors do this with A/A arrays. > > > > 2.- It generates an awful warning: > > > > > > [This is SLES 12SP5 with 4.12.14-122.54-default on x86_64 > > > and multipath-tools-0.7.9+195+suse.16740c5-3.6.1.x86_64] > > > > > > # multipath -ll > > > > > > Mar 26 18:34:46 | sdi: prio = const (setting: emergency fallback > > > - > > > alua failed) > > > Mar 26 18:34:46 | sdj: prio = const (setting: emergency fallback > > > - > > > alua failed) > > > Mar 26 18:34:46 | sdk: prio = const (setting: emergency fallback > > > - > > > alua failed) > > > Mar 26 18:34:46 | sdl: prio = const (setting: emergency fallback > > > - > > > alua failed) > > > 36a35324100e5x5d408d0526600000001 dm-1 HUAWEI,XSG1 > > > size=10G features='0' hwhandler='0' wp=rw > > > `-+- policy='service-time 0' prio=1 status=enabled > > > |- 0:0:4:1 sdi 8:128 active ready running > > > |- 0:0:5:1 sdj 8:144 active ready running > > > |- 1:0:4:1 sdk 8:160 active ready running > > > `- 1:0:5:1 sdl 8:176 active ready running > > > > > > No nice, mainly for people without knowledge of mpt > > > internals. > > > > The problem is that the prioritizer was explicitly set to "alua". > > Therefore multipathd warns, because the configured setting couldn't > > be > > applied. We could just drop that line, alua would still be selected > > by > > the autodetection if it was supported, and the message wouldn't be > > printed any more otherwise. Setting "multibus" explicitly isn't > > necessary. > > > > Can we agree on that? > > Something like the patch below? > It's a frankenstein config, and ALUA should only work for kernels >= > 4.3 Yes. That's good enough IMO. People running older kernels can use the explicit config (and likely have been doing so anyway). Add a comment explaining the "hypermetro" dependency, perhaps. Martin > > ------ > From 47c505f853b37c38d847b411fc7ba763c61ad87b Mon Sep 17 00:00:00 > 2001 > From: Xose Vazquez Perez <xose.vazquez@gmail.com> > Date: Sat, 27 Mar 2021 00:13:57 +0100 > Subject: [PATCH] multipath-tools: make HUAWEI/XSG1 config work with > alua and multibus > X-Patchwork-Bot: notify > > And add recommended no_path_retry and pgfailback values. > > Info from: > - RHEL > https://download.huawei.com/edownload/e/download.do?actionFlag=download&nid=EDOC1100113070&partNo=6001&mid=SUPE_DOC&_t=1612885511000 > - SLES > https://download.huawei.com/edownload/e/download.do?actionFlag=download&nid=EDOC1100117892&partNo=6001&mid=SUPE_DOC&_t=1612885538000 > > - without HyperMetro: > vendor "HUAWEI" > product "XSG1" > path_grouping_policy multibus > no_path_retry 15 > > - with HyperMetro: > vendor "HUAWEI" > product "XSG1" > path_grouping_policy group_by_prio > prio alua > failback immediate > no_path_retry 15 > > ALUA is only used with HyperMetro(cluster of two arrays). > > Suggested-by: Martin Wilck <mwilck@suse.com> > Cc: Zhouweigang (Jack) <zhouweigang09@huawei.com> > Cc: Zou Ming <zouming.zouming@huawei.com> > Cc: Benjamin Marzinski <bmarzins@redhat.com> > Cc: Martin Wilck <mwilck@suse.com> > Cc: Christophe Varoqui <christophe.varoqui@opensvc.com> > Cc: DM-DEVEL ML <dm-devel@redhat.com> > Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com> > --- > libmultipath/hwtable.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c > index 58fa7387..f09af30e 100644 > --- a/libmultipath/hwtable.c > +++ b/libmultipath/hwtable.c > @@ -1082,7 +1082,8 @@ static struct hwentry default_hw[] = { > .vendor = "HUAWEI", > .product = "XSG1", > .pgpolicy = GROUP_BY_PRIO, > - .prio_name = PRIO_ALUA, > + .pgfailback = -FAILBACK_IMMEDIATE, > + .no_path_retry = 15, > }, > /* > * Kove -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel
diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c index 7923abba..cd8ed7ff 100644 --- a/libmultipath/hwtable.c +++ b/libmultipath/hwtable.c @@ -1081,8 +1081,8 @@ static struct hwentry default_hw[] = { /* OceanStor V3 */ .vendor = "HUAWEI", .product = "XSG1", - .pgpolicy = GROUP_BY_PRIO, - .prio_name = PRIO_ALUA, + .pgpolicy = MULTIBUS, + .no_path_retry = 15, }, { /* OceanStor NVMe */
This reverts commit ad206af1716437e84bbd81de6c4da7961d9a41d2 Recommended configs are, info from: - RHEL https://download.huawei.com/edownload/e/download.do?actionFlag=download&nid=EDOC1100113070&partNo=6001&mid=SUPE_DOC&_t=1612885511000 - SLES https://download.huawei.com/edownload/e/download.do?actionFlag=download&nid=EDOC1100117892&partNo=6001&mid=SUPE_DOC&_t=1612885538000 - without HyperMetro: vendor "HUAWEI" product "XSG1" path_grouping_policy multibus no_path_retry 15 - with HyperMetro: vendor "HUAWEI" product "XSG1" path_grouping_policy group_by_prio prio alua failback immediate no_path_retry 15 ALUA is only used with HyperMetro(cluster of two arrays). Cc: Zhouweigang (Jack) <zhouweigang09@huawei.com> Cc: Zou Ming <zouming.zouming@huawei.com> Cc: Benjamin Marzinski <bmarzins@redhat.com> Cc: Martin Wilck <mwilck@suse.com> Cc: Christophe Varoqui <christophe.varoqui@opensvc.com> Cc: DM-DEVEL ML <dm-devel@redhat.com> Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com> --- libmultipath/hwtable.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)