LINUX.ORG.RU

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

 ,


0

3

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

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

★★★★★

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

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

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

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

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

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

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

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

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

KRoN73 ★★★★★
()
Ответ на: комментарий от 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 ★★★★★
()
Ответ на: комментарий от King_Carlo

Ну и да, сейчас на домашней файлопомойке:

# df -lTh
Файловая система                     Тип      Размер Использовано  Дост Использовано% Cмонтировано в
rootfs                               rootfs     9,8G         1,4G  7,9G           15% /
udev                                 devtmpfs    10M         4,0K   10M            1% /dev
/dev/mapper/balvg-gentoo64--root     ext4       9,8G         1,4G  7,9G           15% /
/dev/mapper/balvg-gentoo64--usr      ext4        30G          13G   16G           45% /usr
tmpfs                                tmpfs      2,0G         1,1M  2,0G            1% /run
cgroup_root                          tmpfs       10M         4,0K   10M            1% /sys/fs/cgroup
shm                                  tmpfs      2,0G          96K  2,0G            1% /dev/shm
/dev/mapper/balvg-gentoo64--home     ext4        79G          62G   14G           83% /home
/dev/mapper/balvg-gentoo64--var      ext4        20G         6,7G   12G           36% /var
/dev/mapper/balvg-gentoo64--var--lib ext4        40G          14G   25G           36% /var/lib
/dev/mapper/balvg-gentoo64--var--www ext4        30G          12G   17G           43% /var/www
/dev/mapper/balvg-backup3            ext4       237G         224G   13G           95% /home/backup
/dev/mapper/balvg-family             ext4       168G         130G   30G           82% /home/family
/dev/mapper/balvg-astro              ext4       148G         105G   36G           75% /home/family/Astro
/dev/mapper/balvg-downloads2         xfs        400G         396G  4,3G           99% /home/family/Downloads
/dev/mapper/balvg-files              ext4       148G         125G   16G           89% /home/family/Files
/dev/mapper/balvg-music2             ext4       108G          93G   10G           91% /home/family/Music
/dev/mapper/balvg-family_our         ext4       506G         444G   38G           93% /home/family/Our
/dev/mapper/balvg-video3             xfs        1,5T         1,5T  6,4G          100% /home/family/Video
/dev/sda2                            fuseblk    233G         116G  118G           50% /media/Win7
/dev/mapper/balvg-data               ext4        69G          51G   15G           79% /data
/dev/mapper/balvg-small_files        ext4       128G         110G   12G           91% /mnt/data/small-files
/dev/mapper/balvg-airbase            xfs        400G         387G   14G           97% /home/backup/airbase/lvm-mount
/dev/mapper/balvg-airbase--lxc       ext4       197G         172G   17G           92% /var/lib/lxc/airbase-tmp

Как видно, под xfs у меня три раздела на 2.3Тб в сумме. Так что по быстродействию, хоть и без тестов, субъективно, но вижу эту ФС. Изменений пока нет :) 3.8.13-gentoo

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

У меня обратная ситуация, сыпалась ext4, но ни разу XFS. XFS использую на высоконагруженных серверах с 2008 года, ни разу пока не потерял данные (тфу-тфу-тфу).

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

Зачем такое количество lvm-томов?

Обычно в каждом конкретном случае — своя частная история :) Либо с точки зрения системы удобно вынести (тот же /usr), либо чисто функциональное разделение. Чтобы астрофотками не забивать место под музыку, мелкими файлами не тормозить работу крупных, чтобы не было соблазна заливать видео в ущерб семейным фоткам и т.п.

Это там в списке ещё не всё. Скажем, LXC работает с LVM не монтируя их в общем пространстве. А у меня на каждый второй LXC-контейнер сейчас свой LVM-том :)

# lvdisplay | grep 'LV Name'
  LV Name                downloads2
  LV Name                small_files
  LV Name                video3
  LV Name                family_our
  LV Name                backup3
  LV Name                music2
  LV Name                family
  LV Name                files
  LV Name                airbase
  LV Name                data
  LV Name                lxc-aviaport-backup
  LV Name                gentoo64-root
  LV Name                gentoo64-usr
  LV Name                gentoo64-var
  LV Name                gentoo64-var-lib
  LV Name                gentoo64-var-www
  LV Name                gentoo64-home
  LV Name                swap
  LV Name                lxc-test-debian
  LV Name                lxc-dispatcher
  LV Name                astro
  LV Name                airbase-lxc
  LV Name                lxc-hosting

:)

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

Сурово :). У меня на домашнем сервере под файлопомойку один том с xfs, остальные тома только под виртуалки kvm.

LXC работает с LVM не монтируя их в общем пространстве.

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

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

LXC работает с LVM не монтируя их в общем пространстве.

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

LXC умеет работать в трёх режимах
— Используя обычный каталог хоста как корневую систему виртуальной машины (удобно, если надо постоянно лазить с хоста в вирт. машину)
— Используя отдельный LVM-том как корень виртуальной машины (монтирование на хосте не видно)
— Используя как-то имеющуюся btrfs (как — без понятия, мы с btrfs не дружим :) , но при создании контейнера есть такая опция, видимо, что-то в духе LVM)

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

Куча разделов заполненных больше половины тормозят сильнее любой ФС.

мегаРабинович напел или сможешь доказать?

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

мегаРабинович напел или сможешь доказать?

После таких пассажей, не то что доказывать, даже общаться как то брезгливо.

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

балабол, ты докажи. чтобы доказать, тебе придется привести еще несколько ограничительных условий, так что одно отсутствие места совсем не достаточно. а если посмотреть на твой пост: «раздел» вместо фс, больше «половины занято», т. е. от 51% уже тормоза... то понятно что словам твоим грош цена, а это и есть «пустобрех» и это ты

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

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

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

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

/home/$USER лежит на xfs-разделе, плюс ecryptfs поверх. Ничего не тормозит. ЧЯДНТ?

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

KRoN73, заменил EXT4 на XFS, разницы в скорости не заметил. (3 винта - root на 2ТБ одним разделом, + 2х3ТБ). Тормозов не замечаю. Дефрашментация после недели работы около 1%. Раз в неделю-две запускаю дефрагментацию

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