Картограф устройства - Device mapper
В сопоставитель устройств это рамки предоставленный Ядро Linux для отображения физических блочные устройства на более высокий уровень виртуальные блочные устройства. Он составляет основу диспетчер логических томов (LVM), программное обеспечение RAID-массивы и dm-crypt шифрование диска и предлагает дополнительные функции, такие как файловая система снимки.[1]
Устройство сопоставления устройств работает путем передачи данных от виртуального блочного устройства, которое предоставляется самим устройством сопоставления устройств, другому блочному устройству. Данные также могут быть изменены при переходе, который выполняется, например, в случае, если устройство сопоставления предоставляет шифрование диска или имитация ненадежного поведения оборудования.
В этой статье основное внимание уделяется реализации устройства сопоставления в ядре Linux, но функциональность сопоставления устройств также доступна в обоих NetBSD и DragonFly BSD.[2][3]
использование
Приложения (например, LVM2 и Система управления корпоративным объемом (EVMS)), которым необходимо создать новые сопоставленные устройства, взаимодействовать с сопоставителем устройств через libdevmapper.so
общая библиотека, что, в свою очередь, вызывает ioctls к / dev / mapper / контроль
узел устройства.[4] Конфигурацию устройства отображения можно также проверить и настроить в интерактивном режиме — или из сценарии оболочки — с помощью полезность.[5][6]
Исходный код обоих этих двух компонентов пользовательского пространства поддерживается вместе с исходным кодом LVM2.[7]
особенности
Функции, предоставляемые картографом устройства, включают линейную, полосатую и ошибку. сопоставления, а также крипта и многопутевость цели. Например, два диска могут быть объединены в один логический том с парой линейный сопоставления, по одному на каждый диск. Другой пример: склеп target шифрует данные, проходящие через указанное устройство, с помощью ядра Linux Крипто API.[1]
Доступны следующие цели сопоставления:[1][5]
- тайник - позволяет создавать гибридные тома, используя твердотельные накопители (SSD) в качестве кешей для жесткие диски (HDD)
- клон - разрешит использование до завершения передачи.
- склеп - обеспечивает шифрование данных с помощью ядра Linux Крипто API
- задерживать - задерживает чтение и / или запись на разные устройства (используется для тестирования)
- эра - ведет себя аналогично линейной цели, при этом отслеживая блоки, которые были записаны в течение определенного пользователем периода времени[9]
- ошибка - моделирует ошибки ввода-вывода для всех отображаемых блоков (используется для тестирования)
- рассыпчатый - имитирует периодическое ненадежное поведение (используется для тестирования)
- линейный - отображает непрерывный диапазон блоков на другое блочное устройство
- зеркало - отображает зеркальный логическое устройство, обеспечивая при этом избыточность данных
- многолучевость - поддерживает отображение многоточечный устройства, используя их группы путей
- рейд - предлагает интерфейс к ядру Linux программный RAID Водитель (мкр )
- снимок и моментальный снимок - используется для создания моментальных снимков LVM, как часть базовой схемы копирования при записи
- в полоску - распределяет данные по физическим устройствам с количеством полос и размером чанка в качестве параметров
- тонкий - позволяет создавать устройства большего размера, чем базовое физическое устройство, физическое пространство выделяется только при записи на
- нуль - эквивалент
/ dev / ноль
, все чтения возвращают блоки нулей, а записи отбрасываются
Приложения
Следующие функции и проекты ядра Linux построены на основе устройства сопоставления устройств:
- cryptsetup - утилита для удобной настройки шифрования диска на основе dm-crypt
- dm-crypt /LUKS - цель сопоставления, обеспечивающая шифрование тома
- dm-cache - цель отображения, которая позволяет создавать гибридные тома
- dm-целостность - цель сопоставления, которая обеспечивает целостность данных с использованием контрольной суммы или криптографической проверки,[10][11] также используется с LUKS[12]
- dm-log-write - цель сопоставления, которая использует два устройства, проходит через первое устройство и регистрирует операции записи, выполненные на нем на втором устройстве[13]
- dm-verity - проверяет блоки данных, содержащиеся в файловой системе, по списку криптографических хеш-значений, разработанных как часть Chromium OS проект[14]
- «фальшивый» RAID конфигурации через устройство отображения - обеспечивает доступ к
- DM Multipath - обеспечивает переключение ввода-вывода и балансировку нагрузки блочных устройств в ядре Linux
- Докер - использует устройство сопоставления для создания хранилища копирования при записи для программных контейнеров
- DRBD (Распределенное реплицированное блочное устройство)
- EVMS (не рекомендуется)
- - утилита, вызываемая из hotplug при создании и удалении карт устройств
- LVM2 – диспетчер логических томов для ядра Linux
- Версия для Linux TrueCrypt
- VDO - виртуальный оптимизатор данных
Рекомендации
- ^ а б c «Администрирование диспетчера логических томов, приложение A. Устройство сопоставления». Красная шляпа. Получено 2013-09-29.
- ^ "Руководство по интерфейсам ядра NetBSD: dm (4)". netbsd.gw.com. 2008-08-30. Получено 2015-01-25.
- ^ "Страницы онлайн-руководства DragonFly: dm (4)". dragonflybsd.org. 2010-07-28. Получено 2014-06-06.
- ^ "libdevmapper.h". sourceware.org. Получено 2013-09-29.
- ^ а б "dmsetup (8) - страница руководства Linux". man.cx. Получено 2013-10-22.
- ^ «Администрирование диспетчера логических томов». Приложение А.2. Команда dmsetup. Красная шляпа. Получено 2013-09-29.
- ^ "Страница ресурсов устройства-сопоставителя". sourceware.org. Получено 2013-09-29.
- ^ Вернер Фишер; Георг Шёнбергер (01.06.2015). «Схема стека хранилища Linux». Thomas-Krenn.AG. Получено 2015-06-08.
- ^ «6. Блочный слой». Ядро Linux 3.15. kernelnewbies.org. 2014-06-08. Получено 2014-06-15.
- ^ "дм-целостность". Cryptosetup проект. 2018-04-30. Получено 2018-05-08.
- ^ "цель целостности DM". kernel.org. 2017-05-13. Получено 2018-05-08.
- ^ "cryptsetup - управление простыми томами, зашифрованными dm-crypt и LUKS". 2018-01-01. Получено 2018-05-08.
- ^ «Документация по ядру Linux: Documentation / device-mapper / log-write.txt». kernel.org. 2015-05-29. Получено 2015-10-13.
- ^ Джонатан Корбет (19 сентября 2011 г.). "dm-verity". LWN.net. Получено 2015-10-13.
внешняя ссылка
- Устройство сопоставления устройств в Red Hat
- «Право на собственные устройства». Linux Gazette. Май 2005 г. - статья, иллюстрирующая использование различных целей устройства сопоставления
- инструмент пользовательского пространства для настройки программного RAID с использованием различных форматов метаданных RAID
- Поддержка многопутевого режима в устройстве отображения, LWN.net, 23 февраля 2005 г., Джонатан Корбет