LINUX.ORG.RU

Вышел ZFS-FUSE 0.5.0

 ,


0

0

ZFS-FUSE позволяет читать и писать на тома с файловой системой ZFS. Реализация ZFS в ядре Linux невозможна из-за несовместимости GPL и CDDL, поэтому портирование ZFS на Linux происходит с помощью FUSE.

Лицензия: CDDL.

Изменения с версии 0.4.0:

  • Добавлена поддержка асинхронного ввода-вывода и сжатия gzip.
  • Портирование на Sparc64.
  • Исправлены ошибки сброса кэша ATA/SATA/SCSI-дисков и запуска на 32-битных системах.

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

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

> Транзакционность, ради поддержки которой каждую программу надо переписать (сами санки ради этого отдельный nfs-сервер для работы с zfs писали)?

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

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

>> А я чо, против транзакционности? Просто для пользования ею программы надо переписывать.

> Уточните, какие программы надо переписывать.


Ну сами санки уже переписали nfs-сервер _специально_ для работы с zfs.

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

>> Транзакционность, ради поддержки которой каждую программу надо переписать (сами санки ради этого отдельный nfs-сервер для работы с zfs писали)?

> Не надо ничего переписывать. У zfs есть механизмы совместимости с posix, и любая posix-программа нормально работает, ничего о транзакциях не зная.


Есть. Но работает через пень-колоду. Напомни, там на какой сисколл вызывается коммит транзакции: только на close или еще и на flush? Или вообще на каждый write?

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

> Есть. Но работает через пень-колоду.

Откуда информация? Есть опыт копания в исходниках, или длительного тестирования? Или это просто предположение?

> Напомни, там на какой сисколл вызывается коммит транзакции: только на close или еще и на flush? Или вообще на каждый write?

Не напомню, поскольку не знаю. Я так далеко не залазил. Вот цитата из "брошюрки для чайников", подтверждающая, что об этом разработчики тоже подумали. Полагаю, при необходимости информацию о тонкостях функционирования найти несложно.

"В ZFS предусмотрен эффективный механизм поддержки приложений, нуждающихся в гарантии того, что данные записаны на диск. Он называется ZFS Intent Log или ZIL и гарантирует сохранение данных на диске, не теряя преимуществ отложенного сохранения изменений в рамках групп транзакций. Вскоре этот механизм планируется усовершенствовать так, чтобы он позволил использовать для хранения ZIL отдельные быстродействующие устройства, например отдельные быстрые или твердотельные диски, а это даст существенный выигрыш в производительности."

Мой личный опыт использования zfs указывает на то, что скорость работы с диском "нетранзакционных" программ вполне укладывается в определение "шустро". При этом ни разу за всё время использования zfs (C FreeBSD 7.0 beta 2) при пропаданиях питания или паниках данные не были порушены. А проверка диска (scrub) ни разу не показала ошибок.

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

>А когда в ZFS навернутся метаданные, ты вспомнишь добрым словом независимые разделы и rsync по крону, но конечно тут мы этого не услышим :-)

Девушка, у вас вроде 5 звездей в рейтинге, а в голове к сожалению мякина. Обосновываю: RTFM !

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

Re^2: Вышел ZFS-FUSE 0.5.0

>> Есть. Но работает через пень-колоду.

> Откуда информация? Есть опыт копания в исходниках, или длительного тестирования? Или это просто предположение?


Я пытался доказать обратное, т.е. то, что можно забэкапить "на лету" работающий сервак, не нарушив целостность.
И нашёл контрпример: программе надо обновить два файла, а момент создания снапшота произошёл после записи первого, но перед записью второго.

>> Напомни, там на какой сисколл вызывается коммит транзакции: только на close или еще и на flush? Или вообще на каждый write?


> Не напомню, поскольку не знаю. Я так далеко не залазил. Вот цитата из "брошюрки для чайников", подтверждающая, что об этом разработчики тоже подумали. Полагаю, при необходимости информацию о тонкостях функционирования найти несложно.


Помимо брошюрок для файников надо иметь и свой критически настроенный ум.

> "В ZFS предусмотрен эффективный механизм поддержки приложений, нуждающихся в гарантии того, что данные записаны на диск. Он называется ZFS Intent Log или ZIL и гарантирует сохранение данных на диске, не теряя преимуществ отложенного сохранения изменений в рамках групп транзакций. Вскоре этот механизм планируется усовершенствовать так, чтобы он позволил использовать для хранения ZIL отдельные быстродействующие устройства, например отдельные быстрые или твердотельные диски, а это даст существенный выигрыш в производительности."


Это всё звучит красиво, но не имеет отношения к обсуждаемому.

> Мой личный опыт использования zfs указывает на то, что скорость работы с диском "нетранзакционных" программ вполне укладывается в определение "шустро". При этом ни разу за всё время использования zfs (C FreeBSD 7.0 beta 2) при пропаданиях питания или паниках данные не были порушены. А проверка диска (scrub) ни разу не показала ошибок.


См контрпример.

gaa ★★
()
Ответ на: Re^2: Вышел ZFS-FUSE 0.5.0 от gaa

> См контрпример.

И что? Таким образом работает любая файловая система. Дополнительная защита метаданных только сохраняет целостность и непротиворечивость файловой системы, но не пользовательских данных. В этом плане zfs предлагает программе, не умеющей работать с транзакциями, ровно тот же результат, что и все остальные системы - после падения целостность данных не гарантируется, если программист не предпринимал специальных усилий для её достижения (т.е. не реализовал транзакции на уровне прикладного софта).

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

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

Re^4: Вышел ZFS-FUSE 0.5.0

>> См контрпример.

> И что? Таким образом работает любая файловая система. Дополнительная защита метаданных только сохраняет целостность и непротиворечивость файловой системы, но не пользовательских данных. В этом плане zfs предлагает программе, не умеющей работать с транзакциями, ровно тот же результат, что и все остальные системы - после падения целостность данных не гарантируется, если программист не предпринимал специальных усилий для её достижения (т.е. не реализовал транзакции на уровне прикладного софта).


Да.

> Так откуда здесь пень-колода? Обычная обратная совместимость - не умеешь пользоваться новым функционалом - он тебе недоступен, но весь старый - на месте.


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

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

Re^2: Вышел ZFS-FUSE 0.5.0

>> Vendor lock-in с кактусом на завтрак, обед и ужин в будущем гарантирован.

> Ты о чем, родной?


Об одной жлобской американской фирме с солнечным названием.

gaa ★★
()
Ответ на: Re^4: Вышел ZFS-FUSE 0.5.0 от gaa

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

Извини, братан, ты по ходу бредишь. Не пробовал проверять, параллелятся ли ДОСовские задачи под офтопиком? А что, ось же вроде многозадачность поддерживает, и процы с кучей ядер? Чо за херня, почему переписывать-то надо?

И да, раз пошла такая пьянка - приведи пример файловой системы, корректно исполняющей транзакции (и какая версия libastral.so при этом используется) для софта, ничего ей о транзакциях не говорившего.

anonymous
()
Ответ на: Re^2: Вышел ZFS-FUSE 0.5.0 от gaa

> Об одной жлобской американской фирме с солнечным названием.

Что-то не въеду, где там вендор лок-ин... Исходники ФС открыты и свободны, сама ФС реализована минимум в двух осях, и ещё в нескольких может быть использована через жо^W FUSE. По ходу, ты все-таки бредишь. Стоит проспаться.

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

Re^6: Вышел ZFS-FUSE 0.5.0

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

> Извини, братан, ты по ходу бредишь. Не пробовал проверять, параллелятся ли ДОСовские задачи под офтопиком? А что, ось же вроде многозадачность поддерживает, и процы с кучей ядер? Чо за херня, почему переписывать-то надо?


Что-то не понял намёков.

> И да, раз пошла такая пьянка - приведи пример файловой системы, корректно исполняющей транзакции (и какая версия libastral.so при этом используется) для софта, ничего ей о транзакциях не говорившего.


С чего ты взял, что, даже если такие ФС существуют, мне о них известно?

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

Re^4: Вышел ZFS-FUSE 0.5.0

>> Об одной жлобской американской фирме с солнечным названием.

> Что-то не въеду, где там вендор лок-ин... Исходники ФС открыты и свободны, сама ФС реализована минимум в двух осях, и ещё в нескольких может быть использована через жо^W FUSE. По ходу, ты все-таки бредишь. Стоит проспаться.


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

gaa ★★
()
Ответ на: Re^6: Вышел ZFS-FUSE 0.5.0 от gaa

> С чего ты взял, что, даже если такие ФС существуют, мне о них известно?

А чего ты тогда рассказываешь о нестройности и нелогичности, если от ФС все равно невозможно требовать полной функциональности при работе с ПО, которое эту функциональность не использует?

