Сервер не грузится с raid

Обновлено: 04.07.2024

Всем доброго времени суток! Сразу извиняюсь за стену текста.

В 2015 году был установлен сервер HP ProLiant DL380p Gen8 с контроллером HP Smart Array P420i, все под управлением Windows Server 2008 R2. На сервере крутились 1С Бухгалтерии, Отдела кадров и производства (своя конфигурация). 8 SAS дисков (2 по 146 Гб и 6 по 300 Гб), RAID 5, 1 логический раздел. 32 Гб ОЗУ. 2 БП (до описанных событий к сети был подключен только один).

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

Сервером никто не занимался - раз-два в месяц делали бэкапы БД 1С, в прошлом году делали полный бэкап сервера. Никаких обновления BIOS, драйверов и прочих утилит от HP не делалось.

11.03.2020 выходит из строя еще один SAS диск (8 слот из 8, на 300 Гб), заменить нечем (только заказали), вытаскиваем из слота. Появляется ошибка в POST - 1615-Power Supply Input Dailure in Bay 2. Подключается 2 БП - ошибка исчезает.
11.03.2020 перечитываем всю доступную информацию как от производителя так и форумы в поиске решения нахлынувших проблем и ошибок. Находим несколько вариантов, которые ничем не увенчались.
11.03.2020 при применении найденных решений узнаем, что встроенные утилиты не вызываются (HP Intelligent Provisioning и пр.)

12.03.2020 обновляем HP IP - он заработал, выдает 3 критических ошибки (вложение №1, сорри за качество) - 274 (о том, что диск в слоте №8 поврежден или отсутствует), 298 (Логический раздел потерял физический диск) и 271 (Логический раздел поврежден и не может быть использован).

В итоге: отлетел 1 диск, заменили, сервер не запустился, массив развалился. Отлете еще 1 диск, пока не заменили. Судя по статьям в сети - восстановить инфу (при потере 2 дисков) шансы близки к нулю, но надежда умирает последней)

Вопрос: Возможно ли, каким либо способом восстановить RAID массив и, желательно, сохранить данные? Если мы реорганизуем RAID (удалим старый из 8 дисков и создадим новый из 7) - возможно ли восстановить данные через R-Studio либо другие подобные утилиты?

Логи с IP по дискам прилагаю.

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

Подскажите кто в курсе, как делается загрузка с RAID. Я имею в виду такую загрузку, что бы и linux и grub и вообще все что находится на HDD(mbr, gpt. ) было в RAID. Что бы BIOS загружал систему из RAID.

Предложения вынести /boot а потом восстанавливать только его считаю полумерой. Это конечно сэкономит немного времени, но не решит вопрос принципиально.

потому, что нормальный софт-рейд делается в mdadm. и /boot заворачивается в массив. А grub-install делается и на sda и на sdb

Можно поподробней, лучше ссылку на какую нибудь статью.

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

man mdadm и гугл. Установка (ваш дистрибутив) на raid - но по запросам в гугле читать вдумчиво и понимать что происходит. Иначе получится от васяна инструкция, которая приведет к проблемам.


Только ESP сам по себе, раздел с системой в RAID1. grubx64.efi этот бутерброд нормально загружает.

С бтрфс не пробовал, но вроде как grub умеет с неё запускаться.

Соответственно тебе надо иметь два диска с бтрфс, /boot так же можно держать на нём.

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

Если /boot на бтрфс не приемлем, то просто делаешь из него mdadm raid1, ну и grub2-install на оба диска.

Если у тебя efi, то тебе понадобится фат32 раздел для загрузки. Можно его установить на mdadm raid1 с metadata=0.99(емнип). У меня так работает, всё зеркалируется, проблем не замечено.

Ivan_qrt ★★★★★ ( 17.11.16 19:18:09 )
Последнее исправление: Ivan_qrt 17.11.16 19:19:26 (всего исправлений: 1)

Наверное я не правильно выразился в 1 посте.

Под /boot я понимаю то место, куда bios передает управление. И он тоже должен быть на RAID.

Если я правильно понял, то у тебя btrfs в raid1, созданная сразу на всём диске, вообще без таблицы разделов. Так?

