Sander Marechal неудовлетворенный производительностью аппаратного RAID контроллера 3ware 9550XSU (не fake-raid, нормальный SATA RAID ценовой категории около 300$) провел серию измерений производительности (http://www.jejik.com/articles/2008/04/benchmarking_linux_fil.../) файловых систем XFS, Ext3, ReiserFS и JFS.
Изначально была поставлена задача сравнения производительности программного и аппаратного RAID, но в процессе работы с 3ware 9550XSU обнаружились крайне низкая производительность на операциях записи данных при отключенном режиме "write cache" (на карте не был установлен BBU), что в конце-концов привело к переходу на программный RAID (mdadm), который также лишен необходимости использования при замене сбойных дисков только накопителей идентичного объема.
Вместо использования тестовых комплектов Bonnie++ (http://www.coker.com.au/bonnie++/) и IOzone (http://www.iozone.org/), было решено создать свой набор тестов, основанных на эмуляции выполнения та...URL: http://www.jejik.com/articles/2008/04/benchmarking_linux_fil.../
Новость: http://www.opennet.me/opennews/art.shtml?num=15425
Автор статьи абсолютно некорректно понял рекомендации 3ware. Платы 3ware, как асболютно адекватные raidы, отключают встроенный кэш дисков, которые к ним подключены. Это обеспечивает сохранность данных и снижает скорость при отключении write cache. При наличие BBU (battery backup unit) это _гарантирует_ сохранность данных. Но, если BBU нет, можно включать write cache. Сохранность данных будет не хуже, чем на обычных отдельностоящих дисках - они все с кешем 8-16мб, и, как все догадались, этот кеш не скидывается на винт при потере питания :)
А разве Linux периодчески не дергает диски на предмет принудительного сброса кэша ? По идее целостность с обычным диском должна быть выше, так как опреционка знает когда лучше сбросить кэш на диск, чтобы минимизировать возможные повреждения или хотябы узнать потом об их наличии, иначе после каждого отрубания питания всречались бы целостные с точки зрения ОС файлы с недописанными данными.
Ну, во-первых ОСь озадачена производительностью, а не целостностью. Иначе бы она писала на диск без всяких буферов байт за байтом. И была бы супер надежность :) А во-вторых, на своем нотере (gentoo+xfs) я получал несколько раз ситуацию, когда с точки зрения XFS все нормально, а emerge отказывается работать, т.к. его служебные файлы покорёжены. А получается это в ходе апдейта на одной батарее. Батарея кончается, нотер умирает, и происходит это, как правило, когда система диску крутит...
А потому что "всё нормально" с точки зрения XFS может означать "последние открытые на запись файлы забиты нулями". И мало того, это фича, которую собирались сделать отключаемой.Так что люди, использующие XFS без UPS не должны волноваться за сохранность своих данных ;-)
Очнись. Эту проблему уже пофиксили года 2 назад.
>Очнись. Эту проблему уже пофиксили года 2 назад.Версию ядра можно услышать?
В какой версии ядра ?
Ринат(?), ну так ноутбук, xfs, генту, сборка и конец заряда -- в сумме называется "ССЗБ".Не делайте emerge на батарейке. Или хоть собирайте на reiserfs, её и mkfs'нуть недолго при развале дерева. Если уж так хочется грызть именно эту морковку.
XFS == UPS. И _прекрасно_ работает при выполнении этого условия. (конец батарейки != UPS ;)
Это про write barriers и вроде как ещё не шибко расползлось по разным fs. В частности, когда народ радостно ринулся заюзать фичу в xfs -- полетели репорты о диких тормозах. Деталей не помню, но на практике PC+SATA+Linux+XFS работало не совсем так, как SGI+SCSI+IRIX+XFS. :)Дровишки наверняка устарели, но "jfyi".
На месте неудовлетворённого автора озадачился бы экспериментом в 3ware+writeback и при желании -- сопоставлением разваливабельности рейда при тестовых нештатных выключениях такого варианта и md raid1.
"Переодичски дергает" и "минимизировать" != "отключает cache" и "гарантирует". Поверьте, контроллер 3ware тоже данные в кеше не хранит 2 дня. :) BBU нужен исключительно для аварийных ситуаций (потеря питания) для _гарантированной_ сохранности целостности данных.
grep -A1 -i barr /usr/src/linux/Documentation/filesystems/ext3.txtgrep -A3 "enable barriers by default" /usr/src/linux/fs/ext3/super.c
XFS с UPS рулит, что и требовалось доказать. Жаль только, что автор noatime не включил, дурень.
Не верю!(С)
У автора классический ФГ^W "Горе от ума". Зачем отключать wb-cache на __контроллере__? Тогда уж и для софт рэйда sync-режим! Но в чём глубокий смысл ???
И JFS слишком уж подозрительно сливает. У меня на всех нагрузках, какие только нашёл - если не лучшая, то вполне перпимая - а туууууут ....
Зря не верите. JFS у мну тоже сливала, причем как-то не логично -- т.е. именно там, где должна была, судя по дизайну, вести.