> Угу, а коммерческий суппорт всего этого хозяйства, поддержка "искаропки" и все рычаги, определяющие развитие, есть только у одной компании с солнечным названием.

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

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

Re^8: Вышел ZFS-FUSE 0.5.0

>> С чего ты взял, что, даже если такие ФС существуют, мне о них известно?

> А чего ты тогда рассказываешь о нестройности и нелогичности, если от ФС все равно невозможно требовать полной функциональности при работе с ПО, которое эту функциональность не использует?


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

>> Угу, а коммерческий суппорт всего этого хозяйства, поддержка "искаропки" и все рычаги, определяющие развитие, есть только у одной компании с солнечным названием.


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


Там эти три признака были перечислены через логическое "и". А коммерческий суппорт для поделки финского студента предоставляет далеко не одна компания.

gaa ★★
()
Ответ на: Re^6: Вышел ZFS-FUSE 0.5.0 от gaa

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

>> Извини, братан, ты по ходу бредишь. Не пробовал проверять, параллелятся ли ДОСовские задачи под офтопиком? А что, ось же вроде многозадачность поддерживает, и процы с кучей ядер? Чо за херня, почему переписывать-то надо?

> Что-то не понял намёков.

У тебя фимоз головного мозга, потому и не понимаешь ни черта. Разумеется, для использования новой функциональности требуется новый, расширенный API, т.к. новые функции не укладываются в рамки старых моделей. Самое интересное будет тогда, когда новые возможности, реализуемые сейчас Sun'ом станут стандартами (а они обязательно станут) и разработчики линукса сломя голову бросятся доделывать то, что уже годами работает в Solaris.

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

Re^8: Вышел ZFS-FUSE 0.5.0

> У тебя фимоз головного мозга, потому и не понимаешь ни черта.

И ты не болей.

> Разумеется, для использования новой функциональности требуется новый, расширенный API, т.к. новые функции не укладываются в рамки старых моделей. Самое интересное будет тогда, когда новые возможности, реализуемые сейчас Sun'ом станут стандартами (а они обязательно станут) и разработчики линукса сломя голову бросятся доделывать то, что уже годами работает в Solaris.


То есть всё-таки программы надо переписывать. Что я и сказал ещё вчера.

gaa ★★
()
Ответ на: Re^8: Вышел ZFS-FUSE 0.5.0 от gaa

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

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

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

Re^10: Вышел ZFS-FUSE 0.5.0

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

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


Да-да, а анонимность должна придать твоим пустым словам больше авторитетности, чудилка? :)

gaa ★★
()
Ответ на: Re^10: Вышел ZFS-FUSE 0.5.0 от gaa

> Да-да, а анонимность должна придать твоим пустым словам больше авторитетности, чудилка? :)

Мне подписываться надоело. Полагаю, однако, стиль моей писанины идентифицирует меня достаточно явно.

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

//Cache

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

Re^12: Вышел ZFS-FUSE 0.5.0

> Впрочем, речь не о моей анонимности, и не об авторитете, а о том, что ты позволяешь себе однозначно негативные высказывания о продукте, которым не пользовался, а потом еще и заявляешь, что назвал его говном, потому, как он тебе таким увиделся. Отличный, сильно аргументированный ответ.

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

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

gaa ★★
()
Ответ на: Re^12: Вышел ZFS-FUSE 0.5.0 от gaa

> Я им пользовался в достаточной степени, чтобы делать подобные заявления.

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

У меня zfs используется на личном ноутбуке и нескольких серваках разной степени навороченности, везде под FreeBSD. В принципе, я могу утверждать, что знаю основные проблемы этой ФС под FreBSD на данный момент, так же, как и примерный путь её развития. Тот факт, что я не являюсь PC-программистом, и не могу рассуждать о сисколах, полагаю, не мешает мне оценивать ФС в качестве администратора.

На мой взгляд, эта ФС под FreeBSD ещё не достигла стадии продакшн для моих задач (манипулирование большими объёмами данных в интересах домашнего пользователя и мелкого/среднего бизнеса), но активно к ней движется. Прикидочный срок достижения - полгода-год, версия 7.2 FreeBSD. Тогда это будет совершенно ядерная система, после чего UFS останется уделом маргиналов и параноидальных администраторов на загрузочных разделах.

Использование ФС в данный момент указывает на некоторые проблемы с производительностью и стабильностью, я ещё ни разу не привело к потерям данных. В сети так же крайне мало (единицы) отзывов о потерях данных, практически все имеют статус решённых/обойдённых.

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

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

ты пробовал zfs_20080727.patch.bz2 и vfs.zfs.prefetch_disable=1 ? у мя лично 11-ая версия zfs вообще не выпадает в панику ни на каких файлах. 13-ую версию, которая лежит в p4 в //depot/user/pjd/zfs я пока не пробовал, но именно она будет скоро в HEAD.

> Использование ФС в данный момент указывает на некоторые проблемы с производительностью и стабильностью, я ещё ни разу не привело к потерям данных. В сети так же крайне мало (единицы) отзывов о потерях данных, практически все имеют статус решённых/обойдённых.

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

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

> В обоих случаях zfs-метки были не синхронизованы (это на mirror было)

нет, естственно zfs меня чуть до инфаркта не довела сообщив metadata corruption и invalid vdev configuration. Странно, что возможность банально переписать метки (zdb -l /dev/ad0, весом 256к каждая) при помощи dd не документирована или я просто не нашел.

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

> Ну сами санки уже переписали nfs-сервер _специально_ для работы с zfs.

Сильное утверждение, забористая трава видно была :-)

По-моему очевидно, что ни одна файловая система не может знать про то, какое состояние файлов на диске является целостным с точки зрения того или иного приложения. Хотя может я отстал от жизни и просто не в курсе, что такая удивительная ФС уже существует.

Есть довольно много приложений, которые переписывать не надо. В Oracle 'begin backup' зачем существует?

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

> сами санки ради этого отдельный nfs-сервер для работы с zfs писали

Можете показать здесь - src.opensolaris.org/ переписанный специально для zfs nfs сервер ? Вы же не из "воздуха" это взяли ?

ilyxa
()
Ответ на: Re^2: Вышел ZFS-FUSE 0.5.0 от gaa

> И нашёл контрпример: программе надо обновить два файла, а момент создания снапшота произошёл после записи первого, но перед записью второго.

не сложно изобразить "контрпример" на практическом примере ? чтобы можно было обсудить ?

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

Re^4: Вышел ZFS-FUSE 0.5.0

>> И нашёл контрпример: программе надо обновить два файла, а момент создания снапшота произошёл после записи первого, но перед записью второго.

> не сложно изобразить "контрпример" на практическом примере ? чтобы можно было обсудить ?


Легко: программа deluser обновляет аж три файла при своей работе: passwd, shadow и groups. Надо ли говорить, что если забэкапить состояние, когда пользхователь уже удалён из passwd, но ещё находится в shadow и groups, целостность базы пользователей будет нарушена?

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

Re^2: Вышел ZFS-FUSE 0.5.0

>> сами санки ради этого отдельный nfs-сервер для работы с zfs писали

> Можете показать здесь - src.opensolaris.org/ переписанный специально для zfs nfs сервер ? Вы же не из "воздуха" это взяли ?


Я взял это из того, что для экспорта "обычной" ФС и zfs через nfs надо использовать различные команды и не смешивать их (так и пишут: "не смешивайте" -- http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#Using...).

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

> транзацкионность позволяет избавиться от такого костыля как журнал
гм - Вы вообще представляете себе что оба этих слова значат?
и как именно обычно делется "транзацкионность" ну, например, в Oracle?

mumpster ★★★★★
()
Ответ на: Re^2: Вышел ZFS-FUSE 0.5.0 от gaa

> Я взял это из того, что для экспорта "обычной" ФС и zfs через nfs надо использовать различные команды и не смешивать их (так и пишут: "не смешивайте" -- http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#Using.. .).

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

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

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

Вы были бы правы, если бы сказали, что ZFS была интегрирована с реализацией NFS в Solaris, но говорить о том, что NFS-сервер переписан заново - это чересчур. В конце концов, вся история ZFS с момента интеграции в build 27 доступна в Mercurial, так что если не верите на слово - можете взять и посмотреть, насколько велик был объем изменений, связанных с NFS-сервером.

anonymous
()
Ответ на: Re^4: Вышел ZFS-FUSE 0.5.0 от gaa

> Легко: программа deluser обновляет аж три файла при своей работе: passwd, shadow и groups. Надо ли говорить, что если забэкапить состояние, когда пользхователь уже удалён из passwd, но ещё находится в shadow и groups, целостность базы пользователей будет нарушена?

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

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

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

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