You are not logged in.

#1 2020-10-14 02:58:00

boredhero
Member
Registered: 2020-10-14
Posts: 23

Issues creating RAID 0 MDADM during install

I have two SDDs from different manufacturers (Kingston and SanDisk), that are both sized at 223.57 GB (data taken from fdisk -l)

I am trying to use mdadm --create --verbose --level=0 --metadata=1.2 --raid-devices=2 /dev/md/raid0 /dev/sda /dev/sdd

Upon doing this, I am warned of pre-existing partitions and asks if I am okay with them being lost (I am, so I answer yes).

Then I get this error:

md/raid0:md127: cannot assemble multi-zone RAID0 with default_layout setting
md/raid0: please set raid0.default_layout to 1 or 2
mdadm: RUN_ARRAY failed: Unknown error 524

I have googled things a bit but haven't been able to found a fix. I would use fakeraid, but I'm on an AMD B450 board and unlike intel's fakeraid which I have used before, the AMD one doesn't seem to be recognized out of box and getting it to see the RAID array is very difficult from the installer.

Some guides recommend making partitions and then putting the partitions in RAID with MDADM, but I would rather do an entire disk raid and then partitions within that. The main benefit there seems to be that in those guides they are doing RAIDs other than 0, in which case they may wish to preserve certain partitions on one disk in case the other fails. This is RAID0 so if one of these fails I lose all my data anyways (fine by me, I keep important stuff on HDD backups anyways)

I always go with a very simple partition structure with only a /boot /swap and / (no seperate home partition). Does anyone have any experience with this or know how to do it?

Last edited by boredhero (2020-10-14 02:58:19)

Offline

#2 2020-10-14 08:04:49

frostschutz
Member
Registered: 2013-11-15
Posts: 1,418

Re: Issues creating RAID 0 MDADM during install

There was a kernel bug a while past, which unintentionally changed the layout for raid0 in a corner case (one disk larger than the other).

Unfortunately the "fix" for that bug is that now either layout is available and mdadm doesn't know which one to pick for you. It is up to you to decide which one does not corrupt your data (if already stored in an unknown layout).

However this problem should only appear if the devices are not the same size. Please check:

blockdev --getsize64 /dev/sda /dev/sdd

If it's not identical, create partitions of identical size then use /dev/sda1 /dev/sdd1. You should be doing that anyway, instead of using full disk.

Otherwise, just set the layout to 1 and make sure you never change it as changing it will give you a corrupt result.

PS: If you already have intel fakeraid on these drives you can assemble them on amd mainboard with mdadm by setting IMSM_NO_PLATFORM env var, see mdadm man page for details

linux/drivers/md/raid0.h

/* Linux 3.14 (20d0189b101) made an unintended change to
 * the RAID0 layout for multi-zone arrays (where devices aren't all
 * the same size.
 * RAID0_ORIG_LAYOUT restores the original layout
 * RAID0_ALT_MULTIZONE_LAYOUT uses the altered layout
 * The layouts are identical when there is only one zone (all
 * devices the same size).
 */

enum r0layout {
	RAID0_ORIG_LAYOUT = 1,
	RAID0_ALT_MULTIZONE_LAYOUT = 2,
};

Last edited by frostschutz (2020-10-14 08:21:23)

Offline

Board footer

Powered by FluxBB