LINUX.ORG.RU

Чем нынче модно кэшировать блочные устройства? bcache?

 , ,


0

3

Т.е. в наличии есть SATA SSD,

Понятно, что PCI устройства получше, но их нет под эту задачу

Какой софт можно использовать?

Вижу на форумах упоминания того, что якобы что-то есть уже готовое в новых ядрах, это так?

Есть ли возможность добавлять SSD кэш к файловой системе ext4?

Или лучше bcache? как оно?


В качестве блочного устройства будет выступать ZVol
Файловая система - ext4 с большим количеством картинок от видеонаблюдения ZoneMinder

Пока видится примерно так:
ext4->bcache->zvol

L2ARC и SLOG уже есть на SSD

Просьба не флудить по поводу ZFS.

Перемещено leave из talks

★★

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

Я лично кеширую древним flashcache'ом, вручную пропатченным под ведро 4.4. Уже неоднократно присматривался к bcache'у - но оно слишком сложно (нужно переформатировать устройства), и после того как я наткнулся с ним на один баг (уже поправили в ведре) и потерял данные - желание пробовать его снова пока что отпало.

Вижу на форумах упоминания того, что якобы что-то есть уже готовое в новых ядрах, это так?

Насколько я знаю есть dm-cache, который присутствует в ведре ещё со времён версии 3.9. Но использовать его вручную - тот ещё геморрой. Сравнительно недавно я наткнулся на такую штуку как lvmcache (http://man7.org/linux/man-pages/man7/lvmcache.7.html), как раз таки вроде основано на dm-cache. Но нужна достаточно свежая версия утилит LVM. Сам пока не пробовал, но планирую.

Есть ли возможность добавлять SSD кэш к файловой системе ext4?

Штатными средствами ext4 вроде как нет.

В качестве блочного устройства будет выступать ZVol
Файловая система - ext4 с большим количеством картинок от видеонаблюдения ZoneMinder
Пока видится примерно так: ext4->bcache->zvol
L2ARC и SLOG уже есть на SSD

Если всё это планируется поднимать на linux'е с zfsonlinux... Ну, что тут можно сказать... Удачи в общем. Она вам потребуется.

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

Если всё это планируется поднимать на linux'е с zfsonlinux... Ну, что тут можно сказать... Удачи в общем. Она вам потребуется.

ext4 поверх zvol прекрасно работает уже около года

хочу добавить дополнительный кэш, чтобы повеселее

потеря данных не очень критична - ну картиночки потеряются какие, и потому что будут снэпшоты, можно откатиться если глюкнет bcache

Тогда flashcache vs bcache?
В ядре они есть? пакеты в Wheezy?

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

Наверно пакеты есть только для Jessie:
https://packages.debian.org/jessie-backports/bcache-tools

А Flashcache только в testing

Интересно, что происходит с логическим разделом bcache, если сдохнет SSD?

Откатится на последнюю транзакцию, которая на HDD или потеряет все данные включая HDD?

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

Тогда flashcache vs bcache?
В ядре они есть? пакеты в Wheezy?

В ядре есть только bcache. flashcache надо компилять вручную, к тому-же сам проект давно заброшен, так что адаптировать этот велосипед под новые вёдра придётся тоже самому. Я пока осилил только под ведро 4.4.

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

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

Насколько я знаю, это зависит от того какой там режим кеширования использовался. Если writeback - то ничего хорошего не ждите, данные на HDD с высокой степенью вероятности превратиться в тыкву.

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

Если SSD корректно отрабатывает flush (а для потребительских моделей это бывает не всегда), то нормально реагирует. Всё происходит точно также как и с обычной ext4, только в данном случае часть данных находится только на SSD. В общем, всё должно корректно восстановиться и синхронизироваться с HDD.

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

А чем вас не устраивает L2ARC

Видел упоминания, что bcache повеселее работает.
Хотелось бы попробовать.

А можно заставить bcache все кэшировать, а не только Random IOPS?
Что bcache делает с большими очередями коротких пачек синхронных записей? Если сравнить со SLOG.


К примеру L2ARC можно, а на запись в ZFS наверно нет смысла прогонять через ZIL все полностью, потому что случайных записей там и так нет, хотя при высокой фрагментации, может быть, ускорение bcache как раз и проявится.

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

Смотри, насколько я понимаю, проблема у zoneminder, в первую очередь в том, что оно, удаляет картинки через rm -rf. А это насколько я понимаю, весьма и весьма медленная операция. В общем SSD тебе ровном счетом не поможет никак, я думаю, ибо писать в 10-20 потоков картиночки сможет любой 7200 винт.

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

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

И ещё: я бы выкинул zfs из этого пирога, и поставил что-то другое, напр: ext4 с журналом на SSD. Ни к чему отдавать драгоценную память под ARC, если ты в zoneminber в основном пишешь и удаляешь. Но не читаешь.

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

И ещё: я бы выкинул zfs из этого пирога, и поставил что-то другое, напр: ext4 с журналом на SSD. Ни к чему отдавать драгоценную память под ARC, если ты в zoneminber в основном пишешь и удаляешь. Но не читаешь.

Не, ZFS - это и зеркала и снэпшоты и чексуммы и много чего еще, так что без вариантов.

Решил не тратить время на поиск дополнительного кэша, проще поставить более шустрый SSD для L2ARC и SLOG.

И так использую ext4 поверх ZVol, журнал ext4 - поверх другой SSD - это идея.

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

Не, ZFS - это и зеркала и снэпшоты и чексуммы и много чего еще, так что без вариантов.

Ну видимо у тебя zoneminder стоит на поиграться. Иначе, я не думаю, что тебя бы для хранилища куча jpg файлов интересовали бы чексумы, снапшоты и т.д.

Решил не тратить время на поиск дополнительного кэша, проще поставить более шустрый SSD для L2ARC и SLOG.

У тебя много прямой записи на том с zfs идёт? Смысл от SLOG какой? Если будешь весь zoneminder через SLOG - тебе потребуется (в зависимости от кол-ва камер, конечно) - весьма дорогой SSD, чтобы его SLC кеш успевал отрабатывать за твоими хотелками. Статистику L2ARC то смотрел? - Ты посмотри, посмотри, сделай выводы. L2ARC - после reboot уже выживает в Linux?

Ты кстати, в курсе, чтобы у тебя L2ARC вообще работал, тебе нужно в общем и целом, для каждых 5-10 ГБ SSD, отдать как минимум 1гб LARC2META cache из оперативки. Ты уже убедился, что у тебя в твоём ARC кеше, при дефолтных настройках в 25%, есть такие объемы? То есть, от того, что ты поставишь в zfs L2ARC в 512 ГБ SSD, будет ни горячо, ни холодно, пока ты не выдашь для него 50 Гиг ОЗУ, и 200 Гб ОЗУ под ARC (при настройках по-умолчанию конечно).

P.S., я тебя не отговариваю от zfs, просто ты должен понимать, что все эти плюшки вроде чексум (требуется как минимум ECC память, у тебя такая, я надеюсь?), снепшотов (вызывают сильную дефрагментацию, и посему нужно оставлять как минимум 20% свободного места от тома), и т.д. - это ДОРОГИЕ вещи очень.

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

Ну видимо у тебя zoneminder стоит на поиграться.

Дома, от подъездных паразитов

Иначе, я не думаю, что тебя бы для хранилища куча jpg файлов интересовали бы чексумы, снапшоты и т.д.

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

У тебя много прямой записи на том с zfs идёт? Смысл от SLOG какой?

Смысл - сглаживать синхронные записи от MySQL.

Если будешь весь zoneminder через SLOG - тебе потребуется (в зависимости от кол-ва камер, конечно) - весьма дорогой SSD,
чтобы его SLC кеш успевал отрабатывать за твоими хотелками.



Пока 3 видеокамеры, потом планируется примерно еще столько же.
Даже весьма посредственный по скорости SSD справляется весьма успешно, утилизация HDD резко упала.
В первую очередь помогает L2ARC. До подключения SSD было не дождаться даже логина по SSH и подсказки набора команды по табуляции.

Статистику L2ARC то смотрел? - Ты посмотри, посмотри, сделай выводы.

http://pastebin.com/YzrpdQqi

L2ARC - после reboot уже выживает в Linux?

Насколько я знаю в ZOL пока нет.

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

Оперативки на сервере ZoneMinder 16 гиг, можно удвоить при необходимости

но даже сейчас занято меньше половины, потом там еще будет гипервизор KVM

ECC для домашнего сервера?!?? да я с дуба рухнул чтоли ) Хотя AMD ASUS поддерживают, может быть потом. Просто беру с запасом по частоте, обычную десктопную хорошую брэндовую с радиаторами.

Пользую ZFS с 2012 года, пока сбоев не было тьфу-тьфу про частицы из коцмоса читал, наверно не долетают до меня )

На другом сервере на работе L2ARC 250GB, отъедает в ARC 5 гиг под таблицу заголовков. Весь ARC укладывается в 10 гиг, это на выделенном под хранилище сервере с 16 гигами оперативки. У меня в домашних серверах оперативки больше )

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

Вообще я не признаю никаких других файловых систем, контачащих с железом кроме ZFS.

На ZVOL или в виртуалках можно городить ext3/4, NTFS и т.п.
А для дублированных массивов только ZFS и ничего больше.
Надежно, удобно, безальтернативно, особенно под дешевые самодельные массивы.

Можно взять например новый винт на 6TB и обвесить его старыми ремками по 1TB для его зеркалирования. Конечно это не саммый эффективный способ с точки зрения производительности, зато экономный для дома, ремки всегда есть куда и как пристроить до их полного износа в хлам. У меня без дела сейчас только несколько уж совсем древних HDD объемом 5,17 и 80 GB, с такими просто лень возиться - жалко времени на них.

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

http://pastebin.com/YzrpdQqi

У тебя попадание в L2ARC, 21%.

Оперативки на сервере ZoneMinder 16 гиг

То есть, если ты ничего не трогал, у тебя: 8 гб. RAM, уходит для ARC. Из них 2гб - уходит на l2arc meta, следовательно, l2arc, более чем в 20 гб SSD смысла не имеет (в общем случае).

Насколько я знаю в ZOL пока нет.

Ну то есть, ты понимаешь, что после каждого reboot, кеш l2arc, ты полностью «прогреваешь» заного.

До подключения SSD было не дождаться даже логина по SSH и подсказки набора команды по табуляции.

Не плохо бы понимать чем это вызвано, нужно смотреть конкертно куда утилизируется i/o. Вполне возможно, что имеет смысл отсадить mysql просто на SSD.

ECC для домашнего сервера?!??

ECC - базовое требование для zfs. Ты не полагаешься на SMART, зато полагаешься на nonECC память? - ИМХО, лучше уж SMART

На другом сервере на работе L2ARC 250GB, отъедает в ARC 5 гиг под таблицу заголовков.

И каков процент попадания в l2arc в итоге? Есть уверенность, что все 250GB используются то? Насколько я читал, в серьёзных инсталляциях вообще не используют L2ARC, ибо бессмысленно. Проще ОЗУ просто накинуть для ARC.

Пользую ZFS с 2012 года, пока сбоев не было тьфу-тьфу про частицы из коцмоса читал, наверно не долетают до меня )

Я боюсь, что обычная память чисто впринципе может карраптить данные, и таких карраптов великое множество, просто зачастую приложения могут обрабатывать данные коррапты. zfs же полностью полагается на то, что у тебя в ОЗУ корректные данные.

На ZVOL или в виртуалках можно городить ext3/4, NTFS и т.п.

Там тоже возникает много интересного с размером блока в таком случае...

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

Везде серьёзные ребята говорят, как раз наоборот: что zfs это надёжно, круто, и т.д. но, на дорогом железе и не под linux, конечно. zfs это не для нищих (как раз из-за ECC RAM + её количества).

Можно взять например новый винт на 6TB и обвесить его старыми ремками по 1TB для его зеркалирования.

Что за ремки - не понял.

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

У тебя попадание в L2ARC, 21%.

это на какой выборке?

http://pastebin.com/ns9KD4WZ

даже несколько процентов может играть огромную роль для улучшения производительности random IOPS

Из них 2гб - уходит на l2arc meta,

l2_hdr_size 4 435299072
занято полгига на 35гиг L2ARC

следовательно, l2arc, более чем в 20 гб SSD смысла не имеет (в общем случае).

это на основании чего такое утверждение?

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

Ну то есть, ты понимаешь, что после каждого reboot, кеш l2arc, ты полностью «прогреваешь» заного.

И что? как часто случается reboot на сервере?

ECC - базовое требование для zfs. Ты не полагаешься на SMART, зато полагаешься на nonECC память? - ИМХО, лучше уж SMART

очень смешно, отличная тема для holywar

Ошибки CRC по вине дисков я видел много раз за 5 лет, а непонятную ошибку после scrub всего один раз

На работе понятное дело ECC, а дома, если только ты проспонсируешь приобретение ECC, пока меня и обычная устраивает

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

И каков процент попадания в l2arc в итоге? Есть уверенность, что все 250GB используются то? Насколько я читал, в серьёзных инсталляциях вообще не используют L2ARC, ибо бессмысленно. Проще ОЗУ просто накинуть для ARC.

http://pastebin.com/16kXFdcC

Как видишь, почти треть попаданий, но это не суть важно
NVME работает прекрасно в качестве L2ARC,
без него СУБД сильно тормозит

Важно то, что эти 250 гиг залетают в кэш всего за несколько дней и то, что все эти операции случайные, профит намного больше, чем может показаться на первый взгляд, не надо сравнивать enterprize СУБД с какой-нибудь дворовой файловой помойкой.

И вообще читать и делать - это не одно и тоже, опыт тоже важен после прочтения, и принимай во внимание тип нагрузки, СУБД СУБД СУБД ... )

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

У тебя они на одном и том же ссд?

пока да, причем на относительно тормозном Kingston KC300

и даже в этом случае жуткие тормоза превратились в легкое притормаживание

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

Там тоже возникает много интересного с размером блока в таком случае...

Так речь то о надежности особенно в условиях нынешнего (не)качества HDD.

Надо быть полным идиотом, чтобы важные данные хранить на одном HDD без зеркала, хоть он даже самый дорогой серверный HGST с 5 летней гарантией. Ну а чексуммы - приятный бонус для оповещения о необходимости заглянуть в SMART.

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

поставишь в zfs L2ARC в 512 ГБ SSD, будет ни горячо, ни холодно, пока ты не выдашь для него 50 Гиг ОЗУ, и 200 Гб ОЗУ под ARC

Это тебе опять сорока на хвосте принесла?

минимум 20% свободного места от тома), и т.д. - это ДОРОГИЕ вещи очень

точно сорока.

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

Везде серьёзные ребята говорят, как раз наоборот: что zfs это надёжно, круто, и т.д. но, на дорогом железе и не под linux, конечно.

Ой ой, погугли про современные инстоляции на ZOL, там еще некоторые фичи бонусом идут из-за того, что именно ядро Linux.
Спорить про надежность солярки не собираюсь, да и не сомневаюсь в ней, но ZOL уже очень даже ничего.

zfs это не для нищих (как раз из-за ECC RAM + её количества).

я чето не пойму, мне теперь что, из-за своих доходов срочно отказаться от ZFS и перейти на FAT12, который обладает повышенной надежностью на обычной памяти?

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

Что за ремки - не понял.

Ну полудохлые старые диски с ноута, или просто сильно БУ.

Только не путай, я тут уже 2 сервера упоминал:

Домашние: не ECC, десктопный AMD, солянка из относительно хороших HDD и ремков, простенькие десктопные SSD от KC300 до Plextor/Samsung

Сервера на работе: ECC, Intel, Supermicro, новые Enterprise HDD, NVME Intel Enterprise DC 3700

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

не помню уже

Я как-то так и подумал, потому что мне ни одной не приходит в голову.

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

ECC - базовое требование для zfs.

Отсыпь травы, а? Откуда вы такой бред вытаскиваете?

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