Полоса ZFS поверх аппаратного RAID 6. Что может пойти не так?

У меня 36 * 4 ТБ HDD SAN Rack. RAID-контроллер не поддерживает RAID60 и не более 16 жестких дисков в одной RAID-группе. Поэтому я решил сделать 2 группы RAID6 по 16HDD или 4 из 8 жестких дисков. Я хочу получить все хранилище как один раздел.

Итак, что может пойти не так, если я буду использовать пул zfs поверх аппаратного RAID6? Да, я знаю, что настоятельно рекомендуется использовать собственные жесткие диски или сквозной режим. Но у меня нет этой возможности.

Или мне следует держаться подальше от ZFS и программных рейдов в этой ситуации? (Меня больше интересуют сжатие и снимки)

9
задан 21 November 2016 в 11:52
4 ответа

Вы должны НЕПОСРЕДСТВЕННО подключить все диски к компьютеру, на котором запущена ZFS. Получите SAS HBA и подключите диски к устройству с поддержкой ZFS (например, с OmniOS или SmartOS). Затем вы можете разделить пространство через NFS, SMB, iScsi ...

1
ответ дан 2 December 2019 в 22:31

Поэтому я решил создать 2 группы RAID6 из 16 жестких дисков или 4 из 8 жестких дисков.

Это не лучший способ делать что-то. Он может работать достаточно хорошо, но может и не работать, в зависимости от ваших требований к производительности.

Идеальный размер массива RAID5 / 6 должен быть таким, чтобы точное кратное количество данных, которые «охватывают» массив, соответствовало размеру блока файловой системы, построенной на нем.

RAID5 / 6 массивы работают как блочные устройства - единый блок данных охватывает диски в массиве, и этот блок также содержит данные четности. Большинство RAID-контроллеров будут записывать блок данных размером в два раза больше на каждый диск в массиве - точное значение которого можно настроить в лучших RAID-системах - и ваш блок Dot Hill является одним из таких " лучшие системы RAID ». Это важно.

Таким образом, чтобы охватить массив, требуется N x (количество данных, хранящихся на блоке диска), где N - количество дисков с данными. Массив RAID5 с 5 дисками имеет 4 диска «данных», а массив RAID6 с 10 дисками имеет 8 дисков данных.

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

Но если объем записываемых данных недостаточно велик, чтобы охватить весь массив, что должен делать RAID-контроллер, чтобы вычислить новые данные четности? Подумайте об этом - ему нужны все данные во всей полосе , чтобы повторно вычислить новые данные четности.

Итак, если вы создадите массив RAID6 с 16 дисками с пер- фрагмент диска 512 КБ, это означает, что для "охвата" массива требуется 7 МБ.

ZFS обычно работает с блоками по 128 КБ.

Таким образом, ZFS записывает блок 128 КБ - в массив RAID6 с 16 дисками. В предлагаемой вами конфигурации это означает, что RAID-контроллеру необходимо прочитать почти 7 МБ из массива и пересчитать четность для этих 7 МБ. Затем перепишите все эти 7 МБ обратно на диск.

Если вам повезет, все они в кеше, и вы не получите большого снижения производительности. (Это одна из основных причин, почему позиция «не использовать RAID5 / 6» имеет следующее значение - RAID1 [0] не страдает от этого.)

Если вам не повезло и вы не выровняли должным образом ваши разделы файловой системы, этот блок 128 КБ охватывает две полосы RAID, которые не находятся в кеше, и контроллеру необходимо прочитать 14 МБ, повторно вычислить четность, а затем записать 14 МБ. Все для записи одного блока размером 128 КБ.

Вот что должно произойти логически . Хорошие RAID-контроллеры могут использовать множество оптимизаций, чтобы уменьшить ввод-вывод и вычислительную нагрузку таких шаблонов ввода-вывода, так что может быть не так уж плохо.

Но при большой нагрузке записи блоков размером 128 КБ в в случайном расположении, есть действительно хороший шанс, что производительность массива RAID6 с 16 дисками с размером полосы 7 МБ будет абсолютно ужасной.

Для ZFS, «идеальный» базовый RAID5 / 6 LUN для общего целевая файловая система, в которой большинство обращений осуществляется случайным образом , будет иметь размер полосы, равный делителю 128 КБ, например 32 КБ, 64 КБ или 128 КБ. В данном случае это ограничивает количество дисков с данными в массиве RAID5 / 6 до 1 (что бессмысленно - даже если можно настроить, лучше просто использовать RAID1 [0]), 2, 4 или 8. Лучшая производительность. в лучшем случае было бы использовать размер полосы 128 КБ для массивов RAID5 / 6, но в лучшем случае это случается нечасто в файловых системах общего назначения - часто потому, что файловые системы не хранят метаданные так же, как они хранить файловые данные.

Я бы рекомендовал создать либо 5-дисковые массивы RAID5, либо 10-дисковые массивы RAID6, при этом размер блока для каждого диска установлен достаточно малым, чтобы объем данных для охвата всей полосы массива составлял 64 КБ ( да, я делал это раньше для ZFS - много раз). Это означает, что для массива RAID с 4 дисками данных размер фрагмента на каждый диск должен быть 16 КБ, а для массива RAID с 8 дисками данных размер фрагмента на каждый диск должен быть 8 КБ.

Затем разрешите ZFS использовать весь массив - делайте , а не разбивайте его. ZFS будет правильно выравниваться со всем диском, независимо от того, является ли он простым одиночным диском или массивом RAID, представленным RAID-контроллером.

В этом случае, не зная вашего точного пространства и требований к производительности, я бы рекомендовал установить до трех 10-дисковых массивов RAID6 или шести 5-дисковых RAID5-массивов с размером полосы 64 КБ, настройте пару «горячих» резервов и сохраните четыре из ваших дисков на случай, если что-то появится в будущем. Потому что что-то будет.

Я бы определенно не использовал эту дисковую систему в режиме JBOD - это полностью NEBS Level 3-совместимое устройство , которое обеспечивает значительную защиту надежности и доступности, встроенную прямо в оборудование. Не выбрасывайте это только потому, что "ZFS !!!!". Если это дешевое товарное оборудование, которое вы собираете из частей? Да, лучше всего подходит режим JBOD с ZFS, обрабатывающим RAID, но это НЕ оборудование, которое у вас есть. ИСПОЛЬЗУЙТЕ функции, предоставляемые оборудованием.

5
ответ дан 2 December 2019 в 22:31

Хорошо, я укушу...

Это неправильное аппаратное обеспечение для приложения. Установка DotHill имеет те же ограничения, что и HP StorageWorks MSA2000/P2000, так как в одной группе массивов можно использовать только 16 дисков.

ZFS на аппаратном RAID-массиве или экспортированном SAN LUN не обязательно является проблемой.

Тем не менее, чередование ZFS LUN'ов по неизвестным соединениям, через шасси расширения может представлять определенный риск.

  • Например, вы используете многопутевой SAS в кольцевой топологии со сдвоенными контроллерами?
  • Есть ли у вас резервированные кабели обратно к серверу?
  • Распределили ли вы диски вертикально по корпусам таким образом, чтобы снизить вероятность отказа одного шасси/кабеля/контроллера и предотвратить разрушение части полосы RAID0?

Серьезно, возможно, стоит оценить, нужно ли все это хранилище в едином пространстве имен...

Если вам требуется такой тип емкости в одном креплении, вам следует использовать специальный HBA-вкладыш JBOD корпус и, возможно, несколько головных устройств с упругим кабелем и более продуманной компоновкой.

.
4
ответ дан 2 December 2019 в 22:31

Причина, по которой ZFS поверх логических томов HW RAID - идея ОЧЕНЬ BAD, заключается в том, что ZFS требует доступа на уровне блоков для фактического правильного функционирования. Да, он будет полезен, но его функциональность не будет полной до тех пор, пока вы не подключите диски непосредственно к операционной системе через HBA или прямые соединения SATA. Одним из примеров является то, что в предлагаемой вами конфигурации ZFS не может обеспечить разумную защиту ваших данных от изменений нижеперечисленных данных (на другой стороне HW RAID-контроллера), и поэтому не может гарантировать сохранность ваших данных . Это одна из PRIMARY причин использования ZFS, в дополнение к тому, что она сверхбыстро копирует.

ZFS - это потрясающая технология, и я настоятельно рекомендую ее. Но вам придется пересмотреть свою структуру здесь, чтобы иметь возможность правильно ее использовать. А именно, ZFS создает логические тома (vdevs) непосредственно с дисков.

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

.
0
ответ дан 2 December 2019 в 22:31

Теги

Похожие вопросы