LINUX.ORG.RU

[***] Мифы о ext3/ext4 [***]


0

1

Люблю, когда все linux fanboys с пеной у рта доказывают, что фрагментации у ext3/ext4/any_other_linux_fs нет или она минимальна.

Реальный пример (e2fsck -n):

     484 inodes used (0.00%)
     621 non-contiguous inodes (128.3%)
         # of inodes with ind/dind/tind blocks: 621/99/1
  669631 blocks used (1.70%)
       0 bad blocks
       4 large files

    7232 regular files
     210 directories
       0 character device files
       0 block device files
       2 fifos
       0 links
       3 symbolic links (3 fast symbolic links)
       7 sockets
--------
    7458 files
Memory used: 269k/0k (33k/237k), time: 126.24/ 4.46/ 3.08

Т.о. фрагментация больше ... 100%.

Raw read/write на партицию - > 100MB/sec.

Скорость чтения некоторых файлов с этой партиции ... ~200KB/sec.

Заранее предвещая крики о том, что у меня заполнение FS в районе 100% - нет, это близко не так.

/dev/md3             148G   20G  121G  14% /mnt/array3

Теперь не говорите мне, что Linux'y не нужен дефрагментатор.

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

А как мне жаль, что FreeBSD не умеет ext3 (не в общем и целом, не без журнала, а полностью). Может, я бы подольше присматривался бы к этой оси.

Xenesz ★★★★
()

1. Я согласен с теми, кто утверждает, что нужно разделять данные по партициям - это я всегда делаю (только без извратов по типу деления на /mnt/Music /mnt/Video и /mnt/Pictures - хватает /mnt/media а также деления на "/" /boot /usr /var /usr/local - вполне хватает / /boot и /var, + в некоторых случаях /var/spool/mail и /var/spool/squid).

2. На этой партиции находится *только* база MySQL (/var/lib/mysql). Ещё раз повторю, что данная партиция _никогда_ полностью не забивалась, а растёт постепенно.

3. inode != file.

4. fsck на примонтированном разделе не всегда показывает корректную статистику.

5. XFS не предлагать - не далее как полгода назад я потерял на ней 300GB файлов - они просто исчезли. Я связался с одним из главных разработчиков XFS, он из штатов логинился ко мне на машину, что-то там томагочил с xfs_debug, но вердикт был печальный - неизвестный доселе сбой fs. Увы, всё это на production с RHEL 5.2/2.6.18.XXX. Подмывает поставить новое ядро, но всё это чревато постоянным геморроем с ручными обновлениями, ибо собранных и обновляемых vanilla ядер для RHEL нет.

PS За всей любовью ко мне :) и fanboyism'ом, народ так и не смог уловить главный посыл моего сообщения - я просто хочу рабочий и надёжный дефрагментатор для ext3/ext4.

Текущая ситуация с FS для production в Линуксе огорчает, хотя для дома XFS вполне подходит для всех нужд - сверхбыстрый fsck и online defragmentator.

Всем удачи.

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

А как мне жаль, что FreeBSD не умеет ext3 (не в общем и целом, не без журнала, а полностью).

Ext3 ведь это Ext2 с журналом и только. Костыль, так сказать, из прошлого века.

Фри Ext2 умеет, только мееедленно, потому слоупочный GPL-код Ext2 и порываются переписать с GPL на BSDL — хоть какое-то счастье для линуксоедов прислониться к Unix.

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

> 2. На этой партиции находится *только* база MySQL (/var/lib/mysql)

Я правильно понимаю что это и есть реальная ситуация, которую я смоделировал в своём синтетическом фрагментировании описанном выше?

> я просто хочу рабочий и надёжный дефрагментатор для ext3/ext4.

Ну вообще-то в исходном было немножко другое... "Всё плохооо!!!". Хотя у меня есть один, правда думаю он тебе не понравится. Называется mv.

Кстати, база MySQL - это один большой файл или несколько?

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

>Кстати, база MySQL - это один большой файл или несколько?

Одна таблица - два-три файла. База - каталог с таблицами. Фрагментироваться mysql со временем может очень жёстко. Но на производительности это особо не сказывается. Если mysql настроен так, что производительность упрётся в файловую систему, то можно сливать воду независимо от файловой системы и её состояния :)

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

> Да, жаль, что Linux не умеет UFS2 и ZFS...

Жаль, что я тебе приглашение в биреактор сразу не выдал. А давно пора.

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

>Кстати, а как там обстоит дело с фрагментацией ZFS?

Сейчас нам опять расскажут лекцию про волшебство виски^W этой ФС, которая сама в онлайне борется с фрагментацией :)

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

HFS+ тоже вроде как сама себя дефрагментирует, но это не дефрагментация в привычном смысле, а просто оптимизация размещения данных.

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

>но это не дефрагментация в привычном смысле, а просто оптимизация размещения данных.

Угу. И этой оптимизацией занимается даже FAT12 :) Другое дело, что её эффективность у разных FS разная.

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

