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)

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

Так и не лезьте в каждую бочку затычкой со своей zfs.

Я вообще то в теме, где ТС прямо спрашивает про zfs.

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

Я его за руки держу? Пусть пробует, я не против. Поделиться опытом теперь называется «навязывать своё видение»?

P.S. Да и вот ещё что, давайте договоримся, вы мне не говорите что мне делать, а я не говорю вам куда пойти.

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

Я вообще то в теме, где ТС прямо спрашивает про zfs.

Мне что, начать цитировать ваши выступления в темах о Btrfs? :DD

P.S. Да и вот ещё что, давайте договоримся, вы мне не говорите что мне делать, а я не говорю вам куда пойти.

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

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

Так вы сразу и скажите, что вы неадекватный пропагандист zfs

Вы всем предлагаете что-либо сказать или сделать? Лицо не болит?

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

Не всем, только очевидным неадекватам, которых АШТРИСЁТ, когда кто-то делает то, что они считают неправильным :DD Как говорится, той же монетой отплачиваю.

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

Не всем, только очевидным неадекватам, которых АШТРИСЁТ, когда кто-то делает то, что они считают неправильным

Ну допустим, а я тут при чём?

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

Ответил вам в заметки:

King_Carlo ★★★ (26.12.2015 22:59:36) рефлексия и самокритика на уровне хомячка

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

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

Смищно.

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

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

Это немного специфичная тема, и я не думаю что это о файлопомойке.

У меня там 1) торренты и 2) sqlite-овая база данных одного распределённого мессенджера размером в гигабайт, в которую постоянно пишут. Проблемы преимущественно с последней.

intelfx ★★★★★
() автор топика

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

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

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

У меня файлопомойка на btrfs, забита на ≈90%, никаких проблем нет. Причём в один сабвол пишется пегулярно, с другого беспрерывно читается, всё это дело живёт в одном диске и жрать не просит уже год с мелочью.

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

Особенно интересует время открытия каталогов с количеством файлов больше 1000. И вообще, насколько высока отзывчивость, насколько сильно тарахтят головки.

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

Новая жизнь с новым акком опять не взлетела, расслабься.

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

Выставил synchronous = 0 на sqlite-базе — проблемы исчезли. А теперь вопрос: какого хрена, если intent log включен, а на подтоме свойство «sync» выставлено в «latency»?

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

И на SSD, и на HDD. Замеров не делал, но за год ощущения тормозов не возникало.

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

время открытия каталогов с количеством файлов больше 1000

На SSD моментально, на HDD ~1-3с (на "холодную").

насколько высока отзывчивость

По ощущениям сильно лучше reiserfs того же возраста, и незначительно лучше Ext4 (которая на моей машине при резком отключении эл-ва теряла рандомные файлы, в том числе даже не открытые на чтение).

насколько сильно тарахтят головки

Они тарахтят, но не так сильно и часто, чтобы это заставляло задуматься. В общем-то тарахтят они только на "холодном" чтении директории с овердофига мелких файлов, которых у меня не так много.

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

Ext4 (которая на моей машине при резком отключении эл-ва теряла рандомные файлы, в том числе даже не открытые на чтение).

прохладная история, бро

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

Потому что по умолчанию zil пишется на диск только когда приложение открывает файло с флагом o_sync или же прилетает явный fsync.

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

под это надо отдавать чистый винт без всего, к тому же 5400 это эпик фейл, 7200 надо, всё что ниже труба, ещё наверника и сата2.

карло и этот понторез, используют сас винты под это либо ssd, на которых нету ничего кроме zil.

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

5400 RPM, помимо лога там система.

И чего ты ожидаешь после этого? Так можно делать только с ссд и то, я бы не стал, а точнее - так и не сделать на солярке, можно только устройство целиком отдать.
Остальные поди 7.2к?

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

этот понторез хотя бы разбирается в темах топиков куда суётся.

всё что ниже труба, ещё наверника и сата2.

изыди

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

Я ожидаю, что почти простаивающий винт будет быстрее тех, с которых что-то постоянно читается вразнобой. Я бы воткнул SSD, будь у меня лишний. А остальные винты десктопные 7200, подключенные через SATA port multiplier к ExpressCard-ному однопортовому контроллеру =)

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

ещё наверника и сата2

А это то тут причём? Верхний потолок SATA2 ещё ни один HDD не превысил.

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

А остальные винты десктопные 7200

Ну ты всё же попробуй убрать 5.4 девайс или logbias в throughput и посмотри чо как, оно должно оптимально по vdev'ам запись раскидывать. Сейчас у тебя все синхронные операции работают со скоростью этого самого диска, на котором ещё и система. sync случаем не в always выставлен?

SATA port multiplier к ExpressCard-ному однопортовому контроллеру

Мне сложно себе представить резвость такой балалайки :D
зы раскури на досуге txg timeout и ко.

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

при 4 гб в ZOL отключаются ряд функций ответственных за производительность, минимум самой ФС надо 8гб отдать.

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

это не десктопная ФС, ей нужна опера для работы, много оперы.

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

Что за функции и где посмотреть на соответствующий код включения-отключения оных в зависимости от количества RAM?

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

sync случаем не в always выставлен?

Ну вот сейчас выставил в disabled. Раньше был standard.

Ну ты всё же попробуй убрать 5.4 девайс

Убрал. Если вернуть синк, получаю те же самые SPIO вместо IOPS.

Мне сложно себе представить резвость такой балалайки :D

Ага. Говорю ж, у меня роль «сервера» исполняет ноут 2008 года выпуска.

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

Вы можете критиковать его убогое железо сколько угодно, вот только факт в том, что все работало нормально пока было свободное место. О фрагментации уже типа все забыли, ее нет, zfs от этого не страдает, валите все на слабое железо.

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

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

«Здрасте, я домашний пользователь павлик. мне нужна ФС для домашней файлопомойки. Текущая ФС сломалась.»

Здравствуйте павел! Выучитесь на администратора Баз данных, а потом и используйте нашу ФС!

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

ПНХ. Сам можешь сколько угодно использовать свою vfat.

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

факт в том, что у тебя мозгов не хватает понять смысл моего сообщения, как и апдейтов ТС.

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

Есть мнение, что zil в твоём случае не поможет, более того пошареный hdd под zil скорее создаст тормоза на нормальном железе.

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

А если взять гипотетический SSD под ZIL? Последний используется только при синках или вообще как журнал? Или там нет журнала как такового, потому что всё copy-on-write?

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

С btrfs придется время от времени восстанавливаться из бекапов

У меня 4 года как минимум раздел на btrfs и проблем с ним не было.

pawnhearts ★★★★★
()

Ваня, привет.

Спасибо тебе за тесты, остаюсь на ext4.

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

ZIL всегда используется, если он не отключен насильно, но пишется на диск(будь то отдельный девайс или в виде блоков по пулу) только при синхронной записи, при асинхронной он «пишется» в рам и сбрасывается согласно выставленному txg timeout(по умолчанию 5 сек) с zil на диске он, кста, так же отправляет в пул.

А если взять гипотетический SSD под ZIL?

Depends, если у тебя постоянно пишется много данных, то в какой-то момент ssd может заполниться не записанными данными и приует. Если нагрузки пиковые, то очень даже поможет. Обычно я смотрю dtrace что там происходит с этим zil.

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

какой странное у тебя мнение о домашней файлопомойке

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

Особенно интересует время открытия каталогов с количеством файлов больше 1000.

Говно. По этой причине ушел на lvm+ext4 о чем нисколько не жалею.

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