Когда говорят о безопасности хранения данных, имеют в виду RAID. Сегодня используются как текущий стандарт RAID 6, так и предшествующий RAID 5. Современный мир виртуализации также базируется на объединении жестких дисков в массивы. RAID содержат и серверы NAS. Контроль четности в массивах RAID 6 позволяет справиться с отказом двух жестких дисков, но и в этом случае не исключается потеря данных — впрочем, их спасение тоже возможно.
Все типы массивов RAID таят в себе две угрозы отказа: сбой аппаратного обеспечения и логические ошибки. Границы между ними достаточно зыбкие: отказ аппаратного обеспечения часто приводит к нарушению логических структур. Кроме того, логические ошибки нередко появляются из-за погрешностей в управлении. Ошибки возникают и вследствие изменения организации данных, а также в результате неправильного составления или отсутствия центральных каталогов. При перераспределении ресурсов хранения в объединении жестких дисков, организованном в виде виртуального массива RAID, при определенных обстоятельствах могут быть удалены данные, хранившиеся на логических устройствах (Logical Unit Number, LUN). Тогда контроллер пытается обратиться к секторам данных, занятым другой информацией.
В целом надежность хранения зависит от того, на какие задачи ориентированы массивы в большей степени — на скорость доступа или на сохранность данных. Высокая производительность за счет чередования данных (Striping; RAID 0) без какой-либо защиты, наивысшая степень надежности и избыточности благодаря функции зеркалирования (Mirroring; RAID 1), а также контроль четности (RAID 5 и RAID 6) обеспечивают разные уровни защищенности данных. В виртуальных массивах RAID картина еще более пестрая, так как здесь могут параллельно использоваться самые различные варианты.
Но независимо от числа отказов жестких дисков, с которыми может справиться массив RAID, стопроцентная защита не обеспечивается. Производители рассчитывают среднее время до потери данных (Mean Time to Data Loss, MTDL), исходя из сочетания таких факторов, как среднее время до отказа (Mean Time to Failure, MTTF), среднее время восстановления (Mean Time to Recovery, MTTR) и количество жестких дисков. Согласно этим расчетам, в массиве, состоящем из 60 дисков, при нормальных условиях эксплуатации и равной вероятности возникновения ошибок потеря данных в RAID 5 наступит через 6 месяцев, а в RAID 6 — через 25 лет.
Но для массивов RAID 6 всегда существует 5-процентная вероятность того, что потеря данных произойдет в течение первых пяти лет. Безусловно, стандарт RAID 6 способствует повышению уровня защиты данных, но расчеты, ориентированные на лабораторные условия, не отражают реального положения вещей. Так, в них полностью игнорируются некоторые основные источники возникновения сбоев, в частности ошибки управления. При этом именно ошибки управления являются, по опыту Kroll Ontrack, причиной 65% случаев потери данных в виртуальных средах.
СПАСЕНИЕ ДАННЫХ В RAID
Традиционные массивы RAID не могут обеспечить абсолютную защиту. Системы RAID 6 способны справиться с отказом двух жестких дисков, но если из-за ложного чувства защищенности проигнорировать сбой первого жесткого диска, то при следующем отказе потеря данных все-таки произойдет.
Причины сбоя аппаратного обеспечения могут быть самыми разнообразными: отдельные сектора или пишущие/читающие головки жестких дисков могут оказаться поврежденными или контроллер даст сбой, к примеру, в результате перегрева. Частыми причинами для сбоев в массиве RAID могут быть ошибки объединительной платы (Backplane) или проблемы с подключением вставных модулей. Не следует недооценивать угрозу потери настроек контроллера RAID.
Еще один источник опасности — сочетание ошибок управления и сбоев оборудования, к примеру ненадлежащим образом выполненная замена запчастей. Даже квалифицированный специалист по ИТ не всегда способен понять, почему после замены контроллера или установки якобы идентичной платы последовали сбой и потеря данных. В одном случае контроллер перевел один из жестких дисков в режим неисправного состояния. Техник заменил объединительную плату и хотел произвести процедуру восстановления (Rebuild), но поскольку жесткий диск не был идентичным, восстановление не запустилось. В результате массив RAID 5 какое-то время функционировал в ухудшенном режиме (Degraded Mode) с двумя дисками вместо трех. В ходе следующей попытки даже правильный, конструктивно идентичный диск не вызвал запуска процесса восстановления. После перезагрузки системы через BIOS контроллера новый диск был добавлен в массив RAID 5 с помощью команды добавления и миграции (Add and Migrate). Позже выяснилось, что контроллер воспринимал неисправный жесткий диск все еще как составную часть массива. Судя по всему, в тот момент функционировал массив RAID 5, состоящий из четырех дисков с одним неисправным, поэтому новый расчет был неверен. Быстрый перезапуск сервера привел к тому, что считывать какие-либо данные стало невозможно. В такой ситуации остается только прибегнуть к восстановлению информации на основании выполненных ранее резервных копий или отправляться к специалистам по восстановлению данных.
Ошибки в обслуживании являются распространенной причиной возникновения сбоев. Часто встроенные инструменты применяются в неподходящий момент. Например, после сбоя жесткого диска производится повторная инициализация массива RAID, хотя следовало бы произвести его восстановление — и даже эта операция может быть связана с риском. Нераспознанные структурные и физические проблемы исправить нелегко. Неправильная инициализация новых дисков опасна потому, что новая проверка на четность записывается с учетом старых проверок и предстает в качестве новой проверки на четность замененного жесткого диска, хотя на самом деле требуется восстановить неисправный жесткий диск на новом с помощью оставшихся функционирующих дисков.
Такая ситуация может случиться и у профессиональных провайдеров, которые оказывают услуги по предоставлению выделенных серверов. В одном из случаев массив RAID 5 состоял из трех жестких дисков емкостью 700 Гбайт каждый под управлением Windows с файловой системой NTFS. После замены одного из жестких дисков процесс восстановления неожиданно вызвал потерю всех данных. Затем последовали новое разбиение дисков и их повторная установка. Из трех изначально имевшихся томов получилось два тома NTFS. Изменения, вызванные процессом восстановления и повторной инсталляцией, были устранены с помощью специального инструмента. Причем делать это надо как можно быстрее — чем дольше длится работа по устранению сбоя, тем большее количество данных подвергается перезаписи. Перезаписанные данные уже не удается убрать, поскольку электромагнитное состояние диска изменяется, а значит, все изменения становятся необратимыми.
В ходе спасения данных пришлось изъять из процесса восстановления один из слишком сильно поврежденных жестких дисков. В результате один том остался неучтенным. Ущерб, нанесенный области, куда перезаписывались данные в процессе повторной инсталляции, оказался слишком большим. К счастью, пострадали только системные файлы. После проверки ошибок и фильтрации удалось спасти 550 Гбайт данных, содержащих важные сведения о клиентах.
ВИРТУАЛИЗАЦИЯ И RAID
Массивы RAID приобретают в виртуальных средах все более важное значение. Крупномасштабные виртуальные инфраструктуры всегда базируются на объединениях жестких дисков. К примеру, в основе системы HP EVASAN — массивы RAID 6. DataCore SANmelody или Sun ZFS тоже часто используют в качестве фундамента алгоритмы RAID. Эти решения распределяют информацию независимо от аппаратного обеспечения. Отдельные жесткие диски объединяются в логические устройства, а данные распределяются по ним по принципам RAID, но такой независимый от аппаратного обеспечения массив подвержен и типичным для RAID рискам. Столь явная угроза часто недооценивается, и в результате необходимость резервного копирования игнорируется пользователями. К примеру, в одной из корпоративных сетей хранения (Storage Area Network, SAN), состоящей из 88 жестких дисков емкостью 320 Гбайт каждый, в результате затопления помещения вышло из строя 24 жестких диска. Ненадлежащим образом организованная структура сети привела к необходимости обращения к специалистам по восстановлению данных.
Банальной и достаточно распространенной ситуацией, имеющей тяжелые последствия, является отключение одного из объединенных между собой логических устройств. По своим последствиям этот инцидент эквивалентен отказу жесткого диска. Сложная организация данных и здесь приводит к возникновению как логических ошибок, так и ошибок в структуре файловой системы виртуальной машины. При этом виртуальная машина ссылается на отсутствующие адреса блока памяти, которые уже не используются контроллером массива RAID. Файлы буквально обрезаются. В наиболее неприятных ситуациях, помимо сбоев в файловой системе, возможны все сценарии, в результате которых возникают некорректные записи. Так, каталоги могут исходить из неправильного размера файлов, и в результате возникают ошибки при считывании соседних областей памяти, а файл воспринимается виртуальной машиной как поврежденный.
В управлении данными ключевая роль отводится контроллеру. В одном из сценариев массив RAID 5 с пятью жесткими дисками был подключен к серверу VMware ESX, в котором содержались данные объемом 1,2 Тбайт. В этом массиве размещались четыре виртуальные машины Windows Server 2003, а в MS SQL 2005 хранились медицинские сведения о пациентах. Когда контроллер вышел из строя, его заменили на новый, но и после перезагрузки все жесткие диски оставались отключенными. Отдел ИТ столкнулся с дилеммой: принудительный запуск жестких дисков и восстановление не гарантировали успеха.
Вначале ИТ-администратор создал точные копии на жестких дисках равного объема и затем подключил эти копии. Таким образом удалось обнаружить поврежденную конфигурацию массива RAID. Решить проблему удалось с помощью замены контроллера на программное обеспечение, разработанное специалистами по восстановлению данных. Подобный подход позволяет установить чередование данных, определить исходную конфигурацию массива RAID и имитировать контроллер RAID с помощью соответствующего ПО. В процессе восстановления этот виртуальный слой менеджера RAID функционировал как исходное логическое устройство.
ПРОФИЛАКТИКА ЛУЧШЕ ЛЕЧЕНИЯ
Даже если массивы RAID и фундамент виртуальной среды представляются весьма надежными, вероятность потери данных нельзя исключать. Традиционные риски — наподобие отказа аппаратного обеспечения, ошибок в управлении или вмешательства непреодолимых сил — остаются. Главное — выбрать правильный алгоритм действий в критической ситуации. Несколько простых правил помогут в большинстве случаев: отказ жестких дисков необходимо воспринимать всерьез и быстро устранять, а в спорных случаях ремонт надо поручать специалистам.
Но администраторы могут принять и превентивные меры: во многих случаях постоянно обновляемая тщательная документация — это уже половина дела при восстановлении данных. Если в критической ситуации эти сведения можно использовать в качестве основы для тесного взаимодействия со специалистами, то шансы на успех весьма велики. Резервные копии остаются главной гарантией сохранности данных и в виртуальных средах.
Петер Берет — управляющий директор компании Kroll Ontrack.