А твой бивис может загрузить ось с диска вообще без разметки? Я не проверял, но всегда сомневался, что кто-то так может.

Опиши в чём проблема, что у тебя сейчас не получается. А то непонятно.

Мне нужно некое понимание способов решения проблемы когда бивис должен видеть несколько физических HDD как один логический. При этом физические HDD должны объединяться в логический так как я захочу(raid1,raid0,raid10. ). А уже поверх этого логического диска накатывается таблица разделов и файловая система. Причём уже не важно какая.

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

Давайте договоримся о понятиях.

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

Из остального, ваш вариант и вариант Ivan_qrt наиболее интересны, но не на столько что бы мне менять ради них свою систему. Раз в 5 лет я в состоянии убить час времени на то что бы восстановить из дампа свою систему.


Подписался. Интересно, это виртуал или нет?

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

Только аппаратный рэйд. Других вариантов нет. Бивис всегда видит hdd, подключённые к мамке, как hdd.

А уже поверх этого логического диска накатывается таблица разделов и файловая система. Причём уже не важно какая.

Имхо ты делаешь что-то не так. Зачем тебе это, опиши задачу.

Он хочет от софтового рейда такого же удобства как на аппаратном контроллере.

Имхо софт рэйд в удобстве может не уступать аппаратным решениям.

Если очень не хочется создавать таблицу разделов самому, и добавлять разделы в рэйд, то можно и скрипт на 10 строк наваять, а можно даже над правилом для удава подумать, которое будет автоматом новые винты в raid добавлять (в качестве hot spare или восстанавливать, если деградировал).

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

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

Как таковой задачи нет.

Некогда n лет назад, я купил себе HP Microserver, для хранения мультимедийного контента в домашней сети. В этот сервер я напихал 5 дисков. 1 на 250Gb и 4 на 3Tb, поскольку работать со зверопарком физических дисков нет особого желания, то встал вопрос объединения этого хозяйства в логические массивы. 1 диск на 250Gb остался системным, остальные объединились в raid10. Технологии объединения в raid выбирал из mdraid+lvm, dmraid, btrfs. Выбор пал на btrfs (не надо холиваров, просто захотелось посмотреть). Массив пережил не один диск, менял 3 или 4, полет нормальный. На нем же хранится дамп системного диска, который уже тоже умирал. Сервер работает 24/7, поэтому скорость загрузки не критична. uptime где то 1,5 года.

Сейчас подумываю над увеличением размера raid массива, при этом в голову закралась мысль: - А почему бы не установить на него ОС? В этом случае появится возможность посмотреть фичу снапшотов, квот, чего там еще есть, а самое интересное горячее подключение системных дисков. Но бивис грузить систему с программного btrfs raid не умеет. Отсюда собственно и вопросы, кто как решал подобные задачи? Какие вообще есть технологии?

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

5Tb). Сам сервер относительно старый, uefi не умеет, загрузиться с диска gpt не сможет.

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

временное решение
поиск в гугле выдал такое хитрое решение: нужно загрузить live cd ubuntu, установить пакет dmraid и перезагрузить компьютер. Если так сделать — все сразу хорошо, все диски при загрузке отмечены «online member», система запускается и работает.

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

Оценить 3 комментария

Чья материнка, чем настраивали рейд, какая версия винды?

> Нехватало мне скорости работы диска на компьютере

Вдогонку. Та же фигня. Немного лучше стало когда поставил RamDisk

Eternalko, у меня это терминальный сервер с центральной базой 1С. Думаю, выносить базу в ram — плохая идея =)

информации мало.
0. Основная операционная система, под которой этот рейд крутился и всё работало?
1. Это программный(изначально настроенный средствами ОС) или аппаратный рейд?
2. Если аппаратный, то батарейку на плате/контроллере смотрели?

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

0. Win2003 (не думаю, что это принципиально — диски отваливаются во время POST проверки).
1. Это рейд встроенный в материнку.
2. Нет, батарейку вынимать не пробовал (батарейка только одна — та что на материнской плате).

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

Название мат.платы не смогу написать в ближайшие 3 недели.

А вообще — марку и модель материнской платы в студию! Будем качать мануалы и смотреть что там и как с настройками рейда.

Во-первых, да, присоединюсь к запросам — что за материнская плата?

После установки dmraid в livecd убунту начинает видеть диски? (Должна начать.) Если да, то вы можете как минимум спасти данные и систему (снять образ).

Что видно в биосе до перезагрузки с убунту (ну, как это сочетается с offline member)? Что видно после перезагрузки?

btw, 9.04 — это весьма древняя система, вполне реально такое, что в ней старый mdadm, который не умеет, а в новой, например, может суметь. Ориентируйтесь по версии ядра: 2.6.32 не умеет, 3.2 умеет. (Сам по себе dmraid — это гораздо более древнее решение, чем поддержка bios fake raidов в mdraid).

По-моему я ваз зря потревожил. Сейчас приехал проверять что за плата и что выдает линукс — выключил, включил, все загрузилось без проблем. Странно, ничего не менялось, вроде. Раньше постоянно приходилось людям с live-cd грузиться, сейчас позвонил администратору магазина, он утверждает, что да, с тех пор, как он работает, ни разу по инструкции с live-cd не приходилось запускать.

На плате стоит ICH8R/ICH9R контроллер, название материнки, думаю, уже не важно.

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

image

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

Естественно, я говорю о RAID массивах и конкретно о выходе из строя самого RAID-контроллера. Что же делать в данной ситуации?

На самом деле всё не так страшно, как может показаться на первый взгляд. Информация о конфигурации RAID-массива хранится на самих HDD, входящих в массив. Обычно она расположена в первых или последних секторах каждого диска, а записывает ее туда микропрограмма RAID контроллера при формировании массива. Блок конфигурации практически обязательно продублирован на каждом диске массива. За исключением номера диска, служебные данные на всех дисках должны быть идентичны, и этим можно воспользоваться при восстановлении массива. Соответственно всё что нам нужно — взять новый контроллер и подключить диски в том же порядке, в котором они были подключены к умершему контроллеру.

Но это всё теория, давайте же проверим — так ли это на самом деле.
У меня есть 2 сервера с интегрированными RAID контроллерами:

HP ProLiant DL380 G7 с контроллером P410i


IBM x3650 M4 с контроллером ServeRAID M5110e

image

И так же у меня есть 2 контроллера:
Adaptec 6405

image

LSI Logic 9260-8i

Итоги проверки в общем то лично меня не удивили:
При замене на DL380 контроллера на Adaptec — контроллер увидел массив и даже попытался запустить с него систему (правда здесь мы получили kernel panic ввиду отсутствия драйвера для контроллера в уже установленной системе), но в любом случае — целостность данных не была нарушена и данные подлежат восстановлению. Испытание было проведено как на RAID1, так и на RAID0. С LSI всё оказалось более просто и печально — контроллер увидел диски, но не увидел массива, ребилд и прочие ухищрения не дали положительных результатов.
С x3650 картина получилась обратная. Так как M5110e построен на чипе производства LSI Logic, при замене контроллера на 9260-8i массив увиделся и точно так же, как и в первом случае — нам удалось получить наши данные в целости и сохранности, а вот с Adaptec массив отказался распознаваться и так же никакие уловки нам не помогли.
Отсюда можно сделать вывод — служебная информация массива «привязана» к определённой марке производителей RAID контроллеров. Лично мои рекомендации следующие — стараться избегать использования встроенных RAID контроллеров, ввиду того, что подбор контроллера, в случае выхода из строя имеющегося, будет достаточно проблематичной задачей, которая может не увенчаться успехом. Другое дело, если вы используете внешний контроллер определённого производителя. Производители дорогих контроллеров (LSI Logic, Adaptec, Intel, Promise) довольно консервативны — одни и те же модели выпускаются достаточно долго, плюс существует практически 100% вероятность того, что на обновлённой версии имеющегося у вас контроллера ваш массив прекрасно увидится и будет полностью работоспособен (в общем то практически таким образом и работают компании, которые предоставляют услуги по восстановлению данных, либо используют сходный контроллер, либо используют его в качестве «донора», чтобы восстановить работоспособность старого контроллера, и как третий вариант — перенос энергонезависимой памяти (CMOS) вышедшего из строя контроллера на новый, дабы сохранить данные о RAID массиве).

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