Чтобы добавлять сообщения и комментарии, .

@Self-Perfection:
Self-Perfection

Надоело мне, что логи journald занимают у меня под гигабайт, а хранят при этом информации за 2 недели. journald туп и не поддерживает сжатие логов. Так что идея была перенести `/var/log` на btrfs со сжатием. Делюсь опытом.

С одной стороны, работает довольно изкоробочно: просто смонтировать btrfs с compress=[lzo|btrfs] достаточно. Хотя journald по-умолчанию помечает `/var/log` как nocow, который не сжимается, но `btrfs filesystem defrag -c` всё же сжимает nocow файлы, и journald проводит дефрагментацию старых (сротированных) логов на btrfs. Ну для надёжности можно ещё сделать `chattr -R +c /var/log/journal`. В целом у меня работает решение, влезает теперь месяц логов на гигабайтный `/var/log`.

Нюанс 1: стоит ограничить размер одного файла логов, чтобы ротация происходила чаще. Я пока живу с `SystemMaxFileSize=16M`.

Нюанс 2: btrfs стоит создавать с ключом `--mixed`, если он будет у вас меньше нескольких гигабайт. И монтировать с опцией `autodefrag` — обновление логов journald ведёт к большой их фрагментации, я видел десятки тысяч фрагментов до включения autodefrag.

Нюанс 3: как посмотреть, работает ли сжатие? Изкоробочных инструментов нет, в интернетах можно нарыть питоновский скрипт btrfs-debugfs. Играясь с ним выяснил, что btrfs сжимает файл блокам по 128 KiB, каждый блок на диске занимает места кратно размеру сектора, так что меньше 4KiB не может занять. Поэтому сжатие получается не такое сильное как при сжатии напрямую lzop или gzip -3.

Ещё на первый взгляд у меня почему-то сжимаются только system файлы, но не user. Пока предполагаю из-за того что пользовательских логов мало, а ротируется system и user лог параллельно, так что system ротируется после двух аллокаций по 8 MiB, а пользовательский — как есть, 8 MiB. Надо бы добраться до исходников journald, посмотреть какая у него внутри логика.

@segfault:
segfault

linux.org.ru
Эээ .. а что вместо? ZFS?

@Self-Perfection:
Self-Perfection

С недавних пор у меня весь rootfs на SSD. И вот смотрел я смотрел, на график записи на SSD, не вытерпел и решил как-то пооптимизировать/сократить их количество.

Итак в начале был Btrfs c relatime,compress=lzo,ssd,space_cache
MariaDB, постоянно дёргаемая Tiny Tiny RSS, давала в среднем где-то 80 KiB/sec записи на диск (а это почти 7 GiB/день!).
Пересоздал /var/lib/mysql c chattr +C (отключение copy on write). Запись от MariaDB снизилась до 70 KiB/sec

Попробовал для эксперимента перетащить /var/lib/mysql на ext4 раздел.... 30 KiB/sec!!!
Даже если примонтировать с data=journal (который, походу, пользы не приноситв этом случае, т.к. и так по-умолчанию включен innodb_doublewrite), получается всего 60 KiB/sec, что меньше, чем на Btrfs.

Смотрю на свои эксперименты и думаю, что /var надо нафиг с Btrfs выносить целиком.

@Renha:
Renha

Первое правило пользователя btrfs — никогда не позволяй свободному месту закончиться, даже почти закончиться.
Второе правило пользователя btrfs — когда место всё же закончилось, и ты его освободил — сделай balance.

Тогда может быть не придётся как мне по одному файлу бэкап на Jolla восстанавливать.

@qnikst:
qnikst

localhost qnikst # btrfs filesystem df /
Data, single: total=78.01GiB, used=61.73GiB

localhost qnikst # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 84G 66G 17G 81% /

Как так может быть?

@masai:
masai

Статья о btrfs в русской и английской википедиях.
EN: «Stable: yet to be released; Unstable: 2.6.29, March 2009 (Linux kernel)»
RU: «Стабильная: 3.7.0, 11 декабря 2012; Нестабильная: 3.4.3, май 2012 (Linux)»

@Hawat:
Hawat

Кто пробовал btrfs на десктопе? Оно стабильно? Память жрет как ZFS? Сильно тормознее ext3/ext4?

@Gordio:
Gordio

клевый… с нетерпением жду когда релиз

@nan0desu:
nan0desu

Буду кратка — еще не готов. (Ушла делать # btrfs restore.)

@wasd:
wasd

Зато будет охуенно, если после ребута я похерю и этот ёбаный луп, и хомяк >_<

@wasd:
wasd

Примонтировал бтрфс-луп на 12 гб — через 15 минут система ушла в iowait и не ребутается. Нет, уже три месяца я держу на ней хомяк и проблем не было, но после этого случая я задумался, правильное ли решение приняли в Новелле.

@avagin:
avagin

Как соотнести девайсы которые выдает stat с девайсами, которые торчат в mountinfo?
[[email protected] crtools]# stat -c '%d' mnt
34
[[email protected] crtools]# stat -c '%d' /mnt/xxx
35
[[email protected] crtools]# stat -c '%d' /mnt/yyy
36
[[email protected] crtools]# cat /proc/self/mountinfo | grep /mnt
40 32 0:32 / /mnt rw,relatime shared:27 — btrfs /dev/loop0 rw,noacl,space_cache
# btrfs subvolume list mnt
ID 257 gen 13 top level 5 path xxx
ID 258 gen 13 top level 5 path yyy

@neko259:
neko259

Поднял бтрфс на хомяке. Полет нормальный, только при запуске системы ругается на отсутствие fsck.btrfs

@proton:
proton

Взял тут у @longbow сервачок погонять, влепил туда пару ssd, хотел сделать зеркало.
И тут я осознал, что совершенно не представляю, как мне с ssd жить. Кто-нибудь использует на серверах? Как разбивать, как тюнить ext4?
Особо интересует, что делать с TRIM'ом на софтварном зеркале.
P.S. Тут ещё мне советуют btrfs поднять — кто-нибудь использует в продакшене?

@Evtomax:
Evtomax

Сделал снапшот корня и спокойно обновляюсь до 13.04 :)

@Strephil:
Strephil

Собираюсь переставлять арчик на ssd'шку.
С одной стороны, непрерывные снэпшоты это, наверное, очень удобно, и хочется попробовать NILFS2.
С другой, вот посмотрел тесты похороникса, и стало как-то не очень: phoronix.com
Наконец, она совершенно не годится для корня, потому что не умеет Extended attribute,
да и такой большой список TODO намекает, что NILFS это что-то недопиленное.

Или поставить ext4 / и nilfs для /home, или просто использовать btrfs?

@masai:
masai

А кто-то вообще пользуется Btrfs? Оно стабильное уже?

@Evtomax:
Evtomax

Перевёл на нетбуке корневой раздел на btrfs со сжатием. Вроде стало чуть быстрее. Осталось освоить все вкусные фичи этой ФС :)

@anton37:
anton37

Пришло время дефрагментировать btrfs. btrfs сама не проведет дефрагментацию. Почему? Винт с каждым месяцем работы шуршит ого-го как сильнее.

@Equidamoid:
Equidamoid

Как повесить к пиписькам систему с btrfs, создав 500 маленьких файлов: crypto.junod.info

@Equidamoid:
Equidamoid

Временами начинает хотеться потрогать сабж. Потом вспоминаю, что это надо будет ядра-из-под-тильды ставить, и как-то желание пропадает.

@partizan:
partizan

так, значицца меня наебали. ну точнее я неправильно понял.
Data: total=159.00GB, used=112.34GB
Это не всего и занято, а ВСЕГО и ЗАНЯТО, ну т.е. наверное сколько у нас есть данных в теории, и сколько они занимают на практике. так штоле получается?
а еще скорость записи на наполовину заполненную фс из двух дисков (примерно, я вобще-то непонимаю сколько там еще места осталось) охуенно падает, не вижу тех начальных 53, вижу 17 и 35, чаще 20

@partizan:
partizan

чего-то я не понял. я вроде как собирался объединить два раздела. взял 120 и 160 гб, а в результате получилось 141. ебал я такое объединение, простите за мой французкий.

@partizan:
partizan

запостил на лор свою проблему. linux.org.ru

@partizan:
partizan

хм, а по умолчанию оно хотело мне создать raid1, отменил, запустил balance -dconvert=raid0, жду опять! данные еще не проебались :3

@partizan:
partizan

