ZFS против XFS


62

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


7
Даже не сравнивайте их. ZFS - это современная файловая система уровня предприятия, такая как jfs2, wafl. XFS была хороша 10 лет назад, но сегодня это просто каменный век.
disserman

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

1
Я все еще думаю, что этот вопрос является актуальным, поэтому я напишу наш опыт здесь: XFS проста, вы устанавливаете его, запускаете, быстро, он работает. (HW рейд ниже). ZFS - это сохранение, сжатие, но много работы, чтобы настроиться на работу так же быстро, как и XFS. Так что это также зависит от ситуации, в которой вы ожидаете, что сервер будет работать. (серверная часть кластера. пользовательское хранилище, архив, ...)
SvennD

Также есть Hammer2 dragonflybsd.org/hammer
скан

Ответы:


44

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

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


33
Ключевой особенностью ZFS, которую вы (как правило) не получаете в других местах, является CRC на уровне блоков, который должен обнаруживать (и, как мы надеемся, предотвращать) молчаливое повреждение данных. Большинство файловых систем предполагают, что если запись завершена успешно, то данные действительно были записаны на диск. Это не всегда так, особенно если сектор начинает становиться «маргинальным». ZFS обнаруживает это, проверяя CRC на соответствие полученной записи.
Эйвери Пейн

3
И да, мне очень нравится XFS. :) Единственный недостаток, который вы должны иметь в виду, - это склонность обнулять сектора, которые были «плохими» во время восстановления журнала. В некоторых (редких) случаях вы можете потерять некоторые данные ... Нашли этот документ с помощью поискового запроса Google "xfs обнуляет
Avery Пейн

3
В XFS мне нравится программа xfs_fsr«дефрагментация».
Кристиан Чиупиту

1
Полезность ЦФК блочного уровня ZFS сомнительна. Жесткие диски и твердотельные накопители используют код Хемминга ECC для исправления однобитовых ошибок и сообщения о двухбитных ошибках. Если ECC не может прозрачно исправить физическую ошибку чтения, данные все равно будут потеряны, и об ошибке чтения будет сообщено ОС. CRC не исправляют ошибки. Эта особенность выдвигается как основное преимущество ZFS, но на самом деле она избыточна и не имеет никакой ценности. Что касается ошибки XFS при сбое питания, которая была исправлена ​​давно и не актуальна сегодня.
Джоди Ли Брухон

@JodyLeeBruchon то, что вы написали, неверно: хотя устройства хранения уже имеют код четности, прикрепленный к данным, это не означает, что они способны обеспечить сквозную защиту данных. Для достижения этой цели без файловой системы chechsumming вам необходимо: a) стек хранения SAS T10 / DIF / DIX или b) использовать devicemapper dm-целостности .
Шоданшок

75

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, но я не работал на них более года, я просто в восторге от этого продукта.


Эта ссылка не работает для меня с www. Использованиеhttp://opensolaris.org/os/TryOpenSolaris/
агрегат1166877

Я бы сказал, что лучшим выбором для zfs по-прежнему остается FreeBSD. Это было частью системы на протяжении нескольких лет. Так что я предполагаю, что наименьшая вероятность неприятных сюрпризов. Хотя это всего лишь мои 0,02 доллара.
Фокс

18

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

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

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

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

Самые важные аспекты, о которых следует помнить:

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

1
Как это случилось, только сегодня кто-то подтвердил, что vg со снимком - неспособный к загрузке-linux все еще актуален
sehe

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

1
Обновление: то же состояние. Только сейчас прошло еще 7 лет.
Сехе

14

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

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

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

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

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

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


8

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

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


7

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

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


6
У FreeBSD есть зрелый нативный порт ZFS
Брайан Джанфоркаро

7
wiki.freebsd.org/ZFSKnownProblems Я думаю, что ваше определение зрелого может отличаться от моего :-) Может быть, я рассмотрю его после выхода 8.0.
Kjetil Limkjær

9
Ext3 с 16 ТБ? Нет нет нет. Не делайте этого. Ты будешь плакать ZFS или XFS, на мой взгляд, являются лучшими файловыми системами. Используйте ZFS, если можете (не запускайте его в Linux). Я говорю это с большим опытом работы с большими томами в Linux и Solaris более 5 лет.
Томас

3
FreeBSD 7.2 после 20090601 рендерило большинство спорных вопросов ZFSKnownProblems. Если вы используете версию AMD64 для ОС, она теперь стабильна. В 8.0 FreeBSD пометил ZFS как достаточно стабильную для Production.
Уолтер

3
ZFS для Linux уже доступна ( zfsonlinux.org )
Джеймс Мур

7

Я не думаю, что вы должны сосредоточиться на производительности. Безопасны ли ваши данные с 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 «Я натолкнулся на увлекательную диссертацию PhD Виджаяна Прабхакарана, 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


5

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


1

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

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

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

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

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

Проблема с появлением нулей была функцией «безопасности», которая, я думаю, исчезла некоторое время назад.


1

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


0

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


0

Ну, ребята, давайте не будем забывать о последнем дополнении к zfs: дедупликация. И давайте поговорим о совместном использовании iscsi, nfs или smb. Как уже говорили другие, экспорт файловых систем zfs, снимков, контрольной суммы блоков raidz (= raid5), ширины динамической полосы, управление кешем и многие другие. Я голосую за ЗФС.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.