В настоящее время у меня есть массив 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