LINUX.ORG.RU

Деградация zfs, btrfs при заполнении диска

 ,


5

6

Не так давно я перевёл свою домашнюю файлопомойку (1x1TB, 2x500GB) на zfs. Дисков мало, все они разные, поэтому никакого рейда — просто критические данные лежат на подтоме, для которого включено дублирование данных.

Сначала всё было хорошо. Потом ввод-вывод стал дико тормозить. А потом я наткнулся на статью, в которой красочно рассказано, как расп-дорашивает zfs от случайных перезаписей, если забить её данными хотя бы наполовину. А у меня из 1.8T занято 1.5T, и, видимо, так дальше жить нельзя.

Отсюда три вопроса:

  1. что делать (помимо того, что «вдоль» и «докупать больше дисков»)?
  2. как будут обстоять дела в подобных ситуациях у btrfs?
  3. какие ещё есть ФС из «комбайнов» со снапшотами, подтомами, компрессией и так далее?

Update #1. Нагрузка на ФС — торренты и sqlite-овая БД размером в один гигабайт. Тормоза наблюдаются с последней.

Update #2. После того, как я сделал synchronous = 0; для sqlite-овой БД, всё стало сильно лучше. Вопрос «какого хрена?» всё ещё в силе, т. к. intent log имеется.

★★★★★

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

как будут обстоять дела в подобных ситуациях у btrfs?

Хороший повод проверить это. Тоже интересует этот вопрос.

какие ещё есть ФС из «комбайнов» со снапшотами, подтомами, компрессией и так далее?

Больше нет никаких.

Deleted
()

А ZFS у меня без всяких массивов и дубликаций тормозила просто бешено на одном HDD. Кликаешь по папке с фотками и сидишь секунд 30 ждёшь, пока хард перестанет истерично биться головками.

Deleted
()

А у меня из 1.8T занято 1.5T

Свободное место на пределе, будет тормозить. Сжатие включено?

критические данные лежат на подтоме, для которого включено дублирование данных

Это как?

как будут обстоять дела в подобных ситуациях у btrfs?

Не делай глупостей.

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

Свободное место на пределе

свободно 300 Гб

Свободное место на пределе

Вау. Какая прекрасная ФС.

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

А ZFS у меня без всяких массивов и дубликаций тормозила просто бешено на одном HDD

Какая реализация ZFS? ZOL,fuse zfs, freebsd zfs, solaris zfs? Сколько памяти было отдано ARC?

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

Свободное место на пределе

Я бы поспорил с тем, что 20% — это «на пределе» с точки зрения пользователя.

Однако вопрос не в этом, а в том, изменилось ли что-нибудь с тех пор в zfs, или этой ФС всё так же нужно в 3 раза больше места, чем занято?

Сжатие включено?

Где как. На том подтоме, к которому самый активный I/O (которое тормозит), включено. И дублирование тоже включено.

Это как?

Свойство «copies».

Не делай глупостей.

Я как-нибудь сам разберусь. Бэкапы есть, нестабильность не страшна. Если оно будет работать лучше, чем zfs (и если у меня не появятся вдруг лишние деньги на четыре двухтерабайтника, в чём я сильно сомневаюсь) — значит, на хардах будет именно оно.

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

или этой ФС всё так же нужно в 3 раза больше места, чем занято?

Не нужно, свободных 20% вполне достаточно.

И дублирование тоже включено

Дедупликация?

Я как-нибудь сам разберусь.

Ок. Приятной прогулки по граблям.

King_Carlo ★★★★★
()

Это природа COW, что zfs, что btrfs — фрагментация растет всегда

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

Нашёл вот что:

The global block reserve is last-resort space for filesystem operations that may require allocating workspace even on a full filesystem. An example is removing a file, subvolume or truncating a file. This is mandated by the COW model, even removing data blocks requires to allocate some metadata blocks first (and free them once the change is persistent).

The block reserve is only virtual and is not stored on the devices. It's an internal notion of Metadata but normally unreachable for the user actions (besides the ones mentioned above). For ease it's displayed as single.

The size of global reserve is determined dynamically according to the filesystem size but is capped at 512MiB. The value used greater than 0 means that it is in use.

Но это вроде не совсем то, что вас интересует. Погуглю ещё.

Deleted
()
Ответ на: комментарий от realiddqd

Нет, SSD вообще мимо кассы: мы тут фрагментацию обсуждаем, а у SSD время доступа к данным в сравнении с хардами околонулевое.

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

SSD сглатывает всю тормознутость CoW-файлух. Больше интересует поведение Btrfs на HDD.

Deleted
()
Ответ на: комментарий от realiddqd

Здравствуй клоун новый год. Проблема фрагментации на hdd — «долгий» seek головок, естественно на ssd этого нет, но ssd маленькие и/или дорогие пока еще.

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

Нет, резервная область для CoW тут вобще ни при чём.

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

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

