Замена raid контроллера без потери данных

Обновлено: 04.07.2024

Хочу рассказать поучительную историю, которая случилась со мной на днях. На одном из серверов в ЦОД вышел из строя диск в составе рейда mdadm. Ситуация типовая, с которой регулярно сталкиваюсь. Оставил заявку в техподдержку на замену диска с указанием диска, который надо поменять. В цоде заменили рабочий диск и оставили сбойный. Дальше история, как я решал возникшую проблему.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Цели статьи

  1. Рассказать поучительную историю о том, какие могут быть проблемы при аренде серверов в ЦОД.
  2. Показать на примере, как надо действовать при выходе из строя диска в рейде mdadm.
  3. Простыми словами объяснить, в чем разница между программным и аппаратным рейдом.

Введение

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

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

Приведу несколько примеров косяков саппорта, с которыми сталкивался.

Было много всяких инцидентов помельче, нет смысла описывать. Хотя нет, один все же опишу. Устанавливал свой сервер в ЦОД. Решил пойти в маш зал и проконтролировать монтаж. Если есть такая возможность, крайне рекомендую ей воспользоваться. Местный рукожоп неправильно прикрепил салазки и сервер во время монтажа стал падать. Я его поймал, тем спас его и сервера других клиентов. В итоге помог с монтажом. Сам бы он просто не справился. Я не представляю, что было, если бы я не пошел в машзал. К чести руководства, я написал претензию, где подробно описал данный случай и попросил бесплатно месячную аренду. Мне ее предоставили. Советую всем так поступать. Зачастую, руководство может быть не в курсе того, что происходит в реальности. Надо давать обратную связь.

Уровень моего доверия к тех поддержке дата центров и хостингов вы примерно представляете :) Ну и вот случилось очередное ЧП. Подробнее остановлюсь на этой ситуации, так как она случилась вчера, свежи воспоминания.

Замена диска в рейде mdadm

Речь пойдет о дешевых дедиках от selectel. Я их много где использую и в целом готов рекомендовать. Это обычные десктопные системники за скромные деньги. Свое мнение об этих серверах, а так же сравнение с полноценными серверами сделаю в конце, в отдельном разделе.

На сервере была установлена система Debian из стандартного шаблона Selectel. Вот особенности дисковой подсистемы этих серверов и шаблона.

  • 2 ssd диска, объединенные в mdadm
  • /boot раздел на /dev/md0 размером 1G
  • корень / на /dev/md1 и поверх lvm на весь массив

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

Убедился, что один диск выпал из массива. В системном логе увидел следующее.

Замена диска в mdadm

Попробовал посмотреть информацию о выпавшем диске.

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

Я не стал разбираться, что там к чему с диском. Если вижу проблемы, сразу меняю. Предупредил заказчика, что с диском проблемы, нужно планировать замену. Так как железо десктопное, "сервер" надо выключать. Согласовали время после 22 часов. Я в это время уже сплю, поэтому написал тикет в тех поддержку, где указал время и серийный номер диска, который нужно было оставить. Я сделал на этом акцент, объяснил, что сбойный диск не отвечает, поэтому его серийник посмотреть не могу. Расписал все очень подробно, чтобы не оставить почвы для недопонимания или двойного толкования. Я в этом уже спец, но все равно не помогло.

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

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

Я создал тикет и попросил вернуть рабочий диск на место. К счастью, он сохранился. К нему добавить еще один полностью чистый. Хостер оперативно все сделал и извинился. В завершении прислал скриншот экрана сервера.

You are in emergency mode

И самоустранился. Дальше решать проблему загрузки он предложил загрузившись в режиме rescue. Этот режим доступен через панель управления сервером в админке, даже если сервер не имеет ipmi консоли. Как я понял, по сети загружается какой-то live cd для восстановления. Я в нем загрузился, убедился, что данные на месте, но понять причину ошибки не смог. Может быть и смог бы, если бы дольше покопался, но это очень неудобно делать, не видя реальной консоли сервера. Я попросил подключить к серверу kvm over ip, чтобы я мог подключиться к консоли. Тех поддержка без лишних вопросов оперативно это сделала.

К слову, мне известны случаи, когда техподдержка selectel потом сама чинила загрузку и возвращала mdadm в рабочее состояние. Видел такие переписки в тикетах у своих клиентов до того, как они обращались ко мне. Но я не стал настаивать на таком решении проблемы, так как боялся, что будет хуже. К тому же это было утро воскресенья и специалистов, способных это сделать, могло просто не быть. Плюс, я не думаю, что они обладали бы большими компетенциями, чем я. Я бы за их зарплату не пошел работать в ЦОД.

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

