Восстановление данных из SHR‑массива при сбое процесса перестройки (rebuild)

Вы заменили 4 ТБ диск в массиве Synology SHR на 8 ТБ. Восстановление массива (rebuild) началось, шло какое‑то время — а затем остановилось. В DSM отображается Degraded, Crashed или индикатор прогресса не меняется в течение нескольких часов. NAS может полностью перестать отвечать. В этой статье описывается восстановление данных после сбоя перестройки SHR: что на самом деле произошло внутри массива, как корректно оценить текущее состояние, не усугубив ситуацию, и как вернуть ваши файлы.

Восстановление данных из SHR‑массива при сбое процесса перестройки (rebuild)

Прежде чем предпринимать какие-либо действия

Когда процесс rebuild зависает, три действия кажутся логичными — однако каждое из них может превратить устранимую проблему в необратимую:

🔄

Перезагрузка NAS

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

💽

Извлечение дисков

Даже если DSM пометил диск как «Faulty», удаление участника изменяет количество устройств в массиве и заставляет mdadm обновить суперблоки на оставшихся дисках, зафиксировав удаление как постоянное событие. Это может привести к безвозвратному исключению диска, который на самом деле был читаем.

🔧

Нажатие «Восстановить» в диспетчере хранилища

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

Принудительное отключение питания

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

🔬

Запуск fsck или btrfs check

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

🔀

Добавление ещё одного диска

Вставка запасного диска в массив со статусом Crashed приводит к тому, что DSM пытается автоматически выполнить восстановление. Если не выяснить причину неудачи первого восстановления, повторная попытка столкнётся с той же проблемой — при этом на уже перегруженное оборудование ляжет ещё один цикл полного чтения всего массива.

Почему восстановление не удалось

Когда SHR заменяет диск другого объёма, он выполняет гораздо больше действий, чем простое копирование данных. Последовательность выглядит так:

  1. mdadm считывает все разделы с данными с оставшихся дисков при устойчивой последовательной пропускной способности — это может занимать часы или дни на массивах объёмом в несколько терабайт.

  2. Вычисляется и записывается чётность на новый диск. В SHR с дисками разного объёма mdadm использует несколько md-устройств разного размера, объединённых между собой, поэтому расчёт чётности сложнее, чем в RAID 5 с фиксированной геометрией.

  3. LVM перерассчитывает распределение физических экстентов по расширенному пулу хранения. Если новый диск больше, это означает переразметку схемы в группе томов (Volume Group) — отдельную операцию, которая выполняется параллельно с восстановлением mdadm или после него.

Любая ошибка на любом этапе прерывает последовательность. Три основные причины объясняют большинство сбоев восстановления SHR:

🧱

Неисправимые ошибки чтения (URE)

У потребительских накопителей вероятность URE составляет примерно 1 на 1014 прочитанных бит. На диске емкостью 4 ТБ это означает, что при полном последовательном проходе статистически вероятна по крайней мере одна ошибка чтения. В обычной эксплуатации эти сектора редко затрагиваются. При восстановлении (rebuild) каждый сектор читается — и один единственный нечитаемый сектор прерывает вычисление паритета для всего страйпа (полосы данных). Диску не обязательно полностью выходить из строя; достаточно одной ошибки чтения в неподходящий момент.

🔌

Таймауты SATA под нагрузкой

Кабель или соединение на бэкплейне, которые при обычных нагрузках работают на грани допустимого, могут стабильно отказывать при длительных интенсивных операциях чтения во время перестроения массива. Ядро регистрирует ошибку SATA, mdadm считает диск недоступным и помечает его как «Faulty» — даже если сам диск физически исправен. После переподключения диск снова появляется, но mdadm уже исключил его из массива.

⚙️

Фоновые задачи DSM

Synology автоматически планирует тесты S.M.A.R.T., индексирование медиаконтента (для Photo Station и Video Station) и операции scrub файловой системы Btrfs. Любая из этих задач, выполняющаяся одновременно с операцией восстановления (rebuild), конкурирует за ту же полосу пропускания дисковых операций ввода‑вывода. На системе, где уже выполняется длительное полное чтение диска, дополнительная нагрузка ввода‑вывода может увеличить задержки чтения до уровня, при котором срабатывают таймауты диска — что даёт тот же эффект, что и физическая проблема с подключением.

