EXT4 journal и md RAID10 после выключения перестраивается зачем?!

Knoppix

Модераторы: Warderer, Модераторы разделов

Аватара пользователя
MarvinFS
Сообщения: 7
ОС: FreeBSD8, Debian 5, MintLinux8

EXT4 journal и md RAID10 после выключения перестраивается зачем?!

Сообщение MarvinFS »

Коллеги,

сделал MD RAID10
из 4-х дисков Seagate 500GB SATA2
общей емкостью соответственно 1 GB
поставил туда EXT4 с журналированием.
debian:/var/log# mount
/dev/md127 on /mnt/raid10 type ext4 (rw,acl)

далее проверяю отказоустойчивость
во время записи данных на массив дергаю по питанию сервер.
перегружаюсь рутовая fs выживает нормально.
а вот массивчик почему то сразу идет перестраиваться.

dmesg | grep md127
[ 8.701813] md: md127: raid array is not clean -- starting background reconstruction
[ 8.715151] raid10: raid set md127 active with 4 out of 4 devices
[ 8.715243] md: resync of RAID array md127
[ 8.716257] md127: detected capacity change from 0 to 1000213577728
[ 8.716315] md127: unknown partition table
[ 12.784836] kjournald2 starting: pid 2001, dev md127:8, commit interval 5 seconds
[ 12.793917] EXT4 FS on md127, internal journal on md127:8
[ 12.891430] EXT4-fs: mounted filesystem md127 with ordered data mode

я как бэ не понял, это фича или глюк? на мой взгляд журналирование на EXT4 от такого должно спасать?

оно конечно не сильно критично в плане перестроения (90 минут на PhenomII 945) но что будет например с валидностью базы данных которая предположительно будет на этом массиве в таком случае?

debian:/var/log# uname -na
Linux debian 2.6.30-bpo.2-686 #1 SMP Fri Dec 11 18:12:58 UTC 2009 i686 GNU/Linux
debian:/var/log# mdadm --version
mdadm - v3.1.1 - 19th November 2009
CU Round,
MarvinFS
Спасибо сказали:
Аватара пользователя
MarvinFS
Сообщения: 7
ОС: FreeBSD8, Debian 5, MintLinux8

Re: EXT4 journal и md RAID10 после выключения перестраивается зачем?!

Сообщение MarvinFS »

MarvinFS писал(а):
14.01.2010 13:12
[ 8.701813] md: md127: raid array is not clean -- starting background reconstruction


или если вопрос поставить по другому:

независимо от необходимости и выполнения ресинка рэйда, останется ли консистентной база данных на журналируемой EXT4 при некорректном выключении питания?
CU Round,
MarvinFS
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: EXT4 journal и md RAID10 после выключения перестраивается зачем?!

Сообщение Bluetooth »

MarvinFS писал(а):
14.01.2010 16:09
независимо от необходимости и выполнения ресинка рэйда, останется ли консистентной база данных на журналируемой EXT4 при некорректном выключении питания?

По дефолту журналируются только метаданные системы. Соотвественно, полная консистентность данных не обеспечивается. Но есть и режим journal, при котором журналируются и данные тоже. При этом заметно снижается производительность.
Спасибо сказали:
Аватара пользователя
MarvinFS
Сообщения: 7
ОС: FreeBSD8, Debian 5, MintLinux8

Re: EXT4 journal и md RAID10 после выключения перестраивается зачем?!

Сообщение MarvinFS »

Bluetooth писал(а):
14.01.2010 19:12
По дефолту журналируются только метаданные системы. Соотвественно, полная консистентность данных не обеспечивается. Но есть и режим journal, при котором журналируются и данные тоже. При этом заметно снижается производительность.


так. что касается EXT4 в LENNY (я использую кернел 2.6.30)

по умолчанию включены следующие технологии обеспечивающие сохранность как блоков данных так и метаданных файловой системы
(журналирование действительно производится для метаданных, но нижеперечисленные технологии обеспечивают commit record в журнал только
после того, как все блоки были записаны в файловую систему и причем в нужной последовательности (journal checksums) )

data=ordered (*)
All data are forced directly out to the main file
system prior to its metadata being committed to the
journal.


barrier=1(*)
This enables/disables the use of write barriers in
the jbd code. barrier=0 disables, barrier=1 enables.
This also requires an IO stack which can support
barriers, and if jbd gets an error on a barrier
write, it will disable again with a warning.
Write barriers enforce proper on-disk ordering
of journal commits, making volatile disk write caches
safe to use, at some performance penalty. If
your disks are battery-backed in one way or another,
disabling barriers may safely improve performance.
The mount options "barrier" and "nobarrier" can
also be used to enable or disable barriers, for
consistency with other ext4 mount options.



описание и обсуждение barrier от разработчиков
http://lwn.net/Articles/283161/
общее описание фич
http://ext4.wiki.kernel.org/index.php/Ext4...s_on_by_default

так что сохранность данных всё же должна обеспечиваться без запуска fsck при некорректном выключении

что касается performance impact при включении этих фич, то на мой radi10 из 4по500GB Seagate SATA2
скорость записи составляет 105 мегабайт в секунду, что для меня более чем достаточно.
CU Round,
MarvinFS
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: EXT4 journal и md RAID10 после выключения перестраивается зачем?!

Сообщение Bluetooth »

Спасибо, почитаю про новые для меня вещи :)
Спасибо сказали:
Аватара пользователя
MarvinFS
Сообщения: 7
ОС: FreeBSD8, Debian 5, MintLinux8

Re: EXT4 journal и md RAID10 после выключения перестраивается зачем?!

Сообщение MarvinFS »

Bluetooth писал(а):
14.01.2010 23:15
Спасибо, почитаю про новые для меня вещи :)


могу добавить:

при настройках EXT4: (ядро 2.6.30, 2х500 raid1, 4x500 raid10)
data=ordered
barrier=1
-J size=1024 (размер журнала 1GB)

RAIDы собраны с параметрами BITMAP=INTERNAL
mdadm -C -v -l10 -n4 -b internal --name raid10 /dev/md1
mdadm -C -v -l1 -b internal -n2 --name raid1 /dev/md0

опции монтирования
/dev/md127 /mnt/raid10 ext4 defaults,rw,acl,nodelalloc 0 1
/dev/md126 /mnt/raid1 ext4 defaults,rw,acl,nodelalloc 0 1

если выключить питание во время интенсивной записи на эти массивы (запись идет одновременно на каждый массив, скорость записи на каждый из массивов 95 мегабайт\сек)
то ПЕРЕСТРОЕНИЕ (resync, rebuild, reconstruction) всего массива НЕ ПРОИСХОДИТ!!!!!! МАССИВЫ ВЫЖИВАЮТ!!!!! проверил 3 раза для верности... подряд...

fsck никаких ошибок после этого не находит и ничего не перестраивается
CU Round,
MarvinFS
Спасибо сказали: