Невозможно собрать md raid на дисках, извлеченных из ReadyNas Duo v1

3042
mr.b

Я играю с устройством ReadyNAS, которое я недавно приобрел. Это SPARC-бокс, и он работает под управлением Linux.

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

Конфигурация:

  • /dev/sdb это устройство, извлеченное из NAS.
  • /dev/sdb[1-3]разделы имеют fdтип (автоопределение raid linux).
  • Каждый раздел является частью соответствующего /dev/md[0-2]устройства raid1.
  • Все raid-массивы отлично работают, когда устройство подключено к NAS.

Вот что я получаю:

# mdadm --assemble --scan mdadm: failed to add /dev/sdb3 to /dev/md/2_0: Invalid argument mdadm: failed to RUN_ARRAY /dev/md/2_0: Invalid argument mdadm: failed to add /dev/sdb2 to /dev/md/1_0: Invalid argument mdadm: failed to RUN_ARRAY /dev/md/1_0: Invalid argument mdadm: failed to add /dev/sdb1 to /dev/md/0_0: Invalid argument mdadm: failed to RUN_ARRAY /dev/md/0_0: Invalid argument mdadm: failed to add /dev/sdb to /dev/md/2: Invalid argument mdadm: failed to RUN_ARRAY /dev/md/2: Invalid argument mdadm: No arrays found in config file or automatically  # mdadm -E /dev/sdb1 /dev/sdb1: Magic : a92b4efc Version : 0.90.03 UUID : 8ae34a5e:c446418f:1245590f:4aa53e2a Creation Time : Wed Mar 13 09:56:36 2013 Raid Level : raid1 Used Dev Size : 2047936 (2000.27 MiB 2097.09 MB) Array Size : 2047936 (2000.27 MiB 2097.09 MB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 0  Update Time : Wed Mar 13 10:19:36 2013 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Checksum : f7dff982 - expected 5532a626 Events : 91658897063936   Number Major Minor RaidDevice State this 1 33 1 1 active sync  0 0 22 1 0 active sync 1 1 33 1 1 active sync   # cat /proc/mdstat Personalities : Unused devices: <none> 

Устройства /dev/sdb2и /dev/sdb3имеют тот же вывод, что и выше, за исключением: UUID, Используемый размер разработки, Размер массива, Предпочитаемый минор, Контрольная сумма и События, поэтому для ясности я их опустил.

Я где-то читал, что приведенная выше ошибка означает, что модули ядра должны быть загружены первыми, но я считаю, что если я создам массив raid1 на другой паре дисков (пока этот диск все еще присутствует), linux автоматически загрузит все необходимые модули (поправьте меня, если я здесь не прав). И он до сих пор не распознает устройства md raid.

Попытки собрать массив вручную ничего не дают:

# mdadm --assemble /dev/md0 /dev/sdb1 mdadm: failed to add /dev/sdb1 to /dev/md0: Invalid argument mdadm: /dev/md0 assembled from 0 drives - need all 2 to start it (use --run to insist). 

Здесь mdadm очень четко понимал, что ему нужно, учитывая, что это массив raid1, но, поскольку он является частью зеркального копирования, он должен работать самостоятельно:

# mdadm --assemble /dev/md0 /dev/sdb1 --run mdadm: failed to add /dev/sdb1 to /dev/md0: Invalid argument mdadm: failed to RUN_ARRAY /dev/md0: Invalid argument 

Как я могу установить эти устройства MD raid?

2

1 ответ на вопрос

0
azzid

Была такая же проблема:

$ sudo mdadm --assemble /dev/md100 /dev/sdj3  mdadm: failed to add /dev/sdj3 to /dev/md100: Invalid argument mdadm: /dev/md100 assembled from 0 drives - need all 2 to start it (use --run to insist). 

dmesg показал следующую ошибку:

$ dmesg | grep sdj3 [ 102.886486] sdj: sdj1 sdj2 sdj3 [ 103.138246] md: invalid superblock checksum on sdj3 [ 103.138250] md: sdj3 does not have a valid v0.90 superblock, not importing! 

Что можно исправить с помощью:

$ sudo mdadm --assemble /dev/md100 /dev/sdj3 --update=summaries --force mdadm: /dev/md100 has been started with 1 drive (out of 2). 

Если у вас подключены все диски, их имена должны быть добавлены вместе, у меня подключен только 1 диск, в данном примере sdj3.

РЕДАКТИРОВАТЬ:

Я должен добавить несколько следующих snafus.

Монтирование массива md невозможно, так как это LVM:

$ sudo mount /dev/md100 /mnt/readynas mount: unknown filesystem type 'LVM2_member' 

lvdisplay может дать вам имя устройства lvm:

$ sudo lvdisplay | grep "LV Path" LV Path /dev/c/c 

Но установка этого устройства также не удалась:

$ sudo mount /dev/c/c /mnt/readynas mount: wrong fs type, bad option, bad superblock on /dev/mapper/c-c, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so 

Dmesg скажет вам, почему :

$ dmesg | tail -2 [ 2294.007063] EXT4-fs (dm-1): mounting ext3 file system using the ext4 subsystem [ 2294.007069] EXT4-fs (dm-1): bad block size 16384 

В Ubuntu это можно сделать с помощью другого инструмента для монтирования файловой системы:

$ sudo apt-get install fuseext2 $ sudo fuseext2 -o ro,allow_other /dev/c/c /mnt/readynas 

Похожие вопросы