'mdadm: RUN_ARRAY falhou: argumento inválido' ao criar o RAID0

0

Estou tentando criar um RAID0 a partir de dois discos rígidos idênticos, mas com um erro do mdadm quando tento criar o array, mdadm: RUN_ARRAY failed: Invalid argument . Aqui está o que estou fazendo que leva ao erro:

Os discos são / dev / sdc e / dev / sdg. Eu particionei cada disco com o gdisk. Esta é a impressão da tabela de partições do gdisk (para / dev / sdc mas similar para ambos os discos):

Disk /dev/sdc: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 34188C22-446D-4BE5-9E25-A03A9603EC33
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       976773134   465.8 GiB   FD00  Linux RAID

Zero superbloco em cada disco:

# mdadm --zero-superblock /dev/sdc1
# mdadm --zero-superblock /dev/sdg1

Crie o array:

# mdadm --create --verbose --level=0 --metadata=1.2 --raid-devices=2 /dev/md1 /dev/sdc1 /dev/sdg1

Mas o mdadm relata erros:

mdadm: chunk size defaults to 512K
mdadm: RUN_ARRAY failed: Invalid argument

dmesg:

[2312487.125558] md: bind<sdc1>
[2312487.125786] md: bind<sdg1>
[2312487.128886] md: personality for level 0 is not loaded!
[2312487.128900] md: md1 stopped.
[2312487.128905] md: unbind<sdg1>
[2312487.157311] md: export_rdev(sdg1)
[2312487.157335] md: unbind<sdc1>
[2312487.190623] md: export_rdev(sdc1)

Eu ainda termino com um dispositivo em / dev / md1 (não parece que eu possa ativá-lo), então entre as tentativas eu o removo:

# mdadm --stop /dev/md1
# mdadm --remove /dev/md1

O único conselho que posso encontrar on-line é:

If you receive an error, such as:

"mdadm: RUN_ARRAY failed: Invalid argument"

make sure your kernel supports (either via a module or by being directly compiled > in) the raid mode you are trying to utilize.

Estou usando um kernel de arquivamento 'stock' e acredito que ele suporta RAID0, mas não sei como verificar isso.

Se eu verificar /proc/config.gz, ele contém esta linha:

CONFIG_MD_RAID0=m

Não estou familiarizado com a configuração do kernel. Essa linha confirma que meu kernel tem suporte a RAID0?

O sistema tem um RAID5 funcional que foi configurado com o mdadm.

Pensamentos? Outras informações que devo compartilhar?

    
por Praxeolitic 04.04.2017 / 17:10

1 resposta

1

CONFIG_MD_RAID0=m significa que seu suporte a raid0 é construído como um módulo ( m para o módulo) e md: personality for level 0 is not loaded! indica que o módulo não está carregado. Para carregá-lo:

modprobe raid0

Então você deve ser capaz de criar o array. Lembre-se que você precisará carregar o módulo a cada inicialização antes de montar o array (você pode e deve fazer com que seus scripts de inicialização façam isso).

    
por 04.04.2017 / 17:49