LINUX.ORG.RU

RAIDZ1 vs ZFS Mirror vs RAID1

 , ,


2

4

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

Во-первых, какие преимущества есть у ZFS Mirror перед RAID1 (здесь и далее под RAID я имею ввиду софтварный рейд, а под ZFS имею ввиду OpenZFS во FreeBSD и производных)? На тематических форумах по BSD и NAS приводят в качестве основного преимущества то, что ты сразу получаешь ФС, а не просто блочный девайс, но разве это преимущество? На блочный девайс я могу любую нужную мне ФС поставить. Или тут еще что-то скрыто? Вроде минус один уровень между железом и файлами.

Во-вторых, не могу определиться с тем, какой из ZFS RAID использовать. С одной стороны есть простое зеркало, о котором тут пишут, что это якобы наиболее производительный вариант при хранении больших файлов (недостаток с эффективным объем свободного места в <=50% от суммы объемов дисков пока не принимаем в расчет). А вот тут товарищ проводит тестирование различных ZFS RAID, по результатам которого понятно, что как раз зеркало самое НЕпроизводительное и вообще самое худшее получается. Кому верить?

В-третьих, не совсем понятно, как отражается на производительности выбытие из пула из одного RAIDZ1 одного диска из трех или более. Где-то пишут, что это сильно снизит производительность, при этом RAIDZ1 и RAIDZ2 являются самыми используемыми. Где подвох? Если, допустим, на RAIDZ1 из трех дисков выбывает один и это не сильно бьет по производительности на время замены диска, то, наверное, лучше выбрать 2xRAIDZ1 по 3 диска, чем добавлять в один RAIDZ1 еще диски.

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



Последнее исправление: exfx (всего исправлений: 1)

Mirror — это RAID1, только лучше. RAIDZ — это RAID5/6, только лучше.

«Только лучше» заключается в том, что ZFS умеет:

  • обнаруживать тихие ошибки за счёт чексумм,
  • не перестраивать пустое пространство при сбое, и
  • обходиться без write hole.
intelfx ★★★★★
()
Ответ на: комментарий от intelfx

обнаруживать тихие ошибки за счёт чексумм

Что за «тихие» ошибки не понял, но это относится к ZFS как к ФС. Но тоже самое можно сделать и с самой обычной ext4, так? Отслеживать ошибки, запуская fsck. На других ФС тоже есть инструменты для проверки и исправления ошибок.

не перестраивать пустое пространство при сбое

О каких сбоях идет речь? Сбой самой ФС или аппаратные тоже?

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

Что за «тихие» ошибки не понял, но это относится к ZFS как к ФС. Но тоже самое можно сделать и с самой обычной ext4, так?

Речь идет об ошибках на уровне блоков RAID5/6, а не уровне FS. ZFS имеет дополнительные механизмы контроля целостности массива по сравнению с классическими RAID5/6.

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

О каких сбоях идет речь?

Вылет диска с последующей заменой и перестройкой массива.

Serge10 ★★★★★
()

RAIDZ1 или RAIDZ2 на 4-х или 5-и дисках.

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

Write hole — это ситуация (возникающая при крахе системы в процессе записи), в которой новые данные успели записаться, а parity ещё нет. Если это вовремя не задетектить и не пересчитать parity, для данного страйпа нарушается гарантия избыточности (т. е. в случае смерти диска страйп восстановить не получится).

Плюс в том, что в ZFS такая ситуация возникнуть не может (а, например, в btrfs или в классическом md без журнала — может).

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

Что за «тихие» ошибки не понял

Искажения отдельных битов внутри сектора, не обнаружимые средствами самого диска (т. е. не приводящие к отметке сектора как плохого).

Но тоже самое можно сделать и с самой обычной ext4, так? Отслеживать ошибки, запуская fsck.

Нет, не так.

О каких сбоях идет речь? Сбой самой ФС или аппаратные тоже?

Как написали выше — вылет диска с перестроением массива. Т. е. о тех сбоях, от которых и защищает RAID.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Deleted

Потому что в Btrfs слой файловой системы работает поверх слоя RAID, как в классическом md, а не наоборот.

Грубо говоря, у тебя весь многодисковый том бьётся на много маленьких разделов (chunks), поверх групп этих чанков создаётся обычный классический RAID, а поверх получившихся виртуальных разделов (blockgroups) уже работает btrfs со всей её атомарностью, CoW и прочим.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)

@intelfx, @Serge10, спасибо, о преимуществах я понял. Но вопрос производительности и выбора между mirror и raidz1 пока не решен. Есть у кого реальный опыт в сравнении на реальном железе в реальных юзкейсах? Или может быть достоверный источник, которому можно доверять. Я, конечно, в итоге и сам проведу сравнение на своем железе, но мне надо понимать, сколько дисков брать и какого объема в зависимости от mirror или raidz1.

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

Основной недостаток raidz (не только raidz, а вообще любых RAID с чётностью) — в том, что они медленно перестраивается. Выбирая количество дисков с чётностью, исходи из MTBF и nonrecoverable read error rate твоих дисков — иначе может получиться так, что пока ты будешь перестраивать массив, у тебя навернётся второй диск или случится ещё один битфлип.

Ещё один недостаток raidz применительно к конкретно ZFS состоит в том, что в ZFS нет и никогда не будет рестрайпа. Т. е. если ты создашь raidz-массив из (например) трёх дисков, ты не сможешь добавить к ним четвёртый, чтобы получился raidz из четырёх дисков.

Ну а преимущество у raidz в общем-то одно — ему нужно меньше дисков для достижения того же самого уровня избыточности.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

RAIDZ — это RAID5/6, только лучше

Хрен там оно лучше. Это я как пользователь ZFS говорю.

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

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

ZFS RAID 10 + cache

С некоторыми оговорками:

  • cache на SSD;
  • RAID-1 размазан по разным дискам;
  • RAID-0 размазан по разным дискам.
mord0d ★★★★★
()
Ответ на: комментарий от Deleted

Хрен там оно лучше.

Лучше-лучше. Это я как пользователь ZFS говорю :)

Kakije vashi dokazatelstva?

Нену, если в сравнении с хардварными RAID-5/RAID-6, то вполне может быть, у меня с ними дружба не сложилась с самого начала.

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

Kakije vashi dokazatelstva?

Cocainum! :))

Да, собственно, выше написали уже всё. Лучше аппаратных железок и mdadm.

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

for a given number of disks, a pool of mirrors will significantly outperform a RAIDZ stripe.

a degraded pool of mirrors will severely outperform a degraded RAIDZ stripe.

a degraded pool of mirrors will rebuild tremendously faster than a degraded RAIDZ stripe.

a pool of mirrors is easier to manage, maintain, live with, and upgrade than a RAIDZ stripe.

https://jrs-s.net/2015/02/06/zfs-you-should-use-mirror-vdevs-not-raidz/

Harliff ★★★★★
()
Последнее исправление: Harliff (всего исправлений: 2)
Ответ на: комментарий от Nastishka

Внутри Btrfs.

Я же описал подробно, как это работает.

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

Да хватит уже совать эту статью везде. Там на три тонны воды ровно один простой как палка тезис: (любой) RAID с чётностью медленнее, чем тупое зеркало. Ну да, медленнее. Вот это поворот.

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

Лучше аппаратных железок и mdadm.

Покажи zpool status своего пула на RAIDZ? Интересует, только структура (config), остальное можешь тримнуть.

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

Искажения отдельных битов внутри сектора, не обнаружимые средствами самого диска (т. е. не приводящие к отметке сектора как плохого).

а как реализуется проверка? Постоянно перепрочитывается в простое?

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

RAID-1 работает со скоростью самого медленного диска в пуле.

Уточним - на запись.

И "холодное" чтение.

А учитывая, что на всём ЛОРе ARC умеют нормально тюнить всего полтора человека (я в этот список не вхожу)…

mord0d ★★★★★
()

