Изменение размера разделов в RAID-массиве mdadm
У меня есть домашнее хранилище NAS, и мне нужно немного перенастроить некоторые из моих дисков.
У меня есть mdadm RAID1, состоящий из двух дисков по 3 ТБ. Каждый диск имеет один раздел ext3, который использует весь диск. Мне нужно сжать раздел ext3 на обоих дисках и добавить второй или около того раздел ext3 объемом 8 ГБ к одному и поменять раздел такого же размера на другой. Я думаю, что у меня есть шаги, но я хотел получить подтверждение.
- Изменение размера RAID-массива mdadm
resize2fs /dev/md0 [size]
где размер немного больше используемого в данный момент места на диске - Извлеките один из дисков из RAID
mdadm /dev/md0 --fail /dev/sda1
- Изменить размер удаленного диска с расстались
- Добавить новый раздел на диск с расстались
- Восстановите диск в RAID
mdadm -a /dev/md0 /dev/sda1
- Повторите 2-5 для другого устройства
- Измените размер RAID, чтобы использовать полный раздел
mdadm --grow /dev/md0 -z max
Есть что-то, что я пропустил или не учел?
2 ответа
Да, вы пропустили что-то очень важное, и я научился этому нелегко. http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162 указывает, что теперь становится статистически неизбежно иметь плохие сектора в массиве RAID.
Если у вас поврежденный RAID-массив и один из ваших дисков попал в неисправный сектор, mdraid отключит этот массив. Это произойдет во время восстановления при повторном добавлении диска, поскольку каждый сектор других дисков должен быть прочитан. Я потратил немало времени на восстановление после этого, что действительно сложно.\
Поэтому вы должны сделать это заранее: echo repair> / sys / block / mdX / md / sync_action
(проверьте https://raid.wiki.kernel.org/index.php/Scrubbing)
Ваши шаги выглядят хорошо, с двумя исключениями:
После
resize2fs
вам нужно уменьшить ваш массив mdadm. Например сделатьmdadm --grow --size xxx
как шаг № 1а.Я также предложил бы делать все это при загрузке на загрузочный компакт-диск, например SystemRescueCd, а не при монтировании /dev/md0. Следуйте за изменениями fsck, просто чтобы убедиться, что все в порядке.