Check consistency raid что это

Обновлено: 07.07.2024

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

Какие операционные системы поддерживаются RAID

Внутренние RAID-контроллеры фирмы Mylex совместимы со стандартной ПК платформой, сертифицированы и имеют драйвера для работы со следующими ОС:

  • Novell NetWare 3.12, 4.xx, 5.xx
  • SCO Unix OSR 5.x
  • SCO UnixWare 2.1, 7.x
  • SUN Solaris 2.x, 7.x
  • Linux
  • MS Windows NT 3.51, 4.0
  • MS DOS, Windows 95/98/2000
  • IBM OS/2

Как правило, необходимые драйвера входят в комплект поставки как самой операционной системы, так и в комплект DAC Software kit, обязательно поставляемый вместе с описанием настройки и конфигурации RAID-контроллера. Если не сказано иное, выбирать нужно драйвер, имеющий более свежую дату создания. При этом полезно также посетить и сайт Mylex, почти наверняка там окажется еще более свежая версия. Учитывая появление драйверов под Linux, можно предположить и скорое появление драйверов для BSD.

Внешние RAID-контроллеры (SUI, SXI, SF, FL, FF ) опознаются ОС, как дисковые накопители и никаких дополнительных драйверов не требуют, что позволяет их использовать с любой операционной системой.
WIDTH="20" HEIGHT="40">

Какого объема кэш необходимо иметь на контроллере

2MB кэш-памяти всегда используется для работы процессора контроллера, а остальное отдается под кэширование данных, поэтому чем больше кэш, тем лучше — кэшем контроллер не испортишь. Но чтобы реально подойти к оптимальному выбору объема кэш-памяти, необходимо хотя бы приблизительно представлять себе, какой обьем оперативной информации постоянно работает с дисковой системой. Четких рекомендаций здесь быть не может, но из собственного опыта работы посоветуем, чтобы объем дискового пространства в GB и объем кэш-памяти в MB представляли величины хотя бы одного порядка.

Как правильно выбрать режим работы кэша

У кэша RAID-матрицы есть два режима работы: сквозная запись (Write Through) и отложенная запись (Write Back). При первом режиме контроллер не дает подтверждения записи, пока данные не попали на диски, при втором достаточно того, чтобы данные попали в кэш. Второй режим помогает значительно увеличить производительность RAID-системы. Особенно это сказывается при наличии большого кэша и режима записи/чтения маленьких объемов информации. Существенный недостаток его в том, что при потере питания на контроллере или аппаратной перезагрузки информация безвозвратно теряется, так и не попав на диски. Здесь возможны три варианта: отказ от дополнительного быстродействия RAID-системы в пользу надежности; пренебрежение возможностью потерять данные из кэша в пользу производительности; приобретение дополнительного устройства BBU (cache Battery BackUp) для питания и регенерации содержимого кэш-памяти в случае аппаратного отказа более высокого уровня (контроллер, материнская плата, блок питания, UPS).

Возможно ли улучшить производительность чтения длинных файлов

Да. Жесткие диски показывают плохую производительность при чтении случайных секторов. Можно повысить этот показатель, если читать предполагаемый сектор заранее. Для этого в конфигурационной утилите контроллера существует опция "чтение вперед" (Read ahead). Если в данных имеются часто используемые длинные файлы необходимо установить параметр с состояние "активно".

Как определить состояние контроллера при зависании сервера

Какими бы ни были надежными сервера и операционные системы, нельзя быть уверенным, что система не зависнет. Самое неприятное в этой ситуации — необходимость делать аппаратную перезагрузку, не представляя себе, что происходит с дисковой системой. Предотвратить эту ситуацию можно при аппаратной установке RAID. На плате контроллера имеется разъем для трех индикаторов: активность SCSI-шины, активность шины PCI (EISA), "полный кэш" (данные в кэше еще не попали на диск). Желательно последний из них вывести на светодиод корпуса сервера. По состоянию этих индикаторов можно определить активность контроллера. При "чистом" кэше можно смело делать перезагрузку, не опасаясь потери данных. По рекомендации производителя необходимо выждать не менее 15 сек. после зависания или не менее 3 сек. после выключения индикатора "полный кэш", прежде чем делать перезагрузку. Разумеется, все это относится к случаю использования режима Write Back без установленного модуля BBU. При наличии BBU содержимое кэш-памяти сохраняется и после перезагрузки автоматически переносится на жесткие диски.

Чем отличаются модели MYLEX DACPG и MYLEX DACPJ

Это практически идентичные по функциональным возможностям серии контроллеров для шины PCI с каналами UltraWIDE SCSI. Принципиальное различие в типе RISС-процессора. На модели PG установлен более экономичный i960RP 33MHz, а на модели PJ — более производительный i960RD 66MHz. Кроме того, для дальнейшего повышения производительности управление кэш-памятью в модели PJ перенесено из firmware в отдельный кристалл контроллера памяти 86238. В соответствии с этим серия PG больше подходит для решений с упором на экономичность, в то время как серия PJ ориентирована на максимальное быстродействие.

Чем отличаются модели DACPG/PJ и серия AcceleRAID

Новая экономичная серия контроллеров AcceleRAID 150 и 250 создана на базе DAC960PG и PJ соответственно, т.е. использует одинаковые с ними процессоры, микросхемы поддержки и алгоритмическую реализацию. Серия AcceleRAID ориентирована на минимальный бюджет, поэтому собрана на плате половинной длины, для чего разработчикам пришлось ограничиться всего лишь одним SCSI каналом и отказаться от возможности установки BBU. Правда, взамен за это пользователь получает уже не UltraWIDE SCSI, а в два раза более производительный канал Ultra2. Кроме того, контроллер может использовать имеющиеся на материнской плате канальные SCSI процессоры Symbios для организации дополнительных RAID-каналов, превращаясь таким образом в 2-х или даже 3-канальный.

Какими средствами можно конфигурировать RAID

С любым RAID-контроллером должна поставляться утилита конфигурации под MS-DOS (daccf.exe). После физической установки RAID-контроллера можно загрузиться с дискеты или дополнительного винчестера и запустить утилиту. После создания матрицы и системных дисков всю конфигурацию можно сохранить на дискете прямо из программы. После окончания работы и перезагрузки получаются готовые для работы системные диски.

В контроллерах 5-го поколения (PG, PJ , AcceleRAID 170, AcceleRAID 170LP, AcceleRAID 352 ) и выше эта же конфигурационная утилита присутствует в BIOS самого контроллера и может вызываться по Alt-R при начальной загрузке.

Подключение внешних устройств

Учитывая малый размер задней планки (bracket), производитель был вынужден отказаться от использования распространенных разъемов Micro DB-68 и применить сверхминиатюрные разъемы UHD (Ultra High Density). Таким образом, внешний соединительный кабель со стороны контроллера должен иметь разъем UHD, а с другой стороны — любой удобный пользователю, обычно Micro DB-68.

Как предупредить выход HDD из строя

Вылет нескольких дисков разом в 99% случаев бывает либо по причине внешнего воздействия, либо по причине несовместимости, либо по причине кабельной системы. Мониторинг SMART тут никак не поможет.

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

Как предпочтительнее производить замену диска

Теоретически - надежнее с выключенным питанием. Практически - без разницы. RAID-массив не влияет на отказоустойчивость. Он влияет на доступность данных при выходе из строя одного или нескольких дисков в массиве. На отказоустойчивость влияет наличие бэкапов на внешних устройствах.

Что такое LUN (лун)

LUN - Logical Unit Number

В сказевых системах (а также FC, SAS и практически всех рэйд контроллерах, даже SATA) используется следующая схема адресации устройств - шина (Bus) - адрес (ID) - подадрес (LUN). Аналогия простая: улица - дом - квартира.

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

Луном может быть не только логический диск. Это может быть например мониторинговый SES процессор или сам контроллер (для управления непосредственно через шину, без Ethernet хвоста).

Что такое "bad stripes"

Кратко - это значит, что на дисках имеются сбойные блоки, информацию из которых контроллер не способен восстановить.
Это может быть:

бэд блок на винте, если массив degraded (т.е. парити для этого блока просто нет).

бэд блоки на двух и более винтах с одинаковыми адресами (т.е. разрушен одновременно и блок данных, и соответствующий ему блок парити).

аналогично предыдущему, но повреждения не физические, а логические (например вследствие краха питания при включенном кэше дисков или контроллера, при отсутствии BBU).

Такое может случиться с любым рэйд контроллером, не только адаптек. Просто адаптек в таком случае не объявляет массив "dead", а помечает блоки как сбойные и сигнализирует админу, давая возможность успеть разобраться (т.е. сбэкапить то, что еще можно).