добавил второй раздел, запустил balance, чтобы оно растянуло данные равномерно на два диска. жду.
~ > sudo btrfs filesystem balance status /mnt/storage
[sudo] password for serg:
Balance on '/mnt/storage' is running
64 out of about 150 chunks balanced (66 considered), 57% left

@partizan:
partizan

потестировал остальные фс, копирование на ntfs — 25Мб/с, на reiser — 33, на xfs — 55-57

@partizan:
partizan

btrfs at work: i.imgur.com i.imgur.com

@partizan:
partizan

а если вам вдруг захотелось поставить btrfs, то помните, что она все еще under heavy development, и надо быть готовым к тому что однажды ваши данные проебутся безвозвратно :3

@partizan:
partizan

что еще радует, записываются с одинаковой скоростью что мелкие что большие файлы, перед этим копировались iso, сейчас музыка.
53-54 Мб/с это немного меньше чем 58, но тоже хорошо.

@partizan:
partizan

гм, а пишется на нее со скоростью 58Мб/с, я последний раз что-то копировал куда-то, было вроде около 20 >_>, ну посмотрим потом еще

@partizan:
partizan

ну чо, котаны. будем тестировать файловую систему для БТР-ов на моем десктопе, в частности ее пригодность к употреблению в виде raid0, лежать там у меня будут фильмы, музыка, исошки, ну т.е. все мое накопленное добро. будем надеяться что оно не сломается. а если что, я уже однажды проебал раздел с данными и ничего не случилось :3

@Self-Perfection:
Self-Perfection

fsync на btrfs ужасно тормозной, как следствие, dpkg на btrfs работает очень медленно. Так что апгрейдить xubuntu до 12.10 не запустив обновлятор через eatmydata было бооооольшой ошибкой. Все пакеты скачались к 13:20, и оно до сих пор обновляется. Смотрите на таймстампы
$ tailf /var/log/dpkg.log|grep upgrade
2012-10-21 18:52:37 upgrade iptables:amd64 1.4.12-1ubuntu4 1.4.12-2ubuntu2
2012-10-21 18:52:54 upgrade iputils-tracepath:amd64 3:20101006-1ubuntu1 3:20101006-3ubuntu1
2012-10-21 18:53:22 upgrade irqbalance:amd64 0.56-1ubuntu4 1.0.3-1ubuntu2
2012-10-21 18:53:38 upgrade krb5-locales:all 1.10+dfsg~beta1-2ubuntu0.3 1.10.1+dfsg-2
2012-10-21 18:53:49 upgrade lshw:amd64 02.15-2 02.16-1
2012-10-21 18:54:05 upgrade lsof:amd64 4.81.dfsg.1-1build1 4.86+dfsg-1ubuntu1
2012-10-21 18:54:21 upgrade ltrace:amd64 0.5.3-2.1ubuntu2 0.5.3-2.1ubuntu3
а обновить нужно over 1k пакетов...

@Shura:
Shura

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

@Shura:
Shura

Как можно исправить ошибки на btrfs разделе? btrfsck выводит кучу ошибок и падает, ничего не исправив. Обновить систему нельзя, это нетбук, установлена система MeeGo, для которой нет обновлений. Есть вариант загрузиться с флешки, но какой дистрибутив закатать на флешку чтобы там была нормальная версия btrfsck, которая бы не падала?

@bsdfun:
bsdfun

Комманда du -sh / привела к почти полному отмиранию системы.

@CruncH:
CruncH

хм, отремонтировал с первого раза, прогресс на лицо, а то при раньше приходилось чуть не по 10ребутов делать, так как падал модуль ядра, так что моих знаних не хватало, чтобы перезагрузить нужные модули для продолжения работы без ребута

@CruncH:
CruncH

чет меня это не особо прикалывает, либо что то криво было ранее сделано, либо это реально сырое. Забыл удалить скрипт, который делает снапшот корня, перед установкой пакетов. Он мне наснапшотил хорошо, место кончилось, удалять снапшоты через btrfs subvolume list / | grep '/sna' | grep 'ID 4' | awk '{ print $7}' | xargs -n1 btrfs subvolume delete не катит, фс падает в ридонли, и отремонтировать и вычистить ее получается раза с 10 только

@Equidamoid:
Equidamoid

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

@segfault:
segfault

тормозная хрень