Её, кстати, 4 GiB, из них собственно приложениями занято около гигабайта.

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

Кэши я не настраивал, помню, что из 8 Гб оперативки было занято почти 6.

У тебя, возможно, не zfs тормозила, а linux твой по swap ушами тёрся. Надо было ограничить ARC через zfs_arc_max.

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

Сначала всё было хорошо. Потом ввод-вывод стал дико тормозить.

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

anonymous
()

Ты зфс зачем поставил? Ради ее плюшек? Если да, то цена этому память и потеря места 30% как минимум иначе ставь xfs на lvm

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

Не тёрся. 2 Гб свободно, там в каталоге какие-то сраные 2 тысячи фоток, и ZFS открывал этот каталог полминуты, тогда как ext4, естественно, открывает в течение секунды.

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

то начали искать любую причину, лишь бы не признавать проблему

Дорогой онанизмус, я в ветку зашёл не проблемы признавать, коих у меня нет, а, по мере сил, помочь ТСу советом. Признавать проблемы должны те кто их испытывают и разработчики продукта, я же zfs не разрабатываю, проблем с ней не имею и, даже ей не торгую, прикинь.

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

Я вот сейчас, по сети, через caja открыл папку на серваке с zfs, в которой полмиллиона файлов, секунды 3 открывалось.

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

на серваке

Рад за вас. Только к десктопу с одним-единственным хардом на 7200 RPM это какое отношение имеет?

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

Да, ради сжатия и квазиотказоустойчивости в лице ditto blocks.

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

Окей. Видимо, у вас там всё слишком ынтырпрайзно, и отдать под ФС пару [десятков] лишних терабайт — не вопрос =)

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

докупай диски, пробовать btrfs смысла нет, говорю уже по опыту, 20% свободного места на каждый подтом... иначе начинает тормозить, данные конечно не терял ещё, но работать с заторможенным ноутом проблема.

Кстати, ты вяленого тестишь? бывало такое, что как будто на win xp вернулся, когда переключаешься между вкладками с видео, задержка в 1,5-2 сек?

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

20% свободного места на каждый подтом

Если у меня 5 подтомов, мне нужно оставлять 100% свободного места в сумме?

Deleted
()
Ответ на: комментарий от erzentdd

Размер подтома равен размеру всей ФС, если только не ограничен квотами. Так что так и выходит: при 5 подтомах мне нужно оставлять свободным 100% места.

Пишите ещё, вы люто доставляете.

Deleted
()
Ответ на: комментарий от erzentdd

А у меня игрушечный паровозик на конопляной тяге и барабан. Почему в Африке идут сиреневые дожди?

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

Можешь попробовать поставить маленький ssd под кеши, при таком размере горячих данных это разумно. Ну а от того, что нужно оставлять 20% свободного места никуда не деться.

feofan ★★★★★
()

как будут обстоять дела в подобных ситуациях у btrfs?

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

На ZFS с подобным не сталкивался. Наверное потому что редко занимал больше чем 50%.

Кстати, по ссылке речь идет о том, как деградирует cow fs при перезаписывании участков файлов. Это немного специфичная тема, и я не думаю что это о файлопомойке.

А ОЗУ сколько?

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

как будут обстоять дела в подобных ситуациях у btrfs?

Не делай глупостей.

«парень, не делай этого! все образумится, ты молодой, у тебя вся жизнь впереди»?..

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

Человек, принимающий поведение zfs на своём сервере за её стандартное поведение на всех конфигурациях, что-то говорит про недалёкость. Тут просто выездная сессия «Аншлага» какая-то :DD

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

zfs на своём сервере за её стандартное поведение на всех конфигурациях

zfs на дескопах дома и в офисе, так что не надо грязи, не только оно на серверах. Так что лично у меня, лично на моих ПК никаких проблем с zfsonlinux нет. Если на ваших конфигах оно толком не работает, то надо либо сделать апгрейд, либо не использовать zfs, но это не повод срывать на мне свою досаду, я тут непричём. Что касается btrfs, я уже не раз объяснял свою позицию - для меня очень важны данные и я использую то, что позволяет их надёжно хранить и обрабатывать, вам же интересны технологии, вам плевать на данные, они для вас ничего не значат, вы используете btrfs. Как то так.

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

Что касается btrfs, я уже не раз объяснял свою позицию

Да, вы её объясняете в каждой теме про Btrfs, на моей памяти было около десятка тем про неё, и вы отметились, наверное, в каждой со своим ценным мнением :DD

Если на ваших конфигах оно толком не работает, то надо либо сделать апгрейд, либо не использовать zfs, но это не повод срывать на мне свою досаду, я тут непричём

Так и не лезьте в каждую бочку затычкой со своей zfs. Если человек хочет попробовать или использовать Btrfs, не нужно лезть ему под ноги и навязывать своё видение. Пусть попробует и сам решит, устраивает она его или нет.

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