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

с btrfs будет так же, 20% пустыми оставлять либо тормоза.

Как хорошо, что я не поддался на регулярную рекламу ZFS/BTRFS и по-прежнему сижу на ext4/lvm или xfs/lvm. Раздел нисколько не тормозит, когда там свободен 1Гб из 2Тб :)

Недавно, правда, почистил до 21Гб:

/dev/mapper/balvg-video3               xfs        2,0T         2,0T   21G          100% /home/family/Video

:)

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

у вас в zfs выкидывать диски из пула вообще нельзя

Потому что это костыль непонятно для кого/чего. Быстрее и менее затратно создать новый пул/фс и скопировать/раскатать из бэкапа

Что, серьёзно? У ZFS и BTRFS нельзя вывести HDD из массива? o_O

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

v3.19 (Feb 2015)
... and device replace

Хотя, похоже, это именно про raid56. Просто replace в 3.8 упоминается.

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

Я знаю, что полная поддержка RAID5/6 в btrfs появилась сравнительно недавно. А в чём дело-то? Случись вот это всё на год раньше — я бы сказал «нет, сорри, btrfs для меня не готова». А сейчас вот вполне готова.

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

Ты тут давеча уличал меня в слабоумии:


ты так и не смог понять, что такое «кривой дизайн», и до сих пор бросаешься словами, смысл которых не совсем осознаёшь.

При этом сам пишешь вот такие перлы:

Я знаю, что полная поддержка RAID5/6 в btrfs появилась сравнительно недавно.

Нет в btrfs «полной поддержки» raid-5/6, почему мы уже выяснили на прошлой странице.

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

Да, конечно, имеет отношение не только к raid5/6 но и к любому другому типу raid с избыточностью.
Запомни, hot spare - базовый функционал raid.

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

Нет, это ты запомни, точнее постарайся понять, что hot-spare — это фича из класса «удобство», а базовая функциональность RAID состоит ровно из трёх пунктов: 1) запись данных с избыточностью в реальном времени, 2) перестроение данных из избыточности в реальном времени, 3) замена диска с перестроением.

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

Нет, это ты запомни

Поработаешь с СХД в масштабах чуть больше твоего NAS-а, тогда возвращайся, поговорим о базовом функционале.

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

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

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

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

Термин «базовая функциональность» имеет вполне определённый смысл: функциональность, необходимая и достаточная для достижения задачи. Задача RAID формулируется как обеспечение отказоустойчивости массива при отказе не более чем N дисков. В каком месте hot spare необходим для обеспечения отказоустойчивости?

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

zfs

Убери к чертям эту пакость! Натяни голый xfs поверх голых же разделов безо всяких lvm и наслаждайся невероятной скоростью.

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

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

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

внутренне неконсистентные вещи

Ты на меня впечатление хочешь произвести? :)

функциональность, необходимая и достаточная для достижения задачи

В том то и дело, избыточный raid без hot spare имеет недостаточную функциональность.

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

безо всяких lvm и наслаждайся невероятной скоростью.

У кого-то lvm негативно влияет на скорость? O_o Про позитивно — сам знаю, те же страйпы.

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

Ты написал что-то, что противоречит общеизвестному значению термина «достаточный».

Краткий ликбез для тех, кто закончил девять классов и ПТУ:

  • утверждение «фича X необходима для отказоустойчивости» ⇔ «без применения X не бывает отказоустойчивости»
  • утверждение «фича X достаточна для отказоустойчивости» ⇔ «применение одной лишь X уже создаёт отказоустойчивость»

Пользуясь этими терминами, можно естественно сформулировать понятие базовой функциональности RAID-массива как «множество фич, необходимое и достаточное для достижения отказоустойчивости при отказе не более, чем N дисков». Если чуть-чуть пораскинуть мозгами, то можно запросто понять, что hot spare в это множество не входит.

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

btrfs raid(1/5/6) является raid-ом.

Необходимое условие - позволяет сохранить данные при вылете одного или более дисков, в зависимости от уровня raid.
Достаточное условие - поддерживает hot spare.

Ты матан прогуливал чтоли?

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

Достаточное условие - поддерживает hot spare.

Наличие hot spare является достаточным условием для обеспечения отказоустойчивости. Но не необходимым, т. к. можно обойтись без него (я как-то обошёлся). Поэтому не входит в essential feature set. Понимаешь? Или ещё раз разжевать?

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

Как минимум нет hot-spare

Погоди. Ты запасной HDD не можешь вставить заранее, отмониторить состояние и сделать замену скриптом ? Или ты имел ввиду hot swap ? Ну так тут тоже вопрос наличия корзинки ещё, как минимум.

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

Я имею ввиду именно hot spare, выглядит это так:


NAME STATE READ WRITE CKSUM
zpool1 ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
scsi-SAdaptec_LogicalDrv_1_25CA8B2B ONLINE 0 0 0
scsi-SAdaptec_LogicalDrv_2_E0469B2B ONLINE 0 0 0
scsi-SAdaptec_LogicalDrv_3_706A9B2B ONLINE 0 0 0
scsi-SAdaptec_LogicalDrv_4_9C8E9B2B ONLINE 0 0 0
spares
scsi-SAdaptec_LogicalDrv_5_12BE9B2B AVAIL