По скорости быстрее всех будет bcache+mdadm. По надежности zfs.

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

В основном 8

Мне такая роскошь (пока) недоступна. Я только недавно заменил бракованный(?) блок питания, запитывание от которого более трёх дисков регулярно било данные/метаданные из-за рандомного отвала питания на некоторые шлейфы.

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

на всём ЛОРе ARC умеют нормально тюнить всего полтора человека

Дай сурс на тюнинг, интересно почитать чего там тюнить кроме min/max.

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

ARC могут тюнить не только лишь все !

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

Да и то в 0.8 по-умолчанию сделали всё:

https://zfsonlinux.org/manpages/0.8.0/man5/zfs-module-parameters.5.html

zfs_arc_max (ulong)

Max arc size of ARC in bytes. If set to 0 then it will consume 1/2 of system RAM. This value must be at least 67108864 (64 megabytes).

This value can be changed dynamically with some caveats. It cannot be set back to 0 while running and reducing it below the current ARC size will not cause the ARC to shrink without memory pressure to induce shrinking.

Default value: 0.

zfs_arc_min (ulong)

Min arc size of ARC in bytes. If set to 0 then arc_c_min will default to consuming the larger of 32M or 1/32 of total system memory.

Default value: 0.

Deleted
()

масштабируемое

  • RAIDZ +
  • MD +
  • hardware RAID -

минимальными затратами

  • RAIDZ +
  • MD +
  • hardware RAID -

хорошая производительность по крайней мере на чтение (точно не ниже чтения с одного диска)

  • RAIDZ +
  • MD +
  • hardware RAID +

Безопасность данных лучше всего обеспечивает zfs, но за это приходится платить производительностью. Если у тебя меньше чем 8 гб оперативки - то лучше не надо zfs. Советую попробывать всё варианты и понять что тебе надо. Лично я предпочитаю RAIDZ1.

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

Если у тебя меньше чем 8 гб оперативки - то лучше не надо zfs.

Ух, как требования подросли. Раньше нужно было не меньше 4 ГБ и процессор уровня Intel Atom.

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

Я даже не представляю как можно уместить всё ПО и ARC в 4гб ОЗУ.. Сейчас любое более менее известное приложение на яве запустишь минус 2-4гб минимум.

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

Запустил NetBeans 11.2, а в ней демонстрационный проект собрал и запустил — на всё ушло 1,2 ГБ ОЗУ. Запустил RSSOwl почитать новости — ещё откусило 300 МБ. Откуда «2-4гб минимум»?

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от sky92

Сравнивать десктопное приложение и серверное — некорректно.

Те, кто умеет в настройку GC в JVM, понимают, что пресловутые требования в значительной степени взяты с потолка.

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

А кто их сравнивает то? Спросили куда 2-4 гб деваются - ответил. К тому же лично я не буду на свой NUC с одним ssd ставить zfs. Просто незачем мне он тут. Все важные данные я не храню на декстопе, для этого есть другие машины. Десктоп для хлама и разработки, а не для хранения данных. Поэтому немного недоумеваю когда люди с одним хардом ставят зфс корневой фс и хранят хлам торрент-сериалов и мемов на нём(надо еще компрессию включать на jpeg/mp4/* и дедупликацию туда же на 4 гб RAM, чтобы комбо). Всему своё место как по мне.

sky92
()
30 сентября 2020 г.
Ответ на: комментарий от sky92

Приветствую. Так получилось что последние 5 лет не занимался FreeBSD и слегка подзабыл что там с ZFS, в общем есть сервер с 8 гиг оперативки (старый ксен, больше не ставить) там есть сата 6 портов, есть 5 одинаковых винтов SATA можно прикупить SSD под кеш, с SSD отдельная печальная история, я узнал что такое SLC кеш на горьком опыте :( …Так вот, что лучше замутить на этом железе ? RAID0+1 или RAIDZ и ещё если взять SSD на терабайт, в нём кеша 32гига всего, разметить этот SSD одним кусочком в эти 32 гига, можно ли этот кусочек под кеш использовать ?

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