У меня 36 * 4 ТБ HDD SAN Rack. RAID-контроллер не поддерживает RAID60 и не более 16 жестких дисков в одной RAID-группе. Поэтому я решил сделать 2 группы RAID6 по 16HDD или 4 из 8 жестких дисков. Я хочу получить все хранилище как один раздел.
Итак, что может пойти не так, если я буду использовать пул zfs поверх аппаратного RAID6? Да, я знаю, что настоятельно рекомендуется использовать собственные жесткие диски или сквозной режим. Но у меня нет этой возможности.
Или мне следует держаться подальше от ZFS и программных рейдов в этой ситуации? (Меня больше интересуют сжатие и снимки)
Вы должны НЕПОСРЕДСТВЕННО подключить все диски к компьютеру, на котором запущена ZFS. Получите SAS HBA и подключите диски к устройству с поддержкой ZFS (например, с OmniOS или SmartOS). Затем вы можете разделить пространство через NFS, SMB, iScsi ...
Поэтому я решил создать 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, но это НЕ оборудование, которое у вас есть. ИСПОЛЬЗУЙТЕ функции, предоставляемые оборудованием.
Хорошо, я укушу...
Это неправильное аппаратное обеспечение для приложения. Установка DotHill имеет те же ограничения, что и HP StorageWorks MSA2000/P2000, так как в одной группе массивов можно использовать только 16 дисков.
ZFS на аппаратном RAID-массиве или экспортированном SAN LUN не обязательно является проблемой.
Тем не менее, чередование ZFS LUN'ов по неизвестным соединениям, через шасси расширения может представлять определенный риск.
Серьезно, возможно, стоит оценить, нужно ли все это хранилище в едином пространстве имен...
Если вам требуется такой тип емкости в одном креплении, вам следует использовать специальный HBA-вкладыш JBOD корпус и, возможно, несколько головных устройств с упругим кабелем и более продуманной компоновкой.
.Причина, по которой ZFS поверх логических томов HW RAID - идея ОЧЕНЬ BAD, заключается в том, что ZFS требует доступа на уровне блоков для фактического правильного функционирования. Да, он будет полезен, но его функциональность не будет полной до тех пор, пока вы не подключите диски непосредственно к операционной системе через HBA или прямые соединения SATA. Одним из примеров является то, что в предлагаемой вами конфигурации ZFS не может обеспечить разумную защиту ваших данных от изменений нижеперечисленных данных (на другой стороне HW RAID-контроллера), и поэтому не может гарантировать сохранность ваших данных . Это одна из PRIMARY причин использования ZFS, в дополнение к тому, что она сверхбыстро копирует.
ZFS - это потрясающая технология, и я настоятельно рекомендую ее. Но вам придется пересмотреть свою структуру здесь, чтобы иметь возможность правильно ее использовать. А именно, ZFS создает логические тома (vdevs) непосредственно с дисков.
Звучит так, как будто вам нужно гораздо больше прочитать о том, как работает ZFS, прежде чем вы сможете точно понять, что вы предложили, в отличие от того, что на самом деле должно быть сделано вместо этого.
.