RAID0 생성 시 "mdadm: RUN_ARRAY 실패: 잘못된 매개변수" 발생

RAID0 생성 시 "mdadm: RUN_ARRAY 실패: 잘못된 매개변수" 발생

두 개의 동일한 하드 드라이브에서 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

정보:

[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 모드를 (모듈을 통해 또는 직접 컴파일하여) 지원하는지 확인하십시오.

저는 RAID0을 지원한다고 생각하는 "기본" 아키텍처 커널을 사용하고 있지만 이를 확인하는 방법을 모르겠습니다.

/proc/config.gz를 확인하면 다음 줄이 포함되어 있습니다.

CONFIG_MD_RAID0=m

커널 구성에 익숙하지 않습니다. 이 줄은 내 커널이 RAID0을 지원한다는 것을 확인합니까?

시스템에 mdadm을 사용하여 유효한 RAID5 설정이 있습니다.

아이디어? 공유해야 할 다른 정보가 있나요?

답변1

CONFIG_MD_RAID0=m귀하의 raid0 지원이 모듈( m모듈의 경우) 로 구축되었음을 나타내며 md: personality for level 0 is not loaded!모듈이 로드되지 않았음을 나타냅니다. 로드:

modprobe raid0

그런 다음 배열을 생성할 수 있어야 합니다. 어레이를 조립하기 전에 부팅할 때마다 모듈을 로드해야 한다는 점을 기억하십시오(시작 스크립트에서 이를 수행하도록 할 수 있고 허용해야 합니다).

관련 정보