You are in emergency mode

У меня много примеров того, как я восстанавливал загрузку сломавшихся linux дистрибутивов.

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

Дальше нужно ввести пароль root и вы окажетесь в системной консоли. Первым делом я проверил состояние массива mdadm.

Состояние массива md0, на котором располагается раздел /boot - inactive. Вот, собственно, и причина того, почему сервер не загружается. Судя по всему, когда был подключен сбойный диск, mdadm отключил массив, чтобы предотвратить повреждение данных. Не понятно, почему именно на разделе /boot, но по факту было именно это. Из-за того, что массив остановлен, загрузиться с него не получалось. Я остановил массив и запустил снова.

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

Если вам это не поможет, предлагаю еще несколько советов, что можно предпринять, чтобы починить загрузку. Первым делом проверьте файл /etc/fstab и посмотрите, какие разделы и как там монтируются. Вот мой пример этого файла.

Вам нужно убедиться, что указанные lvm разделы /dev/mapper/vg0-root и /dev/mapper/vg0-swap_1 действительно существуют. Для этого используйте команду:

Подробно об этой команде, о работе с lvm и вообще с дисками я рассказываю в отдельной статье - настройка диска в debian. Если с lvm разделами все нормально, проверьте /boot. У меня он монтируется по uuid. Посмотреть список uuid всех разделов можно командой.

Как вы видите, у меня uuid раздела для загрузки полностью совпадает с тем, что указано в fstab. Если по какой-то причине uuid изменился (разобрали и собрали новый массив), отредактируйте fstab.

Все дальнейшие действия я делал уже по ssh. Скопировал таблицу разделов с рабочего диска sda на чистый sdb.

Проверил таблицы разделов и убедился, что они идентичные.

Копирование разделов с одного диска на другой

Скопировал раздел BIOS boot partition с рабочего диска на новый.

Потом добавил разделы диска sdb2 и sdb3 в рейд массив.

Дождался окончания ребилда и убедился, что он прошел. Проверил состояние массива.

cat /proc/mdstat

В завершении устанавливаем загрузчик на оба диска.

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

Вот и все по замене диска в массиве mdadm. После доступа к консоли сервера, мне потребовалось минут 10, чтобы вернуть сервер в рабочее состояние.

В чем отличия программного и аппаратного рейда

Сейчас расскажу, чем принципиально отличается программный рейд контроллер (mdadm) от аппаратного, для тех, кто этого до конца не понимает. Если бы у меня вышел из строя диск на аппаратном рейд контроллере, установленном в полноценный сервер, проблема по замене сбойного диска в RAID решалась бы в следующей последовательности:

  1. Рейд контроллер оповещает о том, что с диском проблемы и выводит его из работы. В случае с софтовым рейдом система может зависнуть в случае проблем с диском, прежде чем пометит его как проблемный и перестанет к нему обращаться.
  2. Я оставляю тикет в тех поддержку, где прошу заменить сбойный диск. Информацию о нем я посмотрю в панели управления рейд контроллером.
  3. Сотрудник тех поддержки видит сбойный диск, так как индикация на нем, скорее всего, будет мигать красной лампочкой. Это не гарантия того, что рукожоп все сделает правильно, но тем не менее, шансов, что он ошибется, меньше. Я сталкивался с ситуацией, когда и в этом случае диск меняли не тот.
  4. При появлении нового диска raid контроллер автоматически начинает ребил массива.

Если же у вас в сервере уже установлен запасной диск на случай выхода из строя диска в составе raid массива, то все еще проще:

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

И это все. В обоих случаях у вас вообще нет простоя. Вот принципиальная разница между mdadm и железным raid контроллером. Стоимость полноценного сервера с контроллером и постоянным ipmi доступом к консоли в среднем в 3 раза выше, чем у сервера на десткопном железе с софтовым рейдом при схожей производительности. Это все при условии, что вам достаточно одного процессора и 64G памяти. Это потолок для десктопных конфигураций. Дальше считайте сами, что вам выгоднее. Если возможен простой в несколько часов на замену диска или других комплектующих, то смело можно использовать десктопное железо. Mdadm обеспечивает сопоставимую гарантию сохранности данных в сравнении с железным контроллером. Вопрос лишь в простое и производительности. Ну и своевременные бэкапы добавляют уверенности в том, что вы переживете неполадки с железом.

