Как стать автором
Обновить

Комментарии 73

Почему не опубликовать этот раздел через iscsi 7
Это не нативный путь работы с ZFS.
Ок а фильтры OS поддерживаются? Например дедупликация данных, EFS, Windows ACL, etc.?
На картинке в посте список того, что поддерживается на данный момент, кроме того, еще есть поддержка сжатия налету. Ну а вообще, это же альфа-версия драйвера и ему всего год.
Юзаю дома «адский комбайн» из NTFS@iSCSI@(zfs volumes&clones@FreeBSD@[HyperV|VirtualBox]), раздается еще на несколько домашних компов — в целом доволен, «но» — 8ГБ (+ накладные расходы) кушает виртуалка, 8ГБ RAM-диск, ещё «то да сё», и Commit size=33GB, если бы не сокет 1366 — попал бы на деньги за DDR4 (мне 48ГБ стоили порядка 200$ в 2011г). Hyper-V — быстрее, но одни косяки (буфферизация записи неотключаемая), VirtualBox — другие косяки (MSI/MSIX interrupts), и главные грабли — если что с дисками — то до виртуалки через винду ничего не дойдёт, мониторить смарт нельзя тоже.

Дедупликация — скорее всего поддерживается, но только средствами ZFS, т.е. realtime и нет offline. И цена её — жуткий жор памяти, вплоть до «не сможете смонтировать пул». Вообще ZFS и «дайте памяти побольше» — это синонимы :).

Я одному удивляюсь — почему не реализованы тома, на которых можно бы держать NTFS с плюшками, зато куча усилий для обычной работы с файлами (и явно ж косяки с отсутствием фишек NTFS будут). Впрочем, не я разрабатывал — не мне придираться :).

В любом случае — титанический труд. Вспоминая, сколько ушло времени, пока во Фре оно нормально заработало…
Помнится, стоило больших трудов, в своё время, добиться нормальной работы с ZFS под Linux. И дело даже не в том, что данная ФС к нему обычно прикручивалась сбоку (и пока это сохраняется), а с грызнёй их между собой за память. Я содрогаюсь от одной мысли примонтировать ZFS пул к Windows…
На сколько я знаю, размер кеша в RAM можно регулировать. А тут речь идет не о производительности, а о самой возможности нативно прочитать или записать хоть что-то.
начиная с ubuntu 16.04 полная поддержка ZFS
Из коробки её нет. Хотели, но Столлман начал кукарекать о том что это нарушит GPL, какими бы воркэраундами Каноникл бы не воспользовались и сделает убунту нешвабодной. Так что всё равно только после установки драйвера из репозитория. Ubiquity не поддерживает, так что систему без шаманств на ZFS так и нельзя установить.
ну если коротко — это прикольно.
1. Целостность данных и её проверки
2. Можно сказать одному из датасетов, хранить свои блоки в двойном экземпляре, и если один побъётся и при этом ФС останется жива, выживет и блок.
3. При неудачном обновлении можно сделать всё в точности как было. Обожаю эту функцию когда необходимо быстро поковырять что-нибудь методом научного тыка.
4. Можно делать снимки и использовать их для аудита системы. ZFS умеет показывать какие файлы изменились между снимками…

Вообще сравнивать ZFS и обычную ФС как сравнивать реляционную БД с файлом Berkeley DB. Можно долго перечислять преимущества, вот только правда не всем они нужны.
Можно долго перечислять преимущества, вот только правда не всем они нужны.

Вот вот. Я понимаю использовать вышеперечисленное для хранимых данных. Но есть кактус с подключением root на ZFS чтобы иметь возможность проверки целостности конфигов которые годами не меняются. Ну такое.
Это они дома не меняются. Машина выставленная в интерфейсом в инет требует к себе всяческого аудита. А гемор рута на ZFS это проходящее. У меня сейчас Фря рутом на ZFS, никаких проблем. И линукс даст бог подтянется…
> А гемор рута на ZFS это проходящее.