>Её просто нет, она исчезающе мала.

Взаимоисключающие части утверждения.

И понятие «исчезающе мала» крайне субъективное. Тесты и результаты где?

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

>Я определения дал :-)

Ты не дал определения, из которого следует тождественность «нуля» и «исчезающе малой величины».

Вторая часть требует пруфа.

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

> Ты не дал определения, из которого следует тождественность «нуля» и «исчезающе малой величины»

Насколько я понял, он как раз-таки утверждает обратное, $1 != $2

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

Он утверждает, что предел некоторой величины, стремящейся к нулю равен нулю. Ну, или ЛОР-парсер сожрал иное :)

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

И что? Нас так легко на умные слова не купить. Карты пространства ещё DOS учитывала. Как могла :)

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

>Можно для XFS провести синтетический тест, описанный мной выше?

Какой конкретно? Я под разными FS в прошлом году много тестов гонял, среди прочих параметров и фрагментация измерялась. Вот навскидку один из тестов: http://balancer.ru/tech/forum/2009/05/t64670--ocherednoj-bench-proizvoditelno...

ext4 там нет, т.к. в то время она ещё не была стабильной и постоянно глючила.

Вот ещё не поленился покопаться:
http://balancer.ru/tech/forum/2008/06/t62136--proizvoditelnost-fajlovykh-sist...

и http://balancer.ru/2008/06/12/post-1562431.html

была ещё пара тестов, где я специально старался достичь очень высокого уровня фрагментации, но результаты в виде отдельного материала у себя не кидал, а искать где-то в потрохах ЛОРа сейчас влом. Но в целом результаты воспроизводятся. Исключение было одно - неожиданно низкий уровень фрагментации JFS на тесте с параллельной записью больших файлов (имитация p2p).

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

>была ещё пара тестов, где я специально старался достичь очень высокого уровня фрагментации,

Протестируйте UFS2, пожалуйста. Очень хочется посмотреть на результаты.

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

>Это как?

Если читать под анонимусом, то эта цифирька не обновляется. Правда и капча показывается при добавлении коммента.

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

>Так что для торрентов - xfs под Linux единственный разумный выбор. Это и онлайн дефрагментация, и высокая производительность на больших файлах.

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

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

> Какой конкретно?

Я опечатался, конечно, речь о ZFS а тест описан выше: заливаем раздел маленькими файлами (например 1M), удаляем их через один, заливаем в полтора раза большими, удаляем файлы через один, продолжаем несколько раз.

Насколько я понял, на волшебной ZFS в таком случае фрагментации не будет?

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

>Протестируйте UFS2, пожалуйста

Придётся прогонять все серии тестов с нуля. У меня уже того железа нет, на котором гонялось :) С другой стороны, давно хочется оценить выбранный по субъективным оценкам и простым тестам ext4. Но пока ломает - это на пару дней работы. Сейчас столько времени свободного нет.

И, разве в Linux UFS2 полноценно поддерживается? Вроде ж, только UFS и то в R/O?

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

>И заодно при аварийном выключении питания сразу появляется куча свободного места на диске.

В самом неблагоприятном случае пропадут те секции файлов, что качались в данный момент. Для p2p совершенно не страшно, так как качалка это адекватно просечёт и перекачает сбойные сегменты заново. Было такое в моей практике :)

...

Вот где-нить в /home xfs без ИБП дело стрёмное. Несколько раз терял сессии Оперы. Пока ИБП не приобрёл :) А потом и от xfs в /home отказался. Там, всё же, удалений мелочи реально много (те же кеши и т п.), на этом - тормозит. Сейчас /home под ext4.

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

>заливаем раздел маленькими файлами (например 1M), удаляем их через один

Я делал запись в несколько параллельных потоков, в каждом потоке создавая файл больше копируемого в полтора раза, потом удаляя его. В итоге на всех тестируемых FS уровень фрагментации был от 64 (JFS) до 90 (ReiserFS) процентов :)

>Насколько я понял, на волшебной ZFS в таком случае фрагментации не будет?

Смотря кто смотреть будет, боюсь :) Также боюсь, что реальных результатов таких тестов мы не увидим :D

...

Разве что Фрю в виртуалке развернуть...

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

>Разве что Фрю в виртуалке развернуть...

Кстати, идея, ведь...

Есть какой-нить хэндбук на русском по быстрой и тупой установке Фри? :) И как в ZFS посмотреть уровень фрагментации?

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

> Разве что Фрю в виртуалке развернуть...

Вот так и вербуют наших: сначала в виртуалке, потом в дуалбут, а потом... :-)

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

> Разве что Фрю в виртуалке развернуть...

Лучше уж OpenSolaris на соседний раздел. Реальной пользы от такого теста многим, я думаю, будет больше.

val-amart ★★★★★
()
Ответ на: комментарий от KRoN73

А они мне и говорят "у нас джентльменам верят на слово" и тут мне попёрло...

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

>А после такого прогона на разделе с ZFS тоже не будет фрагментации?

