У меня есть программный RAID-5, состоящий из 3 дисков, назовите их A, B, C. Я хотел бы заменить старый диск C новым и более емким, чтобы в конечном итоге расширить массив. Это в системе Ubuntu 16.04 с запущенным mdadm для управления дисками.

При поиске в Интернете рекомендуется перевести диск C в автономный режим, установив режим сбоя, удалить его из массива, добавить новый диск D и разрешить повторную синхронизацию массива. Я беспокоюсь о том, что во время процесса повторной синхронизации (порядка суток для диска емкостью 1,5 ТБ) массив хрупок и может быть потерян в случае отказа дисков A или B.

Есть ли способ вместо этого добавить новый диск D в массив и позволить ему сначала «зеркалировать / синхронизировать» содержимое диска C, а затем просто сбить / удалить диск C таким образом, чтобы массив не нуждался в повторной синхронизации?

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

2 ответа2

0

Это похоже на копию https://unix.stackexchange.com/questions/74924/how-to-safely-replace-a-not-yet-failed-disk-in-a-linux-raid5-array

Согласно принятому там ответу, при условии, что у вас есть по крайней мере mdadm 3.3 и ядро 3.2 (afaict ubuntu 16.04 делает), вы сначала добавляете устройство как запасное, а затем говорите mdadm, что хотите заменить старый диск на новый.

# mdadm /dev/md0 --add /dev/sdc1
# mdadm /dev/md0 --replace /dev/sdd1 --with /dev/sdc1

Где sdc1 - новый диск, а sdd1 - старый диск.

0

Зависит от того, что именно вы используете. Все возможные варианты, которые я могу придумать, требуют, чтобы вы могли подключать новый диск, когда все старые подключены, но в целом вы можете выполнить любое из следующих действий:

  • Измените массив, чтобы включить новый диск, а затем измените его снова, чтобы удалить старый диск. Практически любая здравомыслящая программная реализация RAID должна быть в состоянии сделать это, большинство из них также онлайн, хотя это ужасно неэффективно.
  • Добавьте новый диск в массив в качестве «горячего» резерва, выйдите из строя старый, а затем удалите старый из массива (так как теперь он должен рассматриваться массивом как «горячий» резерв). Обычно это поддерживается большинством программных реализаций RAID и является гораздо более эффективным, чем первый вариант (он восстанавливает четность только один раз, а не дважды).
  • Если у вас действительно хорошая реализация программного RAID или вы используете BTRFS (или, возможно, ZFS, я не знаю, поддерживают ли они это или нет), вы можете заменить диск, даже не восстанавливая массив. Для BTRFS это делается с помощью команды btrfs device replace btrfs, которая, по сути, делает онлайн-клонирование старого устройства.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .