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

Можно ли удалить диск из RAID5 в Linux, если места достаточно?

В настоящее время у меня есть массив RAID-5 x5 объемом 500 ГБ в Fedora Linux с использованием mdadm. Один из дисков вышел из строя, и я собираюсь переместить все диски и данные в новый массив. Однако могу ли я уменьшить размер массива в среднем до 4 дисков, чтобы предотвратить немыслимый выход из строя другого диска? Мне нужно было бы сделать это без повторного создания массива, потому что в настоящее время у меня нет места для хранения, достаточно большого для хранения данных.

Как сказал Уомбл, вы не можете уронить диск и сжать RAID.

Вероятно, вам следует кое-что знать о RAID. Во-первых, RAID 5 больше не считается хорошей практикой для больших дисков или больших массивов. Причина в том, что вероятность ошибки чтения с одного из дисков при замене неисправного диска становится намного ближе к 1: 1 с большими / многочисленными дисками. Сейчас передовой практикой является RAID 6, который предоставляет два диска с контролем четности, или RAID 10, который обеспечивает лучшую производительность, но немного меньшую отказоустойчивость (в некоторых случаях вы можете потерять 2 диска). Кроме того, когда вы создаете массивы приличного размера, вы можете подумать о добавлении горячего резерва, который автоматически заменяет отказавший элемент без вашего вмешательства.

Конечно, это не дает вам ваших данных. Предполагая, что у вас есть массив размером 5x500 ГБ, у вас есть около 2 ТБ полезного пространства. Если у вас есть резервные копии, вам действительно нужно восстановить их после воссоздания массива.

Поскольку похоже, что у вас нет резервных копий, во-первых, удачи. Во-вторых, пора получить некую поспешность после вторичного хранения. Я бы порекомендовал внешний диск на 2 ТБ. Они бегают 160 долларов на сайте pricewatch.com. Если по какой-либо причине вы не можете этого сделать, попробуйте логически разбить его и отправить на несколько других машин, пока вы перестраиваете массив.

Вы, наверное, захотите поторопиться.

Нет, вы не можете уменьшить количество устройств в массиве RAID с помощью mdadm.

Из mdadm(8):

РЕЖИМ РОСТА

Режим РОСТА используется для изменения размера или формы активного массива. Чтобы это работало, ядро ​​должно поддерживать необходимые изменения. Во время разработки 2.6 добавляются различные типы расширения, включая реструктуризацию массива raid5, чтобы было больше активных устройств.

В настоящее время доступна только поддержка

[...]

  • увеличить атрибут «raid-devices» для RAID1, RAID5 и RAID6.

Убедитесь, что ваши резервные копии в порядке, затем перестройте массив с нуля с соответствующим количеством дисков и восстановите из резервной копии на массив.

Из других ответов кажется очевидным, что вы не можете просто «уменьшить» рейд. Однако я считаю, что одна из особенностей RAID5 при его использовании для резервирования заключается в том, что вы можете просто вставить неисправный диск и вставить новый? Я не думаю, что вам нужно перестраивать весь массив ...

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

Посмотрите текущий статус массива, скажем, / dev / md0:

sudo mdadm --detail /dev/md0

... показывает текущий статус массива, каждого устройства и т. д.

Установите старый диск неисправным и удалите его из массива. Допустим, неисправный диск - / dev / sdg:

sudo mdadm --set-faulty /dev/md0 /dev/sdg
sudo mdadm --remove /dev/md0 /dev/sdg

На этом этапе, если вы выполните sudo mdadm --detail / dev / md0, вы должны увидеть, что этот диск был удален из массива.

Выключите компьютер, замените старый диск, подключите новый, включите компьютер.

Запустите массив с отсутствующим диском. Допустим, другими устройствами были / dev / sdf и / dev / sdh, поэтому:

sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdf missing /dev/sdh

... заменяя отсутствующее имя устройства словом «отсутствует».

Массив должен запуститься. Теперь добавьте новое устройство / диск. Скажем, новый диск снова / dev / sdg:

sudo mdadm --add /dev/md0 /dev/sdg

mdadm должен добавить новое устройство в массив и начать восстановление массива на нем.

Вы можете проверить, выполнив:

sudo mdadm --detail /dev/md0