it-swarm-ru.tech

ZFS против XFS

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

64
Tamas Czinege

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

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

45
Mark Renouf

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

Сжатие:

#zfs set compression=on filesystem/home

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

# zfs snapshot filesystem/home/[email protected]
# cd filesystem/home/user/.zfs/snapshot/tuesday

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

# zfs clone filesystem/home/[email protected] filesystem/home/user2

Файловая система отправки/получения:

# zfs send filesystem/home/[email protected] | ssh otherserver "zfs receive -v filesystem/home/user"

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

# zfs send -i filesystem/home/[email protected] | 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, но я не работал на них более года, я просто в восторге от этого продукта.

75
Chris

использование моментальных снимков 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; Если вы этого не сделаете, вы скоро поразите кирпичную стену и в итоге и исходный фс, и снимок будут повреждены. (Я был там!)
18
sehe

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

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

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

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

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

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

14
3dinfluence

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

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

8
X-Istence

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

7
Miklo

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

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

7
Kjetil Limkjær

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

5
Chopper3

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

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

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

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

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

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

1
James

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

1
user718960

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

0
PiL

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

0
Jauder Ho