Я знаю инструмент kpartx
может использоваться для настройки multipath в системе. Но что значит CONFIG_DM_MULTIPATH
модуль ядра делать? В моей системе этот модуль не скомпилирован, и кажется, что kpartx
инструменты работают очень хорошо. Кажется, они не связаны, я прав?
CONFIG_DM_MULTIPATH
это не имя модуля ядра; это имя опции конфигурации ядра, которая включает dm_multipath
драйвер, который, в свою очередь, позволяет многопутевый ввод / вывод для блочных устройств. «Многопутевый ввод-вывод» означает, что к одному устройству (например, к «диску») можно получить доступ через несколько каналов связи - например, массив хранения, подключенный через пару волоконно-оптических каналов. Без драйвера multipath каждая ссылка выглядит как отдельное устройство, что может привести к путанице. Драйвер multipath может представить эти две ссылки как одно устройство и позаботиться о выборе альтернативного пути, если один из путей не работает.
Этот документ от RedHat есть хорошее обсуждение поддержки multipath в Linux.
Вы правы, что это имеет мало общего с kpartx
.
kpartx
это просто компонент для создания "многоточечный"записи устройств для разделов на многоточечном хранилище.
Представьте, что вы вставляете двухканальный диск Fibre Channel с одним единственным разделом: udev
обнаруживает диск, «базовое» ядро назначает два разных устройства каждому пути к диску (например, /dev/sdx
и /dev/sdy
), а затем одна секция видна как /dev/sdx1
и /dev/sdy1
.
Сейчас, kpartx вступает в игру и создает /dev/mapper/<ID of the new disk>p1
устройство (иногда также отображается как -part1
).
Эта специальная запись раздела - это то, что вы должны использовать для своего приложения (вместо dev / sd [xy] 1entries). That makes sure you access the underlying partition via the multipath module's *combined* device
/ dev / mapper /and not via just one path's
/ dev / sdx1` запись.
В kpartx Утилита - это, так сказать, просто «парсер» таблиц разделов на многопутевых устройствах, создающий многопутевые узлы устройств только для их разделов.