Как заставить неактивное RAID-устройство снова работать?

после загрузки, мое устройство RAID1 (/dev/md_d0 *) иногда идет в каком-то смешном состоянии, и я не могу его смонтировать.

* изначально я создал /dev/md0 но он как-то изменил себя в /dev/md_d0.

# mount /opt
mount: wrong fs type, bad option, bad superblock on /dev/md_d0,
       missing codepage or helper program, or other error
       (could this be the IDE device where you in fact use
       ide-scsi so that sr0 or sda or so is needed?)
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

устройства RAID кажется неактивные как-то так:

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] 
                [raid4] [raid10] 
md_d0 : inactive sda4[0](S)
      241095104 blocks

# mdadm --detail /dev/md_d0
mdadm: md device /dev/md_d0 does not appear to be active.

вопрос:как сделать устройство активным (через mdmadm, Я полагаю)?

(в других случаях все в порядке (активный) после загрузки, и я могу установить его вручную без проблем. Но он все равно не будет монтироваться автоматически, даже если у меня есть его в /etc/fstab:

/dev/md_d0        /opt           ext4    defaults        0       0

Итак, бонус-вопрос: что делать, чтобы RAID-устройство автоматически монтировалось в /opt во время загрузки?)

это рабочая станция Ubuntu 9.10. Справочная информация о моей настройке RAID в этом вопросе.

редактировать: My /etc/mdadm/mdadm.conf выглядит так. Я никогда не трогал этот файл, по крайней мере, вручную.

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR <my mail address>

# definitions of existing MD arrays

# This file was auto-generated on Wed, 27 Jan 2010 17:14:36 +0200

In /proc/partitions последняя запись md_d0 по крайней мере сейчас, после перезагрузки, когда устройство снова активно. (Я не уверен, будет ли это то же самое, когда он неактивен.)

разрешение: as Джимми Хедман предложил, я взял выходной mdadm --examine --scan:

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=de8fbd92[...]

и добавил его в /etc/mdadm/mdadm.conf, что, по-видимому, устранило основную проблему. После изменения /etc/fstab использовать /dev/md0 снова (вместо /dev/md_d0), RAID устройство также получает автоматически установлен!

1
задан Community
08.02.2023 13:25 Количество просмотров материала 2943
Распечатать страницу

9 ответов

для вашего Бонусного вопроса:

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
24
отвечен Jimmy Hedman 2023-02-09 21:13

я обнаружил, что я должен добавить массив вручную в /etc/mdadm/mdadm.conf для того, чтобы сделать Linux подключить его при перезагрузке. Иначе я получу именно то, что у вас здесь - md_d1-устройства, которые являются неактивными и т. д.

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

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=f10f5f96:106599e0:a2f56e56:f5d3ad6d
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=aa591bbe:bbbec94d:a2f56e56:f5d3ad6d

добавить один массив на md-устройство и добавить их после комментарий, включенный выше, или, если такой комментарий не существует, в конце файла. Вы получаете UUIDs, делая sudo mdadm -E --scan:

$ sudo mdadm -E --scan
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=f10f5f96:106599e0:a2f56e56:f5d3ad6d
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=aa591bbe:bbbec94d:a2f56e56:f5d3ad6d

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

я запускаю ubuntu desktop 10.04 LTS, и насколько я помню, это поведение отличается от серверной версии Ubuntu, однако это было так давно, я создал свои md-устройства на сервере, я могу ошибаться. Также может быть, что я просто пропустил некоторые опцион.

во всяком случае, добавление массива в conf-файл, кажется, делает трюк. Я выше RAID 1 и RAID 5 лет без проблем.

10
отвечен Erik 2023-02-09 23:30

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

у меня была та же проблема, с массивом, появляющимся как неактивный, и я ничего не делал, включая " mdadm -- explain --scan >/etc / mdadm.conf", как было предложено другими здесь, помогли в все.

в моем случае, когда он пытался запустить массив RAID-5 после замены диска, он говорил, что он грязный (через dmesg):

md/raid:md2: not clean -- starting background reconstruction
md/raid:md2: device sda4 operational as raid disk 0
md/raid:md2: device sdd4 operational as raid disk 3
md/raid:md2: device sdc4 operational as raid disk 2
md/raid:md2: device sde4 operational as raid disk 4
md/raid:md2: allocated 5334kB
md/raid:md2: cannot start dirty degraded array.

в результате чего он отображается как неактивный в /proc/mdstat:

md2 : inactive sda4[0] sdd4[3] sdc4[2] sde4[5]
      3888504544 blocks super 1.2

я обнаружил, что на всех устройствах были одинаковые события, за исключением диска, который Я заменил (/dev/sdb4):

[root@nfs1 sr]# mdadm -E /dev/sd*4 | grep Event
mdadm: No md superblock detected on /dev/sdb4.
         Events : 8448
         Events : 8448
         Events : 8448
         Events : 8448

