LINUX.ORG.RU

Фрагментация разных ФС

 ,


0

3

Хотелось бы услышать от имеющих опыт в выборе ФС, как сейчас обстоит дело с фрагментацией файлов в распространённых линуксовых файловых системах? В частности, насколько быстро растёт уровень фрагментации (и насколько это сказывается на производительности на практике) и чем его можно понизить, кроме лишнего диска такого же объёма и mkfs.

Интересуют такие системы, как ext2/3/4, reiserfs v3, xfs, btrfs, zfs.

★★★★★

Последнее исправление: intelfx (всего исправлений: 1)

ext3 фрагментируется быстро и тормозит, в reiserfs фрагментация обычно сильная, но на скорость работы влияет средне, под xfs особенности использования не позволяют особенно заметить фрагментацию, на ext4 файлы фрагментируются очень, очень мало, но ценой сильнейшей фрагментации свободного пространства, из-за чего она при длительной работе тоже начинает тормозить.

Боюсь, что под Linux ФС, не испытывающей проблем с фрагментацией нет :-/ Точнее, дело не в ФС, а в инструментарии — отсутствии онлайн-дефрагментаторов, позволяющих осуществлять оптимизацию расположения файлов на манер виндового PerfectDisk (или давно почившего Norton SpeeDisk). Так что периодический «дефраг мувом» решает :)

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

знал бы - сказал бы :) модет не с теми опциями монтировал.
не подскажешь свой фстаб? скорость работы светеотформатированного в рейзер винта впечатляет, особенно при работе с портеджем. з.ы.: ты его дефрагментируешь чем-то? если да - то чем?

NeverLoved ★★★★★
()
Последнее исправление: NeverLoved (всего исправлений: 1)
Ответ на: комментарий от intelfx

он самый. сейчас вот может мегабакс чего-то дельного подскажет.

NeverLoved ★★★★★
()
Ответ на: комментарий от NeverLoved
/dev/sda2                /                      reiserfs  noatime,nodiratime,notail                        1  1

последняя опция просто обязательна! ьез оной скорость говно, надёжность говно, фрагментация дикая

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

Спасибо. А что с xfs такое, что на ней фрагментация незаметна?

Да, mkfs, конечно, рулит, но нужен лишний диск :)

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

спасибо, может в ней проблема была. нарисую флешку на 16 гб - перекачусь.

NeverLoved ★★★★★
()
Ответ на: комментарий от NeverLoved
dd if=/dev/zero of=/test_root bs=1M count=2048
2048+0 записей получено
2048+0 записей отправлено
 скопировано 2147483648 байт (2,1 GB), 30,2153 c, 71,1 MB/c
hdparm -Tt /dev/sda2

/dev/sda2:
 Timing cached reads:   3726 MB in  2.00 seconds = 1863.00 MB/sec
 Timing buffered disk reads: 250 MB in  3.01 seconds =  83.05 MB/sec

если учесть что hdparm тестит начало раздела, а dd пишет далеко не в начало, то не сказал бы что рейзер тут что-то тормозит.
уж про тормоздром точно и речи быть не может

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

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

megabaks ★★★★
()

РейзерФС, полёт нормальный.

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

А что с xfs такое, что на ней фрагментация незаметна?

Отчасти это особенность моего её использования, но особенность эта диктуется особенностями самой ФС. xfs _ужасно_ долго удаляет файлы. Поэтому она плохо годится в роли универсальной FS (скажем, /home под ней будет весьма тормозным). Лучше всего она работает с большими файлами. Поэтому у меня исторически под ней видеоколлекция лежит. А при воспроизведении видео поток идёт один и неспешный, фрагментация никак не сказывается. Могла бы сказываться на раздаче торрентов, но тут спасает онлайновый дефрагментатор и, всё равно, невысокие скорости раздачи (я лимитирую их).

Система на уровне файлов фрагментируется сильнее, чем ext4, но дефрагментатор этот вопрос отчасти решает. Свободное место под ней, кажется, фрагментируется меньше, чем под ext4. Но тут оценить сложно — те самые особенности использования не дают фрагментации сильно повлиять на производительность.

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

Да, mkfs, конечно, рулит, но нужен лишний диск :)

Если разделы небольшие, то LVM решает :)

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

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

NeverLoved ★★★★★
()

zfs фрагментирует файл при каждой записи в него, так что фрагментация дикая.

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

опыты завершились нормально )
снёс её пару дней назад
было два одинаковых раздела - с ext4 и reiser4
расположены они были друг за другом в начале диска, скорость показывали примерно одинаковую
для чистоты эксперимента создал чистую ext4 и перенёс со старой данные туда (у меня вместе с хомяком система 3.2 gb всего-то)

с reiser4 оно грузилось быстрее, софт запускался шустрее и всё бы хорошо. Но её поддержки нет в 3.11, а мне нужен 3.11 для открытого драйвера радеона. Будем ждать.

Reiser4 – файловая система опередившая свое время (с) :3

smilessss ★★★★★
()
Последнее исправление: smilessss (всего исправлений: 2)
Ответ на: комментарий от KRoN73

Хм, Крон знает толк в ФС и дефрагментации. ППКС.

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

У reiser4 с фрагментацией всё плохо, т. к. copy-on-write. Уж я-то знаю ;)

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

С 3.11 жопа полная, т. к. они убили ->readdir(), запилив ->iterate(), а в reiser4 readdir через костыли...

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

/
/usr
/home
swap
и все, мбр больше не может без расширенных разделов. бэкапить 250г инфы и переразмечать в gpt не привлекает, да и некуда мне. проще emerge -С grub && emerge lilo. по тому что говорил drBatty и еще кто-то с лило - конфигуряется оно не сложней первогруба. да и вообще, давно я генту не ломал :)

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

ну в арчике (по словам очевидцев из нытик-тредов) косяки в основном из-за упоротых мейнтейнеров, а тут - свобода выбора: юзер сам решает когда ему что поломать :3

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

Рут 10 гб, закончлось место - откусил от хомяка еще 10 и залил туда /usr
флешки под рукой не было, а прилепить место к смонтированному руту нельзя же.

lvm

да я бы с радостью, но проблема та же что и с gpt - некуда сделать бекап на время миграции.

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

hdparm тестит начало раздела

man hdparm

       --offset
              Offsets  to given number of GiB (1024*1024*1024) when performing
              -t timings of device reads.  Speed changes (about  twice)  along
              many  mechanical  drives.   Usually the maximum is at the begin‐
              ning, but not always.  Solid-state  drives  (SSDs)  should  show
              similar timings regardless of offset.

i-rinat ★★★★★
()
Ответ на: комментарий от intelfx

Отлично. А он вообще эффективный, этот дефрагментатор?

У xfs? Всё относительно. Если свободного места мало, то мелкие куски соберёт в крупные, но в целом часть файлов останутся нарезанными. Если места много — может всё практически собрать.

У ext4 дефрагментатор практически не востребован (если места хватает), так как у неё итак фрагментация крайне низкая. Но, как отмечал раньше, за счёт чудовищной фрагментации свободного пространства. От этого она после долгой работы, будучи с околонулевой фрагментацией, может начать тормозить просто ужасно.

Я на одном сервере сдуру оставил корень в одном разделе с /var. Так за три года активной работы ФС дошла до такого состояния, что система просто колом периодически стала вставать. Латентность при обращении к некешированным данным стала, порой, единиц секунд достигать.

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

Во-первых, нафига отдельный /usr?

Его можно в R/O держать :) И дефрагментировать мувом в онлайне. Если весь корень вместе с /usr, то так сделать не получится.

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

да я бы с радостью, но проблема та же что и с gpt - некуда сделать бекап на время миграции.

Если фрагментация LVM не пугает, то я практиковал такой переход под LVM на одной из машин. Чистим диск насколько можно и ресайзим раздел до минимума. На свободном месте заводим физический том LVM, создаём логический том/тома, перекидываем туда данные с обычного раздела. Если занято менее 50%, то всё завершается в одно действие. Переводим систему на работу с LVM, убеждаемся, что всё ок, и убиваем старый простой раздел. На его месте делаем ещё один физический том и расширяем на него LVM. Всё.

Если места свободного меньше половины, то потребуется более одного действия. Типа, перекинули сколько влезло в отдельные логические тома (/home, /usr), уменьшили старый основной раздел. Расширили LVM. На свободное место — ещё. Но это уже возни много :) В этом случае проще начать переходить на LVM при покупке нового винта.

KRoN73 ★★★★★
()

e4defrag. Модераторы, закрывайте тему, я повелеваю вам.

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

потому в данном контексте я прав

А я и не говорил, что не прав. Я говорил, что hdparm умеет тестировать не только с начала раздела.

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

xfs _ужасно_ долго удаляет файлы. Поэтому она плохо годится в роли универсальной FS (скажем, /home под ней будет весьма тормозным). Лучше всего она работает с большими файлами.

Это старое заблуждение, было это до ядер 3.2x, а ещё раньше были нули в открытых файлах при падении питания и тому подобные страшные сказки. Сейчас это самая быстрая ФС из стабильных, по крайней мере squid,postfix и dovecot со спулами расположенными на разделе с XFS работают сильно быстрее чем на ext4. Также на одном из серверов на разделе XFS хранится около 800000 файлов в одном каталоге которые постоянно читаются, пишутся и удаляются, раньше пробовал другие ФС, но ничего быстрее XFS не работает.

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

что скажешь о JFS2?

Не сталкивался, не тестировал. Как и ZFS. Вот JFS не понравилась очень сильной фрагментацией на моих тестах и невыдающейся производительностью. Так что на практике тоже её не щупал.

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

Это старое заблуждение, было это до ядер 3.2x

Я это «это было до» слышу регулярно в течении последних лет семи :) Надо, конечно, будет погонять ещё, но я к плотной нагрузке на XFS пока не собираюсь приступать из-за такого: Подскажите какую ФС использовать под нагруженный mysql сервер (комментарий) (это, как раз, на 3.2.12)

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