Вопрос: ZFS vs XFS


Мы планируем построить сервер хранения данных размером 16 ТБ. На данный момент мы рассматриваем как ZFS, так и XFS как файловую систему. Каковы преимущества, недостатки? Что мы должны искать? Есть третий, лучший вариант?


54
2018-04-30 09:03


Источник


Даже не сравнивайте их. ZFS - это современная файловая система уровня предприятия, например jfs2, wafl. XFS был хорош 10 лет назад, но сегодня это всего лишь каменный век fs. - disserman
В некотором смысле вы не можете сравнивать их: XFS - это файловая система; ZFS - это файловая система и многое другое: вместо нее вместо файловой системы, диспетчера томов (например, LVM) и RAID. Однако JFS больше не поддерживается, если используется память: однако XFS активна и поддерживается и надежна. В любом случае - ZFS или XFS - вы не ошибетесь, на мой взгляд. - Mei
Я все еще думаю, что этот вопрос уместен, поэтому я напишу наш опыт здесь: XFS прост, вы его устанавливаете, вы запускаете его, быстро, он работает. (Рейд HW ниже). ZFS - это сбережение, сжатие, но есть работа по настройке, чтобы работать так же быстро, как XFS. Это также зависит от ситуации, которую вы ожидаете от запуска сервера. (бэкенд кластерного хранения, архива, ...) - SvennD
Существует также Hammer2 dragonflybsd.org/hammer - skan


Ответы:


Я нашел XFS более подходящим для чрезвычайно больших файловых систем с возможно большим количеством файлов. У меня была работающая файловая система с файловой системой 3,6 Тбайта уже более 2 лет без проблем. Определенно работает лучше, чем ext3 и т. Д. В этом размере (особенно при работе со многими большими файлами и большим количеством ввода-вывода).

То, что вы получаете с ZFS, - это пул устройств, чередование и другие расширенные функции, встроенные в файловую систему. Я не могу говорить со спецификой (я позволю другим прокомментировать), но из того, что я могу сказать, вы бы хотели использовать Solaris, чтобы получить максимальную выгоду здесь. Мне также непонятно, сколько ZFS помогает, если вы уже используете аппаратный RAID (как и я).


41
2018-04-30 11:49



Ключевой особенностью ZFS, которую вы (обычно) не получаете в другом месте, является CRC на уровне блоков, который должен обнаруживать (и, надеюсь, предотвратить) молчание данных. Большинство файловых систем предполагают, что если запись завершилась успешно, то данные действительно были записаны на диск. Это не всегда так, особенно если сектор начинает идти «маргинальным». ZFS обнаруживает это, проверяя CRC на итоговую запись. - Avery Payne
И да, мне нравится XFS. :) Единственное, что вы должны иметь в виду - это склонность к нулю областей, которые были «плохими» во время восстановления журнала. В некоторых (редких) случаях вы можете потерять некоторые данные ... Найденный документ с термином поиска Google «xfs zeros out сектора после восстановления» pages.cs.wisc.edu/~vshree/xfs.pdf - Avery Payne
Одна из вещей, которые мне нравятся в XFS, - это xfs_fsr программа «дефрагментации». - Cristian Ciupitu
Утилита CRC на уровне блоков ZFS сомнительна. Жесткие диски и SSD используют код Хэмминга ECC для исправления однобитовых ошибок и отчетов о двухбитовых ошибках. Если ECC не может прозрачно исправить ошибку физического считывания, данные все равно будут потеряны, и сообщение об ошибке будет сообщено ОС. CRC не исправляют ошибки. Эта функция выдвигается как основное преимущество ZFS, но правда в том, что она избыточна и не имеет ценности. Что касается ошибки XFS с нулевой мощностью после сбоя, которая была исправлена ​​очень давно и сегодня не актуальна. - Jody Lee Bruchon


ZFS предоставит вам преимущества помимо программного RAID. Структура команд очень продуманно изложена и интуитивно понятна. Он также имеет сжатие, моментальные снимки, клонирование, отправку / получение файловой системы и устройства кэширования (эти причудливые новые накопители SSD) для ускорения индексирования метаданных.

Сжатие:

#zfs set compression=on filesystem/home

Он поддерживает простые создания моментальных снимков копирования на запись, которые могут быть установлены в реальном времени:

# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday

Клонирование файловой системы:

# zfs clone filesystem/home/user@tuesday filesystem/home/user2

Загрузка / получение файловой системы:

# zfs send filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Инкрементальная отправка / получение:

# zfs send -i filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

Кэширующие устройства:

# zpool add filesystem cache ssddev

