mdadm (от англ. multiple devices, ранее — mdctl) — утилита для управления программными RAID-массивами в Linux.

mdadm (ранее mdctl)
Тип Дисковая утилита
Разработчик Neil Brown
Написана на Си[2]
Операционная система Linux
Первый выпуск 2001
Последняя версия 4.3[1] (15 февраля 2024)
Репозиторий neil.brown.name/mdadm
Лицензия GNU GPL 2 и новее
Сайт neil.brown.name/blog/mda…

В Linux можно использовать следующие разновидности RAID:

  • Линейный (JBOD) — расширение размера логического диска за счет нескольких физических дисков;
  • RAID0 (striping) — распределение блоков на нескольких физических дисках для повышения скоростей записи и чтения, но без обеспечения отказоустойчивости;
  • RAID1 (mirroring) — зеркалирование, то есть запись одних и тех же данных одновременно на несколько дисков, что обеспечивает отказоустойчивость при выходе из строя любого количества дисков, пока остаётся хотя бы один работоспособный;
  • RAID4 — похож на RAID 0, но отличается от него тем, что данные разбиваются на блоки, а не на байты;
  • RAID5 — массив с обеспечением отказоустойчивости за счет минимальной избыточности (требуется минимум три диска, для отказоустойчивости — четыре диска);
  • RAID6 — похож на RAID 5, но имеет более высокую степень надежности — под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам;
  • Multipath — программный массив, позволяющий создавать разные псевдо-дисковые устройства для одного физического диска;
  • Faulty — псевдо-RAID-массив.

Не все разновидности RAID-массивов доступны в ядре Linux в начальной конфигурации. Например, чтобы использовать RAID5 необходимо внести изменения в конфигурацию ядра и скомпилировать его заново. Для уже скомпилированных ядер из дистрибутивов, возможно потребуется явная загрузка соответствующего модуля. Пример: modprobe raid5.

Команды править

С помощью mdadm можно выполнять следующие операции:

  • create — создание RAID-массива из нескольких дисков (с суперблоком на каждом устройстве).
  • assemble — сборка (ранее созданного) массива и его активация. Диски из которых собирается массив могут указываться явно или будет выполнен их автоматический поиск. mdadm проверяет, образуют ли компоненты корректный массив.
  • build — объединение дисков в массив (без суперблоков). Для таких массивов mdadm не различает создание и последующую сборку. Также невозможно проверить, были ли указаны необходимые устройства в верном порядке. Не используйте этот режим, если вы не знаете зачем это нужно.
  • manage — управление массивом: добавление новых свободных дисков (spares) и удаление неработоспособных (faulty devices).
  • follow, monitor — следить за одним или несколькими md-устройствами и реагировать на изменение их состояния. Это имеет смысл только для массивов уровней 1, 4, 5, 6 или multipath-массивов, так как только они могут иметь различные состояния. raid0 или linear не могут иметь недостающих, запасных или сбойных дисков, поэтому там не за чем следить.
  • grow — расширение или уменьшение размера (shrink) массива, либо иное его реформирование (reshape). На данный момент поддерживается изменение активного размера компонентов в RAID-массивах уровней 1/4/5/6, а также изменение количества активных устройств в RAID1.

Кроме того, доступны и некоторые другие виды операций, например, просмотр и модификация суперблоков массива и остановка активных массивов.

Примечания править

  1. Release mdadm-4.3 (15 февраля 2024).
  2. The mdadm Open Source Project on Open Hub: Languages Page — 2006.

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