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