При использовании железного рейда на hdd дисках, есть возможно получить очень значительный прирост скорости за счет кэша контроллера. Для ssd дисков я особо не замечал разницы. Но это все на глазок, никаких замеров и сравнений я не делал. Нужно еще понимать, что десктопное железо в целом менее надежное. К примеру, в том же селектеле на дешевых серверах я ловил перегрев или очень высокую температуру дисков. Прыгала в районе 55-65 градусов. Все, что ниже 60-ти, тех поддержка футболила, говоря, что это допустимая температура, судя по документации к дискам. Это так и есть, но мы же понимаем, что диск, постоянно работающий на 59 градусах с бОльшей долей вероятности выйдет из строя.

Вот еще пример разницы в железе. Если у вас в нормальном сервере выйдет из строя планка памяти, сервер просто пометит ее как сбойную и выведет из работы. Информацию об этом вы увидите в консоли управления - ilo, idrac и т.д. В десктопном железе у вас просто будет постоянно виснуть сервер и вам придется долго выяснять, в чем же проблема, так как доступа к железу у вас нет, чтобы проще было запланировать тестирование сервера. А если вы закажете это у тех поддержки, то есть ненулевая вероятность, что станет хуже - сервер уронят, перепутают провода подключения дисков и т.д. В общем, это всегда риск. Проще сразу съезжать с такой железки на другую.

Заключение

Надеюсь, моя статья была интересной. Для тех, кто никогда не работал с ЦОДами будет полезно узнать, чего можно от них ожидать. Я скучаю по временам, когда все сервера, которые я администрировал, были в серверной, куда никому не было доступа и куда я мог в любой момент попасть и проверить их. Сейчас все стало не так. И твои сервера уже не твои. Их может сломать, уронить, что-то перепутать сотрудник тех поддержки дата центра.

Сейчас большой тренд на переход в облака. Я смотрю на эти облака и не понимаю, как с ними можно нормально взаимодействовать. Заявленная производительность не гарантированная, нагрузка плавает в течении суток. Упасть может в любой момент и ты не будешь понимать вообще в чем проблема. Твои виртуалки могут быть по ошибке удалены и кроме извинений и компенсации в 3 копейки ты ничего не получить. Каждое обращение в ТП как лотерея. Думаешь, что сломают в этот раз. Если сервера железные, то когда пишу тикет на доступ к железу, я морально и технически всегда готов к тому, что этот сервер сейчас отключится и я больше не смогу к нему подключиться.

В целом, опыт работы с облаками у меня негативный. Несколько раз пробовал для сайтов и все время съезжал. Нет гарантированного времени отклика. А это сейчас фактор ранжирования. Для очень быстрого сайта остается только один вариант - свое железо, а дальше уже кому какое по карману. Зависит от надежности и допустимого времени простоя.

Я про облака заговорил, потому что тенденции к тому, что от железных серверов надо отказываться и все переносить в облака. С одной стороны удобно должно быть. Как минимум, не будет указанных выше в статье проблем. А с другой стороны добавляется куча других проблем. Я пока сижу на железяках разного качества и стоимости. А у вас как?

Доброе утро, господа админы.
Нужна помощь: надо произвести замену морально устаревшего RAID-контроллера более новым.
Построен RAID 0+1.
Можно ли в принципе осуществить замену контроллера без перестроения (потери информации) построенного RAID. Как это сделать самым безболезненным путем?

Большое спасибо за ваши ответы.
ВВ.

Укажите что за контроллер у вас был, и на что планируете менять?

К примеру переход со старых контроллеров Mylex (DAC 960) на любые новые (например Mylex 352 ) проходит вообще без проблемм.

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

Спасибо за участие )
Меняем Mylex AcceleRAID 170 на ICP-Vortex GDT8523RZ jivvy писал(а): Меняем Mylex AcceleRAID 170 на ICP-Vortex GDT8523RZ Чем вызвана такая замена ? неужели просто двухканальность .
Это похоже шило на мыло . Если закупка ещё не произведена позвольте рекомендовать
LSI MegaRaid 320-2 : дешевле, быстрее (вероятно, требует проверки) и проверенней! ну. )))))))))))
он должен быть побыстрее.
На майлексе сейчас 32 Мб памяти, на ICP 256.
И если глянуть в спецификацию, то в некоторых моментах ICP покруче будет. Или это мне кажется? jivvy писал(а): Меняем Mylex AcceleRAID 170 на ICP-Vortex GDT8523RZ Чем вызвана такая замена ? неужели просто двухканальность .
Это похоже шило на мыло . Если закупка ещё не произведена позвольте рекомендовать
LSI MegaRaid 320-2 : дешевле, быстрее (вероятно, требует проверки) и проверенней! Спасибо большое за рекомендацию, в будущем учту обязательно.
Нам просто меняют Mylex На ICP за 200 баксов. По-моему, очень неплохой вариант, учитывая именно этот фактор. Или это иллюзия?

Лично я смотрю на такую замену скептически. Вот мои мысли вслух.
ICP Vortex как отдельной фирмы не существует.
Ранее ICP была куплена компанией Intel, от этой сделки Intel контроллеры стали чуть лучше, но топовые модели, которые ранее были у Vortex, были успешно забыты.
Недавно бизнес связанный с RAID компания Intel благополучно продала вкомпании Adaptec, и заключила более перспективное соглашение с LSI Logic, которая ранее прикупила бизнес Mylex.
Делаю выводы - ICP Vortex является разменной фишкой в игре больших компаний и не делает абсолютно никакой погоды на RAID рынке. LSI Logic - это 80% рынка RAID + сильная RAID команда с Mylex. ICP сколько значит на рынке - думаю < 5%.
Это была политика и теория.
Теперь конкретно по контроллеруGDT8523RZ:
Он старый т. к. U160, а сейчас уже U320
особенности firmware никто не знает, а значит нет статистики поведения в реальных ситуациях, поддержка слаба т.к. при политическом размене страдает technical support.
Вообще по параметрам этот ICP GDT8523RZ является вылитым Intel SRCU32 (на форуме о Intel котроллерах отзывов много)
Mylex a170 отличный надежный контроллер. Если у Вас созрела необходимость его замены то подумайте о LSI 320-2, но в 200$ тут не уложитесь.

Как восстановить данные с RAID массива после повреждения контроллера? Как сделать RAID 5EE с контроллером Adaptec ASR-6805T? Что делать, если сломался один или несколько дисков массива? Как заменить нерабочий накопитель? Как вернуть утерянную информацию, если произошел сбой в работе контроллера? Читайте в нашей статье развернутое объяснение. А также ознакомьтесь с последовательностью необходимых действий для быстрого решения перечисленных задач.

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

Ситуация с потерей данных всегда происходит спонтанно. Хотя RAID 5 и считается очень надежным решением для хранения цифровых материалов среди всех уровней, он не способен 100 % защитить от потенциальной потери данных. В самый непредсказуемый момент может испортиться один или несколько накопителей, произойти сбой в контроллере или выйти из строя один из компонентов оборудования. В таком случае ваш RAID массив станет неработоспособным и придется искать способ получить недоступную информацию обратно.

Как создать RAID 5EE на базе контроллера Adaptec ASR-6805T

Сперва давайте разберем процесс создания RAID массива, на что следует обратить внимание при сборе массива и какие параметры понадобятся в дальнейшем для восстановления утерянных данных. RAID массив будет состоять из шести накопителей, собранных на базе контроллера Adaptec ASR-6805T.

Чтобы попасть в BIOS контроллера после инициализации оборудования при загрузке персонального компьютера нужно нажать комбинацию клавиш Ctrl+A.

В меню выбираем пункт «Array Configuration Utility» .

На новой странице выбранного пункта меню необходимо проинициализировать диски, чтобы указать контроллеру какие из них будут использоваться. Отыщите в настройках, а затем откройте пункт «Initialize Drives» .

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

В результате вы получите следующее уведомление, которое предупреждает, что информация на отмеченных носителях будет затерта. Введите фразу «Yes» для подтверждения своего выбора и запуска процесса инициализации.

После инициализации можно приступать к созданию массива. Откройте в главном меню пункт «Create Array» .

На следующей странице в левой панели окна «Select drives to create Array» отметьте накопители, из которых будет состоять наш RAID, а потом нажмите «Enter» .

Потом нужно выбрать настройки массива. На новой странице будут представлены важные параметры, которые нужно запомнить. Они понадобятся в дальнейшем для восстановления информации.

Указываем тип массива, имя, общий размер и размер блока, настройки кэширования и другие параметры. В нашем примере мы выполняли все операции на массиве RAID 5EE с аппаратным контроллером Adaptec, который состоит из шести накопителей по 300 Гб.

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

В следующем разделе мы рассмотрим способ, как поменять испорченный накопитель и сделать «ребилд» поврежденного массива.

Как заменить неисправный диск, выполнить «rebuild» RAID массива

На данном этапе смоделируем ситуацию поломки одного из накопителей. RAID 5EE устроен таким образом, что позволяет сохранить работоспособность всего массива при неисправности одного запоминающего устройства.

После выхода из строя одного носителя, массив будет находится в деградированном состоянии. Поэтому при загрузке вы увидите следующее уведомление.

Прежде чем выполнять какие-либо действия нужно сделать «бэкап» всей актуальной информации. Подобный шаг очень важен, так как при перестроении массива может произойти что угодно (испортиться еще один накопитель, процесс зависнет или произойдет сбой в оборудовании) и все данные при этом будут утеряны. Что предпринять при неисправности или отказе системы мы разберем в следующих разделах нашего руководства. А сейчас рассмотрим процесс «rebuild-а» массива.

Подключаем новый диск к контроллеру и включаем персональный компьютер. Затем открываем настройки контроллера. Чтобы перейти к параметрам контроллера при загрузке ПК нажмите сочетание клавиш «Ctrl+A» . А потом в открывшемся окне выберите пункт меню «Array Configuration Utility» . Сперва нужно проинициализировать новый носитель, поэтому открываем раздел «Initialize Drives» .

На следующей странице отмечаем новый диск клавишей «Insert» или пробелом и жмем Enter.

Затем еще раз введите «Yes» , соглашаясь с условием, что данные на запоминающем устройстве будут затерты.

Теперь нужно добавить инициализированный диск в наш RAID. Откройте пункт меню «Manage Arrays» , нажмите сочетание клавиш «CTRL+S» и перейдите на страницу управления.

Выделяем пробелом или клавишей «Insert» новый диск, а затем жмем «Enter» .

После описанной последовательности действий должен начаться процесс «ребилда» .

С этого момента вы можете загружать сервер в нормальном режиме и работать дальше. Полный «ребилд» представляет из себя достаточно длительный процесс и зависит от множества параметров — производительности контроллера или накопителей, текущей нагрузки и т.п. Продолжительность «ребилда» значительно уменьшиться, а общая скорость выполнения повыситься, если вы не станете использовать массив сразу после добавления нового носителя. Если есть возможность, лучше дать контроллеру время спокойно завершить перестройку массива, а затем давать на него реальную нагрузку.

Мы рассмотрели ситуацию, когда испортился один носитель. Но что делать, когда перестают полноценно работать сразу несколько накопителей, сломался контроллер или система не грузиться после добавления к массиву нового диска?

В таком случае следует воспользоваться программой «Hetman RAID Recovery» .

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

Как восстановить данные с RAID массива при нерабочем контроллере

При поломке контроллера вы не сможете достать информацию с дисков. При прямом подключении к компьютеру система попросит отформатировать накопители для дальнейшего использования.

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

Подключите носители к рабочему компьютеру с операционной системой Windows. Ответственная служба не сможет определить файловую систему накопителей и пометит их меткой «RAW» .

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

Содержание:

Многие пользователи, которые беспокоятся о сохранности важных данных выбирают массив RAID 1 в качестве основного хранилища. Например, этот тип RAID используют финансисты для хранения финансовых отчетов и небольших баз данных, которые они используют в своей повседневной работе и которые имеют большое значение. Это объясняется высокой надежностью массива RAID 1. В то же время, несмотря на всю кажущуюся надежность нельзя пренебрегать резервным копированием важных данных, ведь даже RAID 1 не способен гарантировать сохранность данных. Для того, чтобы разобраться почему это так – давайте рассмотрим устройство массива RAID 1, преимущества и недостатки, а также возможные риски потери важной информации.

Принцип работы массива RAID 1

RAID 1 являет собой тип дискового массива, в котором каждый накопитель является точной копией предыдущего. Именно поэтому его еще называют «зеркалированием». То есть это не резервная копия данных, а избыточность томов на дисках. Когда производится запись информации – контроллер одновременно записывает ее на несколько дисков (а не на один как обычно). Отсюда сильное снижение скорости записи данных. Например, если запись архива размером 10 ГБ на обычный жесткий диск занимает 5 мин, то запись этого же файла на массив RAID 1, состоящий из трех дисков займет 15 мин соответственно (так как система запишет 30 ГБ данных (три раза по 10 ГБ)). В то же время, считывание информации будет происходить в три раза быстрее, так как информация считывается одновременно с трех дисков (как в случае с RAID 0). Принцип записи информации изображен на иллюстрации ниже.

Принцип записи информации массива RAID 1?

Главные недостатки массива RAID 1

Несмотря на высокий уровень сохранности данных массив RAID 1 обладает определенными недостатками. В первую очередь стоит сказать, что если вы хотите увеличить уровень надежности в массиве RAID 1 – вы можете использовать более двух дисков. Чем выше количество накопителей – тем выше надежность. Однако отсюда же вытекает первый недостаток RAID 1 – цена за Гигабайт памяти.

Все дело в том, что независимо от того, какое количество дисков вы добавили в массив – вам будет доступен объем памяти наименьшего из накопителей (к стати стоит отметить, что рекомендуется использовать диски с одинаковыми характеристиками). Все остальные деньги будут потрачены на обеспечение безопасности данных, так как на оставшихся накопителях будут хранится копии информации, а значит они не будут доступны для пользователя.

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

