LINUX.ORG.RU

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

 , , ,


3

4

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

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

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

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

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

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

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

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

Deleted

Проверено: a1batross ()

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

https://www.percona.com/blog/2017/11/15/zfs-from-a-mysql-perspective/

На работе 4 года на зфс: перкона, постгри, мусукль8, монго. Около 140 бд, под разные проекты. (не говоря о том что докер на сторейдж драйвере zfs и машинки qemu\kvm лежат пуле)

Как мне в zfs сделать get ‘сказочный звиздец’? Он в булевом значении или value какое то имеет? Может и вправду я узрею то, что узрели другие?

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

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

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

А кстати, вот еще хочу добавить, что наблюдал проблему ZFS CRC и на LSI HBA с относительно длинными кабелями SAS -> 4xSATA, причем диски были абсолютно исправны. После переключения тех же самых дисков на матплату количество ошибок резко упало и после замены кабелей на короткие, ошибки и вовсе исчезли.

Получается, даже на не самых дешевых HBA контроллерах нельзя надеяться хотябы даже на канальный CRC. Это он ведь отображается в SMART?

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

Если все так хреново-зачем Oracle выпускает и продает
zfs appliance и развивает ее для использования с БД?

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

Для решения этой проблемы oracle давно использует свой кэш,
никак не связанный с системным кэшем-нужно заметить.
Если не делать дебильные select * from *
то озвученная проблема нивелируется практически во всех БД

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

Как запись в другое место вызывает звиздец?
При старте БД требуемые страницы поднимаются в кэш БД - тут могут быть тормоза.
Но если кэш «разогрет», то изменения пишутся в страницы кэша БД, которые по чекпоинту сбрасываются на диск. Но сама страница
как была в кэше, так и остается. Кроме того, все коммиты сразу же пишутся в redo log, который 99% только пишется.
Какая разница куда они пишутся на диск и как это вызывает «звиздец»
если данные как были в кэше - так и остались?

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

Линус дело говорит, как всегда.


Может он просто хочет добавить, вот поэтому и заявил об этом, для того чтобы Оракл услышал и дал ответ. Возможно Линус ждёт приятный ответ Оракла о сотрудничестве и официальных гарантиях.

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

Поэтому я и не особо люблю опенсорс.


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

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

Более того, я даже знаю что они этим stable write получили. Правда конечно ценой жёсткой просадки производительности

Поясни?

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

Но поскольку пишется всё в zfs через запись в новое место, это всё превращается в сказочный звиздец

  1. Что именно «все» пишется в новое место?

  2. И почему это якобы приводит к чему-то плохому?

  3. Кстати, в ZFS в новое место пишутся вообще все изменения или только те, что после снэпшота? Т.е. ZFS COW - это только межснэпшотное? Вроде бы размер занятого места без снэпшота ничем не отличается от аналогичного на ext3?

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

Он решил пополнить ряды тех, кому все должны.

Например есть хорошие и качественные опенсорс проекты, лучше многих закрытых, но есть и закрытые лучше открытых.

Как программист, можно просто открыть код и посмотреть, как у него что написано, как что работает. Не обязательно даже патчить и т.д. Сорцы интересны для разработчиков в первую очередь. Юзерам понятно, что всё это никуда не упёрлось, им надо здесь, сейчас, ехать и с шашечками. Вопрос денег не стоит. Там это стоит копейки, тут скачают с варезника.

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

Какая разница куда они пишутся на диск и как это вызывает «звиздец» если данные как были в кэше - так и остались?

Может быть, он думает, что пишется вся таблица или вся база в новое место? :)

Какая разница, куда писать отдельные измененные страницы table space на новое место или поверх старой страницы? Да и суперумные промышленные неZFS хранилища наверно тоже могут писать в новое место? им можно?

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

Они ему ничего не дадут, zfs нельзя вот так просто взять и поменять лицензию. Да и что значит слово оракла? Сегодня они скажут, ну ок, а завтра подадут в суд.

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

Я думаю, Оракл уготовил ZFS-у судьбу Опенофиса.

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

Зачем её вообще писать? В промышленных СУБД это уже всё есть.

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

Так они же сами параллельно пилят btrfs под gpl. А что с ОО не так? Его выкинули в апач, ну он там и живёт как-то.

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

Зачем её вообще писать? В промышленных СУБД это уже всё есть.

Что именно вообще писать? И что именно уже есть в пром СУБД?

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

А они пилят? НЯЗ, основные конторы поставивишие на btrfs - SUSE и Synology.

А что с ОО не так? Его выкинули в апач, ну он там и живёт как-то.

Ну вот и ZFS будет как-то жить силами коммунити фряхи и ZoL.

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

Не нужен ты. Разрабатывали ZFS инженеры SUN, те самые, которые подарили нам NFS и Java. Они как раз могут в отличие от задрота-очкарика.

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

Что именно вообще писать?

отдельные измененные страницы table space

И что именно уже есть в пром СУБД?

Изменения там уже и так хранятся.

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

Изменения там уже и так хранятся.

Вот эту фразу не понимаю, можешь объяснить ее?

Как изменения могут храниться в СУБД? В буфер пулах базы данных? Но речь-то о сбрасывании пулов в подсистему хранения.

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

Да и что значит слово оракла? Сегодня они скажут, ну ок, а завтра подадут в суд.

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

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

Там таблица с дельтой, что куда вставилось, что где обновилось и т.д. По этим логам потом происходит репликация во всяких кластерах. Короче там и так дохрена всего накручено, зачем тащить туда еще и COW решительно непонятно.

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

Там таблица с дельтой, что куда вставилось, что где обновилось и т.д.

Архивные логи?

По этим логам потом происходит репликация во всяких кластерах.

Какое отношение имеют обновления в кластерах к сбросу данных в хранилище в контексте нашего обсуждения?

Короче там и так дохрена всего накручено,

COW уже есть в каком-то смысле в СУБД в виде архивных логов.

зачем тащить туда еще и COW решительно непонятно.

ZFS COW там полезен для отката на снэпшот вместо восстановления из бэкапа:

a_buchinskiy подробно рассказывал, для чего: Где хорош Intel Optane 900p по сравнению с Samsung 950-970 Pro

но sync=standard конечно надо оставить

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

Архивные логи?

Да.

ZFS COW там полезен для отката на снэпшот вместо восстановления из бэкапа

Из бекапа ты будешь восстанавливать только mysql васянобазу на 3.5 юзера. Даже в нашей шараге, восстановление БД из бекапа = закрытие организации. Такой сценарий недопустим в принципе. А беклоги нужны, когда надо что-то выяснить и снапшоты тут не помогут, потому что работа идёт в контексте бд, а не фс.

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

Из бекапа ты будешь восстанавливать только mysql васянобазу на 3.5 юзера. Даже в нашей шараге, восстановление БД из бекапа = закрытие организации. Такой сценарий недопустим в принципе.

Это почему? Можешь объяснить?

А беклоги нужны, когда надо что-то выяснить и снапшоты тут не помогут, потому что работа идёт в контексте бд, а не фс.

Снэпшот замороженной базы - это аналог бэкапа (при наличии реплики на другом хосте).

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

Это почему? Можешь объяснить?

Наверно, из-за простоя?

А что будет, если у вас произойдет ЧП, пробой 380В или метеорит?

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

Это почему? Можешь объяснить?

Пока сервер падал и поднимался просрали платежей на полляма => всех под жопу.

Снэпшот замороженной базы - это аналог бэкапа

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

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

А что будет, если у вас произойдет ЧП, пробой 380В

ИБП есть и запасная серверная в другом районе города.

или метеорит?

Тогда уже будет не до платежей.

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

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

А как вы это делаете с бэкапом? Снэпшот - это точно такой же бэкап с точки зрения возможности восстановить данные на определенный момент времени. На снэпшот можно точно также как и на бэкап накатывать архивные и ранее активные логи.

Только бэкап для анализа вы будете доставать долго и упорно, а снэпшот за 1 секунду ZFS + время на накат логов.

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

запасная серверная в другом районе города.

Т.е. у вас есть fail-over сервера в кластере в другом помещении?

А что делать, если порвется линк до другой серверной, и тут бац, и ударят по напруге?

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

А как вы это делаете с бэкапом?

Мы не делаем это с бекапом. Лезем в архив логи и копаемся в них. Никто ничего не накатывает ни на какой момент времени. В этом нет смысла.

а снэпшот за 1 секунду ZFS + время на накат логов.

И как это будет выглядеть? Накатил, сделал кучу запросов, сохранил, опять накатил, опять сделал, опять накатил, ..., посчитал дельту. Хороший план.

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

А что делать, если порвется линк до другой серверной, и тут бац, и ударят по напруге?

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

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

Пока сервер падал и поднимался просрали платежей на полляма => всех под жопу.

Чем отличается один сервер от другого сервера? Сервера должны падать - это естественных ход событий. По-любому просер платежей => по-любому всех под жопу?

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

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

Вот это непонятно, как может платеж пройти, но при этом просрать какие-то данные? У вас есть еще какие-то сервера, которые принимают платежи сами по себе, а данные отправляют на ваши сервера в кластере, при отключении которых данные просираются?

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

Сервера должны падать - это естественных ход событий.

Да, но пропадать ничего не должно.

По-любому просер платежей

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

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

Вероятность этого крайне мала.

По причине самостоятельного выхода из строя оборудования - да, мала. Но ситуация может быть вызвана искусственно «доброжелателями»?

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

Сервера должны падать

Да, но пропадать ничего не должно.

Но сервер же пропал?

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

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

Теория с практикой не совпадают.

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

Вот это непонятно, как может платеж пройти, но при этом просрать какие-то данные?

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

У вас есть еще какие-то сервера, которые принимают платежи сами по себе, а данные отправляют на ваши сервера в кластере, при отключении которых данные просираются?

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

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

Но сервер же пропал?

На одном сервере мир клином не сошелся.

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

И причём тут отказоустойчивость биллингов? Кто-то их специально ронял и на этом разбогател?

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

И чо? Кто-то не тянет? А фигли в энтерпрайз полезли? Выбрали решение, которое переварить не можете и плачетесь - дораха…

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

Бекап - это последнее дело.

BGP и ZFS+snapshot решают ВСЕ проблемы. Кто это не использует тот просто дрочер и его место под столом мышки переключать.

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

На одном сервере мир клином не сошелся.

Ты уж определись: ничего не должно пропасть или что-то может пропасть.

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

И причём тут отказоустойчивость биллингов?

При том.

Кто-то их специально ронял и на этом разбогател?

В бульварных газетах об этом не пишут. Или иногда проскакивает?

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

BGP и ZFS+snapshot решают ВСЕ проблемы

Да, очень сильное заявление. Анон, видно не знаком с тем, как субд работают с диском и какая польза будет от этого вашего COW.

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

Ты уж определись

Я уж определился.

Иначе с такой противоречивой теорией

Противоречия есть только у тебя в голове.

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

Для того, чтобы называть это преимуществом.

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

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

ну я поэтому и написал cp --reflink, а не ln. Как разойдутся, так будут разные.

Я немного в танке. Эта опция работает только на btrfs или на ext4 тоже? И как именно это работает, если у меня есть два больших файла и к одному из них я добавлю один байтик? запишется только этот байтик или пойдёт запись всего файла+байтик?

anonymoos ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)