Картограф устройства - Device mapper

Картостроитель устройство является основой обеспечивается ядром Linux для отображения физических устройств блока на более высоком уровне устройств виртуальных блоков . Он составляет основу диспетчера логических томов (LVM), программных RAID-массивов и шифрования дисков dm-crypt , а также предлагает дополнительные функции, такие как моментальные снимки файловой системы .

Устройство сопоставления устройств работает путем передачи данных от виртуального блочного устройства, которое предоставляется самим устройством сопоставления устройств, другому блочному устройству. Данные также могут быть изменены при переходе, который выполняется, например, в случае, когда устройство сопоставления устройств обеспечивает шифрование диска или моделирование ненадежного поведения оборудования.

В этой статье основное внимание уделяется реализации устройства сопоставления в ядре Linux, но функция сопоставления устройств также доступна как в NetBSD, так и в DragonFly BSD .

Применение

Приложения (такие как LVM2 и Enterprise Volume Management System (EVMS)), которым необходимо создавать новые сопоставленные устройства, общаются с сопоставителем устройств через libdevmapper.so общую библиотеку , которая, в свою очередь, отправляет ioctls на /dev/mapper/control узел устройства . Конфигурацию устройства отображения можно также проверить и настроить в интерактивном режиме ‍ - или из сценариев оболочки the - с помощью dmsetup(8) утилиты.

Исходный код обоих этих двух компонентов пользовательского пространства поддерживается вместе с исходным кодом LVM2.

Особенности

Image
Положение целевых устройств сопоставления устройств на различных уровнях стека хранения ядра Linux .

Функции, предоставляемые устройством сопоставления устройств, включают линейные, чередующиеся сопоставления и сопоставления ошибок , а также цели криптографии и многолучевого распространения . Например, два диска могут быть объединены в один логический том с парой линейных отображений, по одному для каждого диска. В качестве другого примера, цель crypt шифрует данные, проходящие через указанное устройство, с помощью Crypto API ядра Linux .

Доступны следующие цели сопоставления:

  • cache  - позволяет создавать гибридные тома с использованием твердотельных накопителей (SSD) в качестве кэшей для жестких дисков (HDD)
  • clone  - разрешит использование до завершения передачи.
  • crypt  - обеспечивает шифрование данных с помощью Crypto API ядра Linux.
  • delay  - задерживает чтение и / или запись на разные устройства (используется для тестирования)
  • эпоха  - ведет себя аналогично линейной цели, при этом отслеживает блоки, которые были записаны в течение определенного пользователем периода времени
  • error  - имитирует ошибки ввода-вывода для всех отображаемых блоков (используется для тестирования)
  • flakey  - имитирует периодическое ненадежное поведение (используется для тестирования)
  • linear  - отображает непрерывный диапазон блоков на другое блочное устройство
  • mirror  - отображает зеркальное логическое устройство, обеспечивая при этом избыточность данных
  • multipath  - поддерживает отображение многопутевых устройств посредством использования их групп путей
  • raid  - предлагает интерфейс к программному драйверу RAID ядра Linux ( md )
  • моментальный снимок и источник моментального снимка  - используются для создания моментальных снимков LVM как часть базовой схемы копирования при записи
  • с полосами  - данные распределяются по физическим устройствам с указанием количества полос и размера чанка в качестве параметров.
  • тонкий  - позволяет создавать устройства большего размера, чем базовое физическое устройство, физическое пространство выделяется только при записи на
  • ноль  - эквивалент /dev/zero , все чтения возвращают блоки нулей, а записи отбрасываются

Приложения

Следующие функции и проекты ядра Linux построены на основе устройства сопоставления устройств:

  • cryptsetup  - утилита для удобной настройки шифрования диска на основе dm-crypt
  • dm-crypt / LUKS  - цель сопоставления, обеспечивающая шифрование тома
  • dm-cache  - цель сопоставления, позволяющая создавать гибридные тома
  • dm-целостность - цель сопоставления, которая обеспечивает целостность данных , используя контрольную сумму или криптографическую проверку, также используется с LUKS
  • dm-log-write - цель сопоставления, которая использует два устройства, проходит через первое устройство и регистрирует операции записи, выполненные на нем на втором устройстве
  • дм-правдивость - проверяет блоки данных , содержащихся в файловой системе со списком криптографических хэш - значений, разработанных в рамках Chromium OS проекта
  • dmraid(8)  - обеспечивает доступ к "фальшивым" конфигурациям RAID через устройство сопоставления устройств
  • DM Multipath  - обеспечивает переключение ввода-вывода и балансировку нагрузки блочных устройств в ядре Linux.
  • Docker  - использует устройство сопоставления для создания хранилища копирования при записи для программных контейнеров.
  • DRBD (распределенное реплицированное блочное устройство)
  • EVMS (устарело)
  • kpartx(8)  - утилита, вызываемая из hotplug при создании и удалении карт устройств
  • LVM2  - менеджер логических томов для ядра Linux
  • Версия TrueCrypt для Linux
  • VDO - виртуальный оптимизатор данных

Рекомендации

внешние ссылки