Для более полного сравнения рисков восстановления (rebuild) и прямого восстановления данных программными средствами см. нашу статью: Восстановление RAID против программного восстановления.

Прочитайте текущее состояние массива

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

cat /proc/mdstat — показывает статус сборки массива и, если запущено восстановление, текущий прогресс и скорость.

Зависшее восстановление выглядит так:

Восстановление зависло — прогресс не продвигается
Personalities : [raid5] [raid6] [raid1]
md3 : active raid5 sdb3[0] sdc3[1] sdd3[2]
      5860468736 blocks super 1.2 level 5, 64k chunk, algorithm 2 [3/2] [UU_]
      [================>....]  recovery = 83.2% (2436352/2930234) finish=∞ speed=0K/sec
unused devices: <none>

finish=∞ и speed=0K/sec подтверждают, что восстановление застопорилось — mdadm заблокирован в ожидании сектора, который не может прочитать.

Аварийный (crashed) массив выглядит так:

Массив неактивен — не собирается
Personalities : [raid5] [raid6] [raid1]
md3 : inactive sdb3[0](S) sdc3[1](S)
      5860468736 blocks super 1.2
unused devices: <none>

inactive с флагами (S) (запасной) означает, что у mdadm нет активного массива — устройства присутствуют, но не собрались. Данные физически находятся на дисках, но недоступны.

Ниже таблица сопоставляет статус DSM, который вы видите, с тем, что фактически происходит, и что следует сделать дальше:

Что показывает DSM Что это означает Чего не делать Следующий шаг
Восстановление зависло, скорость = 0 Деградировано URE (неисправимая ошибка чтения) на существующем диске блокирует запись паритета. Массив деградирован, но цел. Не ждите; не перезапускайте восстановление RS RAID Retrieve
Один диск помечен Faulty, восстановление остановлено Деградировано mdadm исключил диск после повторяющихся ошибок чтения или ошибок SATA. Работа без избыточности. Не удаляйте диск, помеченный как Faulty Проверка S.M.A.R.T., затем RS RAID Retrieve
Пул хранения: Сбой Авария mdadm не смог поддержать кворум. Массив неактивен — данные есть на дисках, но недоступны. Не нажимайте «Восстановить»; не перезагружайте RS RAID Retrieve
NAS не отвечает, DSM не загружается Неизвестно Возможна зависимость ядра при I/O во время восстановления. Состояние массива неизвестно. Не отключайте питание принудительно, если можно этого избежать Аккуратное завершение работы удержанием кнопки питания, затем RS RAID Retrieve

Восстановление данных с помощью RS RAID Retrieve

💻
RS RAID Retrieve Windows · Linux · macOS
Сложность:
Низкая

RS RAID Retrieve восстанавливает конфигурацию массива SHR по суперблокам mdadm на оставшихся дисках, поддерживает работу с деградированными массивами, в которых один участник отсутствует или помечен как Faulty, и предоставляет доступ к тому в режиме «только чтение» для выборочного восстановления файлов — без попыток повторного перестроения массива.

1

Шаг 1 — Подключите диски и проверьте S.M.A.R.T.

По возможности корректно выключите NAS. Подключите все диски — включая тот, который в DSM был помечен как «Faulty» — к машине для восстановления и откройте встроенный монитор S.M.A.R.T. в RS RAID Retrieve. Проверьте каждый диск, а не только тот, что вышел из строя. При реконструкции часто случается, что диск, кажущийся исправным, на самом деле вызвал сбой из‑за ошибок чтения на существующем диске массива.

2

Шаг 2 — Создайте секторный образ любого диска с повышенными значениями S.M.A.R.T.

Если на каком-либо диске отображаются ненулевые значения Reallocated Sector Count (количество перераспределённых секторов), Pending Sectors (ожидающие сектора) или Uncorrectable Errors (неисправимые ошибки), перед сканированием создайте секторный образ этого диска с помощью встроенной функции создания образа в RS RAID Retrieve. Вся дальнейшая работа по восстановлению выполняется с образа. Это защищает исходный диск от дополнительных операций чтения во время сканирования и предотвращает дальнейшее ухудшение состояния уже подвергающегося деградации диска.

3

Шаг 3 — Автоматическое восстановление массива

RS RAID Retrieve считывает суперблок mdadm с каждого подключённого диска или образа, определяет UUID массива, роли участников, уровень RAID и параметры чередования (stripe), а затем восстанавливает структуру тома SHR. В случае деградированного массива с одним отсутствующим или вышедшим из строя участником программа может реконструировать данные, используя оставшиеся диски — вычисляя недостающие данные по паритету так же, как это делает mdadm в деградированном режиме, но не производя запись обратно на диск.

4

Шаг 4 — Просмотр и восстановление файлов

Корректно выключите NAS, если это возможно. Подключите все накопители — включая тот, который DSM пометила как «Faulty» — к компьютеру для восстановления и откройте встроенный монитор S.M.A.R.T. в RS RAID Retrieve. Проверьте каждый диск, а не только тот, который вышел из строя. При перестроении массива (rebuild) диск, кажущийся исправным, нередко оказывается причиной отказа из‑за ошибок чтения на другом участнике массива.

🔍

Работает с деградированными и вышедшими из строя массивами

Восстанавливает тома SHR (Synology Hybrid RAID) из оставшихся дисков без необходимости наличия полностью исправного массива — в том числе неактивные массивы, которые mdadm отказывается собирать.

📊

Мониторинг S.M.A.R.T.

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

💾

Создание посекторного образа диска

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

🔗

Подключение по SSH

Если NAS по‑прежнему включён и доступен в сети, RS RAID Retrieve может подключиться по SSH — без необходимости физически извлекать диски из шасси.

Когда программное восстановление недостаточно

Если при подключении к машине для восстановления несколько дисков не определяются, или если S.M.A.R.T. показывает критические значения у более чем одного участника массива, то проблема вышла за пределы программных средств. В массиве SHR-1 при отказе двух дисков паритета для восстановления нет — программными методами математического пути к утерянным данным не существует.

Прекратите работу и свяжитесь с лабораторией восстановления, если вы заметили

  • Два или более диска не определяются или при включении сразу фиксируют отказ S.M.A.R.T.
  • Щелчки, скрежет или повторные неудачные попытки раскрутки любого диска
  • RS RAID Retrieve не может реконструировать массив даже в ручном режиме
  • Диски становятся горячими на ощупь в течение нескольких минут после подключения

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

После восстановления: предотвращение следующего сбоя перестройки

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

📋

Проверьте S.M.A.R.T. перед заменой диска

Выполните полный расширенный тест S.M.A.R.T. на всех оставшихся дисках перед извлечением старого. Диск с перераспределёнными секторами или с ожидающими ошибками, скорее всего, приведёт к URE (неисправимой ошибке чтения) во время последующей перестройки массива.

🔕

Отключите фоновые задачи DSM во время перестройки

Перейдите в Панель управления → Планировщик заданий и приостановите запланированные тесты S.M.A.R.T., проверки целостности Btrfs (scrub) и сканирование медиатеки на время перестройки массива. Конкурирующие операции ввода‑вывода — одна из наиболее легко предотвращаемых причин отказа при перестройке.

🔌

Переподключите SATA-кабели перед началом

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

🗂️

Не смешивайте партии накопителей

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

🔔

Включите уведомления по электронной почте в DSM

Панель управления → Уведомления → Электронная почта. DSM может уведомить вас в тот же момент, когда диск помечается как «Faulty» или пул хранилища деградирует. Раннее обнаружение — до того, как процесс восстановления продлится 60 часов — даёт больше вариантов для восстановления.

💾

Держите независимую резервную копию

SHR обеспечивает устойчивость к отказам, но не заменяет резервное копирование. Дефрагментированный (degraded) массив во время восстановления не защищён от повторного сбоя. Hyper Backup на внешний диск или в облачное хранилище — единственная гарантия того, что сбой при восстановлении не превратится в окончательную потерю данных.

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

Часто задаваемые вопросы