Это всего лишь верхушка айсберга, я очень рекомендую вам разобраться с установкой Open Solaris и попробовать это.

http://www.opensolaris.org/os/TryOpenSolaris/

редактировать: Это очень старый, Open Solaris был прекращен, лучший способ использовать ZFS - это, вероятно, Linux, или FreeBSD,


Полное раскрытие: я был архитектором Sun хранения, но я не работал для них более года, я просто в восторге от этого продукта.


73
2018-05-05 21:09



Эта ссылка не работала для меня с www. использование http://opensolaris.org/os/TryOpenSolaris/ - aggregate1166877
Я бы сказал, что лучшим вариантом для zfs является FreeBSD. Он был частью системы в течение нескольких лет. Так что я предполагаю, что есть наименьшая вероятность неприятных сюрпризов. Хотя это всего лишь мои 0,02 доллара. - Fox


использование снимков lvm и xfs в живых файловых системах - это рецепт катастрофы особенно при использовании очень больших файловых систем.

Я работаю исключительно на LVM2 и xfs в течение последних 6 лет на своих серверах (дома даже после того, как zfs-плавкий предохранитель просто слишком медленный) ...

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

Единственное исключение, которое я сейчас сделаю, это моя личная резервная копия mailserver / webserver, где я буду делать резервные копии в ночное время с использованием эфемерного моментального снимка, который всегда равен размеру источника fs, а также после этого удаляется.

Важнейшие аспекты, которые следует учитывать:

  1. если у вас есть большая (ish) файловая система с моментальным снимком, производительность записи ужасно ухудшена
  2. если у вас есть большая (ish) файловая система с моментальным снимком, время загрузки будет отложено буквально за десятки минут, в то время как диск будет размораживаться и взбиваться во время импорта группы томов. Сообщения не будут отображаться. Этот эффект особенно ужасен, если root находится на lvm2 (потому что ожидание корневого устройства будет тайм-аутом, а система не загружается)
  3. если у вас есть моментальный снимок, очень легко бежать из космоса. Когда вы закончите свободное пространство, снимок поврежден и не может быть восстановлен.
  4. Снимки не могут быть свернуты / слиты в данный момент (см. http://kerneltrap.org/Linux/LVM_Snapshot_Merging). Это означает, что единственный способ восстановить данные из моментального снимка - это фактически скопировать (rsync?) Его. ОПАСНО ОПАСНОСТЬ: вы делаете не хотите сделать это, если емкость моментального снимка не является, по меньшей мере, размером источника fs; Если вы этого не сделаете, вы скоро столкнетесь с кирпичной стеной и в итоге получите как исходный фс, так и поврежденный снимок. (Я был здесь!)

18
2017-10-08 23:14



Как это происходит, только сегодня кто-то подтвердил, что vg с моментальным снимком - неспособный к загрузке-linux по-прежнему действует: bugs.launchpad.net/lvm2/+bug/360237 - sehe
Повторяя эту ошибку, они все еще думают, что ужасные проблемы с загрузкой с моментальными снимками - это «нормальное поведение для lvm»: bugs.launchpad.net/lvm2/+bug/360237/comments/7 (2012-01-07) - sehe
Обновление: в том же состоянии. Только сейчас прошло еще 7 лет. - sehe


Еще несколько вещей, о которых нужно подумать.

  • Если диск гибнет в аппаратном RAID-массиве, независимо от файловой системы, находящейся поверх нее, все блоки на устройстве должны быть перестроены. Даже те, которые не содержат никаких данных. ZFS, с другой стороны, является диспетчером томов, файловой системой и управляет избыточности и чередованием данных. Таким образом, он может разумно перестраивать только блоки, содержащие данные. Это приводит к более быстрым временам перестройки, отличным от того, когда объем на 100% заполнен.

  • У ZFS есть фоновая очистка, которая гарантирует, что ваши данные остаются согласованными на диске и устраняют любые проблемы, которые он обнаруживает до того, как это приведет к потере данных.

  • Файловые системы ZFS всегда находятся в согласованном состоянии, поэтому нет необходимости в fsck.

  • ZFS также предлагает большую гибкость и возможности с моментальными снимками и клонами по сравнению с моментальными снимками, предлагаемыми LVM.

Запуск больших пулов хранения для крупноформатного видеопроизводства в Linux, LVM, стек XFS. Мой опыт в том, что легко впасть в микро-управление вашим хранилищем. Это может привести к большому количеству неиспользуемого выделенного пространства и времени / проблем при управлении логическими томами. Это не может быть большой проблемой, если у вас есть администратор с полным сроком хранения, который должен работать с микроконтроллером. Но я обнаружил, что подход ZFS к хранилищу пулов устраняет эти проблемы управления.


13
2017-07-14 18:21





ZFS абсолютно потрясающе. Я использую его как свой домашний файловый сервер для файлового сервера HD 5 x 1 TB, а также использую его в производстве с почти 32 ТБ на жестком диске. Он быстрый, простой в использовании и содержит некоторую лучшую защиту от повреждения данных.

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


8
2018-05-06 00:07





Какую ОС вы планируете запустить? Или это еще одна часть рассмотрения? Если вы используете Solaris, XFS даже не является вариантом, насколько я знаю. Если вы не используете Solaris, как вы планируете использовать ZFS? Поддержка ограничена на других платформах.

Если вы говорите о сервере Linux, я бы придерживался Ext3 лично, хотя бы потому, что он получает наибольшее количество тестов. zfs-fuse все еще очень молод. Кроме того, у меня были проблемы с XFS один раз, когда ошибка вызвала повреждение данных после обновления ядра. Преимущества XFS над Ext3 определенно не перевешивали затраты, связанные с восстановлением машины, которая находилась в удаленном центре обработки данных.


7
2018-04-30 11:45



FreeBSD имеет зрелый собственный порт ZFS - Brian Gianforcaro
wiki.freebsd.org/ZFSKnownProblems Я думаю, что ваше определение зрелого может отличаться от моего :-) Возможно, я подумаю об этом после выхода 8.0. - Kjetil Limkjær
ext3 с 16TB? Нет нет нет. Не делай этого. Вы будете плакать. ZFS или XFS - лучшие файловые системы, на мой взгляд. Используйте ZFS, если можете (не запускайте его в Linux). Я говорю об этом с большим опытом работы на больших томах в Linux и Solaris более 5 лет. - Thomas
FreeBSD 7.2 после 20090601 оказал большую часть проблем ZFSKnownProblems. Если вы используете версию ОС AMD64, она теперь стабильна. В 8.0 FreeBSD обозначил ZFS как достаточно стабильную для Production. - Walter
Теперь ZFS в Linux доступен (zfsonlinux.org) - James Moore


Я не думаю, что вы должны сосредоточиться на производительности. Безопасны ли ваши данные с помощью XFS, ext4 и т. Д.? Нет. Прочитайте эти кандидатские и исследовательские работы:

XFS не защищен от повреждения данных: pages.cs.wisc.edu/~vshree/xfs.pdf

И ни один из них не является ext3, JFS, ReiserFS и т. Д .: zdnet.com/blog/storage/how-microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent «Я наткнулся на увлекательную кандидатскую диссертацию Виджаяна Прабхакарана, IRON File Systems, которая анализирует, как пять файловых систем журналов журналов - NTFS, ext3, ReiserFS, JFS и XFS - справляются с проблемами хранения.

В двух словах он обнаружил, что все файловые системы имеют

. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "

Но ZFS успешно защищает ваши данные. Вот исследовательский документ по этому вопросу: zdnet.com/blog/storage/zfs-data-integrity-tested/811


6
2018-05-16 12:34





Не ориентированный на FS отзыв, извините, но имейте в виду, что несколько дисковых контроллеров не будут иметь дело с> 2TB LUNS / логическими дисками - это может ограничить способ организации вашего хранилища совсем немного. Я просто хотел, чтобы вы были в курсе, чтобы вы могли проверить свою систему от конца до конца, чтобы убедиться, что она будет работать с 16TB на всем протяжении.


5
2018-06-16 12:52





Это зависит от того, какие функции вы хотите ..., два разумных варианта: xfs и zfs, как вы сказали, код xfs довольно хорошо протестирован. Я впервые использовал его 8 лет назад под IRIX

Можно получить моментальные снимки из xfs (используя lvm и xfs_freeze)

Возможно иметь отдельное устройство регистрации, например SSD

mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1

Большим xfs традиционно требуется много памяти для проверки

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


1
2017-07-14 16:48





Помимо того, что уже упоминалось, с точки зрения производительности xfs на базовом рейде MD работает лучше, чем zfs на потоковых носителях. Я использовал то же самое аппаратное обеспечение в течение половины десятилетия с помощью xfs и примерно столько же времени с zfs на моем медиа-сервере. На Intel Atom 330 с xfs я никогда не сталкиваюсь с stuter, на zfs на сложных сценах одно и то же оборудование не может идти в ногу и начинает отбрасывать кадры.


1
2017-12-10 20:37





Вместо того, чтобы строить свои собственные, альтернативой является Sun 7410 aka Toro. В нем есть очень полезное программное обеспечение, которое поставляется вместе с решением.


0
2018-05-01 06:03