Raid1 с активным и резервным разделом

у меня возникла следующая проблема с RAID1 программным raid разделом на моей системе Ubuntu (10.04 LTS, 2.6.32-24-server в случае, если это имеет значение).

один из моих дисков (sdb5) сообщил об ошибках ввода-вывода и поэтому был помечен как неисправный в массиве. Затем массив был разрушен одним активным устройством. Поэтому я заменил жесткий диск, клонировал таблицу разделов и добавил все новые разделы в массивы raid. После синхронизации все разделы оказались в порядке, имея 2 активных устройства-кроме одного из них. Однако раздел, сообщивший о неисправном диске ранее, включал новый раздел не как активное устройство, а как запасной диск:

md3 : active raid1 sdb5[2] sda5[1]
  4881344 blocks [2/1] [_U]

детальный взгляд показывает:

root@server:~# mdadm --detail /dev/md3
[...]
Number   Major   Minor   RaidDevice State
   2       8       21        0      spare rebuilding   /dev/sdb5
   1       8        5        1      active sync   /dev/sda5

Итак, вот вопрос:как мне сказать моему raid, чтобы превратить запасной диск в активный? И почему он был добавлен в качестве запасного устройства? Воссоздание или повторная сборка массива не вариант, потому что это мой корневой раздел. И я не могу найти никаких намеков на эту тему в программный Raid HOWTO.

любая помощь будет оценили.

Текущее Решение

Я нашел решение моей проблемы, но я не уверен, что это реальный способ сделать это. При ближайшем рассмотрении моего raid я обнаружил, что sdb5 всегда был указан как запасное устройство:

mdadm --examine /dev/sdb5
[...]
Number   Major   Minor   RaidDevice State
this     2       8       21        2      spare   /dev/sdb5

   0     0       0        0        0      removed
   1     1       8        5        1      active sync   /dev/sda5
   2     2       8       21        2      spare   /dev/sdb5

так считывание устройства sdb5 в массив md3 всегда заканчивалось добавлением устройства в качестве запасного.

наконец-то я воссоздал массив

mdadm --create /dev/md3 --level=1 -n2 -x0 /dev/sda5 /dev/sdb5

в котором работала.

но вопрос остается открытым для меня: есть ли лучший способ манипулировать сводками в суперблоке и сказать массиву, чтобы превратить sdb5 с запасного диска на активный диск? Мне все еще любопытен ответ.

2
задан BinaryMisfit
27.03.2023 10:08 Количество просмотров материала 3316
Распечатать страницу

3 ответа

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

cat/proc / mdstat

который должен сообщить, если есть процесс сборки происходит, и как долго ожидать, что займет.

Если нет здания происходит, то попробуйте следующее

адреса и /dev/md3 для --удалить раздел /dev/sdb5

адреса и /dev/md3 для-добавить файл /dev/sdb5

и отчет обратно, как это работает для вас. Вижу http://linux.die.net/man/8/mdadm для более подробной информации.

1
отвечен Rolnik 2023-03-28 17:56

довольно поздно, но делать это будет просто включить запасной диск:

mdadm --grow /dev/md3 -n 2

как написано на странице:

для создания, построения или расти: -n, --raid-devices= Укажите количество активных устройств в массиве. Это, плюс количество запасных устройств (см. ниже) должно равняться число компонентов- устройства (включая "отсутствующие" устройства), перечисленные в командной строке для --create. Установка значения 1 вероятно ошибка и так требует, чтобы сначала была указана --force. Значение 1 тогда будет позволено для линейного, многопутевого, RAID0 и RAID1. это никогда не позволять для RAID4, RAID5 или RAID6. Это число может быть изменено только с помощью --grow для RAID1, RAID4, RAID5 и RAID6 массивов, и только на ядрах, которые необходимый sup‐ порт.

1
отвечен Pablo Montepagano 2023-03-28 20:13

из того, что я помню, когда у меня была эта проблема (по другой причине), мне пришлось использовать --grow, чтобы повторно добавить запасной диск "правильно" (также очистив условие ошибки.)

Что-то вроде этого (сверьтесь с документацией!):

команды mdadm --расти --уровень=неисправен --макет=заподлицо с /dev/sdb5

затем вы можете добавить устройство, и оно должно быть распознано.

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

0
отвечен Alexis Wilke 2023-03-28 22:30

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх