ZFS - RAIDZ-1 действительно так плох?

18

У меня есть NAS-сервер с 4x 2 ТБ накопителями WD RE4-GP в конфигурации RAID10 (4 ТБ можно использовать). У меня заканчивается свободное место (осталось не более 1 ТБ свободного места). У меня есть $ 0, чтобы потратить на большие / больше дисков / корпусов.

Мне нравится то, что я читал о функциях целостности данных в ZFS, которые - сами по себе - достаточны для того, чтобы я мог перейти с моего существующего XFS (программного) RAID10. Затем я прочитал о превосходной реализации RAID5 в ZFS, поэтому подумал, что, возможно, даже получу до 2 ТБ больше полезного пространства, используя RAIDZ-1.

Тем не менее, я продолжаю читать все больше и больше сообщений о том, что никогда не использую RAIDZ-1. Только RAIDZ-2 + достаточно надежен, чтобы справляться со сбоями в реальных условиях. Конечно, в моем случае RAIDZ-2 не имеет никакого смысла. Было бы намного лучше использовать два зеркальных vdevs в одном пуле (RAID10).

Я сумасшедший, желая использовать RAIDZ-1 для 4x 2 ТБ дисков?

Должен ли я просто использовать пул из двух зеркальных vdevs (по сути, RAID10) и надеяться, что сжатие даст мне достаточно дополнительного пространства?

В любом случае, я планирую использовать сжатие. У меня только 8 ГБ ОЗУ (макс.), Поэтому дедупликация не возможна.

Это будет на сервере FreeNAS (который собирается заменить текущую ОС Ubuntu), чтобы избежать проблем со стабильностью ZFS-on-Linux.

Эндрю Энсли
источник
Не уверен, как это не по теме. Я прошу совета о правильной конфигурации файловой системы для сервера.
Эндрю Энсли
Также RAIDZ1or2 скорость записи отстой по сравнению с RAID10
JamesRyan
2
Если у вас достаточно ЦП для расчета четности без замедления, RAIDZ должен быть таким же быстрым или быстрым, как RAID10 для большинства операций записи. RAIDZ записывает все в полной полосе RAID, нет цикла чтения-изменения-записи, как в RAID5. Таким образом, вы получите большую пропускную способность диска (больше данных, меньше накладных расходов), и запись должна выполняться быстрее, чем в RAID10. Однако это имеет тот недостаток, что чтение часто заканчивается медленнее. «Записывать полную полосу каждый раз» приводит к фрагментации и не дает вам преимущества чтения только небольшого количества дисков для многих небольших операций чтения. Это было сознательное дизайнерское решение.
Дэн Притц
То, что я сказал выше, только частично верно. RAID10 будет намного быстрее, если у вас есть одновременно небольшие записи, например, сервер базы данных. В RAIDZ все диски активны для всех записей; RAID10 разделяет их. Суть, которую я пытался донести, заключалась в том, что RAIDZ устраняет снижение производительности и потенциально небезопасный цикл чтения-изменения-записи RAID5.
Дэн Притц
RAIDZ2 более надежен, чем RAID10. С RAIDZ2 любые два диска могут выйти из строя, и у вас все еще будут ваши данные. При использовании RAID10 два неисправных диска (в массиве из четырех дисков) могут привести к потере данных.
Клос

Ответы:

21

Прежде чем мы углубимся в детали, рассмотрим ваш вариант использования. Вы храните фотографии, MP3 и DVD рипы? Если это так, вам может быть все равно, потеряете ли вы один блок из массива навсегда. С другой стороны, если это важные данные, это может быть катастрофой.

Утверждение о том, что RAIDZ-1 «недостаточно хорош для реальных сбоев», заключается в том, что у вас, вероятно, будет латентная ошибка носителя на одном из оставшихся в живых дисков, когда наступит время восстановления. Та же логика применима к RAID5.

