[dm-devel] [PATCH] ALUA support for PURE FlashArray
Brian Bunker
brian at purestorage.com
Thu Sep 12 01:52:56 UTC 2019
Xose,
I just saw this. Sorry for the late response.
I am not sure if the max_sectors_kb is a kernel or udev bug. What I would expect is for the block limits
INQUIRY VPD page, 0xB0, to be used to populate the /sys/block entries for max_sectors_kb. We have
seen Linux distributions that don’t seem to do that but instead populate that entry with 32 MB even though
we return 4 MB as our limit. We add the 4 MB limit in a udev rule that we have created and provide to our
customers. Adding it in multipath.conf will also get us 4 MB for the dm device and its slaves which is what we
want. I don’t know if there is a preferred way but if we use multipath.conf then hopefully no users will ever
have to deal with the higher value that will error out if a SCSI read or write is actually sent larger than
the 4 MB maximum size.
Thanks,
Brian
Brian Bunker
SW Eng
brian at purestorage.com
> On Aug 7, 2019, at 9:05 AM, Xose Vazquez Perez <xose.vazquez at gmail.com> wrote:
>
> On 6/26/19 7:37 PM, Brian Bunker wrote:
>
>> It has been some time since we updated our PURE FlashArray configuration. The
>> Linux vendors that we had been seeing in the field were using very old versions
>> of multipath-tools, so we haven’t needed to change anything for some time. With
>> the release of RHEL8, some of our earlier values have been lost by upstream
>> changes.
>>
>> In addition we have our Active Cluster feature which leverages ALUA since our
>> last patch. The ALUA confguration will work for all FlashArrays with or without
>> Active Cluster.
>>
>> We are changing 3 things.
>>
>> 1. ALUA support
>>
>> 2. Fast fail timeout from the default of 5 seconds to 10 seconds (We need this
>> for our FC NPIV port migration).
>>
>> 3. Maximum sector size of 4MB. Some Linux vendors don’t honor the block limits
>> VPD page of INQUIRY).
>
>
> #3, kernel or udev bug?
>
>
>> diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
>> index 1d964333..37e97f60 100644
>> --- a/libmultipath/hwtable.c
>> +++ b/libmultipath/hwtable.c
>> @@ -1024,7 +1024,12 @@ static struct hwentry default_hw[] = {
>> /* FlashArray */
>> .vendor = "PURE",
>> .product = "FlashArray",
>> - .pgpolicy = MULTIBUS,
>> + .pgpolicy = GROUP_BY_PRIO,
>> + .pgfailback = -FAILBACK_IMMEDIATE,
>> + .hwhandler = "1 alua",
>> + .prio_name = PRIO_ALUA,
>> + .fast_io_fail = 10,
>> + .max_sectors_kb = 4096,
More information about the dm-devel
mailing list