RAID FreeBSD

Одно из важнейших требований, предъявляемых к любой серьезной системе хранения данных, – это наличие RAID, или Redundant Array of Independent Disks (массив независимых дисковых накопителей с избыточностью). Раньше символ I в аббревиатуре RAID означал Inexpensive (недорогой), но это определение относительно. Массив RAID емкостью в один петабайт стоит намного меньше отдельного диска емкостью в один петабайт, тем не менее, он очень дорог. Системы RAID распределяют данные между дисками для улучшения производительности и надежности. Существуют программные и аппаратные реализации RAID.

Сравнение программных и аппаратных RAID

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

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

Программными RAID управляет операционная система. Именно ОС приходится управлять распределением данных по дискам. В сравнении с аппаратными RAID этот метод увеличивает нагрузку на систему, однако обходится дешевле аппаратного. Кроме того, вы не рискуете потерять данные, как в случае с аппаратным RAID, когда оказывается невозможным приобрести RAID-контроллер того же типа.

Применять аппаратный RAID намного легче, чем программный, поскольку обычно в первом случае достаточно следовать инструкциям из документации. Как правило, в аппаратных RAID есть BIOS, управляемая меню. BIOS позволяет назначать размеры виртуальных дисков, восстанавливать поврежденные диски и конфигурировать виртуальные диски. С другой стороны, применение программных RAID подразумевает, что системные администраторы отдают себе отчет в своих действиях. Если вы хотите получить больше информации об аппаратном RAID, прочитайте руководство по вашему RAID-контроллеру, поскольку здесь мы рассматриваем программные RAID. Многие особенности RAID, поддерживаемые операционной системой FreeBSD, реализованы и в аппаратных RAID.

Многие производители RAID поставляют программные инструменты управления своими контроллерами из операционной системы. Контролировать и настраивать массивы amr(4) можно с помощью megarc (/usr/ports/sysutils/megarc), массивы mfi(4) – с помощью MegaCli (/usr/ports/sysutils/linux-megacli), а массивы aac(4) arrays – с помощью aaccli (/usr/ports/sysutils/aaccli). Компания 3Ware поставляет программное обеспечение для управления контроллерами twe(4) и twa(4), а компания Агеса – для управления контроллерами arcmsr(4).

GEOM RAID и размер диска

Все жесткие диски в RAID-системе должны иметь одинаковый размер, или хотя бы следует использовать одинаковый объем дискового пространства на каждом диске. Если RAID-массив состоит из 10 дисков по 500 Гбайт и один из них выходит из строя, то в случае установки нового диска размером 700 Гбайт на нем будет использовано только 500 Гбайт. Вам не удастся использовать эти оставшиеся 200 Гбайт без потери производительности всего массива.

Далее считаем, что все диски или участки, используемые для создания программного RAID, имеют одинаковые размеры. Если у вас несколько дисков, проверьте их размеры с помощью fdisk(8). Если размеры некоторых дисков отличаются, даже всего на пару сотен секторов, GEOM использует размер наименьшего диска в качестве ограничения.

Технически у вас не должно быть таблицы участков на томах, предназначенных для хранения данных. Вы можете использовать RAID с разбивкой на блоки или с зеркалированием поверх неформатированных дисков – для GEOM это не имеет никакого значения. В примерах мы не будем использовать таблицы участков.

Контроль четности и размер чередующейся области

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

Похожим образом на уровнях RAID, где происходит распределение данных между несколькими дисками, могут использоваться чередующиеся области различных размеров. Размер чередующейся области1 (stripe size) – это размер части файла, записываемой на один диск. Например, если файл имеет размер 512 Кбайт, а размер чередующейся области составляет 128 Кбайт, то этот файл окажется записанным в четыре чередующиеся области, разбросанные по дискам. Вам попадутся на глаза руководства, утверждающие, что по тем или иным причинам наиболее оптимальным является тот или иной размер области. Аргументы, которые там приводятся, могут даже быть истинными, но для определенных видов рабочих нагрузок. Если у вас появится желание поэкспериментировать с размерами чередующихся областей, проводите испытания на своем аппаратном окружении при типичной рабочей нагрузке. Вы можете получить некоторый прирост производительности, но, скорее всего, он будет не очень велик. В примерах мы будем использовать значение по умолчанию, равное 128 Кбайт, если явно не указано другое. Размер 128 Кбайт оптимален для большинства видов рабочих нагрузок.

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий