Расширение раздела с помощью mdadm

Конфигурирование, планирование RAID систем, возможности, технологии, теория. Qlogic, LSI Logic, Adaptec ...

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
ajk
Junior member
Сообщения: 8
Зарегистрирован: 20 июл 2009, 19:48
Откуда: Москва

Расширение раздела с помощью mdadm

Сообщение ajk » 23 авг 2009, 13:27

Интересную фичу mdadm тут обнаружил, может кому пригодится.

Например в /dev/sdb1 - ext4 и место кончилось и есть /dev/sdb2 пустой, делаем:

Код: Выделить всё

umount /dev/sdb1
mdadm --build /dev/md0 --level=linear --chunk=4 --raid-devices=2 /dev/sdb1 /dev/sdb2
resize2fs /dev/md0
и в /dev/md0 получаем ext4 размером с sdb1+sdb2, данные сохраняются и fsck ошибок не находит.

Чтобы добавить еще девайс к массиву, например /dev/sdb3:

Код: Выделить всё

umount /dev/md0
mdadm --stop /dev/md0
mdadm --build /dev/md0 --level=linear --chunk=4 --raid-devices=3 /dev/sdb1 /dev/sdb2 /dev/sdb3
resize2fs /dev/md0
(также проверял reiserfs, xfs - раздел успешно расширяется, данные сохраняются)

ajk
Junior member
Сообщения: 8
Зарегистрирован: 20 июл 2009, 19:48
Откуда: Москва

Re: Расширение раздела с помощью mdadm

Сообщение ajk » 23 авг 2009, 14:39

Замечание по поводу --chunk=4 (по умолчанию chunk=64):

Размер chunk'а указывается в килобайтах и здесь необходимо чтобы рамер в байтах девайса, который добавляется в linear массив делился на (chunk*1024), иначе mdadm при построении linear массива не будет брать остаток данных в конце девайса.

Соответственно можно указать chunk больше 4 (на 4096 думаю размер всех девайсов делится, т.к. размер блока файловых систем обычно равен 4096).


Тест по поводу целостности данных:

Код: Выделить всё

dd if=/dev/urandom of=/dev/sdb1 bs=65536
dd if=/dev/urandom of=/dev/sdb2 bs=65536
dd if=/dev/urandom of=/dev/sdb3 bs=65536
cat /dev/sdb1 /dev/sdb2 /dev/sdb3 | md5sum
  a7c1915def01188019336a6056f6ab68  -
mdadm --build /dev/md0 --level=linear --chunk=4 --raid-devices=3 /dev/sdb1 /dev/sdb2 /dev/sdb3
cat /dev/md0 | md5sum
  a7c1915def01188019336a6056f6ab68  -
- данные до и после создания массива совпадают.

and3008
Заслуженный сетевик
Сообщения: 1109
Зарегистрирован: 03 янв 2004, 23:30
Откуда: Н.Новгород

Re: Расширение раздела с помощью mdadm

Сообщение and3008 » 25 авг 2009, 16:08

Настоятельно рекомендуется так не делать никогда. В случае отказа диска, шансов хоть как-то восстановить инфу практически нет.

Используйте mdadm для создания отказоустойчивых конфигураций RAID (RAID-1, RAID-5, RAID-10, RAID-50), а место распределять через менеджер томов LVM, который является стандартной фичей всех серверных дистрибутивов Linux уже года два как.

Соблюдая эти простые правила вы сэкономите время, деньги и нервы!

Помните, что любой RAID не отменяет регулярный бакап!

ajk
Junior member
Сообщения: 8
Зарегистрирован: 20 июл 2009, 19:48
Откуда: Москва

Re: Расширение раздела с помощью mdadm

Сообщение ajk » 25 авг 2009, 22:13

Естественно, использование mdadm с опцией linear никак не обеспечивает отказоустойчивость, однако, что делать если место в разделе кончилось, а LVM не был создан заранее до создания файловой системы на разделе и записи туда файлов? В таком случае, если нет желания делать бэкап/рестор, можно вполне безопасно воспользоваться mdadm с опцией linear чтобы расширить раздел, если добавляемые для расширения устройства сами по себе созданы на отказоустойчивом RAID'е.

chortya
Junior member
Сообщения: 1
Зарегистрирован: 15 июл 2011, 13:27
Откуда: MUC

Re: Расширение раздела с помощью mdadm

Сообщение chortya » 15 июл 2011, 14:00

нашел ету тему в google. Успешно доставил один винт и увеличил linear raid на 2 xfs винта. Проблема правда в том что когда исползуу --build чтоб стартовать /dev/md0 то все маунтится. Но в cat /proc/mdstat видно что superblock non-persistant. Как сделать постоянный линеар рейд без потери данных?

пробовал --create с теми же параметрами что --build. Raid стартует но не маунтится, ругается что нет файловой системы.

sudo mdadm --build /dev/md0 --level=linear --chunk=64 --raid-devices=2 /dev/sdb2 /dev/sdc1 - маунтится и даные видны
sudo mdadm --create /dev/md0 --level=linear --chunk=64 --raid-devices=2 /dev/sdb2 /dev/sdc1 - не маунтится

Даные есть пока толко на одном из разделов.

Спасибо.

Ответить

Вернуться в «Массивы - RAID технологии.»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 28 гостей