Raid
‘mdadm: RUN_ARRAY failed: Invalid argument’ 在創建 RAID0 時
我正在嘗試從兩個相同的硬碟創建 RAID0,但是當我嘗試創建陣列時遇到來自 mdadm 的錯誤,
mdadm: RUN_ARRAY failed: Invalid argument
. 這是我正在做的導致錯誤的事情:磁碟是 /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"
確保您的核心支持(通過模組或直接編譯> in)您嘗試使用的 raid 模式。
我正在使用“庫存”arch 核心,我相信它確實支持 RAID0,但我不知道如何驗證這一點。
如果我檢查 /proc/config.gz,它包含這一行:
CONFIG_MD_RAID0=m
我不熟悉核心配置。該行是否確認我的核心支持 RAID0?
系統有一個使用 mdadm 設置的工作 RAID5。
想法?我應該分享的其他資訊?
CONFIG_MD_RAID0=m
表示您的 raid0 支持建構為一個模組(m
對於模組),並md: personality for level 0 is not loaded!
表示該模組未載入。要載入它:modprobe raid0
然後你應該能夠創建數組。請記住,在組裝陣列之前,您需要在每次啟動時載入模組(您可以並且應該讓您的啟動腳本執行此操作)。