LINUX.ORG.RU

Перевод NAS на zfs

 , ,


3

2

На домашнем NAS’e кончается место, задумался, не пора ли перейти на zfs попутно увеличив ёмкость.

Популярные источники на эту тему прочитал, но собственного мнения не могу сформировать, вроде бы zfs - это хорошо, и используется в NAS довольно широко, но я почему-то опасаюсь её использовать (наверное всему виной клеймо Oracle, которое у меня прочно ассоциируется с возможным геморроем).

Дано:

  • i3 3440 / 4Gb (не ECC) / 4 SATA / 3х3Tb Toshiba P300 @ Gentoo stable, если это важно, могу использовать freenas/nas4free
  • На дисках ext4, подключены отдельно
  • один заполнен на 90%, второй на 75%, третий пустой (новый, виновник торжества), теоретически для процесса миграции могу высвободить один действующий диск (итого максимум - 2 пустых)
  • Резервная копия важных данных rsnapshot’ом складывается на второй физический диск
  • Остальные данные не резервируются

Цель:

  • Правильно добавить новый диск в NAS, чтобы в будущем избежать подводных камней
  • Собрать диски в один массив (не критично, но было бы удобно)
  • Не сильно потерять в объеме
  • Не потерять в надежности
    • Инкрементная ререзрвная копия важных данных (сейчас это делает rsnapshot)
    • Возможность восстановить остальные данные (сейчас другие данные никак не резервируются)
  • Производительность и избыточность не требуются (это обычная домашняя файлопомойка, которая преимущественно состоит из BD-рипов)

Правильное ли решение, избавиться от oracle-фобии, и сделать zpool из своих дисков?

Если правильно понял документацию, затея целесообразна при использовании mirror или raidz1 и выше, т.к. stripe будет менее надёжен, чем текущая конфигурация с отдельными дисками.

Исходя из этого, нужно сделать осознанный выбор между mirror и raidz1

Из всей массы статей на эту тему, мне показалась наиболее логичной эта статья: https://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-not-raidz/ , которая подталкивает меня сделать выбора в пользу mirror, кроме того, с текущим кол-вом hdd (максимум 2 свободных), я не смогу собрать raidz1.

Взвесив все за и против, у меня получился следующий порядок действий:

  1. На новом диске сделать stripe
  2. Перенести на него данные со второго диска
  3. Очистить второй диск
  4. Добавить второй диск в stripe
  5. Через n-месяцев купить ещё 2х3Tb, добавить как mirror (вроде это можно сделать из простого stripe, поправьте если не прав)

Что получится в итоге:

  • [+] Один массив 6tb из двух дисков + отдельный диск 3tb для копирования важных данных
  • [+] В будущем можно перейти на mirror
  • [+] Проще расширять vdev - 4 диска большего объма, либо можно добавить ещё такой же vdev, разжившись sata портами или sas/sata мультиплексорами
  • [-] Без mirror надёжность массива ниже, чем сейчас с отдельными дисками
  • [-] Стоимость mirror

Посоветуйте пожалуйста, как не напороться на подводные камни в будущем.

мало памяти (будет очень медленно), не ecc (ошибки в памяти приведут к ошибкам в данных)

смысл zfs в избыточности - нет избытычности, нет смысла.

zfs raidz не расширяем, только добавлением еще одной группы дисков отдельным массивом. (или заменой дисков с resilver на каждый диск)



Я бы не стал. Работает - не трогай.

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

мне показалась наиболее логичной эта статья: https://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-not-raidz/

Автор графоман какой-то. Статья — грандиозное многабукаф на один простой тезис «юзайте RAID1 вместо RAID5, потому что пока идёт ребилд, у вас может навернуться второй диск». Спасибо, дорогой, как же мы без тебя-то. При этом сам тезис раскрывается в двух словах по касательной, а всё остальное — вода.

И это, ты определись, у тебя

Производительность и избыточность не требуются

или свистопляски с mirror (суть RAID1) и raidz (суть RAID5/6/7)?

Если избыточность не требуется, то страйп (RAID0). А если и производительность не требуется, то даже не страйп, а просто пул из единичных дисков, потому что рестрайп в zfs не завезли и новый диск ты в имеющийся страйп (или в raidz) никак не добавишь, хе-хе.

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

На домашнем NAS’e кончается место, задумался, не пора ли перейти на zfs попутно увеличив ёмкость.

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

Не знаю, поправили это или нет, и по этому советую не перемещать файлы со старого NAS, а сделать под ZFS ещё один новый NAS и минимум один год подержать его в опытной эксплуатации.

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

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

Проблема не в ZFS, но ты и сам понимаешь.

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

Проблема не в ZFS, но ты и сам понимаешь.

А кто тогда виноват?
Deluge?
Smplayer?
Я точно эти файлы не удалял, не говоря о том, что ZFS о ошибках в этих файлах отписывалась.