ZFS до некоторой степени смягчает этот сбой. Если устройство RAID5 не может быть восстановлено, вам почти не повезло; Скопируйте ваши (оставшиеся) данные и восстановите их с нуля. С ZFS, с другой стороны, он восстановит все, кроме плохого фрагмента, и позволит администратору «очистить» ошибки. Вы потеряете файл / часть файла, но не потеряете весь массив. И, конечно же, проверка четности ZFS означает, что вы будете надежно проинформированы о наличии ошибки. В противном случае, я полагаю, что возможно (хотя и маловероятно), что множественные ошибки приведут к успешному перестроению, но вернут вам неверные данные.

Поскольку ZFS является « нарушением Rampant Layering », он также знает, в каких областях нет данных, и может пропустить их при перестроении. Поэтому, если ваш массив наполовину пуст, у вас в два раза меньше шансов на ошибку перестроения.

Вы можете уменьшить вероятность ошибок перестроения такого рода на любом уровне RAID, выполняя регулярные " проверки zpool" или "проверки mdadm" вашего массива. Есть аналогичные команды / процессы для других RAID; например, карты рейдов LSI / dell PERC называют это «патрульным чтением». Они читают все, что может помочь дискам найти неисправные сектора, и переназначить их, прежде чем они станут постоянными. Если они постоянны, система RAID (ZFS / md / raid card / что угодно) может восстановить данные из проверки на четность.

Даже если вы используете RAIDZ2 или RAID6, регулярные скрабы важны.

Последнее замечание - RAID любого рода не заменяет резервных копий - он не защитит вас от случайного удаления, вымогателей и т. Д. Хотя регулярные снимки ZFS могут быть частью стратегии резервного копирования.

Дэн Приттс
источник
Спасибо за это объяснение. Это имеет большой смысл и соответствует тому, что я узнал о ZFS до сих пор. Я уже перезагрузил свой сервер с FreeNAS и перешел с конфигурацией RAIDZ-1. У меня есть его для чистки один раз в месяц. Как вы думаете, это достаточно часто, или вы бы порекомендовали более частые скрабы? Безудержное нарушение наслоения - моя любимая особенность ZFS :-)
Эндрю Энсли
1
У меня есть raidz1, работающий на 7 потребительских дисках разного возраста. У меня это скраб каждые 2 недели. Он часто находит ошибку и исправляет ее. Недавно я потерял диск и потерял файл с латентной ошибкой. К счастью, это был медиа-файл, который я могу легко заменить. Для моих важных данных у меня, конечно же, есть резервные копии.
Дэн Притц
Я укажу - «домашние» диски имеют на 2 порядка худшую, чем невосстановимую частоту ошибок по битам, если сравнивать их с классом «предприятия». Я до сих пор очень рад, что частота сложных отказов на RAID-5 приемлема на приличных дисках FC / SAS. Не будет делать это на SATA, хотя.
Sobrique
1
Сравнение двух накопителей Seagate только на один порядок: Seagate ST2000DM001: 1 в 10E14. ST2000NM0033: 1 в 10E15. Правда, сложно сказать наверняка, отличаются ли механизмы привода. Я слышал, что заслуживающие доверия источники дают противоположные ответы.
Дэн Притц
2
Я обнаружил плохой кабель SATA в моей системе - с тех пор, как он был заменен, мои скрабы не обнаружили ошибок.
Дэн Приттс
4

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

Дешевый диск «домашнего пользователя» имеет 1 на 10 ^ 14 непоправимых ошибок.

http://www.seagate.com/gb/en/internal-hard-drives/desktop-hard-drives/desktop-hdd/#specs

Это на уровне, когда вы говорите о значительной вероятности неустранимой ошибки во время перестройки RAID, поэтому вам не следует этого делать. (Быстрый и грязный расчет предполагает, что набор RAID-5 для 5x 2 ТБ на самом деле будет иметь примерно 60% -ную вероятность этого)

Однако это не относится к более дорогим дискам: http://www.seagate.com/gb/en/internal-hard-drives/enterprise-hard-drives/hdd/enterprise-performance-15k-hdd/#specs

1 на 10 ^ 16 в 100 раз лучше - это означает, что 5x 2 ТБ - <1% вероятности неудачного восстановления. (Вероятно, меньше, потому что для корпоративного использования шпиндели на 600 ГБ вообще более полезны).

Так что лично я думаю, что RAID-5 и RAID-4 по-прежнему в высшей степени пригодны для использования, по всем причинам RAID-0 все еще довольно распространен. Не забывайте - проблема с RAID-6 в том, что он требует больших затрат на запись. Вы можете частично смягчить это с помощью большого кеширования, но у вас все еще есть некоторые проблемы, особенно когда вы работаете с медленными дисками в первую очередь.

И что более важно - НИКОГДА не доверяйте своему RAID, чтобы обеспечить вам полную устойчивость. Вы будете чаще терять данные на «упс», чем на отказ диска, поэтому вам НУЖНА подходящая стратегия резервного копирования, если вы все равно заботитесь о своих данных.

Sobrique
источник
Я использую 4 накопителя WD RE4-GP, у которых <1 на 10 ^ 15 невосстановимых ошибок чтения.
Эндрю Энсли
Наказание на запись в RAID6 вполне реально. Однако RAID-Z2 от этого не страдает; ZFS делает все записи в полную полосу. Это имеет и другие негативные последствия - оно имеет тенденцию к снижению производительности чтения по нескольким причинам.
Дэн Притц
3

Хм, немного плохой информации здесь. Для 4 дисков в XFS нет ничего плохого. Я склонен избегать ZFS RAIDZ по соображениям производительности и расширяемости (низкий уровень чтения / записи, расширение невозможно). Используйте зеркала ZFS, если можете. Однако, имея 4 диска и некуда разместить вашу ОС, вы либо потеряете много места, либо вам придется проходить странные игры с разделами, чтобы разместить вашу ОС и данные на тех же четырех дисках.

Я, вероятно, не рекомендую ZFS для вашего случая использования. Здесь нет ничего плохого в XFS.

ewwhite
источник
2
Забыл упомянуть, что ОС живет на отдельном диске. Сожалею. Что я хочу от ZFS, которой нет в XFS RAID10, так это проверка данных контрольной суммы, которая может выявлять (и прозрачно исправлять) тихие ошибки данных (немного перевернутый на диске, а жесткий диск понятия не имеет). Я не верю, что XFS может это сделать.
Эндрю Энсли
Для четырех дисков используйте зеркала ZFS, если есть вероятность, что вам понадобится расширить, или если производительность имеет значение. Я бы также избегал FreeNAS и просто использовал бы прямую ZFS в Linux.
ewwhite
1
Я сам терминальный парень, поэтому я определенно не переключаюсь на GUI. В основном, мне просто нужна стабильная файловая система, которая (насколько это возможно) гарантирует целостность файлов, хранящихся на ней. И я надеялся получить немного места в этом процессе. Я видел много проблем, о которых сообщалось в ZoL, многие из которых касались обновлений ОС Ubuntu. groups.google.com/a/zfsonlinux.org/forum/#!searchin/zfs-discuss/… Не пытайтесь быть болью. Просто объясняю, почему я думаю то, что думаю. Я конечно открыт для исправления.
Эндрю Энсли
1
Все в порядке. Я видел гораздо больше проблем с FreeNAS (не с FreeBSD), поэтому он идет в обе стороны. Там есть информация. Я не использую Ubuntu, но я действительно знаю ZFS . Мой ZFS в Linux обычно с RHEL или CentOS. Вот пример рабочего процесса .
ewwhite
1
Я использую ZFS в Linux и Centos 6. Я не разрешаю автоматическое обновление ядра или ZFS. У меня были проблемы с обработкой ZFS / SCL, но у меня никогда не было потери данных. Между прочим, FreeBSD имеет аналогичный набор подпрограмм совместимости с Solaris, но они и ZFS полностью интегрированы в дистрибутив, что значительно упрощает совместную работу. Если бы я хотел только ZFS и файловый сервис, я бы, вероятно, запустил FreeBSD. На самом деле это то, что я делал раньше, но я использую этот блок для других случайных вещей, что делает ZoL более привлекательным.
Дэн Притц