LINUX.ORG.RU

Линус Торвальдс высказался о ZFS

 , ,


4

5

В процессе обсуждения планировщиков ядра Linux пользователь Джонатан Данти пожаловался, что изменения в ядре сломали важный сторонний модуль — ZFS. Вот что написал в ответ Торвальдс:

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

И, откровенно говоря, я не увижу ни одного шанса на включение ZFS в ядро, пока не получу официальное сообщение от Oracle, заверенное их главным юрисконсультом или, лучше всего, самим Ларри Эллисоном, в котором говорится, что всё ок, и ZFS теперь под GPL.

Некоторые думают, что добавить код ZFS к ядру — неплохая идея, и что интерфейс модуля нормально с этим справляется. Что ж, это их мнение. Я же не чувствую такое решение надёжным, учитывая спорную репутацию Oracle и проблемы, связанные с лицензированием.

Поэтому мне абсолютно неинтересны штуки вроде «слоёв совместимости ZFS», которые, как некоторые думают, изолируют Linux и ZFS друг от друга. Нам от этих слоёв никакой пользы, а учитывая склонность Oracle судиться из-за использования их интерфейсов — я не думаю, что это реально решает проблемы с лицензиями.

Не используйте ZFS. Вот и всё. По-моему, ZFS это больше баззворд, чем что-то ещё. Проблемы с лицензированием — только ещё одна причина, почему я никогда не стану заниматься этой ФС.

Все бенчмарки производительности ZFS, что я видел, совершенно не впечатляют. И, как я понимаю, ZFS уже даже толком не сопровождается, и никакой долгосрочной стабильностью здесь не пахнет. Зачем вообще её использовать?

>>> Подробности

Deleted

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

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

Рейд пытается читать/писать на диск. Диск в ответ - ошибку. Рейд исключает «полностью неработающий диск» из рейда и переходит «деградированный» режим.

Детский сад, штаны на лямках. На одной лямке :)

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

А шо тогда в линакс постоянно прут какие-то менеджеры томов?

А шо ты не в состоянии понять, чем менеджер томов отличается от дискового массива?

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

Детский сад, штаны на лямках. На одной лямке :)

Какой уровень собеседника - такой уровень общения.

anonymous
()

Пара вопросов всем адептам ZFS:

  1. Сколько БП на ваших серверах?
  2. Память ECC? Если да, есть ли возможность memory mirroring?
  3. Есть ли на вашем RAID контроллере батарея?

После ответа на эти вопросы сами подумайте, нужна ли вам ZFS.

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

Предприму меры: укорочу кабели диска, сделаю клон последнего целостного снэпшота, попытаюсь сделать на него rsync –checksum последнего состояния из текущей FS, почти всегда проходит удачно. Проверю какие файлы изменились с момента последнего целостного снэпшота, если какие-то важные типа Outlook или базы данных, то прогоню проверку целостности внутри приложения.

Пиндец. Полный.

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

А тебе какая разница? Вечны только вселенная и глупость. Надежности мало не бывает, если есть аппаратные инструменты для повышения надежности, не стоит перекладывать эту задачу на ЦП и основную память. Оно реально того не стоит.

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

Много слов ни о чём. По существу возражения какие будут?

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

Имхо в любом диске есть чексуммы. Ещё одни не нужны.

Как не нужны?! Чексуммы должны быть! Для данных, для чексумм, для чексумм чексумм, для чексумм чексумм чексумм, …

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

С целью выяснения объективной нужности zvol’ов в мире, в котором есть петлевые устройства.

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

Да, точно. Ты по существу что-нибудь говори.

По существу тут говорить не о чем. Лучше сторонится тех проектов, где ты участвовал с таким «словарем».

Но ты молодец, ошибка с твоим именем - это важно.

anonymous
()
Ответ на: комментарий от anonymous
  1. 1 штука, не менее получаса бесперебойного питания. Мягкое отключение в случае если заряд БП на низком уровне.
  2. Конечно же ECC. Как говорил один знакомый админ с седой бородой - ‘серверная память не так где написано ‘серверная’, а та что умеет ECC и …’. Еще кстати есть память с флеш блоками и питанием, может пробросить данные туда при пиздеце, но лично не юзал.
  3. ‘вашем RAID контроллере’ ваше-наше.. Ты пахом что ли? Вот это вообще не понял. На ZFS не надо юзать RAID аппаратный. А если ты неудачно пошутил про то, что у программного контроллера априори не может быть написаной функции получения энергии из математических формул, то скажу что на этот случай у меня есть БП из 1 пункта. Если же нет БП на сервере (что за сервер такой? У меня даже на домашнем компе бп стоит), приходят на помощь ZIL и принцип атомарности записи, или даже COW.

