Skip to main content
deleted 47 characters in body
Source Link
Praxeolitic
  • 1.7k
  • 3
  • 19
  • 24
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: RUN_ARRAY failed: Invalid argument
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: RUN_ARRAY failed: Invalid argument
mdadm: chunk size defaults to 512K
mdadm: RUN_ARRAY failed: Invalid argument
Source Link
Praxeolitic
  • 1.7k
  • 3
  • 19
  • 24

'mdadm: RUN_ARRAY failed: Invalid argument' when creating RAID0

I'm trying to create a RAID0 from two identical hard disks but running into an error from mdadm when I try to create the array, mdadm: RUN_ARRAY failed: Invalid argument. Here's what I'm doing that leads up to the error:

The disks are /dev/sdc and /dev/sdg. I partitioned each disk with gdisk. This is the partition table print from gdisk (for /dev/sdc but similar for both disks):

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 superblock on each disk:

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

Create the array:

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

But mdadm reports errors:

mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
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)

I do still end up with a device at /dev/md1 (doesn't seem like I can activate it) so in between attempts I remove it:

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

The only advice I can find online is:

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.

I'm using a 'stock' arch kernel and I believe it does support RAID0 but I don't know how to verify that.

If I check /proc/config.gz, it contains this line:

CONFIG_MD_RAID0=m

I'm not familiar with kernel configuration. Does that line confirm that my kernel has RAID0 support?

The system has a working RAID5 that was set up with mdadm.

Thoughts? Other info I should share?