Это за один вечер раскурить документацию и поковырять в виртуалке и в другой вечер «херак-херак и в продакшен» :) А если серьезно — там ничего геморного особо то и нет. Все работает.
например у Solaris 11 это единственный возможный вариант
главный плюс — создание клонов boot environment для обновления системы
pkg update автоматически создаёт клон и применяет к нему обновления
следующая загрузка идёт автоматом с него.
если что-то не так то можно откатиться налюбой предыдущий BE

второе — mirrot root, контроль целости
ну и swap, dump на том же томе легко меняют размер
zfs list
lar@solaris11-3-vbox:~$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 10,4G 5,02G 3,52M /rpool
rpool/ROOT 8,68G 5,02G 31K legacy
rpool/ROOT/solaris-28 8,68G 5,02G 6,09G /
rpool/ROOT/solaris-28/var 810M 5,02G 540M /var
rpool/VARSHARE 6,71M 5,02G 6,62M /var/share
rpool/VARSHARE/pkg 63K 5,02G 32K /var/share/pkg
rpool/VARSHARE/pkg/repositories 31K 5,02G 31K /var/share/pkg/repositories
rpool/VARSHARE/zones 31K 5,02G 31K /system/zones
rpool/dump 256M 5,02G 256M — rpool/export 932M 5,02G 32K /export
rpool/export/home 932M 5,02G 32K /export/home
rpool/export/home/lar 932M 5,02G 932M /export/home/lar
rpool/swap 512M 5,02G 512M —

beadm list
lar@solaris11-3-vbox:~$ beadm list
BE Flags Mountpoint Space Policy Created
— — — — — —
solaris-28 NR / 11.53G static 2018-05-25 22:38
lar@solaris11-3-vbox:~$

А что на машине с большим пулом ZFS ещё нужно ставить, что память ест?

Проблема в том, что страничный кеш и ARC необходимо разводить по углам, и память у ARC отбирать уметь нужно. Фря умеет пнуть ZFS и отобрать память, Linux, когда я на него смотрел, до высвобождения свободной памяти неистово гавкал в dmesg. Да если использовать узел как хранилку, возможно всё будет норм, однако не все могут себе позволить схему 1 узел на 1-у задачу.
Ну, обычно большой пул ZFS ставится для того, чтобы размещать там большие данные. Ну и программа, работающая с этими данными, наверняка тоже хорошо кушает память. Просто по факту того, что данные — большие, и вряд ли обрабатываются строго последовательно.
Правда, возможен вариант, когда машина работает в роли файлового сервера или ещё как-то отдаёт данные, хранящиеся в файловой системе, с минимальными изменениями (совсем без изменений невозможно — надо же как-то распихать содержимое файла по IP-пакетам или типа того).

Под "ест" я имел в виду "неконтролируемо ест".


Как-то я всегда думал, что все серьезные программы нормально можно развести по углам: тебе, товарищь скуль, вот столько-то памяти, тебе, вебсервер, столько-то и т.д. Но вот выше говорят, что не все так просто бывает.

а с грызнёй их между собой за память

Вполне себе нормально работал с ZFS с 512 М оперативки, при рекомендуемых 4 Г.
Имхо, можно зажать оперативку — от этого ZFS останется работоспособной, хотя наверняка не сможет разогнаться.
ZFS на Линуксе до сих пор кусок Г.
Висит сейчас zvol и его невозможно удалить.
То что некоторые обновления не собираются или даже корраптят данные лучше и не говорить

Да и на БСД оно тоже глючно с дедупом.
Dedup вообще выкинуть из него надо.
Плохому танцору ZFS мешает… Все уже давно ZoL на проде используют без описанных вами проблем.
Dedup выкинуть? Вы не разработчик Gnome случайно?
Читайте внимательно документацию и будет вам счастье.
Как давно? news.ycombinator.com/item?id=16797644
Ибо на проде вот что может быть.

