'mdadm: RUN_ARRAY failed: Invalid argument' при создании RAID0

Я пытаюсь создать RAID0 из двух одинаковых жестких дисков, но при попытке создать массив выхожу из mdadm с ошибкой, mdadm: RUN_ARRAY failed: Invalid аргумент . Вот что я делаю, что приводит к ошибке:

Диски - это / dev / sdc и / dev / sdg. Я разбил каждый диск с помощью gdisk. Это распечатка таблицы разделов из gdisk (для / dev / sdc, но похожая для обоих дисков):

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

Нулевой суперблок на каждом диске:

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

Создать массив:

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

Но mdadm сообщает об ошибках:

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)

У меня все еще есть устройство в / dev / md1 (похоже, я не могу его активировать), поэтому в перерывах между попытками я его удаляю:

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

Единственный совет, который я могу найти в Интернете:

Если вы получаете сообщение об ошибке, например:

 «mdadm: RUN_ARRAY failed: Invalid argument»

убедитесь, что ваше ядро ​​поддерживает (либо через модуль, либо путем прямой компиляции> в) режим raid, который вы пытаетесь использовать.

Я использую «стандартное» ядро ​​Arch и считаю, что оно поддерживает RAID0, но я не знаю, как это проверить.

Если я проверю /proc/config.gz, он будет содержать следующую строку:

CONFIG_MD_RAID0 = m

Я не знаком с конфигурацией ядра. Подтверждает ли эта строка, что мое ядро ​​поддерживает RAID0?

В системе есть рабочий RAID5, настроенный с помощью mdadm.

Мысли? Другая информация, которой я должен поделиться?

0
04.04.2017, 18:23
1 ответ

CONFIG_MD_RAID0 = m означает, что ваша поддержка raid0 построена как модуль ( m для модуля), и md: индивидуальность для уровня 0 не загружается! сообщает, что модуль не загружен. Чтобы загрузить его:

modprobe raid0

Затем вы сможете создать массив. Помните, что вам необходимо загружать модуль при каждой загрузке перед сборкой массива (вы можете и должны сделать это в сценариях загрузки).

2
28.01.2020, 02:33

Теги

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