Если один из дисков в массиве умирает, spare-диск тут же подключается к массиву и происходит синхронизация.

отмониторить состояние и сделать замену скриптом ?

Зачем скрипты? Это функционал raid.

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

Я могу сказать то же самое про тебя. «Я обошёлся» означает, что обойтись можно. Например, скриптом. А если обойтись можно, то фича не является строго необходимой. Следовательно, она не является «базовой». QED.

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

что обойтись можно

Можно без чего угодно обойтись, это не аргумент. Пойми, не делают массивы без hot spare, это стандарт де-факто. Не нравится пример софтрейда, вот дешёвый adaptec http://f-picture.net/lfp/s014.radikal.ru/i327/1602/70/db82b6cb5e4d.jpg/htm

Погуглил «hot spare» первая ссылка:

Hot Spare - (Резервная Замена Дисководов («Горячее резервирование»)) - Одна из наиболее важных особенностей, которую обеспечивает RAID контроллер, с целью достичь безостановочное обслуживание с высокой степенью отказоустойчивости. 

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

Одна из наиболее важных особенностей, которую обеспечивает RAID контроллер

А вот скажи, большую ли ты видишь разницу между RAID5 + hot spare и RAID6 без ? Опять же, для железного RAID, согласен, это важно, так как туда скриптом не залезть, а тут вполне можно.

Кроме того, лично я вообще не вижу смысла в RAID средствами ФС. Либо проверенный годами mdadm (хоть понятно, как чинить), либо уж железка. А средствами ФС - баловство какое-то. :-)

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

Опять пластинку сменил. Вне зависимости от того, что там делают или не делают, смысл словосочетания «базовая функциональность» не изменяется. Базовая — это та, без которой нельзя вообще никак. Hot spare к таким не относится хотя бы потому, что его можно успешно сэмулировать внешними средствами (а можно и не эмулировать, просто обслуживание будет менее удобным).

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

А средствами ФС - баловство какое-то. :-)

Зато экономит время пересборки. Кстати, а как ты собираешься исправлять bit rot?

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

А вот скажи, большую ли ты видишь разницу между RAID5 + hot spare и RAID6 без ?

Разница в том, что на raid-5+hotspare я быстрее получу рабочий (не degraded) массив. Этот вопрос не имеет прямого отношения к обсуждаемой теме.

Опять же, для железного RAID, согласен, это важно, так как туда скриптом не залезть, а тут вполне можно.

В железный raid легко можно залезть скриптом.

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

Hot spare к таким не относится хотя бы потому, что его можно успешно сэмулировать внешними средствами.

Давай, сэмулируй, сделай стабильную, в 100% случаев и на 100% конфигураций рабочую систему эмулирующую hot spare на btrfs.

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

Зато экономит время пересборки.

За счёт чего ?

Кстати, а как ты собираешься исправлять bit rot ?

Какие преимущества тут имеет RAID средствами ФС ?

AS ★★★★★
()

Деградация zfs, btrfs при заполнении диска
Не так давно я перевёл свою домашнюю файлопомойку

опять вы свои помойки на какую то херь переводите.

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

В железный raid легко можно залезть скриптом.

Ну-ну. Нет, я допускаю, что тебе могли попадаться только такие (скажем lsi megaraid всякие), но далеко не всегда такие средства существуют.

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

но далеко не всегда такие средства существуют.

ок

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

А вот скажи, большую ли ты видишь разницу между RAID5 + hot spare и RAID6 без ?

Разница в том, что на raid-5+hotspare я быстрее получу рабочий (не degraded) массив.

И что ? Чем твой рабочий raid5 будет отличаться от деградированного raid6 без одного hdd, который, по сути, будет ровно таким же raid5 ?

Разве что, меньшим потреблением электроэнергии для raid5+hs, так как hs не крутится.

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

За счёт чего ?

Можно не трогать незанятое место.

Какие преимущества тут имеет RAID средствами ФС ?

Всё чексуммится. С RAID на уровне блочных устройств вроде бы нельзя так просто понять, какой из дисков вернул хрень.

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

И что ? Чем твой рабочий raid5 будет отличаться от деградированного raid6 без одного hdd

Значительно большей скоростью.
Ты эмулировать там начал уже?

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

Ещё можно хранить метаданные более отказоустойчиво, чем данные. Или рестрайпать «на уменьшение» (чтобы изъять диски из пула).

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

Значительно большей скоростью.

С какой стати ? Вот в момент перестроения да, скорость просядет. Но так она у всех просядет при перестроении.

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

С какой стати ?

Без одного диска degraded raid-6 медленнее живого raid-5.

P.S. В raid-6 тоже надо ставить hot spare, те примеры, что я привёл на малом количестве дисков, raid-6 делать нет смысла.

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

А в чём проблема? Скрипт из двадцати строк в кроне тебя спасёт.

Проблема в том, что такого скрипта нет. И лично меня он не спасёт, я говноедством не занимаюсь.

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

Судя по всему, не совсем гладко там, ну да ладно, хорошо хоть какой-то прогресс.

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

Если ты увидел что-то смешное в посте про ребилд, то у меня для тебя плохие новости.

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