Дедуп на ЗФС вообще не работает, сохраните файл в 1 тб 100 раз в разные файлы с малейшими изменениями и увидите о чем я говорю. Особенно когда удалять начнете.

P.S.: Я про zfs говорю не как добротный зольщик с 0.6 версии, а как работающий с zfs начиная с FreeBSD 7 (да да, когда большинство функционала еще не было, а я просто радовался CoW).

Я считаю что ZFS отличная фс для времен дорогих райдов и дорогих же дисков.

На том же SSD с зфс начинают творится всякие ужасы, особенно Samsung, не просто так. Да и использования памяти в таком объеме не очень оправданно с ssd и nvme в доступе.
Под SSD самсунгом своя ФС пишется наверное потому, что не только с ZFS у них проблемы =)))))

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

Я что то упустил. А сейчас какие времена? Рейды потеряли актуальность? Диски подешевели?
Рейды стоят копейки, софт рейды вообще бесплатны. Диски 10 тб энтерпрайз за 500 баксов — довольно дешево.

Заместо райда используем райд10 зфс (stripe of mirrors so technically 01). Также в дополнение lz4 и sha256 чексумы, но это на бекап системах. Там где нужна стабильная производительность и четкие ресурсы zfs использовать нежелательно. Там где нужны IOPS zfs не место.
Так всё таки для дисков или не для дисков? Я не понял.
И всё таки бесплатный софтварный рейд ZFS или подешевевший хардварный?

Я считаю что ZFS отличная фс для времен дорогих райдов и дорогих же дисков.
Как изменение цены конфликтует с файловой системой?
ZFS придумана Sun-ом и используется в их системе абсолютно везде. Все проблемы её за пределами солярки — это следствие того, что она там пришелец из другой галактики. Фрю подтянули под ZFS и она там отлично работает. Линукс уже на полпути (если не ближе). Весь вопрос, насколько ОС готова взаимодействовать с ZFS.

Там где нужны IOPS zfs не место.

Там где нужны IOPS не место локальным дискам вообще, для этого есть гораздо лучшие решения. А в качестве компромиссного ZFS не хуже ада LVM либо Франкенштейна md-raid.
локальные NVMe вполне себе хорошие IOPS показывают.
в среднем даже лучше нелокальных т.к. сидят на PCI без прокладки FC
NVMe — это не диск, это скорее промежуточный тип памяти между оперативой и дисками. Если использовать RAM-диски, можно вообще в качестве ФС использовать что-то крайне тривиальное а IOPS-ы там будут «дай бог каждому»(с). Вот только это всё специальные решения, слабо подходящие под достаточно большие данные, если у Вас конечно не имеется небольшого золотого прииска в личном владении…
диск — не диск
с точки юзерспейса — random access блочное устройство долговременного хранения
и стоят они не фантастически дорого
при объёмах до ~50T raw и отсутствии желания делать клоны и презентовать их разным хостам, встроенные NVMe имеют смысл

Есть решения типа samsung 970 pro. Там нет проблем с просадками скорости, если вы об этом.

Я про цену на Гигабайт на этих NVMe. Я не знаю, что должно случиться, чтобы NVMe стали стоить дешевле дисков из расчёта цена/Гигабайт. Диск очевидно проще и дешевле.

Понемногу приходят новые технологии. Но цена вряд ли упадет до цены hdd ближайшие лет 5.

Dedup нужно не выкинуть, а допилить. Другое дело что эта приблуда требует слишком много памяти и годится на очень специальных задачах. Дедупликация вообще хороша на суровых NAS-ах, которые могут под это дело целые сервера выделять и всячески допиливать в формате Программно-аппаратного комплекса. В других случаях может статься, что потери от дедублирования окажутся круче чем профит. Вот его и не допилили пока, некому баги сообщать и лотать…
на свежих верcиях Solaris у ZFS поменяли формат таблицы метаданных dedup и ввели возможность её хранения на SSD
Ммммм… Ждём реверса в OpenZFS, если злобный Оракл всё не закрыл патентами…
Всё намного лучше, в перспективе:

github.com/zfsonlinux/zfs/issues/3779 отдельное хранение DDT/metadata на SSD, уже в виде патча, будет включён в 0.8
open-zfs.org/w/images/8/8d/ZFS_dedup.pdf предложение по улучшению скорости DDT в ~1000 раз

А наработки Oracle реверсить и не надо, плюс некоторые из них не оптимально реализованы. К примеру, анализ реализации шифрования github.com/zfsonlinux/zfs/issues/494#issuecomment-178853634. Что позволило сделать шикарную реализацию шифрования в OpenZFS, она уже в мастер ветке.

А вообще прогресс идёт, скоро накопится на ещё одну обзорную статью по новым фичам в ZoL.
Типичная задача: куча виртуалок и желательно без наследования дисков.
Привезут диск буду пробовать как действует.

Про докер и микросервер слышал. Кстати если посчитать:

1. PDC (30-40GB)
2. MsSQL (30-80GB)
3. OOS (30-40GB)
4. SPS2016 (80GB)
5. SPS2013 (90GB)
6. SPS2010 (60GB)

390GB
Дублей выйдет ~250-280 GB
Так что это очень важно
Чтобы 2 блока были признаны дублями, их нужно сравнить нос-к-носу, во всех остальных случаях есть шанс сюрприза. Размещение баз данных на чём-то, что считает нечто перед записью — изощрённая форма мазохизма. Я подобное кладу только на зеркало или 10-тку. А Вы предлагаете перед каждой записью блока (внимание, журнал транзакций пишется крайне часто и ни один коммит не пройдёт если он не упал на диск в журнал) считать его хеш (у вас всё железо поддерживает ускорение SHA256 или SHA512, да бог с ним, пусть будет MD5, но его тоже считать нужно) потом поискать в хеш таблице (а памяти у вас хватит на её хранение, и там останется место для БД) а потом считать блок с диска и сравнить. Если Вы этого не делаете, у вас вполне себе на диске лежит мусор. Дедупликация это либо файлопомойка, где ничего больше не работает, и есть возможность выноса хеш-таблицы на тот же SSD, причём желательно не по SAS/SATA подключённый либо система обладающая хорошим контроллером с валом быстрой памяти. Если смотреть на тяжёлые NAS-ы крупных вендоров, там в качестве контроллеров используются машины, которые не каждый себе под сервисы покупает… и это всё, чтобы возится с дедупликацией проверять целостность и иное. На локалхосте нормально всё это будет работать лишь тогда, когда дисками у нас будет заниматься железка, не намного слабее той, что за графику отвечает…

Все эти сервисы очень хороши и крайне полезны в народном хозяйстве, вот только цена их местами не оправдана.
Возможно, ждем, когда автор драйвера наладит 32-битные бинарные сборки.
обождите,
ZFS же 64 битная. там указатель блока 56бит (насколько мне известно)
А 32битные сборки тем временем уже появились =)
НЛО прилетело и опубликовало эту надпись здесь

Будет забавно, если ZFS станет основной фс для ReactOS. Ведь сейчас ZFS примерно то же самое, что NTFS во времена Windows NT 3.1.

Учитывая что последние поколения процессоров поголовно поддерживают ecc, впрочем как и почти все новые материнки, это вполне себе возможно.
НЛО прилетело и опубликовало эту надпись здесь
основной интерес не в реализации функционала zpool create/destroy и zfs create/destroy

а чтобы корректно работал кросплатформенный zpool export/import и send/recieve
и совместимость с настоящим Solaris ZFS
Команды эти уже поддерживаются. А вот степень их совместимости, конечно еще вопрос. Но ведь для того и ищутся тестеры и программисты-единомышленники.
как раз таки указанные операции не зависят от платформы.
проблема это как раз таки самый верхний уровень: файлы, директории, атрибуты

Но главной проблемой кажется является то, что bsd, *nix, solaris, mac это всё вещи одного поля ягоды с точки зрения ФС, а Win со своими fat, ntfs и т.п. это совсем другое.