Диски и контроллер при этом могут быть исправны.

Вылечить это НЕВОЗМОЖНО. В принципе невозможно. Можно только предотвратить.
Во избежание подобных разрушений:

выключать кэш на дисках.

всегда использовать BBU при включенном write back кэше контроллера.

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

Общая последовательность действий при отказе винта в RAID

Отключаем отказавший винт, вытаскиваем из сервера.

Подключаем отказавший винт к "просто" SCSI-контроллеру (HBA, не RAID) и проверяем утилитой вендора винта.

Если винт исправен - подключаем его обратно и делаем Rebuild, либо, если был hot-spare - помечаем как hot-spare именно этот винт.Если неисправен - меняем на заведомо исправный, потом делаем то, что описано выше в п.3 для исправного.

Очень желательно - выполняем Check Consistency/Verify/как оно еще называется у вендоров, смысл - проверка целостности массива.

Чего делать ни в коем случае нельзя:

вытаскивать и быстро вставлять обратно винт: помните, и у контроллера, и у SAF-TE процессора корзины есть время между опросом винтов, и если Вы умудритесь сделать описанное выше за меньшее, чем это, время - реакция контроллера может быть непредсказуемой: с большой вероятностью массив просто развалится. Просто подождите от 30 секунд до минуты, прежде чем вставлять винт обратно.

переставлять на Degraded или Failed массиве винты местами: Drive Roaming - фича, позволяющая контроллеру опознавать принадлежность винтов к конкретным массивам при смене SCSI ID - не работает, и если Вы забудете, где какой винт стоял (а это, поверьте, совсем не сложно) - убьете информацию на массиве.

Что такое HBA

HBA - Host Bus Adapter. Простой контроллер, который ставится в сервер и имеет наружу или внутрь интерфейс нужного типа (SCSI , SAS, FibreChannel . ). Примеры - Adaptec 29320А, Adaptec 29320АLP , Qlogic QLA2460 . Применяется обычно для подключения разного рода стримеров, внешних дисковых массивов.

Часто также подключаются диски, если не требуется функционал, надежность и производительность полноценных RAID контроллеров.

Иногда имеет примитивные рэйдовые функции (страйп, зеркало). Но работают такие "hostraid'ы" далеко не всегда стабильно.

Виды кэша на рейд контроллерах LSI и Intel

Всем привет, давно хотел написать для себя напоминалку, по поводу того какие виды кэша на рейд контроллерах LSI и Intel бывают, и какие настройки лучше всего выставлять для достижения максимальной производительности на ваших RAID контроллерах. Сразу хочу отметить, что если у вас есть запас времени, перед, тем как отдать сервер в продашен заказчику, то не поленитесь все же провести несколько тестов с разными настройками, и не забывайте, до их начала обновить все прошивки на оборудование и RAID контроллер.

Общие понятия по видам кэш

Существует три разновидности cache на RAID контроллерах:

  • read policy
  • write policy
  • i/o policy

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

Read policy (Политика чтения)

Политика Read Ahead Policy: При ее включении контроллер начинает считывать последовательно сектора на диске, находящиеся за сектором с которого извлекается информация. При низкой фрагментации данная политика позволяет увеличить скорость чтения. Каждая операция чтения будет потреблять больше ресурсов жесткого диска, но если запросы на чтение последовательные это может существенно уменьшить количество запросов на чтение на жесткие диски и может существенно повысить производительность. Этот параметр будет работать только если типичный размер запроса на чтения меньше, чем ширина полосы пропускания.

Политика No Read Ahead (Normal) : При данном режиме контроллер не будет считывать последовательно данные, данный режим предпочтительнее когда будут производиться рандомные (случайные) чтения. Также этот режим рекомендуется при измерении последовательного чтения с помощью I/O meter под Windows.

Политика Adaptive Read Policy : по сути политика адаптивного чтения при которой контроллер запускает политику упреждающего чтения только после того, как две последние операции запрашивали доступ к последовательно идущим блокам данных. Если далее идут блоки рандомно разбросанные по дисковой подсистеме контроллер возвращается в нормальный режим работы. Этот режим рекомендуется использовать, если нагрузка на RAID контроллере подразумевает смешанные и последовательные операции.

Read policy

Write policy (Политика записи)

