patrol read что это
Автоматизация проверки на целостность рейд-массива на сервере Dell
Несколько месяцев назад у нас возникли проблемы с одной виртуальной машиной, запущенной на сервере Dell PowerEdge R720 с ESXi 5.5. Перезагрузка этой VM длилась довольно долго и вызвала сильное падение производительности на самом хосте.
Lifecycle-лог на сервере был наполнен сообщениями вида:
PDR47
A block on Disk 0 in Backplane 1 of Integrated RAID Controller 1 was
punctured by the controller.
PDR64
An unrecoverable disk media error occurred on Disk 0 in Backplane 1 of
Integrated RAID Controller 1.
Гугление привело к неутешительному выводу: рейд-массив поврежден и восстановить его невозможно. А именно — повредились данные, относящиеся к одному блоку (страйпу), сразу на нескольких дисках (double fault):
К счастью, делловские RAID-контроллеры обладают фичей продолжать работу, несмотря на неконсисентное состояние массива — puncture (https://www.dell.com/support/Article/us/en/04/438291/EN#Unique-Hyphenated-Issue-Here-2), что позволяет сохранить хотя бы ту часть данных, которая не повредились. Это, конечно, не никак отменяет необходимость последующей замены дисков и пересборки рейд-массива «с нуля».
Для предотвращения подобных ситуаций Dell рекомендует запускать проверку целостности массива не реже одного раза в месяц. Увы, но мы об этом узнали слишком поздно.
Такую проверку можно запускать как через веб-интерфейс Dell OpenManage Server Administrator (http://www.dell.com/support/contents/us/en/19/article/Product-Support/Self-support-Knowledgebase/enterprise-resource-center/Enterprise-Tools/OMSA/), так и через утилиты omconfig/omreport, входящие в OMSA. И, если бы разработчики из Dell не «забыли» включить эти утилиты в OpenManage для ESXi, то проблем с автоматизацией бы не возникло, т.к. понятно, что ручная проверка целостности массива на каждом сервере, совершенно не IT-way. Не говоря уже о том, что интерфейс OMSA очень медленный и работать с ним удовольствие еще то.
Ребята из Dell «поработали на славу» и простым способом автоматизировать проверку (например, через открытие в cURL заранее подготовленной ссылки) невозможно, т.к. веб-интерфейс генерируется динамически и постоянные ссылки в нем отсутствуют.
Пришлось немного повозиться и написать утилиту проверки самому. Встречайте: Consistency Check Task Automation Tool for Dell servers with iDRAC (https://github.com/jazzl0ver/dell_raid_cc). Утилита написана с помощью фреймворка CasperJS, который позволяет автоматизировать работу как раз с подобными динамическими сайтами.
Found: Virtual Disk 0 [state: Ready; layout: RAID-10; size: 1,862.00GB]
CC for Virtual Disk 0 has been started
Found: Virtual Disk 1 [state: Ready; layout: RAID-1; size: 931.00GB]
CC for Virtual Disk 1 has been started
Found: Virtual Disk 0 [state: Resynching; layout: RAID-6; size: 5,026.50GB]
CC for Virtual Disk 0 is still running, progress: 19% complete
Стоит сказать, что утилита не поддерживает многоконтроллерные системы (у меня просто таких нет и протестировать, соответственно, не на чем).
Надеюсь, утилита окажется полезной не только мне.
UPD. Как подсказали коллеги в комментариях, более правильно настроить запуск проверки на целостность по расписанию с помощью утилиты megacli. Например:
Инструкции по установке на сервер с CentOS/RedHat — здесь
Настройка расписания CC — здесь
Под ESXi также легко устанавливается. Можно поставить vib напрямую, либо сделать из него bundle и поставить в качестве обновления через vCenter.
UPD. #2 Контроллеры Perc5 не поддерживают настройку расписания через MegaCli:
Adapter 0: Scheduled Chceck Consistency is not supported.
Patrol read что это
MegaRAID Patrol read
MegaRAID Patrol read periodically verifies all sectors(including system reserved area) of drives including hot spare connected to a controller. The goal is to protect data integrity by detecting drive failure before the failure can damage data. The corrective actions depend on the drive group configuration and the type of errors.
Patrol read starts only when the controller is idle for a defined period of time and no other background tasks are active, though it can continue to run during heavy I/O processes.
Note: A patrol read is initiated only when the controller is idle for a defined time period and has no other background activities, such as Background initialization, rebuilding, consistency check etc..
Read Patrol is an adaptive process that runs as a background operation on the MegaRAID controller. It is adaptive, so that during periods of high disk access by the host applications, read patrol activity is lessened, and thus does not interfere with the applications.
During periods of lesser disk accesses by host applications, the read patrol activity can be increased. The purpose is to make sure that all stripes of a logical drive are read within a reasonable period of time, thus trying to ensure that the user’s data is available when needed. This process causes the drives to read the data by issuing read-verify commands. By using the read-verify command, the data from the drives is not transferred to the MegaRAID adapter unless an error is detected and reported by one or more drives included in the stripe. If a single drive reports an error within the stripe, the read patrol function initiates read commands to all the other stripe unit drives and the data for this single failing stripe unit is recreated by the MegaRAID adapter from the remaining data and parity stripe units.
After recreating this data, the adapter then issues a write-verify command to the drive that reported the error on the read-verify command and writes this recreated portion of the stripe to that drive. After this write completes successfully, this is now a known good stripe, and read patrol can continue with the next stripe. In the event that two or more drives report errors during the read-verify portion of the read patrol, the failing stripe will be added to the Bad Stripe Table.
Patrol read что это
Всем привет, давно хотел написать для себя напоминалку, по поводу того какие виды кэша на рейд контроллерах LSI и Intel бывают, и какие настройки лучше всего выставлять для достижения максимальной производительности на ваших RAID контроллерах. Сразу хочу отметить, что если у вас есть запас времени, перед, тем как отдать сервер в продашен заказчику, то не поленитесь все же провести несколько тестов с разными настройками, и не забывайте, до их начала обновить все прошивки на оборудование и RAID контроллер.
Общие понятия по видам кэш
Существует три разновидности cache на RAID контроллерах:
Рассмотрим более детально, что из себя представляет каждая политика кэширования.
Read policy (Политика чтения)
Политика Read Ahead Policy: При ее включении контроллер начинает считывать последовательно сектора на диске, находящиеся за сектором с которого извлекается информация. При низкой фрагментации данная политика позволяет увеличить скорость чтения. Каждая операция чтения будет потреблять больше ресурсов жесткого диска, но если запросы на чтение последовательные это может существенно уменьшить количество запросов на чтение на жесткие диски и может существенно повысить производительность. Этот параметр будет работать только если типичный размер запроса на чтения меньше, чем ширина полосы пропускания.
Политика No Read Ahead (Normal) : При данном режиме контроллер не будет считывать последовательно данные, данный режим предпочтительнее когда будут производиться рандомные (случайные) чтения. Также этот режим рекомендуется при измерении последовательного чтения с помощью I/O meter под Windows.
Политика Adaptive Read Policy : по сути политика адаптивного чтения при которой контроллер запускает политику упреждающего чтения только после того, как две последние операции запрашивали доступ к последовательно идущим блокам данных. Если далее идут блоки рандомно разбросанные по дисковой подсистеме контроллер возвращается в нормальный режим работы. Этот режим рекомендуется использовать, если нагрузка на RAID контроллере подразумевает смешанные и последовательные операции.
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 поможет сохранить данные в кэше.
I/O Policy (Политика ввода/вывода)
Политика ввода/вывода определяет, будет ли RAID контроллер сохранять данные в кэше, который может уменьшить время доступа к ним при последующих запросах на чтение сделаными в те же самые блоки данных.
Политика direct IO : чтение происходит с дисков. Прямой режим I/O рекомендуется в большинстве случаев. Большинство файловых систем и множество приложений имеют свой собственный кэш и не требуют кэширования данных на уровне контроллера RAID.
Политика Cached IO : При ее включении чтение происходит с дисков, но прочитанные данные одновременно кладутся в кэш. Запросы тех же данных в последствии берутся из кэша. Этот режим может потребоваться, если приложение или файловая система не кэширует запросы чтения
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.
Оптимальные настройки для контроллеров LSI
Ниже представлена таблица с рекомендуемыми настройками для контроллеров LSI, для достижения максимальной производительности. Будут рассмотрены сводные таблицы для HDD и для SSd дисков.
Оптимальные настройки для HDD
Размер stripe 256 kb, включение disk Cache Policy включен, выбран I/O Policy Direct IO, нужно дать закончить lun инициализацию
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
Оптимальные настройки для HP контроллеров
Факторы влияющие на производительность
Рассмотрим что такое Stripe size, Virtual Drive initialization, Consistency Check, Patrol Read.
Обнаружение отказа жесткого диска, Patrol read, Параметры patrol read – Инструкция по эксплуатации Dell PowerEdge RAID Controller 5i
Страница 30: Горячая замена жесткого диска
Горячая Замена Жесткого Диска
Горячая замена представляет собой замену вручную замещаемого элемента в дисковой подсистеме
на неисправный, когда замену можно провести пока система работает (выполняет обычные функции).
Объединительная плата или корпус должны поддерживать горячую замену
для того, чтобы контроллеры PERC 5 поддерживали горячую замену.
Убедитесь, что диски SAS заменены на диски SAS, а диски SATA заменены
Во время замены диска убедитесь, что новый диск имеет такую же или большую
емкость, что и заменяемый диск.
Обнаружение отказа жесткого диска
Микропрограмма автоматически обнаруживает и восстанавливает отказавшие физические диски.
Автоматическое восстановление можно проводить в прозрачном режиме с помощью горячих резервов.
При конфигурировании горячих резервов контроллеры автоматически пытаются использовать их для
восстановления отказавших физических дисков.
Функция Patrol Read предназначена как превентивная мера, которая включает анализ системы на предмет
возможных сбоев физического диска, которые могут привести к отказу физического диска и нарушению
целостности данных. Операция Patrol Read может находить и устранять потенциальные проблемы с
физическими дисками перед доступом к хосту. Это может значительно повысить производительность
системы, так как устранение ошибок во время обычной операции ввода/вывода может не понадобиться.
Можно использовать программу управления памятью для выполнения функций Patrol Read.
Параметры Patrol Read
Ниже приведен обзор параметров Patrol Read:
1 Patrol Read работает на всех дисках на контроллере, которые сконфигурированы как часть
2 Patrol Read настраивает количество источников контроллера, предназначенных для операций
Patrol Read, основанных на незавершенном дисковом вводе/выводе. Например, если система
занята выполнением операции ввода/вывода, тогда Patrol Read использует меньше ресурсов для
обеспечения большего приоритета ввода/вывода.
3 Patrol Read работает на всех конфигурированных жестких дисках на контролере и не существует
метода для отмены дисков.
4 В итерации Patrol Read Patrol Read перезапустится с нулевого процента при Автоматическом
режиме. В ручном режиме Patrol Read не перезапускается при перезагрузке. Используйте ручной
режим, если выбрано окно времени, которое относится к работающему Patrol Read.
Patrol read, Функция patrol read – Инструкция по эксплуатации Dell PowerEdge RAID Controller 6E
Страница 45
О контроллерах PERC 6 и CERC 6i
Чтобы включить автоматическую замену элементов,
воспользуйтесь приложением для управления хранилищем данных Dell
OpenManage. Чтобы получить дополнительную информацию об
автоматической замене элементов см. «Приложение для управления
хранилищами данных Dell OpenManage» на стр. 83.
Для получения дополнительной информации о замене
Функция Patrol Read разработана как предупредительная мера для
поддержания физического диска в исправном состоянии и сохранения
целостности данных. Patrol Read сканирует сконфигурированные
физические диски и решает найденные потенциальные проблемы. Для
запуска функции Patrol Read и изменения ее поведения можно использовать
приложение для управления хранилищем данных Open Manage.
Функция Patrol Read
В нижеприведенном перечне представлен обзор поведения функции Patrol
Read:
1 Patrol Read работает сразу на всех дисках контроллера,
сконфигурированных как часть виртуального диска, включая
2 Patrol Read не работает на несконфигурированных физических дисках.
Несконфигурированные диски — это диски, которые не являются
частью виртуального диска, или диски, находящиеся в состоянии
3 Patrol Read изменяет количество ресурсов контроллера, выделенных
для выполнения операций Patrol Read, основываясь на очереди
операций ввода-вывода диска. Например, если система занята
выполнением операции ввода-вывода, то Patrol Read использует
некоторые ресурсы для того, чтобы повысить приоритет данной
4 Patrol Read не может работать на дисках, если они используются для
выполнения любой из следующих операций:
• Восстановление данных
• Замена элемента