Джастин Эллингвуд, Конг Янг. Как управлять массивами RAID с помощью mdadm в Ubuntu 22.04
Это перевод статьи Justin Ellingwood, Kong Yang. How To Manage RAID Arrays with mdadm on Ubuntu 22.04.
Содержание
- Содержание
- Введение
- Предварительные требования
- Получение информации об устройствах RAID
- Получение информации о компонентах массива
- Чтение информации из /proc/mdstat
- Остановка массива
- Запуск массива
- Добавление запасного устройства в массив
- Увеличение количества активных устройств в массиве
- Удаление устройства из массива
- Удаление массива
- Заключение
Введение
Массивы RAID, комбинируя определённым обрзом отдельные накопители в виртуальные устройства хранения, позволяют достичь более высокой производительности и избыточности. В Linux для создания и управления программными массивами RAID предназначена утилита mdadm.
В предыдущем руководстве было рассмотрено создание массивов RAID с помощью mdadm в Ubuntu 22.04. В этом руководтсве будет рассмотрено управление массивами RAID на сервере Ubuntu 22.04.
Предварительные требования
Для использования этого руководства потребуется непривилегированный пользователь с привилегиями sudo
. Для настройки подходящего пользователя можно воспользоваться руководством по начальной настройке сервера Ubuntu 22.04 - Ubuntu 22.04 initial server setup guide.
Как было отмечено выше, в этом руководстве рассматриваются вопросы управления массивами RAID. Прежде чем перейти к этому руководству, воспользуйтесь руководством по созданию массивов RAID с помощью mdadm в Ubuntu 22.04, чтобы создать один или несколько массивов. В этом руководстве предполагается наличие одного или нескольких массивов для работы с ними.
Информация: Из-за неэффективности RAID на виртуальных приватных серверах не рекомендутся настраивать RAID средствами DigitalOcean. Из-за эффективной репликации накопителей в центре обработки данных преимущества RAID, по сравнению с настройкой на реальном оборудовании, незначительны. Это руководство задумано как справочник по настройке обычных конфигураций RAID.
Получение информации об устройствах RAID
Для правильного управления важно иметь возможность найти информацию о состоянии массива, его структуре и входящих в него устройствах.
Для получения подробной информации об устройстве RAID укажите устройство утилите mdadm
после опции -D
или --detail
:
$ sudo mdadm -D /dev/md0
Будет показана следующая важная информация о массиве:
/dev/md0:
Version : 1.2
Creation Time : Thu Sep 29 17:07:10 2022
Raid Level : raid10
Array Size : 209582080 (199.87 GiB 214.61 GB)
Used Dev Size : 104791040 (99.94 GiB 107.31 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu Sep 29 17:08:24 2022
State : clean, resyncing
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : raid2:0 (local to host raid2)
UUID : 8069bcc7:72e7b49f:fba1c780:560a85e0
Events : 35
Number Major Minor RaidDevice State
0 8 0 0 active sync set-A /dev/sda
1 8 16 1 active sync set-B /dev/sdb
2 8 32 2 active sync set-A /dev/sdc
3 8 48 3 active sync set-B /dev/sdd
Перевод:
/dev/md0:
Версия : 1.2
Время создания : вторник 29 сентября 2022 17:07:10
Уровень RAID : raid10
Размер массива : 209582080 (199.87 ГиБ 214.61 ГБ)
Используемый размер устройства : 104791040 (99.94 ГиБ 107.31 ГБ)
Устройств RAID : 4
Всего устройств : 4
Постоянство : Постоянный суперблок
Время обновления : вторник 29 сентября 2022 17:08:24
Состояние : исправен, синхронизируется
Актвиных устройств : 4
Исправных устройств : 4
Неисправных устройств : 0
Запасных устройств : 0
Раскладка : ближняя=2
Размер блока : 512К
Политика целостности : синхронизируется
Имя : raid2:0 (локальное для узла raid2)
Универсальный уникальный идентификатор : 8069bcc7:72e7b49f:fba1c780:560a85e0
Событий : 35
Номер Старший Младший УстройствоRAID Состояние
0 8 0 0 активно синхронизируется множество-A /dev/sda
1 8 16 1 активно синхронизируется множество-B /dev/sdb
2 8 32 2 активно синхронизируется множество-A /dev/sdc
3 8 48 3 активно синхронизируется множество-B /dev/sdd
Из приведённого выше вывода можно узнать уровень RAID, размер и универсальный уникальный идентификатор массива, список компонентов, их роли и состояние.
Сокращённую информацию о массиве, подходящую для добавления в файл /dev/mdadm/mdadm.conf
, можно узнать той же комадой, добавив к ней флаг --brief
или -b
:
$ sudo mdadm -Db /dev/md0
Вывод:
ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=8069bcc7:72e7b49f:fba1c780:560a85e0
Перевод:
МАССИВ /dev/md0 метаданные=1.2 имя=mdadmwrite:0 УниверсальныйУникальныйИДентификатор=8069bcc7:72e7b49f:fba1c780:560a85e0
Для получения короткой удобной для чтения справки об устройстве RAID воспользуйтесь опцией -Q
:
$ sudo mdadm -Q /dev/md0
Вывод:
/dev/md0: 199.88GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.
Перевод:
/dev/md0: 199.88ГиБ raid10 4 устройства, 0 запасных. Воспользуйтесь mdadm --detail, чтобы узнать подробности.
Этого достаточно для получения ключевой информации об устройстве RAID при беглом ознакомлении.
Получение информации о компонентах массива
Для получения информации об отдельных компонентах массива можно воспользоваться mdadm
.
Опция -Q
при указании компонента массива выведет информацию о том, частью какого массива он является и какова его роль:
$ sudo mdadm -Q /dev/sdc
Вывод:
/dev/sdc: is not an md array
/dev/sdc: device 2 in 4 device active raid10 /dev/md0. Use mdadm --examine for more detail.
Перевод:
/dev/sdc: не массив md
/dev/sdc: устройство 2 из 4 активно raid10 /dev/md0. Воспользуйтесь mdadm --examine, чтобы узнать подробности.
Более подробную информацию можно узнать с помощью опции -E
или --examine
:
$ sudo mdadm -E /dev/sdc
Вывод:
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 8069bcc7:72e7b49f:fba1c780:560a85e0
Name : RAID2204:0 (local to host RAID2204)
Creation Time : Wed Oct 5 15:56:03 2022
Raid Level : raid10
Raid Devices : 4
Avail Dev Size : 209582080 sectors (99.94 GiB 107.31 GB)
Array Size : 209582080 KiB (199.87 GiB 214.61 GB)
Data Offset : 133120 sectors
Super Offset : 8 sectors
Unused Space : before=132968 sectors, after=0 sectors
State : clean
Device UUID : 027f74c5:6d488509:64844c7a:add75d88
Update Time : Wed Oct 5 16:13:57 2022
Bad Block Log : 512 entries available at offset 136 sectors
Checksum : 98edf3ae - correct
Events : 35
Layout : near=2
Chunk Size : 512K
Device Role : Active device 2
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
Перевод:
/dev/sdc:
Сигнатура : a92b4efc
Версия : 1.2
Карта возможностей : 0x0
Универсальный уникальный индентификатор массива : 8069bcc7:72e7b49f:fba1c780:560a85e0
Имя : RAID2204:0 (локальный для узла RAID2204)
Время создания : среда 5 октября 2022 15:56:03
Уровень RAID : raid10
Устройств RAID : 4
Доступный размер устройства : 209582080 секторов (99.94 ГиБ 107.31 ГБ)
Размер массива : 209582080 КиБ (199.87 ГиБ 214.61 ГБ)
Смещение данных : 133120 секторов
Главное смещение : 8 секторов
Неиспользуемое пространство : до=132968 секторов, после=0 секторов
Состояние : исправен
Универсальный уникальный идентификатор устройства : 027f74c5:6d488509:64844c7a:add75d88
Время обновления : среда 5 октября 2022 16:13:57
Журнал неисправных блоков : доступно 512 записей по смещению 136 секторов
Контрольная сумма : 98edf3ae - совпадает
Событий : 35
Раскладка : ближняя=2
Размер блока : 512К
Роль устройства : активное устройство 2
Состояние массива : AAAA ('A' == активно, '.' == отсутствует, 'R' == заменяется)
Эта информация похожа на ту, которая отображается опцией -D
при указании массива, но относится к компоненту массива.
Чтение информации из /proc/mdstat
За подробной информацией о каждом собранном массиве на сервере можно обратиться к файлу /proc/mdstat
. Зачастую это лучший способ получения информации о текущем состоянии активных массивов в системе:
$ cat /proc/mdstat
Вывод:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0]
209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
Перевод:
Поддерживается: [линейный] [многопутёвый] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : активен raid10 sdd[3] sdc[2] sdb[1] sda[0]
209584128 блоков суперблок версии 1.2 512K фрагментов 2 ближних копии [4/4] [UUUU]
Вывод очень плотный, содержит много информации в небольшом объёме:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
...
Перевод:
Поддерживается: [линейный] [многопутёвый] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
...
Строка Personalities
отображает различные уровни RAID и конфигурации, поддерживаемые ядром в настоящее время.
В строке, начинающейся md0
, описывается устройство RAID:
...
md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0]
...
Перевод:
...
md0 : автивен raid10 sdd[3] sdc[2] sdb[1] sda[0]
...
Первое слово описания говорит о том, что массив активен, исправен и настроен как RAID 10. Затем перечисляются компоненты массива, из которых он состоит. Числа в квадратных скобках описывают текущую роль устройства в массиве. Роли влияют на то, какие копии данных размещаются на устройстве.
В следующей строке из приведённого примера указано количество блоков, предоставляемых виртуальным устройством, версия метаданных (в приведённом примере это 1.2) и размер фрагмента массива. Поскольку это массив RAID 10, здесь также есть информация о раскладке массива. В приведённом примере было настроено хранение двух копий каждого фрагмента данных в ближней раскладке:
...
209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
...
Перевод:
...
209584128 блоков суперблок версии 1.2 512K фрагментов 2 ближних копии [4/4] [UUUU]
...
Последний элемент в квадратных скобках одновременно указывает на количество доступных устройств и их исправность. Первое число в квадратных скобках указывает на размер исправного массива, а второе указвает количество доступных устройств. Во вторых скобках приводится визуальное представление исправности массива, где U
соответствует исправным устройствам, а _
соответствует неисправным устройствам.
Если массив в настоящее время собирается или восстанавливается, может появиться строчка, изображающая степень завершённости:
...
[>....................] resync = 0.9% (2032768/209584128) finish=15.3min speed=225863K/sec
...
Перевод:
...
[>....................] синхронизация = 0.9% (2032768/209584128) осталось=15.3мин скорость=225863К/сек
...
Она описывает выполняемое действие и текущую степень завершённости несколькими способами. Также в ней приводятся текущая скорость и расчётное время до завершения.
После получения хорошего представления о настроенных в системе массивах можно выполнить над ними одно из несколько возможных действий.
Остановка массива
Для остановки массива прежде всего его нужно размонтировать.
Выйдем за пределы смонтированного каталога с помощью команды cd ~
:
$ cd ~
Теперь размонтируем устройство:
$ sudo umount /mnt/md0
Сразу все активные массивы можно остановить с помощью команды:
$ sudo mdadm --stop --scan
Для остановки какого-то определённого массива укажите его команде mdadm --stop
:
$ sudo mdadm --stop /dev/md0
Массив будет остановлен. Чтобы снова получить к нему доступ, его нужно будет снова собрать.
Запуск массива
Для запуска всех массивов, определённых в файле конфигурации или в /proc/mdstat
, выполните следующую команду:
$ sudo mdadm --assemble --scan
Для запуска какого-то определённого массива укажите его команде mdadm --assemble
:
$ sudo mdadm --assemble /dev/md0
Это сработает, если массив определён в файле конфигурации.
Если в файле конфигурации нет определения массива, массив всё ещё можно запустить, указав его компоненты:
$ sudo mdadm --assemble /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sdd
После сборки массив можно смонтировать, как обычно:
$ sudo mount /dev/md0 /mnt/md0
Теперь массив доступен через точку монитрования.
Добавление запасного устройства в массив
Запасное устройство можно добавить к любому массиву с избыточностью - к RAID 1, 5, 6 или 10. Запас не будет использоваться массивом до тех пор, пока не выйдет из строя одно из активных устройств. Когда это случится, данные на запасном устройстве будут синхронизированы с данными массива для восстановления полной исправности массива. Запасные устройства нельзя добавить к массивам без избыточности (RAID 0), потому что при неисправности накопителя такой массив сразу полностью выходит из строя.
Для добавления запаса укажите команде mdadm --add
массив и новое устройство:
$ sudo mdadm /dev/md0 --add /dev/sde
Если массив не находится в деградированном состоянии, новое устройство добавится как запасное. Если массив в настоящее время находится в деградированном состоянии, немедленно начнётся процесс синхронизации с использованием запасного накопителя для замены неисправного.
После добавления запаса обновите файл конфигурации, чтобы в нём была информация о запасе:
$ sudo nano /etc/mdadm/mdadm.conf
Удалите или закомментируйте текущую строку, соответствующую определению массива:
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=d81c843b:4d96d9fc:5f3f499c:6ee99294
Затем добавьте текущую конфигурацию:
$ sudo mdadm --detail --brief /dev/md0 | sudo tee -a /etc/mdadm/mdadm.conf
Новая информация будет использоваться утилитой mdadm
для сборки массива.
Увеличение количества активных устройств в массиве
Можно вырастить массив, увеличив количество активных устройств. Конкретные действия зависят от уровня массива RAID.
RAID 1 или 10
Начнём с добавления нового устройства в качестве запасного, как было показано в предыдущем разделе:
$ sudo mdadm /dev/md0 --add /dev/sde
Найдём текущее количество устройств в массиве:
$ sudo mdadm --detail /dev/md0
Вывод:
/dev/md0:
Version : 1.2
Creation Time : Wed Aug 10 15:29:26 2016
Raid Level : raid1
Array Size : 104792064 (99.94 GiB 107.31 GB)
Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Перевод:
/dev/md0:
Версия : 1.2
Время создания : среда 10 августа 2016 15:29:26
Уровень RAID : raid1
Размер массива : 104792064 (99.94 ГиБ 107.31 ГБ)
Используемый размер устройства : 104792064 (99.94 ГиБ 107.31 ГБ)
Устройств RAID : 2
Всего устройств : 3
Постоянство : Постоянный суперблок
В приведённом примере массив настроен на активное использование двух накопителей. Но общее количество устройств в массиве - три, потому что есть запасное.
Теперь реконфигурируем массив для добавления дополнительного активного устройства. Запасное устройство будет использоваться для удовлетворения требований в дополнительном устройстве. Не забудьте заменить целевое количество накопителей в этой команде. Здесь мы увеличиваем RAID 1 из двух устройств до трёх. В случае RAID 10 из четырёх устройств и дополнительного устройства укажите в команде 5:
$ sudo mdadm --grow --raid-devices=3 /dev/md0
Массив начнёт реконфигурироваться с использованием дополнительного активного накопителя. Для просмотра степени завершённости переконфигурирования воспользуйтесь командой:
$ cat /proc/mdstat
Можно продолжать пользоваться устройством во время переконфигурирования.
После завершения переконфигурирования нужно расширить файловую систему для использования дополнительного места в массиве:
$ sudo resize2fs /dev/md0
Теперь размер файловой системы соответствует размеру массива.
RAID 5 или 6
Начнём с добавления нового устройства как запасного, как было показано в предыдущем разделе:
$ sudo mdadm /dev/md0 --add /dev/sde
Найдём текущее количество устройств в массиве RAID:
$ sudo mdadm --detail /dev/md0
Вывод:
/dev/md0:
Version : 1.2
Creation Time : Wed Oct 5 18:38:51 2022
Raid Level : raid5
Array Size : 209584128 (199.88 GiB 214.61 GB)
Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
...
/dev/md0:
Версия : 1.2
Время создания : среда 5 октября 2022 18:38:51
Уровень RAID : raid5
Размер массива : 209584128 (199.88 ГиБ 214.61 ГБ)
Используемый размер устройства : 104792064 (99.94 ГиБ 107.31 ГБ)
Устройств RAID : 3
Всего устройств : 4
Постоянство : Постоянный суперблок
...
В приведённом примере массив настроен на активное использование трёх устройств, а общее количество доступных устройств в массиве после добавления запасного устройства стало равно четырём.
Теперь перенастроим массив для добавления дополнительного активного устройства. Запасное устройство будет использоваться для удовлетворения требований в дополнительном устройстве. При выращивании массива RAID 5 до RAID 6 важно указать дополнительную опцию --backup-file. Эта опция укажет положение файла резервной копии вне массива, в котором будет содержаться критически важная информация:
Примечание: Файл резервной копии используется тольно на очень короткое, но критичное, время, после чего он автоматически удаляется. Он нужен совсем ненадолго, поэтому его появление на диске наверняка останется незамеченным. Но если что-то пойдёт не так, он понадобится для перестроения массива. Если интересны подробности, то их можно узнать из этой статьи.
$ sudo mdadm --grow --raid-devices=4 --backup-file=/root/md0_grow.bak /dev/md0
В приведённом ниже выводе можно увидеть, что на критическом этапе была сделана резервная копия:
Вывод:
mdadm: Need to backup 3072K of critical section..
Перевод:
mdadm: Нужно сохранить 3072К критических данных..
Массив начнёт переконфигурироваться с использованием дополнительного активного диска. Для наблюдения степени завершения воспользуйтесь командой:
$ cat /proc/mdstat
Можно продолжать пользоваться устройством во время переконфигурирования.
После завершения переконфигурирования нужно расширить файловую систему для использования дополнительного места в массиве:
$ sudo resize2fs /dev/md0
Теперь размер файловой системы соответствует размеру массива.
RAID 0
В массивах RAID 0 не может быть запасных дисков, поскольку невозможно заменить неисправный диск из массива RAID 0. Поэтому новый диск можно добавить только для увеличения размера массива.
Сначала узнаем текущее количество устройств в массиве RAID:
$ sudo mdadm --detail /dev/md0
Вывод:
/dev/md0:
Version : 1.2
Creation Time : Wed Aug 10 19:17:14 2020
Raid Level : raid0
Array Size : 209584128 (199.88 GiB 214.61 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
...
Перевод:
/dev/md0:
Версия : 1.2
Время создания : среда 10 августа 2020 19:17:14
Уровень RAID : raid0
Размер массива : 209584128 (199.88 ГиБ 214.61 ГБ)
Устройств RAID : 2
Всего устройств : 2
Постоянство : Постоянный суперблок
...
Теперь можно увеличить количество устройств в RAID, выполнив операцию добавления нового диска:
$ sudo mdadm --grow /dev/md0 --raid-devices=3 --add /dev/sdc
Из вывода будет видно, что уровень массива поменялся на RAID 4:
Вывод:
mdadm: level of /dev/md0 changed to raid4
mdadm: added /dev/sdc
Перевод:
mdadm: уровень /dev/md0 изменился на raid4
mdadm: добавлен /dev/sdc
Это нормально и ожидаемо. Массив снова перейдёт на уровень RAID 0, когда данные распределятся по всем имеющимся накопителям.
Для наблюдения за степенью завершённости воспользуйтесь командой:
$ cat /proc/mdstat
После завершения синхронизации нужно расширить файловую систему для использования дополнительного места в массиве:
$ sudo resize2fs /dev/md0
Теперь размер файловой системы соответствует размеру массива.
Удаление устройства из массива
Если накопитель вышел из строя или если его нужно заменить, то может понадобиться удалить устройство из массива RAID.
Чтобы удалить устройство, нужно сначала пометить его в массиве как неисправное. Проверить наличие неисправных устройств можно с помощью команды mdadm --detail
:
$ sudo mdadm --detail /dev/md0
Вывод:
/dev/md0:
Version : 1.2
Creation Time : Wed Aug 10 21:42:12 2020
Raid Level : raid5
Array Size : 209584128 (199.88 GiB 214.61 GB)
Used Dev Size : 104792064 (99.94 GiB 107.31 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Aug 11 14:10:43 2020
State : clean, degraded
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
Name : mdadmwrite:0 (local to host mdadmwrite)
UUID : bf7a711b:b3aa9440:40d2c12e:79824706
Events : 144
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 0 1 active sync /dev/sda
2 8 16 2 active sync /dev/sdb
0 8 32 - faulty /dev/sdc
Перевод:
/dev/md0:
Версия : 1.2
Время создания : среда 10 августа 2020 21:42:12
Уровень RAID : raid5
Размер массива : 209584128 (199.88 ГиБ 214.61 ГБ)
Используемый размер устройства : 104792064 (99.94 ГиБ 107.31 ГБ)
Устройств RAID : 3
Всего устройств : 3
Постоянство : Постоянный суперблок
Время обновления : четверг 11 августа 2020 14:10:43
Состояние : исправен, деградированный
Активных устройств : 2
Исправных устройств : 2
Неисправных устройств : 1
Запасных устройств : 0
Раскладка : лево-симметричная
Размер блока : 64К
Имя : mdadmwrite:0 (локальное для узла mdadmwrite)
Универсальный уникальный идентификатор : bf7a711b:b3aa9440:40d2c12e:79824706
Событий : 144
Номер Старший Младший УстройствоRAID Состояние
0 0 0 0 удалено
1 8 0 1 активно синхронизируется /dev/sda
2 8 16 2 активно синхронизируется /dev/sdb
0 8 32 - неисправно /dev/sdc
Приведённые ниже строки указывают на то, что накопитель больше не работает. Например, из указанного вывода видно, что накопитель /dev/sdc
неисправен.
State : clean, degraded
Failed Devices : 1
0 8 32 - faulty /dev/sdc
Если нужно удалить исправный накопитель, нужно сначала пометить его, как неисправный, с помощью опции --fail
:
$ sudo mdadm /dev/md0 --fail /dev/sdc
Вывод:
$ mdadm: set /dev/sdc faulty in /dev/md0
Перевод:
$ mdadm: отмечено /dev/sdc как неисправное в /dev/md0
Если снова посмотреть на вывод команды mdadm --detail
, то можно заметить, что устройство теперь помечено как неисправное.
Когда устройство отмечено, как неисправное, его можно удалить из массива с помощью команды mdadm --remove
:
$ sudo mdadm /dev/md0 --remove /dev/sdc
Вывод:
mdadm: hot removed /dev/sdc from /dev/md0
Перевод:
mdadm: удалено налету /dev/sdc из /dev/md0
Его можно заменить на новый накопитель с помощью той же команды mdadm --add
, которая используется для добавления запасного накопителя:
$ sudo mdadm /dev/md0 --add /dev/sdd
Вывод:
mdadm: added /dev/sdd
Перевод:
mdadm: добавлено /dev/sdd
Массив начнёт восстанавливаться, копируя данные на новый накопитель.
Удаление массива
Для удаления массива вместе со всеми данными на нём сначала воспользуйтесь следующей последовательностью действий для его остановки.
Перейдите за пределы смонтированного каталога с помощью следующей команды:
$ cd ~
Размонтируйте файловую систему:
$ sudo umount /mnt/md0
Теперь остановите массив:
$ sudo mdadm --stop /dev/md0
Наконец, удалите сам массив с помощью опции --remove
, указав удаляемое устройство RAID:
$ sudo mdadm --remove /dev/md0
Как только удалён сам массив, воспользуйтесь командой mdadm --zero-superblock
для каждого из устройств-компонентов. Она очистит суперболк md
- заголовок, используемый mdadm
для сборки и управления устройствами-компонентами, входящими в массив. Если он останется, могут возникнуть проблемы при попытке повторно использовать диск в других целях.
Проверьте колонку FSTYPE
в выводе команды lsblk --fs
, чтобы проверить наличие суперблока в массиве:
$ lsblk --fs
Вывод:
NAME FSTYPE LABEL UUID MOUNTPOINT
...
sda linux_raid_member mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706
sdb linux_raid_member mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706
sdc linux_raid_member mdadmwrite:0 bf7a711b-b3aa-9440-40d2-c12e79824706
sdd
vda
├─vda1 ext4 DOROOT 4f8b85db-8c11-422b-83c4-c74195f67b91 /
└─vda15
В этом примере /dev/sda
, /dev/sdb
и /dev/sdc
являются частью массива и по-прежнему отмечены как таковые.
Удалите метки с помощью следующей команды:
$ sudo mdadm --zero-superblock /dev/sda /dev/sdb /dev/sdc
Далее убедитесь, что удалили или закомментировали ссылки на массив в файле /etc/fstab
. Это можно сделать, добавив символ решётки в начало строки:
$ sudo nano /etc/fstab
Вот так:
...
# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0
По завершении сохраните и закройте файл.
Также удалите или закомментируйте ссылки на массив из файла /etc/mdadm/mdadm.conf
:
$ nano /etc/mdadm/mdadm.conf
Вот так:
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=bf7a711b:b3aa9440:40d2c12e:79824706
Сохраните и закройте файл, когда закончите.
Затем обновите initramfs
:
$ sudo update-initramfs -u
Таким образом устройство будет исключено из начального этапа загрузки.
Заключение
Утилита mdadm
из Linux позволяет управлять массивами, как только становятся понятны принятые в ней соглашения и источники информации. Это руководство не исчерпывающее, но служит введением в некоторые задачи управления, которые могут пригодиться в ежедневной работе.
Как только вы освоитесь с создаванием и управлением массивами RAID с помощью mdadm
, дальше можно двигаться в одном из нескольких направлений. Управление слоями томов, например LVM, плотно интегрируется с RAID и позволяет гибко разбивать пространство на логические тома. Чтобы узнать больше, обратитесь к нашему введению в концепции LVM - Introduction to LVM Concepts.
Для шифрования устройств RAID перед созданием файловой системы часто используются LUKS и dm-crypt. Linux позволяет совместно использовать все эти технологии для увеличения возможностей хранилища.