Политика W rite-Through : Включая данную политику контроллер начинает посылает сигнал о завершении записи только тогда, когда информация упадет на физические носители, т.е. 100 процентов будет уже на жестких дисках. Обеспечивает более высокую безопасность. Данный режим не использует кэш для ускорения записи, и будет медленнее других, однако позволяет так же достичь хороших показателей при RAID 0 и RAID 10.

Политика Write-Back : Включая данный режим политика кэширования RAID контроллера начинает посылать сигнал о завершении записи только тогда, когда информация попадает в кэш контроллера, но еще не записана на дисковый массив. Обеспечивает более высокую прозводительность чем при политике write-through. Приложение продолжает работать, не дожидаясь, чтобы данные были физически записаны на жесткие диски. Но есть одно большое, но если во время работы RAID контроллера в таком режиме у вас пропадет электричество, то с 99 процентной вероятностью вы потеряете данные, для предотвращения этого есть BBU батарейки или модули защиты данных, так же советую проверить что у вашего сервера есть UPS (источник бесперебойного питания) и дублирующее подключение питания от блока питания.

Политика Write-Back with BBU : Данный режим это все тот же Write-Back, но разница в том, что у нас есть батарейка BBU, которая предотвращает потерю данных при выключении электропитания.

BBU или Battery Backup Unit (Модуль Резервной Батареи). BBU дает батарейную защиту питания для cache RAID контроллера. В случае сбоя питания, BBU поможет сохранить данные в кэше.

Write policy lsi

I/O Policy (Политика ввода/вывода)

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

Политика direct IO : чтение происходит с дисков. Прямой режим I/O рекомендуется в большинстве случаев. Большинство файловых систем и множество приложений имеют свой собственный кэш и не требуют кэширования данных на уровне контроллера RAID.

Политика Cached IO : При ее включении чтение происходит с дисков, но прочитанные данные одновременно кладутся в кэш. Запросы тех же данных в последствии берутся из кэша. Этот режим может потребоваться, если приложение или файловая система не кэширует запросы чтения

io policy

Disk cache policy : это политика кэша диска. Если ее включить то на дисках будет храниться дополнительный кэш, это будет влиять на скорость записи в худшую сторону, но будут быстрее считывание, так же при включенном режиме есть риск потери данных.

Disk cache policy

Настройка RAID контроллера для лучшей производительности

Любой инженер по системам хранения данных, хочет чтобы его инфраструктура работала как можно быстрее и использовала весь функционал заложенный в ней. Каждый вендор RAID контроллеров, имеет некий best prictice для своей продукции, давайте сегодня рассмотрим их на примере контроллеров Intel и LSI.

Оптимальные настройки для контроллеров Intel

Ниже представлена таблица с рекомендуемыми настройками для контроллеров Intel, для достижения максимальной производительности. О таких параметрах как Stripe size, Virtual Drive initialization, Consistency Check, Patrol Read мы поговорим ниже. Как видите лучшим режимом чтения является Adaptive Read Ahead, а режимом записи Write Back.

Optimal RAID Settings Intel

Оптимальные настройки для контроллеров LSI

Ниже представлена таблица с рекомендуемыми настройками для контроллеров LSI, для достижения максимальной производительности. Будут рассмотрены сводные таблицы для HDD и для SSd дисков.

Оптимальные настройки для HDD

Размер stripe 256 kb, включение disk Cache Policy включен, выбран I/O Policy Direct IO, нужно дать закончить lun инициализацию

MegaRAID Settings for Maximum HDD Performance

MegaRAID Settings for Maximum HDD Performance

Оптимальные настройки для SSD

Размер stripe 256 kb, включение disk Cache Policy включен, выбран I/O Policy Direct IO, нужно дать закончить lun инициализацию, режимы записи для разных видов RAID разные.

MegaRAID Settings for Maximum SSD Performance

MegaRAID Settings for Maximum SSD Performance

Если вам позволяет время то советую протестировать все возможные варианты кэширования для вашего RAID контроллера

Оптимальные настройки для HP контроллеров

Факторы влияющие на производительность

Рассмотрим что такое Stripe size, Virtual Drive initialization, Consistency Check, Patrol Read.

Virtual Drive initialization - это зануление, блоков раздела, перед тестирование скорости советую дождаться полной инициализации. По времени занимает по разному все зависит от размеров массива.