Надо тестировать.

Пока же о степени фрагментированности пространства, занимаемого ZFS, можно судить только лишь субъективно (медленно/быстро) — для неё просто нет "сенсоров", с которых можно было бы снять стандартные показатели фрагментации данных.

Опять же, в ZFS оптимизация пространства происходит непрерывно, по мере записи на диск. Но это нельзя назвать дефрагментацией, нет — оптимизацией — возможно.

У ZFS очень большой кэш в оперативной памяти (сейчас у меня занято 40% RAM из 6ГБ: Xfce 4.6.1, Firefox 3.5.3, Beep-media-player, ещё компилируется GCC 4.4.2) — с UFS2 такое же окружение занимало не более 5..10% RAM, не больше.

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

>Лучше уж OpenSolaris

А у неё что примечательного в нашем контексте?

>на соседний раздел

Нет, только в виртуалку :)

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

>Вот так и вербуют наших: сначала в виртуалке, потом в дуалбут, а потом... :-)

Я не особо фанатичен, случалось мне менять и AMD на Intel, и 3Dfx на nVidia, и Windows на Linux ;) Но что-то не особо верится, что Фря мне покажется сильно лучше Gentoo :D

...

Но 7.2 для i386 поставил в rtorrent, посмотрим, как себя ZFS на фрагментации покажет.

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

Большой кэш - это хорошо.

Но вот человек рассказывает что у него крутится мускуль в течении долгово времени и всё что-то пишет, перезаписывает, новое взамен старого, записи увеличиваются, вон уж и диск полон почти. А кэш не резиновый, а до памяти и сам мускуль охоч.

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

>Разве что Фрю в виртуалке развернуть...

Зачем лишний слой абстракций?

На отдельном винчестере HDD 3,5"/320ГБ/7200rpm все файловые системы надо тестировать, с собственными операционками. Тогда тесты будут объективными.

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

Ну ты-же понимаешь, у ZFS нет измерителей, только на глаз. А глаз-то у тебя линуксоедовский, кривой как весь люнекс.

Не выйдет у тебя увидеть нефрагментируемую ZFS, прокляни горькую судьбу свою.

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

>Зачем лишний слой абстракций?

На фрагментации не скажется. А производительность я на ZFS тестировать пока и не буду. Условий нет. Текущая машина вечно занятая, её не поперезагржаешь. А та, что бездельничает, в комнате с дитём стоит. По ночам не погоняешь тесты :)

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

Да у меня тоже ~3% (10ГБ от 281ГБ) свободного пространства осталось в зеркальном пуле:

> zfs list
NAME                             USED  AVAIL  REFER  MOUNTPOINT
amd64rio                         281G  10,3G   122M  /
amd64rio/mediastore              225G  10,3G   409M  /mediastore
amd64rio/mediastore/audiobooks  3,63G  10,3G  3,63G  /mediastore/audiobooks
amd64rio/mediastore/books       5,30G  10,3G  5,30G  /mediastore/books
amd64rio/mediastore/music       75,3G  10,3G  75,3G  /mediastore/music
amd64rio/mediastore/pckgs64     1,80G  10,3G  1,80G  /mediastore/pckgs64
amd64rio/mediastore/video        138G  10,3G   138G  /mediastore/video
amd64rio/tmp                      39K  10,3G    39K  /tmp
amd64rio/usr                    56,0G  10,3G  4,79G  /usr
amd64rio/usr/home               46,7G  10,3G  46,7G  /usr/home
amd64rio/usr/obj                1,79G  10,3G  1,79G  /usr/obj
amd64rio/usr/ports              2,21G  10,3G   189M  /usr/ports
amd64rio/usr/ports/distfiles    2,03G  10,3G  2,03G  /usr/ports/distfiles
amd64rio/usr/src                 509M  10,3G   509M  /usr/src
amd64rio/var                     100M  10,3G  2,76M  /var
amd64rio/var/crash              18,5K  10,3G  18,5K  /var/crash
amd64rio/var/db                 88,5M  10,3G  88,5M  /var/db
amd64rio/var/empty                18K  10,3G    18K  /var/empty
amd64rio/var/tmp                8,81M  10,3G  8,81M  /var/tmp
Каталог /usr/obj периодически (два-три раза в неделю) подчищается от результатов компиляции. Замедления работы не змечаю.

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

>> Лучше уж OpenSolaris
> А у неё что примечательного в нашем контексте?


Родным ZFS. После моего опыта с pf во Фре, пробовать там еще что-то неродное, тем более такое сложное, как фс, желания не возникает.


>> на соседний раздел

> Нет, только в виртуалку :)


ну, для измерения фрагментированности сойдет

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

Так у меня тоже, сливаю помаленьку медию на xfs в одну сторону, и не удаляю, даже не мерил.

А поррентами я не пользуюсь.

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

За время, когда FreeBSD слилась на 55% (2,7Гб), Солярис слился только на 3%. Кто ж в XXI веке файло на 80кбайт/с отдаёт?! :)

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