Контроллер вышел из строя, массив собран, диски целы - и вот тут решается, останутся данные на месте или нет. Сама по себе замена контроллера данных не уничтожает: конфигурация массива записана на дисках, и новый контроллер её видит. Теряют данные обычно не на отвёртке, а на одном неверном пункте меню.
Разберём, что происходит при замене, где именно проходит граница между «всё поднялось» и «всё пропало», и в каком порядке действовать.
RAID (Redundant Array of Independent Disks) - массив из нескольких дисков, который работает как один том. Контроллер управляет распределением данных по дискам и отвечает за то, чтобы отказ одного из них не остановил работу.
Ключевая для нашей темы вещь - где лежит описание массива. Конфигурация хранится в двух местах сразу:
Именно поэтому замена контроллера в принципе возможна: описание массива уезжает не с платой, а остаётся на дисках. И именно поэтому диски можно вернуть в слоты в другом порядке - контроллер разберётся по метаданным, а не по номерам портов.
Распространённое заблуждение - что конфигурация лежит на каком-то одном «главном» диске. Нет, она продублирована на всех участниках массива.
RAID - это не резервное копирование. Массив защищает от отказа диска и только. Он не спасёт от удалённого файла, шифровальщика, ошибки в обновлении и от отказа самого контроллера. Бэкап и RAID решают разные задачи, и одно не заменяет другое.
Три типовые ситуации:
Отказ. Контроллер не определяется, сыплет ошибками, сервер не видит массив. Замена вынужденная и обычно срочная.
Плановая модернизация. Нужны новые уровни RAID, больше дисков, поддержка NVMe, больший кэш. Массив живой, времени на подготовку хватает.
Замена платформы. Контроллер меняют вместе с материнской платой или сервером целиком. Отдельный случай - когда массив переезжает в другой корпус.
Проще всего проходит первый и второй сценарии при условии, что новый контроллер той же линейки, что и старый. Разные вендоры используют разные форматы метаданных, и массив, собранный на контроллере одного производителя, другой вендор обычно не прочитает.
Без этого замену не спланировать: нужна модель, а желательно и версия прошивки. Способы по убыванию удобства:
| Где смотреть | Как | Что получите |
|---|---|---|
| Веб-интерфейс управления | iLO (HPE), iDRAC (Dell), IPMI/BMC (Supermicro) | Модель, прошивка, состояние массива - не выключая сервер |
| Windows | Диспетчер устройств → «Контроллеры запоминающих устройств» | Название модели |
| Linux | lspci | grep -i raid | Производитель и чип |
| Утилита вендора | storcli или MegaCli (Broadcom/LSI), perccli (Dell PERC), ssacli (HPE Smart Array) | Модель, прошивка, состав массива, состояние кэша и батареи |
| POST-экран | Сообщение контроллера при загрузке | Модель и сочетание клавиш для входа в его меню |
Утилита вендора - самый полезный вариант: она же покажет состояние батареи и режим кэша, а это понадобится дальше.
Аппаратные контроллеры кэшируют запись. В режиме отложенной записи (write-back) контроллер подтверждает запись сразу, как только данные попали в его кэш, а на диски сбрасывает их позже. Это заметно быстрее, но означает, что какое-то время часть данных существует только в памяти платы.
Отсюда следствия, которые прямо касаются замены.
Если контроллер умер в режиме write-back, часть последних записей могла не доехать до дисков. Массив соберётся, а вот файловая система может оказаться в несогласованном состоянии. Защита от этого - батарея (BBU) или флеш-модуль (CacheVault, FBWC): они сохраняют содержимое кэша при потере питания. Если батарея была разряжена или отсутствовала, рассчитывать на сохранность последних записей не стоит.
Сохранённый кэш (pinned cache). Когда том уходит в офлайн, контроллер держит несброшенные данные и не отдаёт их, пока том не вернётся. Тут два опасных действия. Сбросить такой кэш - значит потерять последние записи окончательно. А вот сбросить его на другой набор дисков - хуже: устаревшие блоки лягут не по тем адресам и разрушат файловую систему. Если контроллер сообщает о сохранённом кэше, разбираться нужно до того, как что-то менять.
Перед плановой заменой переведите тома в режим сквозной записи (write-through) и дождитесь сброса кэша. Медленнее, зато на дисках оказывается всё. При аварийной замене такой возможности нет - тем важнее свежий бэкап.
Когда новый контроллер видит диски с чужими метаданными, он сообщает о внешней конфигурации (Foreign Configuration). Это штатная ситуация при замене: метаданные на дисках не совпадают с пустой памятью новой платы.
Дальше контроллер предлагает выбор, и здесь решается судьба данных.
Import Foreign Configuration - прочитать конфигурацию с дисков и принять её. Это то, что нужно при замене контроллера: массив собирается в прежнем виде.
Clear Foreign Configuration - стереть эти метаданные. После этого описание массива с дисков исчезает, и данные штатными средствами уже не собрать.
«Clear Foreign Configuration» - основной способ потерять данные при замене контроллера. Формулировка выглядит безобидно, будто предлагают убрать лишнее сообщение. На деле это удаление описания массива с дисков. Если не уверены - не трогайте ничего и снимите образы дисков.
Есть исключение, о котором стоит знать: если внешняя конфигурация видна только на одном диске, а массив жив и работает, ситуация обратная. Обычно это диск, который временно выпадал и вернулся со старыми метаданными. Импорт такой одиночной конфигурации в живой массив может испортить данные - в этом случае как раз чистят метаданные на этом диске и дают массиву перестроиться.
Отличить одно от другого просто по вопросу: массив сейчас работает или нет. Не работает и все диски «чужие» - импорт. Работает, а «чужой» один диск - очистка на этом диске и перестроение.
Шаг 1. Сделать бэкап. Если массив ещё жив - это единственный момент, когда бэкап ничего не стоит. Если уже нет - снять посекторные образы дисков перед любыми действиями.
Шаг 2. Записать раскладку. Сфотографировать или выписать, какой диск в каком слоте стоит, и переписать серийные номера. Метаданные позволяют собрать массив при любом порядке, но при разборе проблем эта запись экономит часы.
Шаг 3. Снять параметры старого контроллера. Модель, прошивка, уровень RAID, размер страйпа, режим кэша, состояние батареи - утилитой вендора, пока сервер жив.
Шаг 4. Подобрать замену. Тот же производитель, желательно та же линейка и поколение. Таблицы совместимости вендоры публикуют у себя. Разные вендоры пишут метаданные по-своему, и чужой массив новый контроллер, скорее всего, просто не увидит.
Шаг 5. Выключить сервер и поменять плату. Диски не переставлять и не вынимать без необходимости.
Шаг 6. Не создавать ничего нового. При первом запуске нового контроллера не создавать виртуальный диск, не инициализировать диски, не соглашаться на очистку конфигурации. Любое из этих действий перепишет метаданные.
Шаг 7. Импортировать внешнюю конфигурацию. В меню контроллера или его утилите выбрать импорт. Массив должен появиться в прежнем составе и уровне.
Шаг 8. Проверить до того, как пускать пользователей. Состояние массива, целостность файловой системы, доступность данных. Только после этого возвращать нагрузку и включать обратно отложенную запись, если батарея исправна.
Уровень RAID определяет, насколько вообще есть что спасать.
| Уровень | Переживает отказ | Где применяют |
|---|---|---|
| RAID 0 | Ничего. Отказ любого диска - потеря всего массива | Только временные данные, которые не жалко |
| RAID 1 | Один диск из двух | Загрузочные тома, небольшие критичные объёмы |
| RAID 5 | Один диск | Файловые хранилища, общие объёмы |
| RAID 6 | Два диска | Большие массивы, где перестроение идёт долго |
| RAID 10 | По одному диску в каждом зеркале | Базы данных, виртуализация - когда нужны и скорость, и надёжность |
RAID 10 в серверах распространён не меньше пятого уровня: он быстрее на записи и перестраивается заметно быстрее RAID 5 и RAID 6, потому что копирует зеркало, а не пересчитывает чётность по всему массиву. Подробнее про уровни и их устройство - в статье что такое RAID.
Отдельно стоит держать в голове, что RAID 5 на больших дисках перестраивается долго, и всё это время массив уязвим: второй отказ во время перестроения означает потерю данных. Это довод в пользу RAID 6 или RAID 10 на объёмных массивах.
Если метаданные стёрты, отказало больше дисков, чем допускает уровень массива, или контроллер успел перезаписать конфигурацию - штатные средства не помогут.
Порядок действий такой:
Программный RAID средствами операционной системы в этом смысле проще: там конфигурация принадлежит ОС, а не плате, и замена железа на массив не влияет. Разница между подходами разобрана в материале про устройство RAID-контроллера.
Аппаратный контроллер несёт собственный процессор и кэш-память, поэтому расчёт чётности и обслуживание массива не занимают ресурсы центрального процессора. Кэш с батареей или флеш-модулем позволяет безопасно работать в режиме отложенной записи, а это заметный выигрыш на записи.
Обратная сторона - привязка к вендору. Массив живёт в формате конкретного производителя, и замена возможна практически только на родственную модель. Программный RAID и JBOD этой привязки лишены, но не дают ни аппаратного кэша, ни разгрузки процессора; когда какой подход уместен, разобрано в статье JBOD: чем отличается от RAID.
Если контроллер подбирается заново, а не «такой же на замену», критерии выбора - в отдельном разборе: как выбрать RAID-контроллер.
Замена контроллера сама по себе безопасна: конфигурация массива лежит на дисках, и новый контроллер её принимает. Опасны три вещи - очистка внешней конфигурации вместо импорта, создание нового тома поверх существующих дисков и несброшенный кэш записи. Порядок простой: бэкап, запись параметров, замена, импорт, проверка. Ничего не создавать и не инициализировать до импорта.
Нужен контроллер на замену или под новый массив?
Инженеры ITTELO подберут совместимую модель под ваш массив и сервер, проверят её перед отгрузкой, с гарантией и поддержкой после продажи. На рынке серверов 11+ лет.
Посмотрите RAID-контроллеры в каталоге или напишите нам - подскажем, какая модель прочитает ваш массив без пересборки.
Телефон: +7 (800) 551-80-12, почта: info@ittelo.ru