Не обязательно — и это одно из самых опасных заблуждений по поводу восстановления RAID. В RAID 5 и SHR данные не записываются последовательно «диск за диском» — паритет распределён по всем участникам в полосах (stripes). Восстановление, показывающее 97%, означает, что 97% полос пересчитаны и записаны, но массив не становится согласованным до полного завершения на 100%. Прерванное восстановление оставляет таблицу паритета частично обновлённой, поэтому любая полоса, пересекающая границу между восстановленным и невосстановленным участками, находится в неопределённом состоянии. Нельзя выборочно обращаться только к «завершённой части» — том либо монтируется корректно целиком, либо вовсе не монтируется.
Да, но, скорее всего, не потому, что новый диск неисправен. Когда mdadm помечает диск как «Faulty» во время перестройки массива, это ответ на какое‑то событие — ошибку чтения, тайм‑аут SATA или команду, не завершившуюся в отведённое ядром время. При перестройке новый диск выступает целью записи, а не источником чтения. Если он появляется как «Faulty», наиболее вероятная причина — проблема с SATA‑связью (кабель, порт на бэкплейне или слот контроллера), которая проявилась под интенсивной длительной нагрузкой записи при перестроении. Прежде чем считать диск мёртвым, попробуйте переставить его в другой отсек и подключить другим кабелем. Показатели S.M.A.R.T. у нового диска будут практически нулевыми и не должны показывать ошибок — если показывают, значит проблема в самом накопителе.
Это разумный вариант, если новый NAS идентичен или совместим с текущим, но он несёт те же риски, что и любое восстановление: если на одном из существующих дисков есть URE (неремонтируемая ошибка чтения) или диск находится в пограничном/ухудшающемся состоянии, пересборка на новом оборудовании столкнётся с той же проблемой. Перед миграцией проверьте S.M.A.R.T. каждого диска. Если все диски в порядке, процедура HDD Migration от Synology сохранит конфигурацию пула хранения и томов — DSM на новом устройстве распознает существующий массив и продолжит работу, вместо того чтобы восстанавливать его с нуля. Однако если исходный сбой при восстановлении был вызван ошибкой чтения на одном из дисков, миграция этого не исправит: проблемный диск останется в составе массива независимо от того, в каком шасси он установлен.
Скорость перестроения (rebuild) на оборудовании Synology при идеальных условиях обычно находится в пределах 50–120 МБ/с — отсутствие конкурирующей I/O, исправные диски и стабильные соединения. При 60 МБ/с перестроение массива объёмом 4 ТБ займёт примерно 18–19 часов, для 8 ТБ — около 37 часов. Скорость естественно колеблется, и DSM снижает приоритет перестроения, чтобы NAS оставался пригодным для работы, поэтому медленное перестроение само по себе не обязательно указывает на проблему. Иная ситуация — зависшее (stalled) перестроение: в /proc/mdstat вы увидите speed=0K/sec и finish=∞, а процент выполнения не меняется в течение 15–30 минут. Такая конкретная комбинация — нулевая скорость и бесконечное оставшееся время — означает, что mdadm заблокирован на нечитаемом секторе и бесконечно пытается прочитать его. Ожидание не поможет: сектор сам по себе не станет читаемым.
Оставить комментарий

Похожие публикации

Как восстановить данные с диска NVMe
Как восстановить данные с диска NVMe
Ускоренная производительность и надежность работы дисков NVMe делают их популярными в современных компьютерных системах. Однако, как и любое другое хранящее устройство, NVMe SSD может столкнуться с потерей данных из-за случайного удаления файлов, повреждения файловой системы или неисправности устройства. В этой … Продолжить чтение
Как восстановить данные с массива RAID 10
Как восстановить данные с массива RAID 10
В этой статье мы рассмотрим, как восстановить утерянные данные с массива RAID 10.
Сравнение и разница между RAID lvm и mdadm
Сравнение и разница между RAID lvm и mdadm
Современные операционные системы обладают многими функциями для повышения безопасности данных и удобства их использования. В этой статье мы сравним RAID LVM и RAID mdadm – две интересных технологии, главным предназначением которых является обеспечение непрерывной работоспособности сервера, компьютера или NAS и … Продолжить чтение
Собрать NAS своими руками или сетевое хранилище из старого компьютера
Собрать NAS своими руками или сетевое хранилище из старого компьютера
Один из актуальных вопросов современности в сфере IT – хранение данных, их безопасность и многопользовательский доступ. Для решения этого вопроса есть системы SAN и NAS. Что такое NAS, для чего служит, какие возможности имеет? Стоит ли приобрести готовое такое устройство … Продолжить чтение
Online Chat with Recovery Software