首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux多路径:如何配置单个多总线路径组

Linux多路径:如何配置单个多总线路径组
EN

Server Fault用户
提问于 2019-05-16 21:54:19
回答 1查看 2.5K关注 0票数 3

我刚刚升级了一个功能Ubuntu16.04主机到18.04,现在有问题的多路径。

软件包版本:* multipath-tools 0.7.4-2 ubuntu3* open-iscsi 2.0.874-5 ubuntu2.7

我有一个戴尔PowerVault MD3860i,它有四条通往主机的路。在升级之前,multipath -ll如下所示:

代码语言:javascript
复制
backupeng (3600a098000b5efae00000e9a5b9b58f5) dm-2 DELL,MD38xxi
size=8.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 3:0:0:1 sdb 8:16 active ready running
  |- 4:0:0:1 sdc 8:32 active ready running
  |- 5:0:0:1 sdd 8:48 active ready running
  `- 6:0:0:1 sde 8:64 active ready running

现在看起来是这样的:

代码语言:javascript
复制
backupeng (3600a098000b5efae00000e9a5b9b58f5) dm-2 DELL,MD38xxi
size=8.0T features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=14 status=active
| |- 5:0:0:1 sdd 8:48 active ready running
| `- 6:0:0:1 sde 8:64 active ready running
`-+- policy='round-robin 0' prio=9 status=enabled
  |- 3:0:0:1 sdb 8:16 active ready running
  `- 4:0:0:1 sdc 8:32 active ready running

我的/etc/multipath.conf看起来是这样的:

代码语言:javascript
复制
defaults {
    user_friendly_names yes
    path_selector "round-robin 0"
    path_grouping_policy multibus
}

multipaths {
    multipath {
        wwid 3600a098000b5efae00000e9a5b9b58f5
        alias backupeng
    }
}

出于性能原因,我需要将所有路径都放在相同的路径组中,就像以前一样。我的理解是,path_grouping_policy multibus应该这样做。在过去的几个小时里,我尝试重新启动multipath、设置iscsi和多路径从零开始信任主机等等。

我可以粘贴multipathd -k -> show config的全部输出,但我在其中看到的内容与我的multipath.conf文件一致。还有其他我能提供的信息吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2019-05-17 05:46:13

你是否真的测量过它的性能并发现它已经退化了?实际上,您可能会发现它有所改进,尽管差别可能不是很大。

戴尔PowerVault MD3860i似乎是一种主动/被动(也称为非对称,或ALUA)风格的存储系统:它有两个存储控制器,每个磁盘在任何给定的时间都被视为“拥有”其中一个控制器。如果通过当前不“拥有”磁盘的控制器访问磁盘,则会触发所有权切换,这会给磁盘I/O操作增加一些额外的延迟。

因此,最好只使用使用当前拥有正在访问的磁盘的控制器的路径。

您的新multipath -ll输出表明,dm-multipath正在使用rdac协议从存储系统接收ALUA信息。也就是说,存储控制器正在告诉dm-multipath当前应该使用哪些路径。rdac协议是LSI/Engenio/NetApp存储控制器和它们的原始设备制造商使用的一种较旧的协议,它得到了很好的理解。还有其他类似的特定于供应商的协议,SCSI-3 ALUA将成为传递这些信息的新的标准方式,尽管还不是所有的存储系统都使用它。

您将默认的path_grouping_policy设置为multibus,但它很可能被编译为multipath-tools的特定硬件默认值覆盖。(特定的节拍一般:适用的devicemultipath节中的任何设置都将覆盖defaults节中设置的值。)

这些内置的默认设置是与存储设备制造商合作实现的;显然,Ubuntu16.04中的multipath-tools版本还没有为戴尔PowerVault MD3860i提供具体的默认设置,但在Ubuntu18.04中却有。

您可以使用sudo multipath -t查看这些内置默认值。对于存储系统,相关的设置组可能如下所示:

代码语言:javascript
复制
    device {
            vendor "DELL"
            product "(MD34xx|MD38xx)"
            product_blacklist "Universal Xport"
            path_grouping_policy "group_by_prio"
            path_checker "rdac"
            features "2 pg_init_retries 50"
            hardware_handler "1 rdac"
            prio "rdac"
            failback "immediate"
            no_path_retry 30
    }

multibus path_grouping_policy用于真正的active/active存储系统,允许您不受限制地使用任意和所有路径。这些往往是更大,更高层次的存储产品。

您可以在device { ... }中编写自己的multipath.confoverrides { ... }块来覆盖这些设置,但只有在存储供应商提供了特定信息的情况下,或者有测试结果来证明您确实比供应商和dm-multipath开发人员更了解时,才应该在生产中这样做。

票数 5
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/967687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档