Здесь — как вернуть зеркалу второй диск: отказавший убрать, новый добавить и дождаться пересборки.
Отказавший диск убирают из массива командой mdadm --remove. Убрать можно только диск с пометкой (F) или запасной (S): рабочий диск mdadm не отдаёт (hot remove failed … Device or resource busy), поэтому исправный, но подозрительный диск сначала помечают сами — mdadm --fail. На сервере после этого меняют диск физически, а новый добавляют командой mdadm --add (в Вики).
Новый диск встаёт запасным, (S), и массив сразу начинает пересборку (recovery): ядро копирует на него всё содержимое рабочего диска. Ход виден в /proc/mdstat — строка recovery = 37.5% с оценкой finish=. Учебные диски по 128 MiB пересобираются за секунды, диски по несколько терабайт — часами. Пока пересборка идёт, массив остаётся degraded, а файловая система работает как обычно.
Замени отказавший диск
Убери из массива /dev/md0 отказавший диск /dev/loop1, добавь вместо него новый диск /dev/loop2 и посмотри в /proc/mdstat, как прошла пересборка.
Цели · 0 из 2
- Убрать отказавший диск из массива ещё не выполнена
- Вернуть зеркалу второй диск ещё не выполнена
Пересборка зеркала на новый диск дошла до 40%, и тут отказал второй диск, с которого она шла. Что будет с данными массива?
-
Пересборка копирует блоки диска по порядку, а не файлы. На новом диске окажутся первые 40% блоков, и файловую систему из них не собрать.
-
Переключаться не на что: до конца пересборки новый диск не рабочий —
mdadm --detailназывает егоspare rebuilding, а/proc/mdstatдержит[2/1] [U_]. -
Новый диск и был целью пересборки: полной копии на нём ещё нет, и продолжать её не с чего.
Пока пересборка не кончилась, полная копия есть только на одном диске, и его отказ стоит всех данных.