мдадм
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Ноябрь 2011 г. ) |
Оригинальный автор(ы) | Нил Браун |
---|---|
Разработчик(и) | Участники сообщества, Мариуш Ткачик [ 1 ] |
Первоначальный выпуск | 2001 |
Стабильная версия | 4.3 [ 2 ]
/ 15 февраля 2024 г |
Репозиторий | github |
Написано в | С |
Операционная система | Линукс |
Доступно в | Английский |
Тип | Дисковая утилита |
Лицензия | GNU GPL |
Веб-сайт | рейд |
mdadm — это утилита Linux, используемая для управления и мониторинга программных RAID- устройств. Он используется в современных дистрибутивах Linux вместо старых программных утилит RAID, таких как RAIDtools2 или RAIDtools . [ 3 ] [ 4 ] [ 5 ]
mdadm является свободным программным обеспечением изначально [ 6 ] поддерживается и защищен авторскими правами Нила Брауна из SUSE и лицензируется в соответствии с условиями версии 2 или более поздней версии GNU General Public License .
Имя
[ редактировать ]Имя происходит от узлов устройств md (несколько устройств), которые он администрирует или которыми управляет, и заменило предыдущую утилиту mdctl . [ нужна ссылка ] Первоначальное название было «Зеркальный диск», но оно было изменено по мере добавления новых функций. [ нужна ссылка ] Теперь это имя понимается как сокращение от «Управление несколькими дисками и устройствами». [ 3 ]
Обзор
[ редактировать ]Конфигурации программного 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 — (устарело с 2021 года и удалено из ядра Linux с 2023 года). [ 7 ] )
- Multipath – обеспечивает несколько путей с аварийным переключением на одно устройство.
- Faulty — одно устройство, которое имитирует ряд сценариев сбоя диска для тестирования и разработки.
- Контейнер – группа устройств, управляемая как одно устройство, в которой можно создавать RAID-системы.
Функции
[ редактировать ]Исходная (стандартная) форма названия md-устройств: /dev/md<n> , где <n> — это число от 0 до 99. Более поздние ядра поддерживают такие имена, как /dev/md/Home . В ядрах 2.4.x и ранее эти два варианта были единственными. Оба они неразделимы.
Начиная с ядра 2.6.x, был представлен новый тип устройства MD — разделяемый массив. Имена устройств были изменены путем изменения мд до мд_д . Разделы были идентифицированы путем добавления 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. [ 8 ]
Загрузка
[ редактировать ]Поскольку поддержка 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 ядра Linux. mdadm Утилита пользовательского пространства . Это позволяет Linux использовать различные тома RAID на основе встроенного ПО или драйверов, также известные как « фальшивый RAID ». [ 9 ]
По состоянию на октябрь 2013 г. [update], существует два поддерживаемых формата внешних метаданных:
- DDF ( формат дисковых данных ) — отраслевой стандарт, определенный Ассоциацией производителей сетей хранения данных для повышения совместимости. [ 10 ]
- Формат метаданных тома, используемый технологией Intel Rapid Storage Technology (RST), бывшей Intel Matrix RAID, реализованной на многих материнских платах потребительского уровня. [ 9 ]
мдмпд
[ редактировать ]мдмпд был [ 11 ] демон , используемый для мониторинга многопутевых устройств MD до ядра Linux 2.6.10-rc1, разработанный Red Hat как часть пакета mdadm. [ 12 ] Программа использовалась для мониторинга многопутевых ( RAID ) устройств и обычно запускается во время загрузки как служба, а затем работает как демон.
Требования к корпоративному хранилищу часто включают в себя желание иметь более одного способа взаимодействия с одним диском, чтобы в случае сбоя связи с диском через один контроллер система могла автоматически переключиться на другой контроллер и продолжить работу. Это называется многопутевым доступом к диску. Ядро Linux реализует многопутевой доступ к диску через программный стек RAID, известный как драйвер md (несколько устройств). Часть ядра многопутевого драйвера md обрабатывает только маршрутизацию запросов ввода-вывода на соответствующее устройство и обработку сбоев на активном пути. Он не пытается выяснить, может ли путь, который ранее оказался неудачным, снова работать. Вот что делает этот демон. При запуске он считывает текущее состояние массивов md RAID, сохраняет это состояние, а затем ждет, пока ядро сообщит ему, что произошло что-то интересное. Затем он просыпается, проверяет, не возникли ли сбои в каких-либо путях на многопутевом устройстве, и если да, то он начинает опрашивать неисправный путь каждые 15 секунд, пока он снова не начнет работать. Как только он снова начнет работать, демон добавит путь обратно в многопутевое устройство md, частью которого оно изначально было, в качестве нового запасного пути.
Если кто-то использует / проц файловая система, /proc/mdstat перечисляет все активные устройства md с информацией о них. Mdmpd требует этого для поиска массивов для отслеживания путей, получения уведомлений об интересных событиях и отслеживания восстановления массива в режиме монитора. [ 13 ]
Технические подробности RAID 1
[ редактировать ]Данные на томе RAID 1 такие же, как и в обычном разделе. Информация RAID хранится в последних 128 КБ раздела. Это означает, что для преобразования тома RAID 1 в обычный раздел данных можно уменьшить размер раздела на 128 КБ и изменить идентификатор раздела с fd на 83 (для Linux).
См. также
[ редактировать ]- bioctl в OpenBSD/NetBSD
Ссылки
[ редактировать ]- ^ «Объявление: обновление сопровождающего mdadm» . marc.info. 14 декабря 2023 г. Проверено 17 мая 2024 г.
- ^ «Выпуск mdadm-4.3» . 15 февраля 2024 г.
- ^ Перейти обратно: а б Бреснахан, Кристина; Блюм, Ричард (2016). LPIC-2: Учебное пособие по сертификации профессионального института Linux . Джон Уайли и сыновья . стр. 206–221. ISBN 9781119150817 .
- ^ Вадала, Дерек (2003). Управление RAID в Linux . О'Рейли Медиа, Инк. с. 140 . ISBN 9781565927308 .
мдадм линукс.
- ^ Немет, Эви (2011). Руководство по системному администрированию UNIX и Linux . Пирсон Образование. стр. 242–245. ISBN 9780131480056 .
- ^ «Мдадм» . Архивировано из оригинала 3 мая 2013 г. Проверено 25 августа 2007 г.
- ^ «md: удалить устаревший CONFIG_MD_LINEAR» . Гитхаб . 19 декабря 2023 г. Проверено 30 апреля 2024 г.
- ^ «Ядро Linux 3.7, Раздел 5. Блок» . kernelnewbies.org . 10 декабря 2012 г. Проверено 21 сентября 2014 г.
- ^ Перейти обратно: а б «Внешние метаданные» . Настройка RAID . ядро.org. 05.10.2013 . Проверено 1 января 2014 г.
- ^ «DDF Fake RAID» . Настройка RAID . ядро.org. 12 сентября 2013 г. Проверено 1 января 2014 г.
- ^ «117498 – отсутствует интерфейс события кода md» .
- ^ «Обновленный пакет mdadm включает улучшения многопутевого устройства» . РЕА-2003:397-06 . Редхат . 16 января 2004 г.
- ^ «Mdadm(8): Управление устройствами MD, также известными как Software RAID — справочная страница Linux» .
Внешние ссылки
[ редактировать ]- выпуски исходного кода mdadm
- «Установка/SoftwareRAID» . Ubuntu Документация сообщества . 01.03.2012.
- Лонезор (13 ноября 2011 г.). «Настройка тома RAID в Linux с дисками >2 ТБ» . Архивировано из оригинала 19 ноября 2011 г.