П.С. Если что, то было это года четыре или пять назад, но если учесть что мне упорно пишут что проблемы нет и не было то я к ZFS отношусь настороженно, не факт что этот глюк исправили.

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

Резервная копия важных данных rsnapshot’ом складывается на второй физический диск

Не очень понятен смысл этого действия в пределах одного системника. Может лучше и проще raid1/mirror.

В сумме. Один диск для мусора, и два диска в mirror для важных данных. Можно запихать в lvm (вброс - zfs под linux не нужен).

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

Я неделю назад писал ровно об этом, но имбецил-вахтёр потёр пост. Суть - zfs ничем не лучше и не хуже остальных фс в плане нежданчиков с данными при сбоях памяти.

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

Назови пожалуйста фс

Тебя не спрашивали про другие fs.

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

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

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

Работает - не трогай.

Спасибо. Стараюсь этого правила придерживаться, но опасаюсь в будущем поиметь геморрой, если дисков будет больше.

Статья — грандиозное многабукаф на один простой тезис

Во многих гайдах, что я читал, придерживаются этого же тезиса, причем довольно свежая инфа. Например вот: https://youtu.be/GuUh3bkzaKE

ты определись, у тебя Производительность и избыточность не требуются или свистопляски с mirror

Я не корректно выразился. Нет необходимости в повышении скорости чтения и непривычный доступ к данным при отказе диска.

Относительно резерва, необходима возможность гарантировано восстановить (в течение дня/недели/месяца информацию с отказавшего диска).
Сейчас:
- для важных данных это просто копия на другом физическом диске в том же системнике
- для остальных данных ничего (только список того, что нужно перекачать заново, и то не факт что это возможно будет учитывая текущую обстановку в телекоме РФ)

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


Не очень понятен смысл этого действия в пределах одного системника.

Делаю копию на другой физический диск, на случай сбоя первого диска. От пожара не защитит, да. Тоже подумал, что вместо этого костыля в zfs будет mirror + снапшоты, и надо будет придумать облако/другой нас для полноценного бекапа.

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

Поскольку другие fs работают уровнем выше и не декларируют возможностей контроля данных

Это не так.

защиты от некорректных данных из памяти нет

На самом деле есть, но не такая себе. У Btrfs тоже есть, тоже не идеально, но уже как фича, а не побочный эффект.

anonymous ()

Правильное ли решение, избавиться от oracle-фобии, и сделать zpool из своих дисков?

Да. Для надёжного сохранения данных есть пока только 2 fs - zfs и btrfs. С первой - лицензионные заморочки. Со второй - организационно-технические (то RH дропнет поддержку, то ещё что-нибудь)

Лучше сразу запланировать массив. Но на крайний случай есть autoexpand, который вроде как даже работает (но я не проверял)

P.S. xigmanas (в прошлом nas4free) и freenas не рекомендую. Linux гибче.

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

Хорошо, как тогда ещё раз повторю вопрос, как ещё можно понимать то, что после сообщения о ошибках в ФС мелкие файлы либо оказывались недоступными, так что их и открыть нельзя, либо вообще пропадали?

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

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

Ну давай, изобретай объяснения, венчестер если что имеет отличный смарт и являлся качественной и новой моделью WD Raid edition 250GB, собранный в zraid5 со всеми проверками чексум, так что даже если предположить дефект диска то значит два диска должны были получить одновременное првреждение одинаковой информации и никак не меньше.

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

Подробности в студию.

Ошибки выдавались командами zfs проверяющих целостность данных и структур, командой scrub.

Это что такое?

возможно raidz5, если и так не понятно, то читай документацию по zfs.

но SMART - косвенный показатель

Не только смарт, но и лучшая фирма WD в её лучшем Black edition исполнении модели.

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

Ошибки выдавались командами zfs проверяющих целостность данных и структур, командой scrub.

Подробности в студию.

возможно raidz5

Знания уровня «огромный шпециалист», но мнение имеет, ок.

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

Подробности в студию.

Какие могут быть подробности события четырёх или пятилетней давности?
Достаточно того, что в части сообщений о ошибке указывался путь к файлу в котором она произошла и это был тот самый файл, с которым потом что-то случалось. Если вы разбираетесь в zfs, то наверно и что за ошибка могла быть уже догадываетесь, если не разбираетесь то к чему вам подробности?

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

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

Какие могут быть подробности события четырёх или пятилетней давности?

Если сам не помнишь, что произошло - значит, это уже не имеет значения.

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

Я пользуюсь этим инструментом уже давно. Читаю документацию, форумы, обмениваюсь информацией с другими людьми. А тут какой-то любитель тараканов залез в сложную систему, в которой даже близко не разобрался, что-то в ней сделал, сам забыл что, прищемил хер дверью и теперь рассказывает про неправильные двери? (с) Sun-ch.

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

