Гид по технологиям

Увеличение размера degraded RAID-массива

4 min read Системное администрирование Обновлено 22 Sep 2025
Увеличение размера degraded RAID-массива
Увеличение размера 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 синхронизируются.

Критерии приёмки

  1. mdadm показывает увеличенный размер /dev/md1 и состояние «clean» или синхронизируется без ошибок.
  2. pvdisplay/ vgdisplay отражают увеличенный PV и VG с ожидаемым количеством Free PE и расширенными LV.
  3. lvdisplay показывает расширенный /dev/server1/root.
  4. Файловая система монтируется без ошибок и доступна для чтения/записи.
  5. После добавления диска в массив 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.

Ссылки

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

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

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

Редактирование RAW на Chromebook — Darktable
Фото

Редактирование RAW на Chromebook — Darktable

Увеличение размера degraded RAID-массива
Системное администрирование

Увеличение размера degraded RAID-массива

TextNow: перенаправление на Recover your Account
Руководство

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

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

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

Видео‑интро для YouTube: как создать и где сделать
Видеомаркетинг

Видео‑интро для YouTube: как создать и где сделать