однако, детали массива показали, что он имел 4 из 5 доступных устройств:

[root@nfs1 sr]# mdadm --detail /dev/md2
/dev/md2:
[...]
   Raid Devices : 5
  Total Devices : 4
[...]
 Active Devices : 4
Working Devices : 4
[...]
    Number   Major   Minor   RaidDevice State
       0       8        4        0      inactive dirty  /dev/sda4
       2       8       36        2      inactive dirty  /dev/sdc4
       3       8       52        3      inactive dirty  /dev/sdd4
       5       8       68        4      inactive dirty  /dev/sde4

( выше из памяти в столбце "Состояние", я не могу найти его в своем буфере прокрутки).

Я был в состоянии решить эту проблему, остановив массив, а затем повторно собрать его:

mdadm --stop /dev/md2
mdadm -A --force /dev/md2 /dev/sd[acde]4

в этот момент массив был запущен, работает с 4 из 5 устройств, и я смог добавить устройство замены и его перестройки. Я могу получить доступ к файловой системе без каких-либо проблем.

7
отвечен Sean Reifschneider 2023-02-10 01:47

у меня были проблемы с Ubuntu 10.04, где ошибка в FStab помешала загрузке сервера.

Я выполнил эту команду, как указано в приведенных выше решениях:

mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Это будет добавлять результаты "команды mdadm --изучение --сканирование" В "/и т. д./адреса/адреса.conf"

В моем случае это:

ARRAY /dev/md/0 metadata=1.2 UUID=2660925e:6d2c43a7:4b95519e:b6d110e7 name=localhost:0

Это fakeraid 0. Моя команда в / etc / fstab для автоматического монтажа:

/dev/md0 /home/shared/BigDrive ext3 defaults,nobootwait,nofail 0 0

важные дело здесь в том, что у вас есть "nobootwait" и "nofail". Nobootwait будет пропускать любые системные сообщения, которые мешают загрузке. В моем случае это было на удаленном сервере, поэтому это было важно.

надеюсь, это поможет некоторым людям.

4
отвечен Nick Woodhams 2023-02-10 04:04

вы можете активировать устройство md с помощью

mdadm -A /dev/md_d0

Я предполагаю, что какой-то сценарий запуска запускается слишком рано, прежде чем один из членов RAID был обнаружен или какая-то подобная проблема. В качестве быстрого и грязного решения вы можете добавить эту строку в /etc / rc.local:

mdadm -A /dev/md_d0 && mount /dev/md_d0

Edit: по-видимому, ваш /etc/mdadm / mdadm.conf по-прежнему содержит старое имя конфигурации. Отредактируйте этот файл и замените вхождения md0 на md_d0.

2
отвечен wazoox 2023-02-10 06:21

у меня была похожая проблема... мой сервер не будет монтировать md2 после того, как я вырос theassociated разделов устройств. При чтении этого потока я обнаружил, что устройство MD2 RAID имеет новый UUID и машина пытается использовать старый.

Как было предложено... выход через 'МВ2 от

mdadm --examine --scan

я отредактировал /etc/mdadm/mdadm.conf и заменил старую строку UUID на один вывод команды выше, и моя проблема исчезла.

2
отвечен Peter Errity 2023-02-10 08:38

когда вы делаете вид, что делаете что-то с /dev/md[012346789} идет /dev/md{126,127...}. /dev/md0 по-прежнему установлен на /dev/md126 или /dev/md127 вы должны:

umount /dev/md127 или umount /dev/md126.

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

2
отвечен Vanderj68 2023-02-10 10:55

простой способ получить массив для запуска при условии, что нет аппаратных проблем, и у вас есть достаточно дисков / разделов для запуска массива является следующее:

md20 : inactive sdf1[2](S)
      732442488 blocks super 1.2

 sudo mdadm --manage /dev/md20  --run

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

1
отвечен Areeb Soo Yasir 2023-02-10 13:12

md_d0 : inactive sda4[0](S) выглядит неправильно для массива RAID1. Похоже, массив не имеет активных устройств и одного запасного устройства (обозначено (S), вы увидите (F) там для неисправного устройства и ничего для OK/active устройства) - для массива RAID1, который не работает деградировал должно быть по крайней мере два OK/active устройства (и для деградированного массива, по крайней мере, одно ОК/активное устройство) и вы не можете активировать массив RAID1 без none-failed not-spare устройства (как запасные части не содержат копию данных, пока они не становятся активными, когда другой диск выходит из строя). Если я читаю, что /proc/mdstat вывод справа, вы не сможете активировать массив в его текущем состоянии.

есть ли у вас какие-либо физические диски в машине, которые не удалось раскрутить? Делает ls /dev/sd* перечислите все диски и разделы, которые вы обычно ожидаете увидеть на этой машине?

0
отвечен David Spillett 2023-02-10 15:29

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

Ваш ответ

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

Имя

Похожие вопросы про тегам:

linux
mdadm
raid
software-raid
ubuntu
Вверх