Гид по зеркалам. Проверяем отражение

В логе видно, как проявляется шаблон "блок совпадает, блок отличается".

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

Проверяем целостность

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

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

Проверка избыточности для виртуального RAID

Проверка избыточности для виртуального RAID

На RAID есть файловая система, для нее построили карту занятого. Теперь по этой карте можно проверить целостность.

На RAID есть файловая система, для нее построили карту занятого. Теперь по этой карте можно проверить целостность.

После сравнения каждый сектор получит статус:

  • валидный — копии одинаковы
  • невалидный — копии отличаются
  • непроверенный — сектор еще не проверялся, либо его невозможно проверить, т.к. он и/или его копия не прочитаны.

Подчеркнем, что в случае невалидности нам неизвестно на каком диске сектор «лучше». Мы просто видим, что они отличаются.

Построение субкарты на основе результатов проверки избыточности

Построение субкарты на основе результатов проверки избыточности

Сравниваем диски

Иногда, возникает необходимость сравнить два диска. Это можно сделать так: создаем виртуальное зеркало и запускаем проверку избыточности.

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

Сообщения в логе во время проверки избыточности

Сообщения в логе во время проверки избыточности

Сравнение дисков помогает определить конфигурацию

Сравнение дисков можно использовать как инструмент при определении конфигурации, рассмотрим некоторые случаи:

  • Зеркало. Очевидно, что если мы имеем дело с зеркалом, то участники должны совпадать или почти совпадать. Сравнение покажет так это или нет.
  • RAID-10 — это страйп из зеркал. Можно разбить задачу на два этапа: определить зеркала, а потом выяснять параметры страйпа. Алгоритм тут простой:
    • берем первый диск и перебором ищем ему зеркальную пару. Достаточно проверить лишь небольшой диапазон, т.к. разные диски почти сразу будут видны как разные
    • когда пара найдена, повторяем процесс для оставшихся дисков
  • При сборке RAID-5 или RAID-6 тоже иногда попадаются одинаковые диски. Это связано с тем, что на замену исключенному участнику был поставлен новый. Иногда массивы сразу собирают с “запасными” дисками — дисками горячей замены (Hot Spare).
  • RAID-1E Adjacent — достаточно редкий уровень. Если взять два соседних участника, то обнаружится очень характерный паттерн: блок совпадает, блок отличается. Так можно быстро понять, что мы имеем дело с RAID-1E Adjacent, определить кто кому сосед, а также размер блока.
    RAID 1E Adjacent из 3х дисков. У дисков B и C блоки в 0й строке разные, а в 1й строке - одинаковые

    RAID 1E Adjacent из 3х дисков. У дисков B и C блоки в 1й строке разные, а во 2й — одинаковые

    В логе видно, как проявляется шаблон "блок совпадает, блок отличается".

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

Если избыточность сходится, значит конфигурация верна?

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

  • Зеркало. Тут все просто, если избыточность сходится, то перед нами точно зеркало, а не какой-нибудь страйп или JBOD. Все еще остается шанс ошибиться с начальным смещением и количеством дисков, но такие ошибки редки, либо не мешают восстановить данные.

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

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

  • RAID-10. Если избыточность сходится это всего лишь означает, что правильно определены пары дисков, которые образуют зеркала. Все остальные параметры (размер блока, порядок дисков, начальное смещение, количество участников) могут быть неправильными.

    Правильно собранный RAID 10 и неправильно собранный RAID 10. В обоих случаях избыточность будет сходиться.

    Правильно (выше) и неправильно (ниже) собранный RAID 10. Во втором случае дисков меньше и нарушен порядок. В обоих случаях избыточность будет сходиться.

  • RAID-1E Adjacent. Возможно это уровень, который лучше всего проверяется через избыточность. Если избыточность сходится, то верно определены: порядок и количество участников, размер блока. Можно ошибиться разве что с начальным смещение, но не на произвольное число секторов, а на 2*N блоков.

    RAID 1E Adjacent

    RAID 1E Adjacent.

  • RAID-1E Offset. Также хорошо проверяемый уровень. Сходимость означает, что верно подобран состав участников, размер блока. Также можно ошибиться на 2*N блоков с начальным смещением. Абсолютный порядок (кто первый, кто второй, кто тритий, …) неизвестен, но известно какие диски являются соседями (первый и последний — тоже считаем соседними).

    Правильно и неправильно собранный RAID 1E Offset. Во втором случае неправильный порядок дисков. В обоих случаях избыточность будет сходиться.

    Правильно (сверху) и неправильно (снизу) собранный RAID 1E Offset. Во втором случае неправильный порядок дисков. В обоих случаях избыточность будет сходиться.

Заключение

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

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 голосов, средний: 5,00)
Loading...Loading...

Об авторе Александр Леоненко

Разработчик Data Extractor и Data Extractor RAID Edition
Запись опубликована в рубрике Data Extractor RAID Edition с метками , , , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>