Увеличение размера degraded RAID-массива
Кратко: отключите повреждённый диск из массива, обнулите superblock, загрузитесь в rescue, расширьте md-устройство и PV, затем увеличьте LV и файловую систему. После успешного расширения верните диск в массив и дождитесь синхронизации. Важно: обязательно выполнить mdadm –zero-superblock на восстановленном диске перед повторным добавлением.
Цель и варианты запросов
Цель: показать шаги для безопасного увеличения размера degraded RAID-массива и расширения LVM/файловой системы. Варианты запроса, которые покрывает статья: расширить degraded RAID, увеличить mdadm массив, pvresize после расширения RAID, lvextend и resize2fs на работающем LVM.
Важные замечания
Important: если не обнулить superblock на диске, добавленном обратно в массив после расширения md, система может потерять возможность загрузки после изменения размера.
Пререквизиты:
- Доступ к rescue-системе или live-образу с mdadm и lvm2.
- Резервная копия важных данных перед операциями с дисками и разделами.
Подготовка: удаление диска из массива
Перед загрузкой в rescue нужно убедиться, что /dev/sda5 действительно помечен как отсутствующий и удалён из массива:
mdadm --manage /dev/md1 --fail /dev/sda5
mdadm --manage /dev/md1 --remove /dev/sda5
Далее обязательно обнуляем superblock на /dev/sda5 (если забыть — возможны проблемы с загрузкой после изменения размера):
mdadm --zero-superblock /dev/sda5
Загрузка в rescue и активация модулей
Загрузитесь в rescue-систему и загрузите необходимые модули ядра:
modprobe md
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10
Активируйте RAID и обновите конфигурацию mdadm:
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
mdadm -A --scan
Запустите LVM:
/etc/init.d/lvm start
Notes: если ваша дистрибуция использует systemd, замените команду на systemctl start lvm2-lvmetad или аналогичную служебную команду.
Увеличение md-устройства
Чтобы расширить md1 до максимально возможного размера, выполните:
mdadm --grow /dev/md1 --size=max
Пояснение: –size=max задаёт максимально возможный размер, основанный на текущих устройствах RAID. Можно указать размер в КиБ, если нужен точный контроль.
Расширение PV и проверка VG
После увеличения md-устройства расширьте PV:
pvresize /dev/md1
Проверьте параметры группы томов:
vgdisplay
В исходном примере вывод выглядит так:
root@Knoppix:~# vgdisplay
--- Volume group ---
VG Name server1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 29
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 4.75 GB
PE Size 4.00 MB
Total PE 1217
Alloc PE / Size 1023 / 4.00 GB
Free PE / Size 194 / 776.00 MB
VG UUID X3ZYTy-39yq-20k7-GCGk-vKVU-Xe0i-REdEu0
root@Knoppix:~#
Из вывода видно: 194 свободных PE (физических экстента), суммарно ~776 МБ — их можно выделить для LV.
Расширение логического тома и файловой системы
Увеличим LV, используя все свободные PE (в примере +194):
lvextend -l +194 /dev/server1/root
Затем выполните проверку файловой системы перед изменением размера:
e2fsck -f /dev/server1/root
Измените размер файловой системы ext3/ext4 до полного размера тома:
resize2fs /dev/server1/root
И ещё раз проверьте целостность:
e2fsck -f /dev/server1/root
Notes: для XFS используйте xfs_growfs и предварительно монтируйте том. resize2fs работает с ext2/3/4.
Возврат диска в массив и синхронизация
После успешного расширения и проверки файловой системы загрузитесь в обычную систему и добавьте /dev/sda5 обратно в массив:
mdadm --zero-superblock /dev/sda5
mdadm -a /dev/md1 /dev/sda5
Проверьте статус синхронизации:
cat /proc/mdstat
Вы должны увидеть, что /dev/sdb5 и /dev/sda5 синхронизируются.
Критерии приёмки
- mdadm показывает увеличенный размер /dev/md1 и состояние «clean» или синхронизируется без ошибок.
- pvdisplay/ vgdisplay отражают увеличенный PV и VG с ожидаемым количеством Free PE и расширенными LV.
- lvdisplay показывает расширенный /dev/server1/root.
- Файловая система монтируется без ошибок и доступна для чтения/записи.
- После добавления диска в массив mdadm не сообщает о конфликте superblock и процесс восстановления завершён успешно.
Чек-лист ролей
Администратор перед изменением:
- Создал резервную копию данных.
- Уведомил пользователей о возможном простое.
- Подготовил rescue-образ и доступ к консоли.
Во время операции:
- Выполнил mdadm –fail и –remove для проблемного диска.
- Обнуление superblock на удалённом диске.
- Проверил вывод vgdisplay и lvdisplay.
После операции:
- Добавил диск обратно и контролировал /proc/mdstat.
- Проверил целостность файловой системы.
- Обновил /etc/mdadm/mdadm.conf при необходимости.
Когда метод не сработает и альтернативы
Когда не сработает:
- Если удалённый диск физически повреждён и не может быть повторно добавлен.
- Если RAID-массив имеет сложную конфигурацию (например, смешанные размеров дисков) и mdadm не может расширить автоматически.
Альтернативы:
- Восстановить данные из резервной копии на новый набор дисков и пересоздать массив.
- Добавить новые диски и перестроить RAID в ином уровне (например, перейти с RAID1 на RAID10) с переносом данных.
Безопасность и риски
Риски:
- Потеря данных при ошибках в командах или при прерывании синхронизации.
- Некорректное обнуление superblock на рабочем диске приведёт к удалению его из массива.
Митигции:
- Полный бэкап до изменений.
- Выполнение операций в консоли с доступом к серийному порту или IPMI.
Краткая сводка
Последовательность: пометить диск как failed → remove → zero-superblock → загрузка в rescue → активировать md/lvm → mdadm –grow –size=max → pvresize → lvextend → fsck → resize2fs → fsck → загрузиться в нормальную систему → mdadm -a и контроль /proc/mdstat.
Ссылки
- Knoppix: http://www.knoppix.net/
Похожие материалы

Тест «Нет жизни»: стоит ли верить приложению

Редактирование RAW на Chromebook — Darktable
Увеличение размера degraded RAID-массива

TextNow: перенаправление на Recover your Account

3 способа вернуть кнопку «View Image» в Google