Совместимость с настоящим Solaris потеряна тогда, когда Oracle решишил продолжить разработку приватно. 28 версия пула является последней, где совместимость существует. Далее Oracle пошёл по пути версий, а OpenZFS пошёл по пути pool-level-features.
Сейчас на чем лучше начинать строить ZFS хранилище? На Solaris или FreeBSD? C первой я ни разу дела не имел. На linux, как я понял, оно еще не очень стабильно.
Если выбрать Solaris, бесплатна ли она или нужно смотреть в сторону OpenSolaris? Поддерживается ли ZFS в полной мере (с шифрованием) в OpenSolaris?
ZoL вполне себе стабилен. Попробуйте Debian/ZoL. ZFS данные теряет только на плохом/глючном железе. Но это проблема не ОС ИМХО. Ито в большинстве случаев данные с пула забрать можно будет.
Хотите стабильности — FreeBSD. Легкости пользования — FreeNAS.

Под Linux пока не советую. Среди линуксоидов многие любят блидинг эдж, не думая о последствиях.
А Solaris? Я слышал, что там самая стабильная реализация.
Мне еще шифрование нужно, а его, вроде как, нигде больше пока и нету.
Там нативная реализация, вот только в последнее время солярка перестала быть открытой. Если нет железа от оракла и не охота платить данному субъекту некоторое количество денег, лучше FreeBSD и шифрование на уровне GEOM. Хотя меня терзают смутные сомнения, что если очень хочется шифрования, лучше использовать более простую обычную ФС. Меньше шансов остаться без данных.
шифрование на уровне GEOM

Это выглядит несколько костыльным решением, хоть и рабочим. Как это на надежности хранилища может сказаться? Или я зря переживаю?
А сама ZFS очень уж интересна мне в качестве надежной реализации фалового хранилища, я даже не рассматриваю других вариантов, кроме нее.
ZFS прекрасно чувствует себя работая непосредственно с дисками, и как-то странно если есть кака-то прослойка. Теоретически должно работать. На практике, я бы зашифрованные данные ложил поверх ZFS, выделяя из неё zvol (блочные устройства созданные в самой ZFS) и уже там упражнялся бы с шифрованием. Но меня моут поправить более опытные в этих делах коллеги (я просто крайне плохо отношусь к идее шифрования файловых систем целиком, это для меня лично дико, поэтому я не эксперт)
формально Solaris бесплатен на железе Sun/Oracle
строго говоря Solaris бесплатен на железе Sun/Oracle (входит в стоимость)
для другого существует годовая подписка на саппорт, дающая право использования.
существует так же HCL
но есть у всего ПО триальный период 90 дней, далее оно продолжает работать как ни в чём не бывало, но уже нелегально.
не так давно вышла Solaris 11.4beta там столько всего интересного…
НЛО прилетело и опубликовало эту надпись здесь
Да и без ECC оно живёт. Просто о сбое в памяти при ZFS Вы узнаете почти сразу, а более обычные ФС будут долго гробить файлы…
НЛО прилетело и опубликовало эту надпись здесь
Почему-то все любят забывать, что отсутствие ECC памяти критично для любой ФС и ОС.
НЛО прилетело и опубликовало эту надпись здесь
Прочитал статью и откровенно говоря расстроился. не знаю почему но совершенно не хочу чтобы ZFS работала на Windows.
Наверно из за того что именно после ZFS я проникся духом UNIX подобных операционных систем. Слово SUN стало родным.
А я хочу. Сейчас есть датасет (папка с 522344 файлами, размером 106Гб). Простое копирование занимает более суток, хотя сеть 10Г. ZFS send/recive меня бы спас, но мне надо эти файлы на windows
Заархивировать, скопировать архив, распаковать.
7z работал 12 часов — получил архив и 4 тысячи файлов с ошибкой добавления в архив.
Всё же send|revice был бы быстрее
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории