Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

mdadm - это утилита Linux, используемая для управления и мониторинга программных RAID- устройств. Он используется в современных дистрибутивах Linux вместо старых программных утилит RAID, таких как raidtools2 или raidtools . [2] [3] [4]

mdadm - это бесплатное программное обеспечение, поддерживаемое Нилом Брауном из SUSE и защищенное авторским правом на него, и лицензируемое в соответствии с условиями версии 2 или более поздней Стандартной общественной лицензии GNU .

Имя [ редактировать ]

Имя происходит от узлов устройств md (несколько устройств), которыми оно управляет или управляет, и оно заменило предыдущую утилиту mdctl . [ необходима цитата ] Первоначальное название было «Зеркальный диск», но было изменено по мере добавления дополнительных функций. [ Требуется цитата ] Название теперь понимается как сокращение от Multiple Disk and Device Management. [2]

Обзор [ править ]

Конфигурации программного RAID Linux могут включать все, что представлено ядру Linux как блочное устройство . Сюда входят целые жесткие диски (например, / dev / sda ) и их разделы (например, / dev / sda1 ).

Конфигурации RAID [ править ]

  • RAID 0 - чередование уровней блоков . MD может работать с устройствами разной длины, при этом дополнительное пространство на более крупном устройстве не выделяется.
  • RAID 1 - Зеркало.
  • RAID 4 - как RAID 0, но с дополнительным устройством для контроля четности .
  • RAID 5 - как RAID 4, но с четностью, распределенной по всем устройствам.
  • RAID 6 - аналогично RAID 5, но с двумя сегментами четности на полосу.
  • RAID 10 - возьмите несколько наборов зеркал RAID 1 и распределите их в стиле RAID 0.

RAID 10 отличается от RAID 0 + 1, который состоит из зеркала верхнего уровня RAID 1, состоящего из высокопроизводительных полос RAID 0 непосредственно на физических жестких дисках. Отказ одного диска в конфигурации RAID 10 приводит к тому, что одно из зеркал нижнего уровня переходит в режим пониженной производительности , но полоса верхнего уровня работает нормально (за исключением снижения производительности). Отказ одного диска в конфигурации RAID 0 + 1 приводит к полному отказу одной из полос нижнего уровня и переходу зеркала верхнего уровня в режим пониженной производительности. Какая из двух настроек предпочтительна, зависит от деталей рассматриваемого приложения, таких как наличие или отсутствие запасных дисков и способ их раскрутки.

Конфигурации без RAID [ править ]

  • Линейный - объединяет несколько устройств в одно большое MD-устройство.
  • Многопутевый - предоставляет несколько путей с переключением на одно устройство.
  • Неисправный - отдельное устройство, которое имитирует несколько сценариев сбоя диска для тестирования и разработки.
  • Контейнер - группа устройств, управляемая как единое устройство, в которой можно строить системы RAID.

Особенности [ править ]

Исходная (стандартная) форма имен для устройств md - / dev / md <n> , где <n> - число от 0 до 99. Более свежие ядра поддерживают такие имена, как / dev / md / Home . В ядрах 2.4.x и ранее эти два варианта были единственными. Оба они неразделимы.

Начиная с ядер 2.6.x, был представлен новый тип MD-устройств - многораздельный массив. Имена устройств были изменены путем изменения md на md_d . Разделы были идентифицированы добавлением p <n> , где <n> - номер раздела; например, / dev / md / md_d2p3 . Начиная с версии 2.6.28 основной ветки ядра Linux , неразделяемые массивы могут быть разделены, причем ссылки на разделы такие же, как и для разделимых массивов - например, / dev / md / md1p2 .

Начиная с версии 3.7 основной ветки ядра Linux, md поддерживает операции TRIM для базовых твердотельных накопителей (SSD), для линейных схем, схем RAID 0, RAID 1, RAID 5 и RAID 10. [5]

Загрузка [ править ]

Поскольку поддержка MD находится в ядре, существует проблема с ее использованием до запуска ядра. В частности, его не будет, если загрузчик является устаревшим (e) LiLo или GRUB . Хотя обычно он присутствует, он может отсутствовать в GRUB 2. Чтобы обойти эту проблему, файловая система / boot должна использоваться либо без поддержки md, либо с RAID1. В последнем случае система будет загружаться, рассматривая устройство RAID1 как обычную файловую систему, и после запуска системы его можно будет перемонтировать как md и добавить к нему второй диск. Это приведет к наверстыванию отставания, но файловые системы / boot обычно невелики.

С более свежими загрузчиками можно загрузить поддержку MD как модуль ядра через механизм initramfs . Такой подход позволяет файловой системе / boot находиться внутри любой системы RAID без необходимости сложной ручной настройки.

Внешние метаданные [ править ]

Помимо собственных форматов метаданных томов RAID, программный RAID Linux также поддерживает внешние форматы метаданных, начиная с версии 2.6.27 ядра Linux и версии 3.0 утилиты пользовательского пространства mdadm . Это позволяет Linux использовать различные тома RAID на основе микропрограмм или драйверов, также известные как « поддельные RAID ». [6]

По состоянию на октябрь 2013 г. поддерживаются два формата внешних метаданных:

  • DDF ( формат дисковых данных ), отраслевой стандарт, определенный Ассоциацией производителей сетей хранения данных для повышения совместимости. [7]
  • Формат метаданных тома, используемый Intel Matrix RAID , реализованный на многих материнских платах потребительского уровня. [6]

mdmpd [ править ]

mdmpd было [8] демон используется для мониторинга метаустройств MD до Linux Kernel 2.6.10-rc1, разработанный Red Hat , как часть пакета mdadm. [9] Программа использовалась для мониторинга устройств с несколькими путями ( RAID ) и обычно запускается во время загрузки как служба, а затем запускается как демон.

Требования к корпоративным хранилищам часто включают желание иметь более одного способа связи с одним диском, чтобы в случае некоторого сбоя связи с диском через один контроллер система могла автоматически переключиться на другой контроллер и продолжить работу. Это называется многопутевым доступом к диску. Ядро linux реализует многопутевый доступ к диску через программный RAID-стек, известный как драйвер md (Multiple Devices). Часть ядра драйвера md multipath обрабатывает только запросы ввода-вывода маршрутизации к надлежащему устройству и обрабатывает сбои на активном пути. Он не пытается определить, может ли путь, который ранее был неудачным, снова работать. Вот что делает этот демон. При запуске считывает текущее состояние массивов md raid, сохраняет это состояние,а затем ждет, пока ядро ​​сообщит, что произошло что-то интересное. Затем он просыпается, проверяет, не вышли ли из строя какие-либо пути на многопутевом устройстве, и если они есть, то начинает опрашивать сбойный путь каждые 15 секунд, пока он снова не начнет работать. Как только он снова начнет работать, демон снова добавит путь в устройство multipath md, частью которого он был изначально, в качестве нового резервного пути.

Если используется файловая система / proc , в / proc / mdstat перечислены все активные устройства MD с информацией о них. Mdmpd требует, чтобы это находило массивы для отслеживания путей, для получения уведомлений об интересных событиях и для отслеживания реконструкции массивов в режиме мониторинга. [10]

См. Также [ править ]

  • Программный RAID
  • bioctl в OpenBSD / NetBSD

Ссылки [ править ]

  1. ^ Соренсен, Джес (2018-10-01). «ОБЪЯВЛЕНИЕ: mdadm 4.0 - инструмент для управления md Soft RAID под Linux» .
  2. ^ a b Бреснахан, Кристина; Блюм, Ричард (2016). LPIC-2: Учебное пособие по сертификации профессионального института Linux . Джон Вили и сыновья . С. 206–221. ISBN 9781119150817.
  3. ^ Вадала, Дерек (2003). Управление RAID в Linux . O'Reilly Media, Inc. стр. 140 . ISBN 9781565927308. mdadm linux.
  4. ^ Немет, Эви (2011). Справочник по системному администрированию UNIX и Linux . Pearson Education. С. 242–245. ISBN 9780131480056.
  5. ^ «Ядро Linux 3.7, Раздел 5. Блок» . kernelnewbies.org . 2012-12-10 . Проверено 21 сентября 2014 . CS1 maint: обескураженный параметр ( ссылка )
  6. ^ a b «Внешние метаданные» . Настройка RAID . kernel.org. 2013-10-05 . Проверено 1 января 2014 . CS1 maint: обескураженный параметр ( ссылка )
  7. ^ «DDF Fake RAID» . Настройка RAID . kernel.org. 2013-09-12 . Проверено 1 января 2014 . CS1 maint: обескураженный параметр ( ссылка )
  8. ^ https://bugzilla.redhat.com/show_bug.cgi?id=117498
  9. ^ «Обновленный пакет mdadm включает усовершенствования многопутевого устройства» . RHEA-2003: 397-06 . Redhat . 2004-01-16.
  10. ^ https://linux.die.net/man/8/mdadm

Внешние ссылки [ править ]

  • Linux RAID вики
  • «Установка / SoftwareRAID» . Документация сообщества Ubuntu . 2012-03-01.
  • Lonezor (13.11.2011). «Настройка тома RAID в Linux с дисками> 2 ТБ» . Архивировано из оригинала на 2011-11-19. CS1 maint: обескураженный параметр ( ссылка )