Многие программные контроллеры не поддерживают «горячую замену» вышедшего из строя накопителя. Соответственно, для того чтобы заменить поврежденный диск придется отключить питание. Это делает крайне неудобным использование массива RAID 1 в серверах, которые использует большое количество людей, так как отключение питания приведет к недоступности данных. Лучше всего в для этих целей использовать аппаратные контроллеры, которые могут обеспечить поддержку «горячей замены» дисков.

Однако аппаратные контроллеры дороже программных, что также отразится на общей стоимости массива RAID 1.

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

Причины выхода массива RAID 1 из строя

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

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

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

В такой ситуации лучше извлечь данные с накопителей, создать массив заново и скопировать данные из восстановленной копии обратно. О том, как восстановить данные с массива RAID 1 читайте в последнем пункте этой статьи.

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

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

Что делать если RAID 1 не может активировать Spare Disk (запасной диск)?

Случаться это может по следующим причинам:

Как заменить вышедший из строя накопитель RAID 1 в Linux?

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

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

Итак, процедура замены поврежденного диска в RAID 1 выглядит следующим образом:

Шаг 1: Сделайте резервную копию всех важных данных, так как пользователи часто теряют информацию именно в процессе замены поврежденного диска. Если ваш RAID 1 массив находится в рабочем состоянии – вы можете просто скопировать нужные файлы в другое место. Если же ваш массив выдал ошибку и не запускается – восстановите данные с помощью – RS RAID Retrieve. Процесс восстановления информации детально расписан в последнем пункте этой статьи.

Шаг 2: Если вы используете программный контроллер – отметьте диск как поврежденный, а затем удалите его из массива. Для этого выполните в терминале одна за другой следующие команды:

Стоит отметить, что sdb2 это диск, который подключен к второму SATA порту. На всякий случай напомним, что в операционной системе Linux диски идентифицируются следующим образом:

  • sd – буквы, которые обозначают тип подключения SATA;
  • a – номер диска. Например, a – это первый диск, b – второй, c – третий и т.д.
  • 2 – это номер раздела на диске;

То есть sda2 это второй раздел на первом SATA диске.

Шаг 2: Желательно отключить питание даже если ваш контроллер поддерживает функцию hot spare (горячая замена диска). Это позволит безопасно работать с массивом и исключить вероятность коротких замыканий и т.д. Единственным вариантом, когда можно не отключать питание – это замена диска на сервере, которым пользуется большое количество людей. И даже в этой ситуации лучше либо перенести данные на другой сервер (если у вас такой есть), либо создать предупреждение о сервисных работах.

Шаг 3: Подключите новый диск к массиву и включите питание. Затем скопируйте таблицу разделов на новый накопитель при помощи утилиты sfdisk. Для этого выполните команду:

е /dev/sda — это источник, а /dev/sdb — новый диск, на который копируется таблица разделов.

Если в вашей системе sfdisk отсутствует – установить ее можно выполнив в терминале команду:

apt install sgdisk/sfdisk

Шаг 4: Теперь нужно дать команду утилите mdadm включить новый диск в массив, чтобы контроллер скопировал не него информацию и работал с ним как с частью массива. Если разделов несколько – эту операцию нужно проделать для каждого раздела:

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

Как заменить вышедший из строя накопитель RAID 1 в Windows?

В операционной системе Windows, если диск массива выходит из строя, то в диспетчере дисков он получает статус неисправного накопителя «Отказавшая избыточность».

Алгоритм замены диска выглядит следующим образом:

Шаг 1: Сделайте резервную копию всех важных файлов, чтобы не потерять информацию, в случае если что-то пойдет не так.

Шаг 2: Отключите питание, затем замените поврежденный накопитель на новый. После этого снова включите питание компьютера. Щелкните правой кнопкой мыши по «Пуск» и выберите «Управление дисками».

Шаг 3: В открывшемся окне «Управление дисками» появится предложение использовать новый диск. Нажмите «OK». После этого щелкните на нем правой кнопкой мыши и выберите «Преобразовать в динамический диск».

Шаг 4: Вы увидите окно преобразования дисков. В этом окне отметьте ваш диск галочкой и нажмите «ОК».

Шаг 5: Щелкните правой кнопкой мыши на вашем массиве и выберите «Удалить зеркало». Перед вами откроется окно удаления зеркала. Выберите отсутствующий диск (тот, который мы раньше изъяли), щелкните на нем правой кнопкой мыши и выберите «Изъять диск».

Шаг 6: Щелкните правой кнопкой мыши на диске который остался в массиве и выберите «Добавить зеркало». В открывшемся окне выберите новый диск и нажмите «Добавить зеркальный том».

После этого появится окно с предупреждением, что выбранные диски буду конвертированы в динамические. Нажмите «ОК», после чего ваш новый диск будет успешно добавлен к массиву RAID 1.

Как восстановить данные в случае выхода из строя массива RAID 1?

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

Для того, чтобы восстановить данные с массива RAID 1 следует:

Шаг 1: Скачайте и установите программу RS RAID Retrieve. Запустите приложение после установки. Перед вами откроется встроенный RAID конструктор. Нажмите Далее.

Восстановление данных с любых RAID массивов

Шаг 2: Выберите тип добавления RAID массива для сканирования. RS RAID Retrieve предлагает на выбор три варианта:

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

После того, как выберите подходящий вариант – нажмите Далее.

Шаг 3: Выберите диски, из которых состоял RAID массив и нажмите Далее. После этого начнется процесс обнаружения конфигураций массива. После его завершения нажмите Готово.

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

Шаг 7: Укажите место куда будут записаны восстановленные файлы. Это может быть жесткий диск, ZIP-архив или FTP-сервер. Нажмите Далее.

Как видите, процесс восстановления данных с RAID 1 массива достаточно прост и не требует глубоких знаний ПК, соответственно RS RAID Retrieve является отличным приложением как для профессионалов, так и для начинающих пользователей.

Как создать RAID-массив

Что может понадобиться

Материнская плата. Преимущество в том, что она у вас уже есть, а вот недостатков хватает:

  1. При переводе материнской платы в режим RAID программы могут потерять доступ к показаниям SMART даже у дисков, не участвующих в массиве, что не всегда удобно
  2. Драйвера RAID для старых чипсетов могут не поддерживать TRIM, без которого у современных SSD снижается производительность и ресурс
  3. Может не быть поддержки нужного уровня массива (6, 5E, и т.д.)
  4. При смене прошивки может слететь настройка RAID (на самом деле настройки хранятся на самих накопителях, но при существенных изменениях прошивки это не поможет)
  5. При смене платформы также слетают настройки
  6. Потенциальные проблемы при создании в уже установленной OC

Если хотя бы один пункт вас не устраивает — вам, скорее всего, понадобится внешний контроллер, например:

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

Корзина не менее важна. Чем больше дисков и чем больше нагрузка на них, тем важнее виброизоляция.

Так выглядит достаточно хорошая корзина в потребительском корпусе — обратите внимание на голубые вставки виброгасящего материала:


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


Охлаждение.Забывать про обдув накопителей тоже не стоит. Оптимальная температура 30–45 градусов. С такой задачей справится обычный тихий кулер, главное чтобы он был и работал.

Самые распространенные типы массивов

  • JBOD. Просто соединяет последовательно накопители в любом количестве, которое позволит контроллер, минимум один. Нет увеличения надежности, нет увеличения скорости. Зато можно соединять диски разного объема и скорости. Не рекомендуется для SSD из-за последовательного заполнения массива. Он будет либо полностью забит (из-за чего сильно теряет в ресурсе и скорости), либо свободен и фактически бездействовать.
  • RAID 0. Понадобится минимум 2 накопителя близкого объема и скорости, надежность при этом уменьшается, так как выход одного накопителя делает нечитаемым содержимое всего массива. Повышает скорость операций с крупными блоками, потерь объема не происходит. Для SSD имеет смысл только в рабочих задачах принедостатке скорости. При операциях на мелких блоках, характерных для игр илизагрузки ОС, из-за возникающих накладных расходов эффект будет отрицательный.
  • RAID 1. Понадобится два накопителя. Объем массива равен одному накопителю. Вопреки бытующим мнениям, защищает только от сбоя одного носителя. Режим незащищает от: шифровальщиков, повреждений данных на самом диске (в этом случае массив просто не в состоянии определить на каком диске верная информация, а на каком поврежденная). Хороший контроллер может увеличить скорость чтения с многопоточной нагрузкой, но от потребительских такого ждать не стоит.
  • RAID 5. Понадобится минимум три накопителя. Повышает скорость чтения, скорость записи (в зависимости от контроллера может сильно отличаться, но в любом случае меньше чем у RAID 0). Имеет критический недостаток, связанный с особенностями потребительских дисков — средняя вероятность одного сбойного бита на 12,5 Тбайт прочитанных данных. Столкнувшись с таким при восстановлении массив «рассыпется».
  • RAID 6. Требует наличия минимум четырех накопителей, при этом выдерживает отказ двух, что позволяет уменьшить риск отказа массива при восстановлении. Из-за особенностей алгоритмов коррекции ошибок заметно падает скорость записи. Это в свою очередь выливается в очень продолжительное восстановление при отказе без хорошего и дорогого контроллера.
  • RAID 10. По сути это RAID 0, построенный на базе двух и более RAID 1. Требует четного количества накопителей не менее 4 штук, половина из которых будет отдана на поддержание отказоустойчивости. В идеале может выдержать отказ половины накопителей, но в худшем варианте отказ второго накопителя приводит к потере всех данных. Быстрый при чтении и записи, восстановление происходит очень быстро, но большой расход пространства под резерв.

