Удаление рейда 1 Linux
Обновлено: 21.11.2024
Дома я запускаю сервер с Nextcloud для хранения моих семейных фотографий, фильмов, документов и важных вещей. Он не только служит личным хранилищем, но и для меня важно, чтобы я не терял накопленные со временем воспоминания. Весь сервер уже работал на зеркальных дисках RAID-1, но некоторое время назад один из них вышел из строя - и мне понадобилась замена.
Поэтому я купил новый накопитель без твердотельного накопителя со скоростью вращения 5400 об/мин, чего вполне достаточно для моих нужд: доступ к хранилищу и цена. Я купил этот 500-гигабайтный диск примерно за 40 долларов США.
Первоначальная настройка
Конфигурация сервера до отказа диска была довольно простой. Два диска, один старый WD на 650 ГБ, подключенный извне к USB, и Seagate на 750 ГБ, подключенный к SATA. Была линуксовая установка RAID-1 на все 3 раздела: ОС, подкачка, данные. Боже мой, ничего особенного, но выполняет свою работу. К сожалению, именно диск SATA умер :(, поэтому у меня остался только USB-накопитель. Изменения, которые мне нужно было сделать, чтобы система продолжала работать после сбоя, заключались в том, чтобы убедиться, что сервер загружается с USB-накопителя. Справедливо. достаточно.
Как я подошёл к RAID
Поэтому я купил новый диск. Мой WD хранил около 200 ГБ данных за последние 6 лет. Быстрый расчет, и я скупился на покупку диска на 500 ГБ в качестве замены. Я также спас диск на 160 ГБ от какого-то ноутбука, который я больше не использую. Причиной этого было то, что я хотел избавиться от зеркалирования системы, пространства подкачки и GRUB. Я помню, что я хотел избавиться от сохранения этой конфигурации и того, что при каждом обновлении загрузчика оба диска нуждаются в изменении MBR.
Вот как я установил последнюю версию Ubuntu на диск емкостью 160 ГБ. Перенес все свои настройки со старого диска и начал радоваться окончанию кризиса. Необходимо было снова установить и настроить кластер Docker Swarm, но, поскольку все мои развернутые приложения (включая Nexcloud) докеризированы и идемпотентны (инфраструктура как код), у меня все работает плавно в (управляемом) моменте. Итак, у меня получилось 3 диска:
- 160 ГБ — ОС — может выйти из строя и легко восстанавливается в моих настройках
- 650 ГБ — WD с подключением через USB
- 500 ГБ — подключенный диск SATA
Что дальше? Похоже, что вы просто восстанавливаете RAID с помощью mdadm --add .
Первые сюрпризы
И вот оно. Новая операционная система означает, что RAID-1 не настроен. О-хо, хорошо, мне нужно снова создать RAID-1. Быстро подумал и сказал, что все в порядке. Давай сделаем это. К сожалению, создавать RAID-1 из существующего диска не имело смысла, так как раздел /dev/sdb5 (тот, с данными для зеркалирования) уже был больше, чем полный размер нового диска. Блин, в следующий раз потрать на 10$ больше. Я уже видел ~ 200 ГБ данных, которые мне нужно будет скопировать во время настройки нового RAID. Черт возьми.
Итак, прежде всего, создайте новый раздел на новом диске с помощью fdisk:
Теперь, когда раздел создан, начинается тяжелая работа, и это только потому, что я допустил простую ошибку. Я начал копировать файлы на этот диск вместо того, чтобы просто создавать RAID-1 поверх него. Это была самая глупая и не очевидная ошибка, которую я мог сделать. Я смонтировал новый раздел и скопировал на него все данные объемом 200 ГБ. Затем с помощью fdisk я создал раздел на диске WD, соответствующий новому разделу:
Создание RAID без потери данных
Думаю, именно тогда я понял, что удвоил свою работу. И мне ничего не оставалось делать, кроме как создать том/устройство RAID и еще раз скопировать данные в новый раздел на старом диске, так как это был тот, который сейчас был без данных, чтобы я мог создать RAID на сверху и выберите тип файловой системы.
- отсутствует - означает, что мы добавим второй диск (который, например, с данными) позже
Теперь… монтируем и копируем ~200 ГБ обратно, но на этот раз на (еще не полностью настроенный) RAID. Это было время, когда мне было немного грустно, что мои диски не SSD :D. После того, как данные были скопированы, добавить раздел в RAID-устройство было просто:
Чтобы проверить статус RAID в Ubuntu, просто вызовите:
Вынос с собой
Возможно, я должен был выполнить шаги, приложив к этому больше размышлений :). Если бы я помнил, что воссоздание RAID без потери данных требует ручного копирования данных, я бы просто купил диск на 1 ТБ (~ 50 долларов) и оставил систему и разделы подкачки нетронутыми. Не совсем уверен в этом, но я бы дважды подумал, потому что мое личное время ограничено. Второй и огромной ошибкой было копирование данных без создания RAID. Не совсем уверен, о чем я думал. Просто забыл об этом, кажется, я застрял с мыслью, что мне нужно использовать «старый диск» в качестве основы RAID, потому что он был в RAID в старой конфигурации. Эххх…
📅 22 декабря 2020 г.
Что?Почему этот диск все еще настаивает на том, что он является частью массива RAID?
Если вы используете mdadm, вы могли столкнуться с ситуацией, когда, даже если вы ввели правильные команды для отказа одного диска и его удаления из массива, другой компьютер или тот же самый компьютер по-прежнему распознает его как часть старого массив.
Это нормально, так как диски mdadm содержат суперблоки, содержащие информацию о RAID. Если компьютер по-прежнему видит удаленный диск как часть массива RAID, обычно это происходит потому, что суперблок не был удален с диска.
Вот как это сделать.
Примечание. Поскольку массивы RAID в первую очередь защищают данные, обязательно создайте резервную копию перед изменением массива RAID. Это включает в себя добавление или удаление дисков. Существует вероятность серьезной ошибки и потери данных. Сначала создайте резервную копию!
Это выглядит знакомо?
Диск-участник был удален из массива RAID с помощью mdadm, но система по-прежнему видит этот диск как часть массива.
Обзор
- sudo mdadm –detail /dev/md1
- sudo umount /media/myraid
- sudo mdadm –stop /dev/md1
- sudo mdadm –fail /dev/sde –удалить /dev/sde
- sudo mdadm –zero-superblock /dev/sde
- sudo mdadm — сборка — сканирование
Шаг 1. Получите сведения о массиве
В этой статье эти команды были протестированы на Linux Mint 20 с RAID-массивом с помощью программного диспетчера RAID mdadm (бесплатно из репозитория).
Предположим, массив RAID называется /dev/md1, а диск, который мы хотим удалить навсегда, называется /dev/sde.
Этот результат показывает подробную информацию о массиве /dev/md1. Проверка массива - хорошая идея. По какой-то причине — неисправный диск, новая конфигурация RAID — мы хотим удалить /dev/sde из существующего массива /dev/md1.
Шаг 2. Размонтируйте RAID-массив
Предположим, что массив RAID смонтирован в /media/myraid. Мы должны остановить массив, чтобы навсегда удалить диск, но перед этим мы должны размонтировать массив, если он смонтирован и используется операционной системой.
Шаг 3. Остановите массив
Теперь мы можем остановить массив.
Шаг 4. Удалите диск с помощью mdadm
Пока не извлекайте диск из компьютера физически (если вы так планируете). Нам нужно указать mdadm «отключить» или «удалить» диск как часть конфигурации RAID /dev/md1.
Нам нужно выйти из строя и удалить диск.
Важное примечание. Извлекайте диск только из массива, который поддерживает удаление без потери данных. В этом примере был дополнительный жесткий диск для резервирования (/dev/sde). Его удаление не убило массив. Однако если вы удалите диск из массива RAID-0, вы потеряете все свои данные. Если вы удалите диск из массива RAID-5, состоящего только из трех дисков, вы потеряете все свои данные, поскольку для работы RAID-5 требуется как минимум три диска. Сначала узнайте свои уровни RAID!
Шаг 4. Обнуление суперблока на удаленном диске-участнике
Хорошо, диск-участник был удален, но он по-прежнему будет настаивать на том, что он является частью массива, поскольку предыдущая конфигурация массива RAID по-прежнему хранится на диске в его суперблоке. Каждый диск-член массива будет иметь свой собственный суперблок для хранения информации RAID. Нам нужно очистить эту информацию.
Это очень важный шаг, который легко упустить из виду. mdadm не очищает автоматически суперблок диска-участника при его удалении из массива. Вы должны сделать это вручную самостоятельно. Если этот рядовой диск установлен на другом компьютере или используется как обычный диск на том же компьютере, если его суперблок не очищен с помощью mdadm (или gparted с полным сбросом раздела), любая существующая установка mdadm попытается автоматически собрать диск к своему предыдущему массиву. Это может вызвать проблемы и головокружение. Очистка суперблока с помощью mdadm — самый безопасный способ удалить информацию RAID с удаленного диска-участника.
Если из массива удаляются несколько дисков, суперблок каждого диска должен быть очищен. Делайте это по очереди.
Шаг 5. (Необязательно) Измените количество устройств для RAID-массива
Теперь, когда один диск-участник удален из массива, мы должны изменить количество дисков, ожидаемых массивом, иначе удаленный диск будет отображаться как отсутствующий диск при каждом перезапуске системы. Если бы у нас было четыре диска, то массив все равно будет ожидать четыре диска.
Предположим, осталось три диска.
Для этого мы используем параметр –grow. Эта часть может быть сложной, поскольку она, как правило, зависит от массива. Обычно наиболее гарантированным вариантом является воссоздание массива с новым количеством устройств, если вы планируете уменьшить количество дисков-участников.
Если вы добавляете дополнительный диск-член в существующий массив, нет необходимости создавать его заново. Сначала добавьте новый диск, а затем используйте параметр –grow.
Примечание. Шаг 5 потенциально опасен. Одна ошибка или опечатка, и вы можете потерять данные на массиве. Убедитесь, что у вас есть резервная копия ваших данных.
Шаг 5 зависит от того, чего вы пытаетесь достичь, поэтому здесь невозможно перечислить все возможные варианты. Это только идеи для иллюстрации процесса. В зависимости от вашей цели, это может быть не пятый шаг.
Также обратите внимание, что если вы хотите изменить уровни RAID с RAID-0 на RAID-5, вам нужно будет остановить, удалить и воссоздать новый массив. Вы не можете переключать уровни RAID с помощью mdadm без потери данных. Сначала создайте резервную копию!
Шаг 6. Перезапустите массив
Вопреки тому, что можно было бы ожидать, для mdadm нет параметра –start. Чтобы запустить массив с помощью mdadm, мы должны использовать параметры --assemble и --scan вместе. Это автоматически сканирует суперблоки и собирает их в соответствующие массивы.
В случае успешного запуска RAID-массива вы должны увидеть примерно такое сообщение:
Количество дисков будет зависеть от массива. В этом примере используется один массив с тремя дисками, но в одной системе может существовать несколько массивов RAID. mdadm использует суперблоки, чтобы определить, какой диск принадлежит какому массиву, поэтому нам нужно очистить его, чтобы окончательно удалить диск из массива.
Заключение
На этом этапе вам решать, что делать с диском, удаленным из массива. Если это неисправный диск, то лучше физически удалить его из системы. Если жесткий диск исправен, вы можете перенести его на другую систему… или использовать как обычный диск… или добавить в качестве запасного во второй массив RAID в той же системе. Выбор за вами.
В этой статье объясняется, как создать программный RAID-массив и управлять им с помощью mdadm.
Содержание
Уровни RAID
Несмотря на избыточность, подразумеваемую большинством уровней RAID, RAID не гарантирует сохранность данных. RAID не защитит данные в случае пожара, кражи компьютера или одновременного выхода из строя нескольких жестких дисков. Кроме того, установка системы с RAID — это сложный процесс, который может привести к уничтожению данных.
Стандартные уровни RAID
Существует множество различных уровней RAID; перечисленные ниже являются наиболее распространенными.
RAID 0 Использует чередование для объединения дисков. Несмотря на то, что он не обеспечивает резервирования, он все равно считается RAID. Однако это обеспечивает большое преимущество в скорости. Если увеличение скорости стоит возможности потери данных (например, для раздела подкачки), выберите этот уровень RAID. На сервере больше подходят массивы RAID 1 и RAID 5. Размер блочного устройства массива RAID 0 равен размеру наименьшего раздела компонента, умноженному на количество разделов компонента. RAID 1 Самый простой уровень RAID: прямое зеркалирование. Как и в случае с другими уровнями RAID, это имеет смысл только в том случае, если разделы находятся на разных физических дисках. Если один из этих дисков выйдет из строя, блочное устройство, обеспечиваемое массивом RAID, будет продолжать работать в обычном режиме. В примере будет использоваться RAID 1 для всего, кроме подкачки и временных данных. Обратите внимание, что при программной реализации уровень RAID 1 является единственным вариантом для загрузочного раздела, потому что загрузчики, читающие загрузочный раздел, не понимают RAID, но компонентный раздел RAID 1 может быть прочитан как обычный раздел. Размер блочного устройства массива RAID 1 равен размеру наименьшего компонента раздела. RAID 5 Требует 3 или более физических дисков и обеспечивает избыточность RAID 1 в сочетании с преимуществами скорости и размера RAID 0. RAID 5 использует чередование, как и RAID 0, но также хранит блоки четности, распределенные по каждому диску-участнику< /я>. В случае отказа диска эти блоки четности используются для восстановления данных на замещающем диске. RAID 5 может выдержать потерю одного диска-участника.
Примечание. RAID 5 является распространенным выбором из-за сочетания скорости и избыточности данных. Предупреждение заключается в том, что если один диск выйдет из строя, а другой диск выйдет из строя до того, как этот диск будет заменен, все данные будут потеряны. Кроме того, при современных размерах дисков и ожидаемых показателях неисправимых ошибок чтения (URE) на потребительских дисках ожидается (т. е. с вероятностью более 50 %) восстановление массива 4TiB, по крайней мере, одного URE. По этой причине RAID 5 больше не рекомендуется производителями систем хранения данных.
RAID 6 требует 4 или более физических дисков и обеспечивает преимущества RAID 5, но с защитой от отказа двух дисков. RAID 6 также использует чередование, как и RAID 5, но хранит два отдельных блока четности, распределенных по каждому диску-участнику. В случае отказа диска эти блоки четности используются для восстановления данных на замещающем диске. RAID 6 может выдержать потерю двух дисков-участников.Устойчивость к неисправимым ошибкам чтения несколько лучше, потому что массив по-прежнему имеет блоки четности при восстановлении с одного отказавшего диска. Однако, учитывая накладные расходы, RAID 6 является дорогостоящим, и в большинстве случаев RAID 10 в макете far2 (см. ниже) обеспечивает лучшие преимущества в скорости и надежности, поэтому предпочтительнее.
Вложенные уровни RAID
RAID 1+0 RAID1+0 — это вложенный RAID, объединяющий два стандартных уровня RAID для повышения производительности и дополнительной избыточности. Обычно его называют RAID10, однако Linux MD RAID10 немного отличается от простого многоуровневого RAID, см. ниже. RAID 10 RAID10 под Linux построен на принципах RAID1+0, однако реализован как один слой с несколькими возможными схемами. Макет near X на Y дисках повторяет каждый блок X раз на полосах Y/2, но не требует, чтобы X делил Y поровну. Фрагменты размещаются почти в одном и том же месте на каждом диске, на котором они зеркалируются, отсюда и название. Он может работать с любым количеством дисков, начиная с 2. Около 2 на 2 диска эквивалентно RAID1, около 2 на 4 диска соответствует RAID1+0. Макет far X на дисках Y предназначен для обеспечения производительности чтения с чередованием на зеркальном массиве. Это достигается путем разделения каждого диска на две части, скажем, переднюю и заднюю, и то, что записывается на передний диск 1, отражается на заднем диске 2, и наоборот. Это дает возможность чередовать последовательное чтение, от чего RAID0 и RAID5 получают свою производительность. Недостатком является то, что последовательная запись имеет очень небольшое снижение производительности из-за расстояния, которое диск должен искать до другой части диска для хранения зеркала. Однако RAID10 в схеме Far 2 предпочтительнее многоуровневых RAID1+0 и RAID5, когда важна скорость чтения, а доступность/избыточность имеют решающее значение. Тем не менее, это все еще не замена резервным копиям. Дополнительную информацию см. на странице Википедии.
Предупреждение: mdadm не может изменять форму массивов в макетах far X, что означает, что после создания массива вы не сможете mdadm --grow его. Например, если у вас есть массив RAID10 размером 4x1 ТБ, и вы хотите переключиться на диски емкостью 2 ТБ, ваша полезная емкость останется равной 2 ТБ. В таких случаях используйте макеты рядом с X.
Массивы RAID обеспечивают повышенную производительность и избыточность за счет объединения отдельных дисков в виртуальные устройства хранения в определенных конфигурациях. В Linux утилита mdadm упрощает создание программных RAID-массивов и управление ими.
В предыдущем руководстве мы рассказали, как создавать массивы RAID с помощью mdadm в Ubuntu 16.04. В этом руководстве мы покажем, как управлять массивами RAID на сервере Ubuntu 16.04. В большинстве случаев управлять массивами RAID достаточно просто.
Предпосылки
Для выполнения этого руководства вам потребуется доступ к пользователю sudo без полномочий root. Вы можете следовать нашему руководству по первоначальной настройке сервера Ubuntu 16.04, чтобы настроить соответствующего пользователя.
Как упоминалось выше, в этом руководстве рассматривается управление массивом RAID. Следуйте нашему руководству о том, как создавать массивы RAID с помощью mdadm в Ubuntu 16.04, чтобы создать один или несколько массивов, прежде чем приступить к работе с этим руководством. В этом руководстве предполагается, что у вас есть один или несколько массивов для работы.
Запрос информации о RAID-устройствах
Одним из наиболее важных требований для правильного управления является возможность найти информацию о структуре, составных устройствах и текущем состоянии массива.
Чтобы получить подробную информацию об устройстве RAID, передайте устройство RAID с параметром -D или --detail в mdadm :
Будет отображена важная информация о массиве:
В этом представлении вы можете увидеть уровень RAID, размер массива, состояние отдельных частей, UUID массива, а также устройства-компоненты и их роли. Вся информация, представленная в этом представлении, довольно хорошо помечена.
Чтобы получить сокращенную информацию о массиве, подходящую для добавления в файл /dev/mdadm/mdadm.conf, вы можете передать флаги --brief или -b в подробном представлении:
Чтобы получить краткую удобочитаемую сводку по устройству RAID, используйте для запроса параметр -Q:
Это можно использовать для быстрого поиска ключевой информации об устройстве RAID.
Получение информации об устройствах-компонентах
Вы также можете использовать mdadm для запроса отдельных устройств-компонентов.
Опция -Q при использовании с компонентным устройством сообщит вам массив, частью которого оно является, и его роль:
Вы можете получить более подробную информацию, используя параметры -E или --examine:
Эта информация аналогична отображаемой при использовании параметра -D с устройством-массивом, но сфокусирована на отношении устройства-компонента к массиву.
Чтение информации /proc/mdstat
Чтобы получить подробную информацию о каждом из собранных массивов на вашем сервере, проверьте файл /proc/mdstat. Часто это лучший способ узнать текущее состояние активных массивов в вашей системе:
Вывод здесь довольно плотный, предоставляя много информации на небольшом пространстве.
Строка Personalities описывает различные уровни RAID и конфигурации, которые в настоящее время поддерживает ядро.
Строка, начинающаяся с md0, описывает начало описания устройства RAID. Следующие строки с отступом также описывают это устройство.
В первой строке указано, что массив активен (исправен) и сконфигурирован как RAID 10. Далее перечислены устройства-компоненты, которые использовались для построения массива. Цифры в скобках описывают текущую «роль» устройства в массиве (это влияет на то, какие копии данных предоставляются устройству).
Во второй строке, отображаемой в этом примере, указано количество блоков, предоставляемых виртуальными устройствами, версия метаданных (в данном примере 1.2) и размер фрагмента массива. Так как это массив RAID 10, он также содержит информацию о структуре массива (этот пример был сконфигурирован для хранения двух копий каждого фрагмента данных в «ближней» структуре).
Последние элементы в квадратных скобках представляют доступные в настоящее время устройства из исправного набора. Первое число в числовых скобках указывает размер работоспособного массива, а второе число представляет доступное в настоящее время количество устройств. Другие квадратные скобки — это визуальная индикация работоспособности массива, где «U» обозначает исправные устройства, а «_» — неисправные устройства.
Если ваш массив в настоящее время собирается или восстанавливается, у вас может быть другая строка, показывающая ход выполнения. Это будет выглядеть примерно так:
Это описывает операцию, применяемую в настоящее время, и текущий прогресс различными способами. Он также предоставляет текущую скорость и расчетное время до завершения.
После того, как вы получите четкое представление о том, какие массивы в настоящее время работают в вашей системе, вы можете предпринять ряд действий.
Остановка массива
Чтобы остановить массив, первым делом нужно его размонтировать.
Выйдите из смонтированного каталога и размонтируйте его, введя:
Вы можете остановить все активные массивы, набрав:
Если вы хотите остановить определенный массив, передайте его команде mdadm --stop:
Это остановит массив. Вам придется заново собрать массив, чтобы снова получить к нему доступ.
Запуск массива
Чтобы запустить все массивы, определенные в файлах конфигурации или /proc/mdstat , введите:
Чтобы запустить определенный массив, вы можете передать его в качестве аргумента mdadm --assemble :
Это работает, если массив определен в файле конфигурации.
Если в файле конфигурации отсутствует правильное определение массива, массив все равно можно запустить, передав устройства-компоненты:
После того, как массив собран, его можно смонтировать как обычно:
Теперь массив должен быть доступен в точке подключения.
Добавление запасного устройства в массив
Запасные устройства можно добавлять в любые массивы, обеспечивающие избыточность (например, RAID 1, 5, 6 или 10). Запас не будет активно использоваться массивом, если только активное устройство не выйдет из строя. Когда это произойдет, массив повторно синхронизирует данные с резервным диском, чтобы полностью восстановить работоспособность массива. Запасные части не могут быть добавлены в массивы без резервирования (RAID 0), так как массив не выдержит сбой диска.
Чтобы добавить запасное, просто передайте массив и новое устройство команде mdadm --add:
Если массив не находится в поврежденном состоянии, новое устройство будет добавлено в качестве запасного. Если устройство в настоящее время повреждено, операция повторной синхронизации немедленно начнется с использованием запасного диска для замены неисправного диска.
После добавления запасного устройства обновите файл конфигурации, чтобы он отражал новую ориентацию устройства:
Удалите или закомментируйте текущую строку, соответствующую вашему определению массива:
После этого добавьте текущую конфигурацию:
Новая информация будет использоваться утилитой mdadm для сборки массива.
Увеличение количества активных устройств в массиве
Можно увеличить массив, увеличив количество активных устройств в сборке. Точная процедура немного зависит от используемого уровня RAID.
С RAID 1 или 10
Начните с добавления нового устройства в качестве запасного, как показано в предыдущем разделе:
Узнать текущее количество RAID-устройств в массиве:
Мы видим, что в этом примере массив настроен на активное использование двух устройств, а общее количество устройств, доступных для массива, равно трем (поскольку мы добавили запасное устройство).
Теперь измените конфигурацию массива, чтобы иметь дополнительное активное устройство. Запасной будет использоваться для удовлетворения потребности в дополнительном диске:
Начнется реконфигурация массива с дополнительным активным диском. Чтобы просмотреть ход синхронизации данных, введите:
Вы можете продолжать использовать устройство после завершения процесса.
С RAID 5 или 6
Начните с добавления нового устройства в качестве запасного, как показано в предыдущем разделе:
Узнать текущее количество RAID-устройств в массиве:
Мы видим, что в этом примере массив настроен на активное использование трех устройств, а общее количество устройств, доступных для массива, равно четырем (поскольку мы добавили запасное устройство).
Теперь измените конфигурацию массива, чтобы иметь дополнительное активное устройство. Запасной будет использоваться для удовлетворения потребности в дополнительном приводе. При наращивании массива RAID 5 или RAID 6 важно включить дополнительную опцию --backup-file . Это должно указывать на расположение за пределами массива, где будет храниться файл резервной копии, содержащий важную информацию.
Файл резервной копии используется в течение очень короткого, но критического периода времени во время этого процесса, после чего он автоматически удаляется. Поскольку время, когда это необходимо, очень короткое, вы, скорее всего, никогда не увидите файл на диске, но в случае, если что-то пойдет не так, его можно использовать для перестроения массива. В этом сообщении есть дополнительная информация, если вы хотите узнать больше.
Следующий вывод указывает, что будет создана резервная копия критической секции:
Начнется реконфигурация массива с дополнительным активным диском. Чтобы просмотреть ход синхронизации данных, введите:
Вы можете продолжать использовать устройство после завершения этого процесса.
После завершения преобразования вам потребуется расширить файловую систему массива, чтобы использовать дополнительное пространство:
Теперь ваш массив должен иметь файловую систему, соответствующую его емкости.
С RAID 0
Поскольку в массивах RAID 0 не может быть запасных дисков (у запасных нет шансов восстановить поврежденный массив RAID 0), мы должны добавлять новые устройства одновременно с расширением массива.
Сначала узнайте текущее количество RAID-устройств в массиве:
Теперь мы можем увеличить количество устройств RAID в той же операции, что и добавление нового диска:
Вы увидите вывод, указывающий, что массив был изменен на RAID 4:
Это нормально и ожидаемо. Массив вернется в состояние RAID 0, когда данные будут перераспределены на все существующие диски.
Вы можете проверить ход выполнения действия, набрав:
После завершения синхронизации измените размер файловой системы, чтобы использовать дополнительное пространство:
Теперь ваш массив должен иметь файловую систему, соответствующую его емкости.
Удаление устройства из массива
Извлечение диска из RAID-массива иногда необходимо в случае неисправности или если вам нужно заменить диск.
Чтобы устройство было удалено, оно должно быть сначала помечено как "сбой" в массиве. Вы можете проверить, есть ли неисправное устройство, используя mdadm --detail :
Все выделенные строки указывают на то, что диск больше не работает (в данном примере /dev/sdc).
Если вам нужно удалить диск, на котором нет проблем, вы можете вручную пометить его как неисправный с помощью параметра --fail:
Если вы посмотрите на вывод mdadm --detail , вы должны увидеть, что устройство теперь помечено как неисправное.
После сбоя устройства его можно удалить из массива с помощью mdadm --remove :
Массив начнет восстанавливаться путем копирования данных на новый диск.
Удаление массива
Чтобы уничтожить массив, включая все содержащиеся в нем данные, начните с процесса, который мы использовали для остановки массива.
Сначала размонтируйте файловую систему:
Далее остановите массив:
После этого удалите сам массив с помощью команды --remove, нацеленной на устройство RAID:
После удаления самого массива следует использовать mdadm --zero-superblock на каждом из составных устройств. Это удалит суперблок md, заголовок, используемый mdadm для сборки и управления составными устройствами как частью массива. Если это все еще присутствует, это может вызвать проблемы при попытке повторного использования диска для других целей.
Вы можете увидеть, что суперблок все еще присутствует в массиве, проверив столбец FSTYPE в выводе lsblk --fs:
В этом примере /dev/sda , /dev/sdb и /dev/sdc были частью массива и по-прежнему помечены как таковые.
Удалите ярлыки, набрав:
Затем убедитесь, что вы удалили или закомментировали все ссылки на массив в файле /etc/fstab:
Сохраните и закройте файл, когда закончите.
Удалите или закомментируйте любые ссылки на массив из файла /etc/mdadm/mdadm.conf:
Сохраните и закройте файл, когда закончите.
Обновите initramfs, введя:
Это должно удалить устройство из среды ранней загрузки.
Заключение
Утилита mdadm в Linux упрощает управление массивами, если вы понимаете используемые ею соглашения и места, где можно искать информацию. Это руководство никоим образом не является исчерпывающим, оно служит для ознакомления с некоторыми задачами управления, которые могут потребоваться вам в повседневной работе.
После того, как вы освоитесь с созданием массивов RAID и управлением ими с помощью mdadm , вы сможете изучить несколько различных направлений. Уровни управления томами, такие как LVM, тесно интегрируются с RAID и позволяют гибко разбивать пространство на логические тома. Точно так же шифрование LUKS и dm-crypt обычно используется для шифрования устройств RAID перед записью в файловую систему. Linux позволяет использовать все эти технологии вместе для расширения возможностей вашего хранилища.
Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!
Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.
Серия руководств: Как настроить RAID-массивы в Ubuntu 16.04
RAID позволяет управлять отдельными накопителями как единым устройством с более высокой производительностью или свойствами избыточности. В этой серии мы рассмотрим концепции и терминологию RAID, создадим программные RAID-массивы с помощью утилиты Linux mdadm и узнаем, как управлять массивами и администрировать их, чтобы обеспечить бесперебойную работу вашей инфраструктуры хранения.
Читайте также: