Назад | Перейти на главную страницу

mdadm: Замена маленьких жестких дисков на большие в RAID5, как разбить на разделы?

Итак, я понял суть замены жестких драйверов меньшего размера на более крупные в MDADM RAID5:

Вывести из строя и удалить один диск.

mdadm -f /dev/md0 /dev/sdd1
mdadm -r /dev/md0 /dev/sdd1

Завершение работы, поменять местами жесткий диск, разделить и добавить обратно в массив

mdadm --add /dev/md0 /dev/sdd1

Дождитесь повторной синхронизации и продолжите со всеми оставшимися дисками.

Наконец увеличьте массив

mdadm --grow /dev/md0 --size=max

У меня вопрос, как разбить новые диски большего размера? Я вижу разные инструкции в сети, и я знаю, что большинство из них устарело, поэтому я хотел посмотреть, делал ли кто-нибудь это в последнее время.

  1. Разделите новые диски так, чтобы они были того же размера, что и старые диски в массиве.

  2. Разбейте новые диски на разделы по максимальному размеру диска.

У меня действительно простая установка, 4 диска RAID5 по 350 ГБ каждый. У меня только один раздел на каждом диске, и я создаю один массив. Это диск для архива данных, поэтому нет необходимости в нескольких массивах или разделах.

Другой подход, который я думаю, - это резервное копирование на один диск, создание массива из трех дисков, добавление резервного диска в массив. То есть:

Это безопаснее? Быстрее? Мысли?

Текущие версии md tools поддерживают замену устройства при сохранении работы RAID (и, следовательно, избыточности).

Вам нужна возможность добавить как минимум еще одно устройство к компьютеру, но после этого вам не нужно будет держать массив в деградированном состоянии в течение нескольких часов (или дней, в случае текущих жестких дисков с несколькими ТБ), пока он восстанавливается.

Сначала вам нужно добавить диск в качестве запасного к массиву (при условии, что 4 диска в RAID):

mdadm /dev/md0 --add /dev/sde1

Затем вы говорите Linux начать перемещение данных на новый диск:

mdadm /dev/md0 --replace /dev/sda1 --with /dev/sde1

После завершения замены устройство помечается как неисправное, поэтому его необходимо удалить из массива:

mdadm /dev/md0 --remove /dev/sda1

Повторите эти действия для других дисков в массиве.

Если у вас есть возможность подключить несколько дополнительных дисков, вы можете сделать это даже для всех дисков одновременно, сохраняя при этом массив в оперативном режиме и с полным резервированием. Итак, ниже приведен допустимый набор команд:

mdadm /dev/md0 --add /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
mdadm /dev/md0 --replace /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 --with /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1

Дождитесь завершения, удалите старые диски:

mdadm /dev/md0 --remove /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

В конце концов, вам понадобится «raid partition», чтобы иметь максимальный размер диска; не имеет значения, сделаете ли вы это при перестройке или переделаете раздел после обновления массива.

Я недавно делал нечто подобное, довольно быстро. Обратите внимание, что вы можете установить скорость восстановления рейда (/ proc / sys / dev / raid / speed_limit_min / max), по умолчанию она ограничена для фоновых перестроек.

Обратите внимание, что в вашем плане отсутствует один шаг: вам нужно будет проинструктировать вещь поверх вашего md-слоя, чтобы она тоже росла (файловая система, или lvm pv, или ...)

Однако, если вы можете это сделать (можете дольше держать систему в нерабочем состоянии, потратить больше времени и иметь достаточно слотов для дисков), вероятно, безопаснее скопировать все на резервный диск. Данные всегда остаются на виду, что меня утешает.

Я задаю себе тот же вопрос, только с 4 дисками RAID5 по 400 ГБ (назовем его / dev / md1), замененными на диски гораздо большего размера (что-то между 2 и 4 ТБ). Кроме того, LVM.

Одно не очень элегантное решение, которое я придумал, заключается в следующем:

Удалите один диск (предпочтительнее, чем наиболее подверженный ошибкам диск в соответствии со значениями SMART дисков), замените его новым. Разбейте новый диск одним разделом того же размера, что и старый, и вторым разделом для оставшейся части. Добавьте раздел такого же размера в RAID / dev / md1 и дождитесь завершения повторной синхронизации.

Затем проделайте то же самое со следующим диском. Теперь у вас есть два дополнительных неиспользуемых раздела. Запустите на них новый RAID 5. Добавьте новый RAID5 (например, / dev / md2) в качестве физического тома (PV) в группу томов, используемую на / dev / md1. Уже после замены двух дисков у вас уже есть доступное избыточное дисковое пространство.

Сделайте то же самое для третьего и четвертого дисков, добавьте их в качестве дополнительных дисков в / dev / md2 и затем запустите pvresize на устройстве.

Я подозреваю, что сделаю то же самое, что уже дважды предлагалось в этом потоке: поместил все содержимое (в настоящее время около 700 ГБ из 1,2 ТБ RAID) на внешний диск (возможно, один из новых), а затем начну новый Массив RAID5 с тремя дисками, скопируйте данные обратно, а затем добавьте последний диск, который использовался в качестве временного хранилища.

Самый простой / безопасный способ получить массив, состоящий из дисков большего размера, - это

  • скопировать все данные на внешний диск
  • удалите все маленькие диски и замените их большими
  • создать новый массив на больших дисках
  • скопируйте данные обратно

Это также даст вам две копии данных: одну на внешнем диске, а другую - на коллекции меньших дисков, которые вы удалили. (Внимательно отслеживайте, какой диск какой!)

Я не думаю, что можно наращивать массивы RAID-5, добавляя в них диск. Вы бы создали массив RAID-5 с 3 дисками, и лучшее, что вы могли сделать после копирования данных в новый массив, - это пометить четвертый диск как горячий резерв ... что не совсем то же самое, что 4-дисковый массив RAID-5.