Увеличение размера 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 startNotes: если ваша дистрибуция использует 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/rootNotes: для 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/
Похожие материалы
Herodotus: защита от банковского трояна на Android
Включить новый Пуск в Windows 11
Панель полей сводной таблицы Excel — руководство
Включить новое меню «Пуск» в Windows 11 (KB5067036)
Дублирование Диспетчера задач в Windows 11: как исправить