Проще всего сделать массив средствами ОС

Опционально можно убедиться, что в настройках прошивки SATA переведены в режим AHCI в зависимости от материнской платы это может дать возможность замены дисков прямо на работающем компьютере. Для этого надо найти соответствующие настройки в прошивке. Лучше всего ознакомиться с руководством или обзорами для вашей материнской платы. Конкретно на этой материнской плате AHCI активен всегда, даже в режиме RAID.


На старых чипсетах выбор чуть больше.


В случае если установлен режим IDE, переставлять сразу в AHCI не стоит, практически наверняка это вызовет BSOD. В любом случае этот пункт не обязателен. Даже если в системе есть SSD, режим IDE пропускает команду TRIM. Но если хочется, то можно запустить программу Sysprep перед сменой IDE на SATA в прошивке. Установленная галочка снесет активацию и не только на Windows.


Данная процедура предназначена для OEM-сборщиков, которые настраивают систему перед продажей. Также создается новый пользователь в системе, через которого и придется зайти. И потом просто удалить лишнего пользователя куда проще, чем ковыряться в реестре. Если не успеете зайти в прошивку до загрузки ОС, то придется повторить. Поэтому убедитесь, что у вас не включен Ultra Fast Boot.

После подготовительных процедур можно приступать к созданию массива. Для этого правой кнопкой по меню пуск вызывается управление дисками.


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


После этого запустится мастер создания томов:


Для RAID 1 лучше не использовать максимальный объем. Купленный в будущем, диск на замену вышедшему из строя, может оказаться чуть-чуть меньше. Также можно сделать RAID 1 для операционной системы, но в случае GPT разметки и отказа загрузочного накопителя потребуется восстановление UEFI загрузчика.

Более сложный способ — средствами материнской платы

Придется прогуляться на сайт производителя чипсета и скачать все, что имеет в своем названии RAID.


И тут всплывает первый подводный камень. Инсталлятор драйверов RAID отказывается устанавливаться, при отсутствии активированного в прошивке RAID.


И на этом все. Потому что если ОС установлена на SATA, это приведет к невозможности загрузки без дополнительных манипуляций с прошивкой. При загрузочном NVMe можно активировать режим RAID для SATA, и спокойно поставить драйвера. В случае, если загрузочный накопитель и будущий RAID на базе SATA, можно поставить все три драйвера в ручном режиме. ВНИМАНИЕ! Это приведет к невозможности загрузки в обычном режиме.


Теперь, когда пути назад нет, обратите внимание на эти пункты (при других параметрах BIOS доступа к настройкам массивов не будет):



И только после сохранения и перезагрузки откроется доступ к настройкам:



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


Спешка тут не нужна, потому что расстаться с важной информацией на этом этапе очень просто. Положение Enabled означает, что массив будет удален:


Теперь после того, как появились накопители не участвующие ни в одном массиве, на их базе создается новый:


В данном случае Volume соответствует JBOD, а RAIDABLE — диски, предназначенные под автоматическое восстановление массива:


Объем массива можно поменять с помощью цифровой клавиатуры.


Теперь, когда создание закончено, возвращаемся в Windows, и, через управление дисками, с массивом можно работать как с обычным диском. Обратите внимание — объем, полученный с помощью материнской платы, чуть меньше. Недостача ушла на нужды контроллера.

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


Если же предстоит установка Windows, содержимое архива с названием nvme_sata_raid_windows_driver надо закинуть на установочную флешку в распакованном виде. И в процессе установки указать — откуда их брать.


Установить надо все три драйвера в указанной последовательности.


После чего можно продолжить установку как обычно. И все это не зря, по сравнению с массивом, созданным на базе ОС:


Массив, созданный с помощью матплаты умеет кешировать данные хоть и не большого объема:


Комплектное ПО RAIDXpert2 по большей части дублирует возможности прошивки.


Оно позволяет производить все операции не покидая ОС. Конечно, это не исчерпывающее руководство к действию, но позволит обойти самые распространенные грабли.

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