Stripe size - Размер блока данных одной ячейки раздела, по сути карта как данные распределены по жестким дискам. Размер страйпа может иметь большое влияние на
Конфигурирование RAID для оптимальной производительности и других факторов эффективности. Как правило при последовательных данных увеличить скорость RAID контроллера можно с помощью размеров stripe 512 kb или 1 mb. При случайном виде доступа лучше 16 кб, все зависит от того какое По у вас будет крутиться на данном разделе. Но в большинстве случаев лучше оставить стандартный размер, предлагаемый производителем.

Stripe size

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

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

RAID массив на контроллере LSI

Чем отличаются типы массивов и вообще, что такое RAID рассказывается здесь.

Типичная задача — создать системный раздел, массив RAID1 из двух дисков.
1. Параметр работы контроллера поменять с SATA на RAID.
Configure SATA as -> RAID

Подключение RAID контроллера в BIOS

После перезагрузки утилита выведет список доступных физических дисков

соберем из дисков RAID массив

2. Нажать CTRL+M или Enter для продолжения конфигурации

начинаем конфигурирование raid массива

3. В разделе Configure -> Easy Configuration -> пробелом выбрать нужные диски.

Выбор дисков в RAID массив

Выбираем тип RAID 1

4. Сконфигурировать массив:

    • тип RAID: 1
    • DWC: off
    • RA: off
    • сохранить конфигурацию — Esc -> Save Configuration -> Yes

    Сохраняем конфигурацию

    5. Проинициализировать вновь созданный виртуальный диск — пункт меню Initialize.

    Поступил вопрос от DBA, написать о том, как разбиты диски на массивы в сервере Oracle Linux. Я, честно говоря, уже и не помню что мы там конфигурировали, воспользуемся средствами операционной системы и утилитой StorCLI.

    Утилита работает и в других операционных системах на базе Linux, есть версия и для Windows, но у меня именно Oracle Linux 7.6, работаю с тем что есть.

    storcli

    Окружение

    Имеем сервер Supermicro 4U и серверную полку 4U, всего 48 жёстких дисков HDD 3.5' объёмом 6 Тб каждый.

    supermicro

    В сервере также имеется Rear 2.5 x 2 Hot swap HDD — 2 SATA диска HDD 2.5' объёмом 1 Тб каждый.

    supermicro

    Раньше уже писал про то, как разбить эти диски в зеркало для ОС:

    Дополнительно известно, что в сервере установлены два RAID контроллера, один обслуживает диски сервера, второй — диски полки.

    Массивы в операционной системе

    Посмотрим что у нас примонтировано:

    У нас есть два массива md10 и md20 по 66 Тб каждый. ОС крутится на md126.

    lsblk показывает, что md10 — это RAID0, состоящий из двух дисков sda и sdb. md20 — это RAID0, состоящий из двух дисков sdc и sdc. md126 — это RAID1, состоящий из двух дисков sde и sdf.

    mdadm — утилита для создания массивов в linux, /proc/mdstat — статистика и состояние массивов.

    Мы видим, что md126 — raid1 из двух дисков, md127 — это IMSM контейнер для md126. md10 и md20 — RAID0 массивы из двух дисков.

    Ясно, что md126 — это зеркало RAID1 из двух физических задних дисков сервера. А вот sda, sdb, sdc и sdd — это некие массивы RAID контроллеров сервера, нужно разобраться, из чего они состоят.

    StorCLI

    storcli

    Утилиту ищем в секции DOWNLOAD.

    storcli

    Скачиваю утилиту storcli.

    storcli

    Это очень мощная утилита по управлению RAID контроллером. Сегодня нам понадобится минимум функционала для определения состава массивов.

    Данная команда выведет детальную информацию. Среди всего списка нам понадобится:

    Здесь мы увидим количество и модели контроллеров, их состояние.

    Получим список виртуальных дисков для каждого контроллера:

    Всего найдено 4 массива RAID10 по 32 Тб каждый. Это они у нас отображаются в операционной системе как sda, sdb, sdc, sdd.

    Посмотрим на физические диски:

    Этой информации нам достаточно, чтобы определить, что каждый RAID10 массив состоит из 12 дисков. Spare диски отсутствуют.

    Результат

    Мы выяснили, что на сервере созданы 4 hardware RAID10 массива по 12 дисков HDD 3.5' 6Тб и один software Intel RAID1 из 2 дисков HDD 2.5' 1Тб.

    Далее 4 hardware RAID10 массива в операционной системе попарно объединены в RAID0 массивы средствами mdadm.

    Читайте также: