Não é possível remontar o md raid em drives extraídos do ReadyNas Duo v1

2

Estou brincando com um dispositivo ReadyNAS que adquiri recentemente. É uma caixa baseada em SPARC, e roda o linux.

Como o dispositivo é muito lento, puxei um drive para fora do array, esperando preenchê-lo com arquivos muito mais rápido do que via Ethernet. No entanto, montar seu ataque MD parece impossível para mim.

Configuração:

  • /dev/sdb é um dispositivo retirado do NAS.
  • As partições /dev/sdb[1-3] são do tipo fd (autodetect raid linux).
  • Cada partição faz parte do respectivo dispositivo /dev/md[0-2] raid1.
  • Todos os arrays de ataque funcionam perfeitamente quando o dispositivo é conectado ao NAS.

Veja o que eu recebo:

# 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>

Os dispositivos /dev/sdb2 e /dev/sdb3 têm a mesma saída acima, exceto: UUID, Tamanho do aplicativo usado, Tamanho do array, Preferred Minor, Checksum e Events, por isso os omiti para maior clareza.

Eu li em algum lugar que o erro acima significa que os módulos do kernel precisam ser carregados primeiro, mas acredito que se eu criar o array raid1 em outro par de discos (enquanto este disco em questão ainda estiver presente), o linux teria auto -carregado todos os módulos necessários (corrija-me se estou errado aqui). E ainda não reconhece dispositivos md raid.

As tentativas de montar um array à mão não resultam em nada útil:

# 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).

Aqui o mdadm foi muito claro sobre o que ele precisa, dado que este é um array raid1, mas como ele é uma parte da cópia espelhada, ele deve ser capaz de trabalhar por conta própria:

# 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

Como posso montar esses dispositivos de ataque MD?

    
por mr.b 13.03.2013 / 11:57

1 resposta

0

Tive o mesmo problema:

$ 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).

O dmesg mostrou o seguinte erro:

$ 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!

Que pode ser corrigido por:

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

Se você tiver todas as suas unidades conectadas, seus nomes devem ser anexados juntos, eu só tinha 1 disco conectado, sdj3 neste exemplo.

EDITAR:

Eu devo adicionar alguns snafus seguintes.

Montar o md-array não é possível devido a ele ser o LVM:

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

O lvdisplay pode lhe dar o nome do dispositivo lvm:

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

Mas a montagem desse dispositivo também falha:

$ 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

O dmesg irá dizer-lhe porque :

$ 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

No Ubuntu que pode ser manipulado usando outra ferramenta para montar o sistema de arquivos:

$ sudo apt-get install fuseext2
$ sudo fuseext2 -o ro,allow_other /dev/c/c /mnt/readynas
    
por 12.06.2015 / 19:35