Проверка raid массива на ошибки

Обновлено: 04.07.2024

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

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

А посмотреть в Диспетчере Устройств?

Возможно что CrystalDiskInfo сможет показать состояние SMART винчестеров, входящих в ваш RAID: при контроллерах Intel он это уже несколько лет позволяет.

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

SCSI и RAID контроллеры: Intel Embedded Server RAID Technology II
Дисковые устройства: Intel MegaSR SCSI Disk Device Intel MegaSR SCSI Disk Device
RAID Virtual Device
PCI-устройство: Intel 631xESB/6321ESB - SATA RAID Controller
4 диска, но видно только 2
Физические данные устройства ATA: Barracuda 7200.12 320418 320 ГБ
Тип устройства: SAS
Интерфейс: SATA-II

SMART не виден в CrystalDiskInfo и подобных утилитах, использовал Hirens.BootCD.15.2
Victoria пишет:

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

Видимо у вас там два RAID-1 по два диска. И вы видите не физические диски, а фиктивные, которыми и являются RAID (видимо те самые два "Intel MegaSR SCSI Disk Device" – и пускай вас не смущают слова SCSI и SAS).

По поводу утилит – посмотреть Поиском, например запросом (скопировал в запрос вашу информацию без изменений, лишь добавив "utility"): Inte 631xESB/6321ESB - SATA RAID Controller utility. Я знаю, что такая обязана быть – но не знаю, как она звучит конкретно; скорее всего Raid Web Console – и она уже должна бы стоять на вашем сервере, ежели там фабричная установка.

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

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

А посмотреть в Диспетчере Устройств?

Возможно что CrystalDiskInfo сможет показать состояние SMART винчестеров, входящих в ваш RAID: при контроллерах Intel он это уже несколько лет позволяет.

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

SCSI и RAID контроллеры: Intel Embedded Server RAID Technology II
Дисковые устройства: Intel MegaSR SCSI Disk Device Intel MegaSR SCSI Disk Device
RAID Virtual Device
PCI-устройство: Intel 631xESB/6321ESB - SATA RAID Controller
4 диска, но видно только 2
Физические данные устройства ATA: Barracuda 7200.12 320418 320 ГБ
Тип устройства: SAS
Интерфейс: SATA-II

SMART не виден в CrystalDiskInfo и подобных утилитах, использовал Hirens.BootCD.15.2
Victoria пишет:

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

Видимо у вас там два RAID-1 по два диска. И вы видите не физические диски, а фиктивные, которыми и являются RAID (видимо те самые два "Intel MegaSR SCSI Disk Device" – и пускай вас не смущают слова SCSI и SAS).

По поводу утилит – посмотреть Поиском, например запросом (скопировал в запрос вашу информацию без изменений, лишь добавив "utility"): Inte 631xESB/6321ESB - SATA RAID Controller utility. Я знаю, что такая обязана быть – но не знаю, как она звучит конкретно; скорее всего Raid Web Console – и она уже должна бы стоять на вашем сервере, ежели там фабричная установка.

Рассмотрим порядок действий проверки дисков выделенного сервера, с которого пришла ошибка SMART, выявления и замены неисправного диска в массиве Raid-1.

  1. Вводим команду для проверки состояния raid
  1. Если в выводе в квадратных скобках стоит знак _ (например [U_]) — диск требуется заменить (он выпал из рейда).


в данном примере всё с raid всё в порядке. Если бы было так: [U_], то диск sdb неисправен, если так: [_U], то sda (смотрим порядок в md-устройствах, например: md2 : active raid1 sda3[2] sdb3[3])

  1. Если raid в порядке, то нужно проверить каждый диск отдельно следующей командой:

[X] меняем на a или b в зависимости от диска, список дисков можно посмотреть командой:

ls -l /dev/ | grep sd

Оцениваем состояние диска по параметрам и выявляем неисправный, смотрим:

  • количество перераспределенных секторов (Reallocated Sector)
  • количество часов работы
  • наличие ошибок смарт (сделайте коротки и расширенный тест SMART)
  • нагрузка на диск в atop
  • и другие параметры, определение неисправного диска по параметрам SMART, это тема отдельной статьи, поищите подробную информацию в интернете.
  1. Узнаём серийный номер неисправного диска командой:

smartctl -a /dev/sd[X]


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

mdadm /dev/md0 -f /dev/sdb1 &&mdadm /dev/md0 -r /dev/sdb1

В зависимости от количества разделов выполняем соответственно для разных разделов:

mdadm /dev/md1 -f /dev/sdb2 &&mdadm /dev/md1 -r /dev/sdb2
mdadm /dev/md2 -f /dev/sdb3 &&mdadm /dev/md2 -r /dev/sdb3

Далее команда на удаление из RAID

mdadm /dev/md0 --remove /dev/sdb1
mdadm /dev/md1 --remove /dev/sdb2
mdadm /dev/md2 --remove /dev/sdb3

  1. Отправляем в дата-центр запрос на замену, к запросу также прикладываем модель и серийный номер исправного диска, узнать их можно командой:
  1. После замены диска новый диск нужно разбить, в зависимости от типа разбиения диска (MBR или GPT).

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

на не замененном диске

После этого выполнить команду:

sfdisk -d /dev/sda | sfdisk /dev/sdb

(для MBR), и

sgdisk -R /dev/sdb /dev/sda

(структура разделов в этой команде копируется из /dev/sda в /dev/sdb)

sgdisk -G /dev/sdb

(для GPT)

mdadm /dev/md0 -a /dev/sdb1
mdadm /dev/md1 -a /dev/sdb2
mdadm /dev/md2 -a /dev/sdb3

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






При обсуждении процесса восстановления данных с RAID мы полагали, что знаем его параметры. Однако бывают случаи, когда параметры воссоздаваемого RAID неизвестны. Как их определить? Параметры RAID, которые были установлены по умолчанию, можно узнать у производителя дискового массива, однако в процессе его эксплуатации они могли быть изменены. Может R-Studio помочь в этом случае? Да, для этого следует проанализировать данные компонент RAID при помощи встроенного Текстового/шестнадцатиричного редактора. В данной статье будет рассмотрен этот процесс на примере простого NTFS RAID 5.

Итак, попробуем найти неизвестные параметры простого тома RAID 5

Пусть нам известны следующие параметры RAID:
1. Число дисков: Три
2. Файловая Система: NTFS (созданная в Windows XP/2003, далее используется стандартная Главная Загрузочная Запись (стартовый блок MBR))
3. Тип: Обычный том

Необходимо определить:
1. Порядок диска
2. Размер блока
3. Порядок блока
4. Смещение диска

Определение параметров RAID: Файлы-образы компонентов RAID

Диски, образующие RAID, являются созанными в R-Studio файлами-образами:
Disk1.arc
Disk2.arc
Disk3.arc

Кликните по изображению чтобы его увеличить
Файлы-образы компонент RAID, открытые в R-Studio

Обратите внимание: несмотря на то, что R-Studio нашла объект Disk1 на Disk2.arc, это вовсе не означает, что именно он является первым диском RAID.

Определение параметров RAID: Диалог Search

Определение Главной Загрузочной Записи
Во-первых следует определить MBR, чтобы найти смещение RAID
1. Последовательно откройте все три файла-образа в Текстовом/шестнадцатиричном редакторе.
2. Не включайте режим Разрешить Запись (enable write), чтобы избежать случайного повреждения данных на редактируемых объектах!
3. Запишите сигнатуру диска Windows для каждого объекта, чтобы в дальнейшем знать, какое окно редактора какому объекту соответствует.
4. Выполните поиск стартового блока MBR. Для этого в диалоговом окне Search (Поиск) введите 33 C0 8E D0 BC (в большинстве случаев это стандартный стартовый блок MBR) в поле HEX; после этого установите радиокнопку From start position (С начальной позиции) и введите 0 в поле Search in offset (Искать в смещении).
5. Нажмите OK (Да) чтобы начать поиск.

Данные диалогового окна Search (Поиск) для начала поиска Главной Загрузочной Записи (MBR)

Определение параметров RAID: Disk1.arc, открытый в Текстовом/шестнадцатиричном редакторе.

Результаты поиска:

Кликните по изображению чтобы его увеличить
Disk1.arc, открытый в Текстовом/шестнадцатиричном редакторе.

Определение параметров RAID: Disk2.arc, открытый в Текстовом/шестнадцатиричном редакторе.


Кликните по изображению чтобы его увеличить
Disk2.arc, открытый в Текстовом/шестнадцатиричном редакторе. Найден шаблон MBR.

Определение параметров RAID: Disk3.arc, открытый в Текстовом/шестнадцатиричном редакторе.


Кликните по изображению чтобы его увеличить
Disk3.arc, открытый в Текстовом/шестнадцатиричном редакторе. Найден шаблон MBR.

Из рисунков следует, что шаблон MBR найден в Текстовом/шестнадцатиричном редакторе по адресу 00 на Disk2.arc и Disk3.arc (на Disk1.arc мы видим одни нули). Это означает, что смещение равно 0 и Disk1.arc не может быть первым диском в RAID.

При помощи редактора были корректно распознаны шаблоны на Disk2 и Disk3, являющиеся кодом главного инициализирующего загрузчика (master bootstrap loader code). В нашем случае два диска содержат одинаковые данные MBR в одном месте.

Определение параметров RAID: Шаблон диска

NДалее необходимо определить загрузочный сектор NTFS.
Посмотрим значение поля Sectors preceding partition (Сектора предшествующие разделу) в панели Templates (Шаблоны)

Кликните по изображению чтобы его увеличить
Панель Templates (Шаблоны) для Disk2 и Disk3

В нашем случае сектор предшествующий разделу - это сектор 16,065.

Если данная величина больше 63, то мы должны разделить ее на N-1, где N - число дисков (в нашем случае N = 3), в результате чего мы получаем значение 8,032. Это приблизительная позиция, с которой следует начать поиск загрузочного сектора NTFS. Начинать поиск надо с этой позиции, чтобы не найти загрузочных секторов прежних NTFS разделов.

Определение параметров RAID: Поиск сектора

Перейдите в поле Sectors (Секторы) в Редакторе, чтобы произвести поиск шаблона загрузочного сектора NTFS.

Кликните по изображению чтобы его увеличить
Поле поиска Sectors (Секторы) в Тестовом/шестнадцатиричном редакторе

Определение параметров RAID: Поиск загрузочного сектора NTFS


В диалоговом окне Search (Поиск) введите EB 52 90 4E 54 46 53 20 20 20 20 (загрузочный сектор NTFS всегда начинается с этих байтов) в поле HEX, установите радиокнопку From current position (С текущей позиции) и введите 0 в поле Search at offset (Искать в смещении).

Кликните по изображению чтобы его увеличить
Данные диалогового окна Search (Поиск) для начала поиска загрузочного сектора NTFS

Данный шаблон найден в Редакторе в секторе 8064 на Disk2 и Disk3.

Определение параметров RAID: Найденный загрузочный сектор NTFS

Теперь выберем шаблон Boot sector NTFS (Загрузочный сектор NTFS) в панели Templates (Шаблоны).

Кликните по изображению чтобы его увеличить
Disk2.arc, открытый в Текстовом/шестнадцатиричном редакторе. Найден шаблон загрузочного сектора NTFS. Тот же шаблон найден на Disk3.arc.

Мы нашли следующие параметры
Bytes per sector (Байтов в секторе): 512
Sectors per cluster (Секторов в кластере): 8
Logical Cluster Number for the file $MFT (Логический Номер Кластера для файла $MFT): 786432

Ранее найденные параметры:
Смещение RAID: 0

Далее нам нужно определить MFT (главную файловую таблицу) на диске:

1. Попробуем найти примерное смещение MFT с начала RAID:
Смещение MFT с начала раздела в секторах = Логический Номер Кластера файла $MFT * Секторов в кластере+смещение RAID = 786,432*8+0 = 6,291,456
Если смещение RAID не 0, то его необходимо прибавить к результату вышеприведенного уравнения.
Начало MFT на первом диске = Смещение MFT с начала раздела в секторах/(N-1) = 6,291,456/2 = 3,145,728

Определение параметров RAID: Шаблон файла

2. Начнем поиск точного начала MFT с позиции примерно на 2000 секторов меньше данной величины. Например, с сектора 3,140,000.
В диалоговом окне Search (Поиск) введите "FILE" в поле ANSI, установите радиокнопку From current position (С текущей позиции) и ведите 0 в поле Search at offset (Искать в смещении).

Кликните по изображению чтобы его увеличить
Шаблон найден в секторе 10,241,463 на Disk2 и в секторе 3,153,792 на Disk3.

Определение параметров RAID: Шаблон файла


Кликните по изображению чтобы его увеличить
Первый сектор файловой записи на Disk3. Начало блока данных.

Важно отметить следующее: сигнатура FILE заканчивается значением 0, что означает, что индекс файловой записи не был перезаписан значением fixup. Если бы она заканчивалась значением * (FILE*), то в дальнейшем нам пришлось бы изменить наш поиск.

Шаблон $.M.F.T. (HEX 24 00 4D 00 46 00 54) показывает, что это корректное начало MFT.
Так как сектор 3,153,792 ближе к найденному нами примерному смещению MFT 3,145,728, чем к сектору 10,241,463, то это позволяет допустить, что Disk3 является первым диском RAID.

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

Первый диск RAID Второй диск RAID Третий диск RAID
PD 1 2
3 PD 4
5 6 PD
. где числа означают порядок, в котором блоки данных записываются на соответствующие диски, а PD означает блок "четности данных".
(Данная таблица приведена как пример, в общем случае порядок блока может быть произвольным.)

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

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

Такой поиск может быть выполнен путем прокручивания текста в Редакторе через два сектора.

На Disk 3 блок данных заканчивается в секторе 3,153,919 с индексом файловой записи 3F 00.

Определение параметров RAID: Запись последнего файла


Кликните по изображению чтобы его увеличить
Последняя файловая запись на Disk3. Блок данных заканчивается в следующем секторе (3,153,919).

Посмотрев на другие диски мы увидим, что данная MFT продолжается на Disk 1 в секторе 3,153,792 с индексом файловой записи 40 00 и заканчивается в секторе: 3,153,919 с индексом файловой записи 7F 00. И так далее.

Определение параметров RAID: Файловая запись на Disk1


Кликните по изображению чтобы его увеличить
Файловая запись продолжается на Disk1. Начало блока данных.

Определение параметров RAID: Конец блока данных


Кликните по изображению чтобы его увеличить
Последняя файловая запись на Disk1. Блок данных заканчивается в следующем секторе (3,153,919)

Окончательный результат представлен в следующей таблице:

Disk1 Disk2 Disk3
Сектор: 3,153,792 Запись: 40 00
Сектор: 3,153,918 Запись: 7F 00
Сектор: 3,153,919 Конец stripe блока
Сектор: 3,153,792 Нет записей
Сектор: 3,153,918 Нет записей
Сектор: 3,153,919 Конец stripe блока
Сектор: 3,153,792 Запись: 00 00
Сектор: 3,153,918 Запись: 3F 00
Сектор: 3,153,919 Конец stripe блока
Сектор: 3,153,920 Запись: Нет записей
Сектор: 3,154,046 Запись: Нет записей
Сектор: 3,154,047 Конец stripe блока
Сектор: 3,153,920 Запись: C0 00
Сектор: Сектор: 3,154,046 Запись: FF 00
Сектор: 3,154,047 Конец stripe блока
Сектор: 3,153,920 Запись: 80 00
Сектор: 3,154,046 Запись: BF 00
Сектор: 3,154,047 Конец stripe блока
Сектор: 3,154,048 Запись: 00 01
Сектор: 3,154,174 Запись: 3F 01
Сектор: 3,154,175 Конец stripe блока
Сектор: 3,154,048 Запись: 40 01
Сектор: Сектор: 3,154,174 Запись: 7F 01
Сектор: 3,154,175 Конец stripe блока
Сектор: 3,154,048 Запись: Нет записей
Сектор: 3,154,174 Запись: Нет записей
Сектор: 3,154,175 Конец stripe блока
Нет записей означает, что данный блок является блоком четности

Определение параметров RAID: Сектор четности


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

Из вышеприведенной таблицы мы сможем определить следующие параметры:

Порядок дисков:
Первый диск RAID - Disk3.arc
Второй диск RAID - Disk1.arc
Третий диск RAID - Disk2.arc

Смещение: 0
Размер stripe блоков: 128 секторов или 65,536Б (64КБ)
Порядок stripe блоков: (PD означает Четность Данных)

Первый диск RAID Второй диск RAID Третий диск RAID
1 2 PD
3 PD 4
PD 5 6

Теперь мы можем создать такой RAID в R-Studio:
Определение параметров RAID: Созданный объект RAID 5

Кликните по изображению чтобы его увеличить
Объект RAID 5, созданный в R-Studio

При помощи R-Studio на RAID найден объект с файловой системой (Partition 1)

Определение параметров RAID: Найденная структура файлов и папок

Дважды щелкнем мышью по данному объекту, чтобы просмотреть его файлы:

Кликните по изображению чтобы его увеличить
Структура Папок/Файлов, найденная при помощи R-Studio

Определение параметров RAID: Просмотр файла

Если при помощи R-Studio можно просмотреть структуру папок/файлов, то это хороший знак. Чтобы окончательно убедиться в том, что мы создали RAID с корректными параметрами, следует просмотреть файл. Размер просматриваемого файла должен превышать размер блока * (Число дисков -1). В нашем случае это 128КБ.

Кликните по изображению чтобы его увеличить
Просмотр файла Picture 236.jpg

Просмотр файла дал положительный результат - следовательно, мы создали RAID с корректными параметрами.

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