’Атомарная запись данных

RAID-Z и файловая система ZFS используют принцип атомарной записи данных. Данные либо полностью записываются на диск, либо не записываются вовсе. Третьего не дано. Это почти всегда гарантирует отсутствие повреждения данных в случае сбоев, связанных с подключением по сети, с питанием или с отказами операционной системы.’

Подумал, нужна. А теперь подумай ты, сможет ли ext4 такие же гарантии дать.

Пример из реальной жизни. Оставил в наследство baremetal сервер с кучей микро приложух ~40 в докере(кстати докер предлогает zfs сторейдж драйвер для себя, и уже давно), которые писали бд, логировали, хранили состояние в zfs пуле. Так вот, админ после меня не мог разобраться с одной приложухой которая раз в пару недель отжирала проц на 100%(прогреры виноваты были, но не суть), так вот, он каждый раз на протяжении полугода перезагружал этот сервак вслепую через клаву по sysrq, и причем не R E I S U B, а сразу через B. Так вот всё живое было, и даже не покоцаное. Так что я не верю в то, что у кого то ZFS виновата больше, чем его кривые руки.

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

Каков вопрос - таков ответ. Либо более развернуто задавай вопросы, либо получай ответы в соответствии с составленным вопросом. Ты вообще мне напомнил книгу Дугласа Адамса где ответ на «Главный вопрос жизни, вселенной и всего такого» был 42)))))

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

Как это вообще может работать?

ты просто думаешь про снепшоты системы, и тут все верно. А я говорю про снепшоты датасета/раздела/диска внутри виртуалки. Каждые N секунд ,конечно, перебор. Но при снепшоте тут ничего не замораживается. Просто FS перестает перезаписывать уже записанные блоки, а все изменения блоков пишутся уже в новое место.

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

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

Мой ответ - купи муху цц от барракуды и радуйся жизни.

sky92
()
Ответ на: комментарий от sky92
  1. БП - это блок питания. Просто блок питания. Если в сервере их меньше 2, это не сервер.
  2. В нормальном сервере есть возможность использовать memory mirror - на случай отказа любой линейки памяти в любом слоте.
  3. Аппаратный SCSI RAID придумали для того, чтобы ЦП не занимался лишними операциями. А батарея нужна для того, чтобы кеш контроллера сохранил данные в случае нештатной перезагрузки/отключения питания и записал их на диски в массиве при включении.

По ответам понятно, что с серверами/кластерами у тебя опыта нет. ZFS без железа/софта от Sun/Oracle - это для тех, у кого нет денег на нормальный сервер, но понтов хочется. В продакшн это ставить - лотерея. Неважно, в какой ОС. Кроме Oracle Database+сервер, разумеется. А в Linux ядро это не зайдет по причине несовместимости CDDL и GPL, именно это Линус и озвучил.

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

Остановись, загляни в себя, ты не всегда бываешь прав :)

anonymous
()

Так почему он считает допустимыми проприетарные модули ядра, но считает неприемлемыми свободные, но не под GPL? Вообще какой пункт CDDL может нарушать распространение драйвера ZFS с ядром Linux? И почему аналогично нет нарушения проприетарной лицензии блоба?

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

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

Это у вас на ZFS источник сильно фрагментированный, потому то по иному это порождение мутного гения не умеет. То есть либо redirect write (всегда пишем в новое место) - либо прощайте контрольные суммы. Именно поэтому с течением времени жизнь виртуалок на ZFS под интенсивной нагрузкой на запись оказывается непродолжительной - их свозят на другие стораджи, которые более предсказуемы и вокруг которых не строят такого адового хайпа.

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

Вообще какой пункт CDDL может нарушать распространение драйвера ZFS с ядром Linux? И почему аналогично нет нарушения проприетарной лицензии блоба?

RTFM

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

У нас в линуксе есть петлевые устройства

Ваши технологии слегка устарели, в наших линуксах файл можно втюхать бакстор таргета и экспортировать его через виртуальный SCSI-адаптер :-)

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

Избыточность md позволяет на уровне пользователя не замечать искажение.

Не позволяет. md при чтении не сверяет контрольные суммы. Более того - их у него нет, насколько я помню. Только метаданные о том какой блок где обновлен а где нет, чтобы рекавериться быстрее. Поэтому если вы поднимите с md испорченные данные, вы этого не заметите.

Самое простое решение - стек xfs(md(dm-integrity(disk))) или ext4(lvm-raid(dm-integrity(disk))).

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

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

Ну и самое главное, что ИТ движется в облака - поэтому хранилки должны быть простыми, с предсказуемым поведением, и очень быстрыми и 100500 фич им нафиг не сдалось. Так что времена сереров с 240 дисками с ZFS прошли, пришла пора всяких маленьких решений которые крутятся на 100500 серваков 1U с 8xNVMe внутри.

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

Проц, который жрёт обычно не ощутим на фоне тех лагов, которые с собой приносят рейд из-за пенальти по записи. Возможно у тебя какой нибудь проц пенек 2 и ему отдать 100-400 Mhz (или какие у них там процы?) под диски это роскошь.

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

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

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

Избыточность md позволяет на уровне пользователя не замечать искажение.

Не позволяет. md при чтении не сверяет контрольные суммы.

Ну здрасьте, как это md при чтении в RAID-конфигурации может не заметить искажения данных?

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

Да. Зато клоны полезны, в облаках-то.

Ну и самое главное, что ИТ движется в облака - поэтому хранилки должны быть простыми, с предсказуемым поведением, и очень быстрыми и 100500 фич им нафиг не сдалось. Так что времена сереров с 240 дисками с ZFS прошли, пришла пора всяких маленьких решений которые крутятся на 100500 серваков 1U с 8xNVMe внутри.

Именно! Blast radius должен быть 1U, иначе нахлебаешься.

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

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

Ваша об…ласканая ZFS и так всегда пишет в новое место. Просто блоки со старыми данными не объявляются свободными а остаются «прибитыми» к снапшотам.

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

Ну здрасьте, как это md при чтении в RAID-конфигурации может не заметить искажения данных?

А вот так. Для RAID1 оно читает с первого online (считающегося целым) устройства, для RAID с чередованием, читаются только устройства с данными - и только если какие то из оных недоступны - тогда читаются избыточности и по ним рекаверятся отстутсвующие блоки данных.

Никто бы не начал городить dm-integrity если бы это умел md.

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

Когда у тебя превалирует случайный доступ, то как-то пофиг на фрагментацию. А случайный доступ - это примерно любой сервер, кроме всяких видеонаблюдений и ко.

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

Ваша об…ласканая ZFS и так всегда пишет в новое место

Любая COW система так и пишет. Иначе это уже не COW. Есть свои плюсы и свои минусы. Под разные задачи свои критерии.

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

Да. Зато клоны полезны, в облаках-то.

Не особо полезны. Клоны от голдов «разбегаются» достаточно быстро. В этом отношении намного полезней дедупликация (файловые системы на серверах разбегаются достаточно быстро, а вот контент файлов намного медленнее) - но дедупликация тоже та еще фигня, онлайновая требует больших объемов памяти и для новомодных NVMe чудовищно медленна, а оффлайновая способна доставить спецэффектов когда например у вас 50 виртуалок которые сдедупнуты а потом фигакс - и на них всех (ну ладно, на половине) запустили yum dist-upgrade

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

А случайный доступ - это примерно любой сервер

RTFM базы данных, таблицы, индексы - и ключевое слово экстенты (extent). Например oracle table extent size. Там владельцы ZFS объяснят вам про случайный и не очень доступ.

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

Размер блока изначально надо ставить верный. Любая CoW система к этому чувствительна. Опять же - наличие кривых/прямых рук решает

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

Действительно!

Извиняюсь, перепроверил - lvm снапшоты с ext4.

Не представляю почему я помнил это как btrfs. Хотя, кажется знаю - есть один виндузятник у нас, который постоянно про btrfs поёт песни, какая она офигенная и что ПОРА внедрять уже куда только можно, но при этом сам не пробовал пользоваться.

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

BTRFS и ZFS это НЕ CoW. Они RoW

Nastishka с ЛОРа так сказала.

Снапшоты LVM - это CoW

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

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

Какие нафиг контроллеры если сервера с 32-64 ядрами идут вообще без них и напрямую соединяются с процессором? Ты бы еще про аппаратную обработку звука вспомнил. Тут важно время доступа напрямую. И сюда же системы с подключенными сетевыми дисками с аппаратными сетевухами с портами по 100 гигабит. Мощностей железа хватает все это ворочать. Так что Линус не прав относительно медленности ZFS. Потому что люди запускали скрипт и получали околопредельные значения в 23,7 гигабайта в секунду из 24-х гигабайт общей теоретически максимальной пропускной способности.

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