我知道一个工具kpartx可以用来configuration系统上的多path。 但是CONFIG_DM_MULTIPATH内核模块是做什么的? 我的系统没有编译这个模块,看来kpartx工具工作得很好。 看来他们没有关系,对吗?
CONFIG_DM_MULTIPATH不是内核模块的名称; 它是启用dm_multipath驱动程序的内核configuration选项的名称,该驱动程序又启用块设备的多pathI / dm_multipath “多pathI / O”意味着可以通过多个通信通道访问单个设备(例如“磁盘”) – 例如,通过一对光纤通道链路连接的存储arrays。 没有多path驱动程序,每个链接看起来像一个单独的设备,这可能导致混淆。 多path驱动程序可以将这两个链路作为单个设备呈现,并且在一个path发生故障时负责select替代path。
这个来自RedHat的文档很好的讨论了Linux下的多path支持。
你是正确的,这与kpartx几乎没有关系。
kpartx只是为多分区存储单元上的分区创build“ 多path ”设备条目的组件。
假设你用一个分区插入双path光纤通道磁盘: udev发现磁盘,“基本”内核为磁盘的每个path(例如/dev/sdx和/dev/sdy )分配两个不同的设备,随后,一个分区将显示为/dev/sdx1和/dev/sdy1 。
现在, kpartx进入游戏并创build一个/dev/mapper/<ID of the new disk>p1设备的/dev/mapper/<ID of the new disk>p1 (有时也显示为-part1 )。
这个特殊的分区条目是你应该使用你的应用程序(而不是dev / sd [xy] 1 entries). That makes sure you access the underlying partition via the multipath module's *combined* device entries). That makes sure you access the underlying partition via the multipath module's *combined* device / dev / mapper / entries). That makes sure you access the underlying partition via the multipath module's *combined* device and not via just one path's / dev / sdx1条目。
kpartx实用程序可以说是多分区设备上的分区表的“parsing器”,可以为其分区创build多path设备节点。