LINUX.ORG.RU
решено ФорумAdmin

mdadm raid


0

0

Привет!

Установил 3 диска sata II в программный raid 5. все три работают через дешевый контроллер от st-lab(sil3114) в pci-ом слоте.

Пока только идет синхронизация... И ее скорость — 30 Мб/с. Создал файловую систему, ближе к концу ядро начало закидывать лог сообщениями:

* kernel: compute_blocknr: map not correct

* kernel: compute_blocknr: map not correct

* kernel: compute_blocknr: map not correct

Темпы синхронизации упали, и я отключил логи. Процессор(Pentium 3) загружен на 30%. Вопрос такой. Это все нормально?! Или лучше плюнуть и установить все в железный raid на этом контроллере? Какие плюсы и минусы? Будет ли процессор так загружен при любой записи на диски? Железный raid как-нибудь сообщает о своих неудачах(mdadm сообщает через ssmtp)?


что за ошибка не знаю, а вот плюсы и минусы различных рейдовых решений обсосаны в инете и на лоре много раз.

Если напишешь дистрибутив, объём винтов, данные со смарт то тебе более детально смогут помочь.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Еще что хочешь-то тоже напиши, чтоб телепаты не разминались зазря.

t184256 ★★★★★
()

> Или лучше плюнуть и установить все в железный raid на этом контроллере?

Ваш контроллер не поддерживает железный RAID. Так что у Вас всего два варианта - либо разбираться с mdadm (я бы на Вашем месте перед созданием FS дождался завершения инициализации массива и потестировал его под нагрузкой с помощью IOmeter), либо использовать hostRAID контроллера. На мой взгляд, последний вариант гораздо менее стабильный.

Какие плюсы и минусы? Будет ли процессор так загружен при любой записи на диски?

С точки зрения нагрузки на CPU разницы не будет - в обоих случаях все вычисления лягут на CPU.

Железный raid как-нибудь сообщает о своих неудачах(mdadm сообщает через ssmtp)?

Сам не пробовал, но вроде последние версии mdadm поддерживают hostRAIDы. А, следовательно, можно задествовать возможности mdadm для мониторинга. Но, повторяю, IMHO, вариант сборки массива средствами mdadm надежнее.

А вообще самый правильный вариант - либо купить нормальный аппаратный контроллер и играться с RAID5, либо собрать из Ваших винтов зеркало с hot spare - программный RIAD5, да еще на 3-х винтах, тот еще тормоз...

anonymous
()
Ответ на: комментарий от anonymous

Спасибо true_admin за smart, теперь я умею им пользоваться. Скорость записи в районе 20 Мбайт на локальной машине. По сети через самбу 10 Мбайт и думаю, что это предел сети.

У меня домашняя сеть. Не потяну мегаконтроллер. К тому же хочется программный рейд. Он может и медленный, но относительно надежный и гибкий. Если даже один диск выйдет из строя я выключу все, пока не куплю замену и не сделаю синхронизацию... К тому же для важных данных всегда есть бэкапы. Так что трата целого диска выглядит необоснованной.

Осталось только несколько вопросов... Я создал массив /dev/md0, как в инструкции: http://en.gentoo-wiki.com/wiki/RAID/Software. Разметил его в ext4( mkfs.ext4 -j -O dir_index,resize_inode -b 4096 -E stride=16,stripe-width=32 /dev/md4). Включил в ядре поддержку 2TB+ файлов и разделов. После чего смог это все примонтировать(mount -t ext4 /dev/md0 /mnt/storage). В логах ядра:

Feb 2 04:47:46 martin kernel: md: created md0

Feb 2 04:47:46 martin kernel: raid5: allocated 3173kB for md0

Feb 2 04:47:46 martin kernel: raid5: raid level 5 set md0 active with 3 out of 3 devices, algorithm 2

Feb 2 04:47:46 martin kernel: md0: detected capacity change from 0 to 3000598396928

Feb 2 04:47:46 martin kernel: md0: unknown partition table

Feb 2 04:47:46 martin kernel: EXT4-fs (md0): barriers enabled

Feb 2 04:47:46 martin kernel: kjournald2 starting: pid 1057, dev md0:8, commit interval 5 seconds

Feb 2 04:47:46 martin kernel: EXT4-fs (md0): internal journal on md0:8

Feb 2 04:47:46 martin kernel: EXT4-fs (md0): delayed allocation enabled

Feb 2 04:47:46 martin kernel: EXT4-fs (md0): mounted filesystem with ordered data mode

Feb 2 04:47:49 martin kernel: JBD: barrier-based sync failed on md0:8 - disabling barriers

fdisk /dev/md0 пишет:

Устройство не содержит ни верной таблицы разделов DOS, ни метки диска Sun, SGI или OSF

Building a new DOS disklabel with disk identifier 0xcfcc9b0b. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.

Количество цилиндров для этого диска установлено в 732567968.

С этим все в порядке, но значение больше, чем 1024, и в отдельных установках могут возникнуть проблемы с: 1) программами, запускаемым при загрузке (напр., старые версии LILO) 2) загрузкой и программами разметки из других ОС (напр., DOS FDISK, OS/2 FDISK)

WARNING: The size of this disk is 3.0 TB (3000598396928 bytes).

DOS partition table format can not be used on drives for volumes larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID partition table format (GPT).

Предупреждение: неверный флаг 0x0000 таблицы разделов 4 будет исправлен записью

Ну и конечно df -h:

/dev/md0 735G 535G 163G 77% /mnt/storage

Вопросов несколько:

1) Что не так с барьерами(barrier-based sync failed? Ничего объясняющего в гугле ненашел.

2) Размер диска — 3 Тб, но mc и df -h обманывают меня. Много гуглил, но решения, которое бы работало не нашлось. Правильно ли я понял, что надо использовать parted или lvm2 поверх этой штуки и тогда все будет хорошо?

3) Пишут, что на дисках в таких raid'ах надо отключать кэширование на запись. Это правда? Пишут, что можно повредить массив, если вдруг питание отключат.

4) Про контроллер. У меня в руках инструкция. Тут для создания raid 5 предлагают зайти в биос контроллера и т.д. Я сам сомневаюсь, что он сам xor'ит. Он для расчетов все равно использует cpu , так?

ien
() автор топика
Ответ на: комментарий от ien

версии пакетов

забыл указать версии пакетов:

[ebuild R ] sys-apps/coreutils-7.5-r1 USE=«acl nls -caps -gmp (-selinux) -static -vanilla -xattr» 0 kB

[ebuild R ] sys-fs/e2fsprogs-1.41.9 USE=«nls» 0 kB

[ebuild R ] sys-kernel/gentoo-sources-2.6.31-r6 USE="-build -symlink" 0 kB

[ebuild R ] sys-fs/mdadm-3.0 USE="-static" 0 kB

Спасибо!

ien
() автор топика
Ответ на: комментарий от ien

> Вопросов несколько:

1) Что не так с барьерами(barrier-based sync failed? Ничего объясняющего в гугле ненашел.


Линупсовый md-raid (или это был mdadm?) всё ещё не поддерживает барьеры на запись. :)))

2) Размер диска — 3 Тб, но mc и df -h обманывают меня.


BIOS не пропатчен?

3) Пишут, что на дисках в таких raid'ах надо отключать кэширование на запись. Это правда?


При одном условии: если программный слой ядра, работающий с soft-RAID не поддерживает барьеры на запись. У тебя mdraid именно такой, так что условие совпало — отключай.

4) Про контроллер. У меня в руках инструкция. Тут для создания raid 5 предлагают зайти в биос контроллера и т.д. Я сам сомневаюсь, что он сам xor'ит. Он для расчетов все равно использует cpu , так?


Так.

iZEN ★★★★★
()
Ответ на: комментарий от ien

Про барьеры точно не знаю, но, похоже, это глюк ext4, а не mdadm. Попробуйте побить диск на меньшие разделы. Ну, или используйте xfs, например.

Пишут, что на дисках в таких raid'ах надо отключать кэширование на запись. Это правда? Пишут, что можно повредить массив, если вдруг питание отключат.

Вообще-то, этот совет имеет смысл при работе с аппаратными контроллерами, где имеется собственный кэш, защищенный батарейкой или флэшкой. Тогда действительно при потере питания кэш контроллера сохраняется, а все, что было в кэшах винтов, гибнет. Кроме того, кэш контроллера позволяет отключить кэш дисков практически без потери производительности. В Вашем случае под кэш массива используется кусок RAM, естественно, ничем не защищенный от сбоев. Поэтому выключать кэш винтов смысла нет - кроме достаточно заметного падения производительности массива (20-30%) ничего не добьетесь. А вот поставить хороший бесперебойник крайне рекомендуется.

Ну а по четвертому пункту я уже писал, да и выше Вам ответили - у Вас hostRAID, который не имеет ничего кроме BIOS, поэтому в любом случае вся вычислительная нагрузка по обслуживанию массива ляжет на процессор.

anonymous
()
Ответ на: комментарий от anonymous

Много думал и читал.

Потом воспользовался parted, создал таблицу разделов gpt на диске. Потом на первом разделе создал ext4. Теперь все пучком. df кажет правильные размеры. А барьеры работают.

У компьютера стоит UPS на 10 минут. Но его подключение(usb) к компу — целая задача. От кратковременных скачков (что чаще всего и бывает) оно спасет.

Поэтому, как я понял можно кэш не отключать.

Всем спасибо!!!

ien
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.