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

Чексумма является частью метаданных, которые тоже хранятся с избыточностью (raid1, raidz, как настроишь). Предвосхищая вопрос — да, есть чексуммы чексумм и так далее.

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

Мне нужно

Зачем?

этого вполне достаточно

Нет, недостаточно. Если ты лично к чему-то там привык, это ровным счётом ничего не значит.

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

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

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

Это эксклюзивные фичи ZFS под линуксом, видимо, во фре я тормозов не наблюдал, а про оперативу хз, не отслеживал.

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

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

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

Юзабельно дома с 2012 года и даже в проме при наличии бэкапов и реплик конечно с 2014-2015, потерь данных по вине ZFS ни разу не встречал за 8 лет использования.

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

Речь шла о дедупликации ZFS, разве при дедупликации нет вероятности потери данных из-за коллизий хэшей?

Почитай, как Bloom filter работает.

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

Целостность - это когда данные «не изменяются» от внешнего воздействия.

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

На данный момент целостность обеспечивается избыточостью. Добавляются дополнительные данные, которые обеспечивают «неизменность» свойств объединения «данные»+«дополнительные данные».

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

Ваша трёхбуквенная компания не в состоянии самостоятельно построить нормальную схд?

СХД для облаков не годятся, надо своё делать. Чтоб дешевле, быстрей и надёжней для облачного применения.

СХД у уже ненашей трёхбуквенной компании есть, и не одна, но последние лет 20 инновационная бизнес-модель компании заключается в покупке других контор и поглощении их IP. Соответственно, «нормальная» СХД в существующем облаке досталась с покупкой очередной конторы.

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

Нет, недостаточно.

Недостаточно для чего и для кого? Для Торвальдса и тебя? Почему меня должно волновать ваше мнение?

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

… хранение с избыточностью — это …

Ты точно участвовал в разработке рейзер фс, или вообще в какой-нибудь другой фс?!

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

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

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

просто весело провожу время

Про это популярно написал Крылов в басне «Зелен виноград», неосилятор.

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

зная хеш-сумму

Допустим, что «хеш-сумма», он же «контрольная сумма», он же «контрольный код», он же …(ну вы поняли)… - это код Хемминга, или код Рида-Соломона, не md5 единым ограничем мир, …

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

А что тогда юзать под бигдату, простите? Так же думаю далеко не у всех есть ECC и SAS

Тебе не нужна бигдата, это не те задачи, что вы решаете.

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

Зачем мне твой Соломон, если ZFS рапортует, что он облажался?

А если Рид-Соломон облажался на контрольной сумме, а не на данных, а? Чего ZFS делать будет?

А вот ещё когда десятки-сотни тысяч серверов статистику набирают, то там видно, что даже в ECC-памяти искажение данных незамеченно происходит. Я уж не говорю про банальные глюки типа use-after-free в ядре.

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

mv ★★★★★
()

На плюшки ZFS надрачивают люди, которые никогда не пользовались аппаратными RAID и кластерными FS.

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

Если мало оперативки можно заюзать SSD в качестве L2 кеша, причем есть 2 вида кеша. Только один - кеш RAID контроллера. С батареей.

Вообще цель зфс - не скорость, а надежность. Цель любой FS - обеспечение доступа OS к файлам.

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

Кроме того, контрольные твои суммы не могут восстановить данные. Они могут помочь заметить искажение,

Это мегасуперважно - заметить искажение, намного хуже его незаметить.

и ты со своими бэкапами тут выскакиваешь, но ведь и они могут быть искажены, да?

По какой причине?

Особенно, если задедуплены

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

, пожаты и зашифрованны. А что плохого, если пожаты и зашифрованны?

Там изменение одного лишь бита вызовет нарушение контрольной суммы, и весь бэкап Ораклу под хвост.

Шифруется vdev luks-ом, как он влияет на пул?

Сжатие родное от ZFS. Сбой одного из блоков ведет к потере только одного этого блока, а не всего пула.

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

А если Рид-Соломон облажался на контрольной сумме, а не на данных, а?

А слона-то я не заметил!

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

На плюшки ZFS надрачивают люди, которые никогда не пользовались аппаратными RAID и кластерными FS.

Дооаа, особенно те, что пережили выход из строя проприетарного контроллера :)))

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

А слона-то я не заметил!

Посчитай вероятность появления твоего слона.

Если SAS контроллер не просто не видит один битрот один раз в год на 1ТБ данных, а когда он не видит целый поток CRC ошибок (сотни всего за один день), случайности такие случайности.

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

Это мегасуперважно - заметить искажение, намного хуже его незаметить.

Избыточность md позволяет на уровне пользователя не замечать искажение. Твои CRC в ZFS позволяются только иметь геморрой с разворачиванием бэкапа.

Впрочем, RAID в ZFS тоже был, если мне память не изменяет? Ты, надеюсь, по-настоящему заботишься о своих данных, как нам тут рисуешшь?

А что плохого, если пожаты и зашифрованны?

В том, что при пожатии логический блок становится меньше размером, чем физический блок. Запортачивание физического блока приводит к потере более одного логического блока.

А шифрование - это вообще ужас. Что будет, если ключ нечаянно испортится? С компрессией то же самое, у неё есть state. ZFS должна расшифровывать и разжимать данные для проверки с исходными. Она это делает?

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

А если Рид-Соломон облажался на контрольной сумме, а не на данных, а?

Посчитай вероятность появления твоего слона.

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

Тут не слон, тут табун слонов.

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

Долго, очень долго думал что ты упорот,

после этой темы понял - ты эксцентричный джентельмен из известного анекдота. Давно не видел такой адекватной критики.

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

Посчитай вероятность появления твоего слона.

1.56% для классического сектора в 520 байт (512 - данные, 8 - CRC). Если ты в шапочке из фольги сидишь, как нам тут втираешь, то это весьма немало, да?

А если в ZFS ещё и логический блок больше, а он больше, то вероятность пропуска ошибки при том же размере CRC ставновится выше.

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

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

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

Каков размер кеша рейд контролёра? Я думаю врят ли больше озу, а если да, то врят ли больше диска ssd. + рейд не гарантирует целостность, только избыточность.

А цель компоктера - потреблять электроэнергию, ага.

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

Твои CRC в ZFS позволяются только иметь геморрой с разворачиванием бэкапа.

Сударь, ну что вы пудрите мозги? Зеркала вам на что? Вы бы лучше борщ хлебали, сударь! Давно стали икспертом по ФС?

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

И как ты в рейд контроллере снепшоты мгновенные делаешь? Ставишь btrfs?)))

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

рейд не гарантирует целостность

Рейд гарантирует целостность на уровне дисков/устройств. Целостность данных на диске должны гарантировать диски: диск либо работает полностью, либо не работает полностью.

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

Ок. Вот скажем у тебя 2 диска, зеркало. На один из дисков произошла запись ошибочная. И что? Откуда ему брать верные данные?

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

Повторяю:

диск либо работает полностью, либо не работает полностью.

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

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

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

только вот определить, какая из копий целостна оно не в состоянии.

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

Рейд-то или erasure coding?

А в случае с миррором о двух ногах данные после записи обратно читают.

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

Дооаа, особенно те, что пережили выход из строя проприетарного контроллера :)))

В составе сервера или балалайки «типа сервер»?

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

На один из дисков произошла запись ошибочная.

Посмотри в зеркало, там «запись ошибочная». :)

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