Понять, что произошло, по твоему рассказу ситуации, которую ты и сам с трудом помнишь? :) А ты хохмач.

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

Я пользуюсь этим инструментом уже давно. Читаю документацию, форумы, обмениваюсь информацией с другими людьми. А тут какой-то любитель тараканов залез в сложную систему, в которой даже близко не разобрался,

Раз вы такой всё изучивший эксперт, то может скажете мне, каким же способом можно получить такой забавный результат, чтобы повреждались только мелкие файлы, которые долго не читали, да причём ещё и так, чтобы их нельзя было восстановить, несмотря на небольшое резервирование в виде raidz5?

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

Неужели всё дело в том, что я включил все средства zfs для проверки целостности данных, а такой знающий эксперт как вы этого не сделал?

Или вы только эксперт по обзыванию людей на форумах?

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

Я не претендую на абсолютную истину и авторитет, я указываю что несколько лет назад я отловил на zfs баг и даю его описание как пользователь, я даже не утверждаю что он есть сейчас, просто призвал быть осмотрительным, а вот Dimez претендует на авторитет и красивый павлиний хвост и сейчас сделал сильное заявление, состоящее в том, что с помощью опций монтирования и штатных утилит управления можно ввзвать повреждение данных на zfs(как иначе то я повредить эти файлы то мог?)

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

И ещё, Dimez не интересуется тем, как я свою zfs настроил, хотя это было бы логично, он у меня спрашивает то, что я заведомо не буду помнить - какое именно у меня было сообщение о ошибке.

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

torvn77 ★★★★★ ()
Ответ на: комментарий от anonymous
  1. Когда я сохранял торрент, я ещё и сохранял рядом вебстраницу с которой его закачивал, понятно что эта вебстраница лежала и ничем не открывалась, что могло её повредить?

  2. Если zfs при проверке пишет про неустранимые ошибки в файлах относящимся к упомянутой вебстранице то что это ещё может быть?

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

Это не важно, важно то, что если Dimez в этом прав то это значит то, что штатными средствами zfs можно получить внутренее неисправимое повреждение данных не совершая специально направленных на это действий, например исключая из массива два соседних диска,(для нештатных средств я слишком глуп)

Но даже так остаётся вопрос о причинах такой странной избирательности повреждения файлов.

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

указываю что несколько лет назад я отловил на zfs баг

С чего ты решил, что это баг в zfs, а не битая память, к примеру? Или битая мать, которую ты нагрел на плитке, а из неё побежали тараканы? Или битый контроллер в проце, опять же, с тараканами? Или ещё 100500 причин, о которых ты не сказал, т.к. посчитал неважными?

Кроме того, raid-z5 - это охренеть какое большое резервирование (если бы его ещё можно было сделать)

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

С чего ты решил, что это баг в zfs, а не битая память, к примеру?

Битая память и подобное бы равномерно распределялась на всю ФС целиком и в особенности на новые или часто перезаписываемые файлы.

А тут

  1. Ограничение по времени: файл должен находится на ФС(не путать с ctime) не менее чем полгода
  2. Ограничение по доступу: случаи его открывания, в том числе и только для просмотра должны быть единичными или скорее отсутствовать вообще.
  3. Ограничение по размеру, самое крупное из пропавшего это субтитры, то есть размер файла около двух или трёх десятков килобайт, но это верхний размер, а так менее трёх килобайт.
torvn77 ★★★★★ ()
Ответ на: комментарий от Deleted

raid-z5 - это охренеть какое большое резервирование

Ну всяко больше чем в raid-z0

Во вторых я делал эксперимент с затиранием нескольких секторов на одном диске, всё восстановила.

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

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

Я мягко намекаю, что есть raid-z, z1, z2, z3. А ты изобрёл z5?

Ну корпорации любят делать много путанных терминов, по этому скажу так, у меня было сделан райд где полное резервирование размазывалось по трём дискам, что соответствует обычному raid5, но точно не raid 0, 1 или 10.

А вообще тогда таких названий небыло, тогда просто вставляли букву z в обычное название типа райда.

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

Если zfs при проверке пишет про неустранимые ошибки в файлах относящимся к упомянутой вебстранице то что это ещё может быть?

Всё, что угодно. И это не говорит о том, что эти файлы были испорчены конкретно zfs.

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

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

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

Всё, что угодно. И это не говорит о том, что эти файлы были испорчены конкретно zfs.

Ещё раз, это внутренняя ошибка ФС вскрытая при её проверке.

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

Да конечно, я zfs кручу в проде с 2013 года, всё уже было.

Может в разных версиях zfs разная терминология и названия терминов?
У меня был мне помнится zfs работающий через fuse

torvn77 ★★★★★ ()