Найти тему
Блокнот сисадмина

Расширение массива RAID1

Есть два диска: sda и sdb. На каждом по три раздела: sda1, sda2, sda3 и sdb1, sdb2 ,sdb3 соответственно. Они попарно объединены в RAID1: sda1 и sdb1 в md0 и т. д. Нужно увеличить размер раздела md{x} при условии, что после него и до следующего раздела есть свободное пространство. Для примера изменим размер md2, состоящего из sda3 и sdb3.

1. Нужно пометить sda3, как сбойный и исключить его из массива:

mdadm -f /dev/md2 /dev/sda3

Далее удаляем сбойный раздел из массива:

mdadm /dev/md2 --remove /dev/sda3

2. Изменяем размер раздела:

cfdisk /dev/sda3

В утилите выделяем раздел sda3 и выбираем команду "Resize". Прописываем нужный размер или выбираем предложенный максимальный размер раздела. Не забываем выбрать команду "Write", отвечаем полным словом "yes", тем самым применив изменения раздела и выходим посредством "Quit".

3. Далее добавляем раздел обратно в RAID:

mdadm --add /dev/md2 /dev/sda3

Дожидаемся окончания синхронизации, проверяя командой:

mdadm -D /dev/md2

или

cat /proc/mdstat

4. Повторяем шаги 1-3 для раздела sdb3.

5. Несмотря на то, что мы увеличили размер sda3 и sdb3, размеры массива md2 остался неизменным. Но если мы вспомним, что программный RAID в Linux строится поверх разделов, то все станет на свои места. Это аналогично тому, что если бы мы заменили жесткий диск в системе на более ёмкий, но перенесли раздел без изменения размера.

Расширяем объем массива:

mdadm --grow /dev/md2 --size=max

Проверяя результат командой "lsblk", видим, что размер массива изменился. Однако для разделов с файловой системой не всё так просто. Проверяя размеры командой "df -h" видно, что объём md2 остался прежним. Поэтому необходимо также увеличить размер раздела с данными:

resize2fs /dev/md2

Теперь можно считать процесс расширения массива законченным, можно использовать все доступное пространство новых дисков.