ZFS: Зеркало против RAID-Z

Я планирую создать файловый сервер с использованием OpenSolaris и ZFS, который будет предоставлять две основные службы - быть целью iSCSI для виртуальных машин XenServer и обычным домашним файловым сервером. Оборудование, на которое я смотрю, включает в себя 2 4-портовых контроллера SATA, 2 небольших загрузочных диска (по одному на каждый контроллер) и 4 больших диска для хранения. Это позволяет использовать один свободный порт на контроллер для обновления массива в будущем.

Меня немного смущает, как настроить накопители. Для производительности зеркальное отображение кажется королем. Мне трудно понять, какая польза от использования RAIDZ перед зеркалированием. При такой настройке я вижу два варианта - два зеркальных пула в одну полосу или RAIDZ2. Оба должны защищать от 2 сбоев дисков и / или сбоев одного контроллера... единственное преимущество RAIDZ2 состоит в том, что любые 2 диска могут выходить из строя. В обоих случаях объем хранилища должен составлять 50%, но первый должен иметь гораздо лучшую производительность, верно?

Другой вещью, которую я пытаюсь обернуть, является преимущество зеркальных массивов с более чем двумя устройствами. Что касается целостности данных, что, если таковые имеются, будет преимуществом RAIDZ по сравнению с трехсторонним зеркалом? Поскольку ZFS поддерживает целостность файлов, что RAIDZ вносит в таблицу... разве проверки целостности ZFS не сводят на нет значение четности RAIDZ?

3 ответа

Решение

Простой ответ заключается в том, что для зеркального отображения чего-либо практически не требуется вычислительная мощность - он просто записывает на диск второй раз. Для RAID-Z2 вы должны вычислить совершенно новый блок контроля четности, который, хотя и небольшой, МОЖЕТ затормозить ЦП, когда вам нужно быстро записывать большие объемы данных.

Зеркалирование всегда является предпочтительным решением для высокоскоростных данных. Если это просто объемное хранилище без высоких скоростей записи, RAID-Z2 является хорошей альтернативой, которая позволяет любому из двух дисков умереть, как вы намекаете.

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

RAID-Z устраняет большинство потерь при записи и проблем целостности данных, от которых страдают тома RAID 5/6, за счет некоторого процессорного времени. Как правило, системы имеют запасные циклы ЦП, поэтому тратить время ЦП на повышение производительности ввода-вывода и целостности данных - это хороший компромисс по сравнению с зеркалированием.

Вот подробное объяснение RAID-Z, которое может ответить на другие вопросы.

Кроме того, помните, что RAID является отказоустойчивым решением. Вы не используете RAID-Z2 для защиты от потери данных - вы делаете резервные копии или копируете их для этого. Вы выбираете использование RAID-Z2 против RAID-Z или RAID-10 против RAID-6 против RAID-5, чтобы поддерживать работоспособность ваших систем в случае аппаратного сбоя.

Основная разница в производительности между зеркалами и RAIDZ1/2 [1] заключается не в ожидаемой загрузке ЦП (которой в наши дни у нас много), а в том факте, что случайные операции ввода-вывода в секунду ZFS зависят от общего количества виртуальных устройств, а не от общего количества дисков .

Например, 4 двусторонних зеркала обеспечивают до 8-кратного увеличения производительности произвольного чтения и в 4 раза большей производительности произвольной записи по сравнению с одним диском. С другой стороны, 8x виртуальных устройств RAIDZ2 (6 данных + 2 четности) будут обеспечивать такое же случайное количество операций ввода-вывода в секунду, что и один диск.

Другими словами: для случайных интенсивных рабочих нагрузок ввода-вывода зеркала — лучший выбор с точки зрения производительности.

[1]: RAIDZ3 значительно тяжелее процессора.

Другие вопросы по тегам