RAID 1 어레이를 생성하면 mdadm
명령이 성공적으로 완료되지만 경고가 표시됩니다.
시스템 특성(Pi 3의 Debian/Raspbian "bullseye"):
uname -a
Linux pi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
mdadm --version
mdadm - v4.1 - 2018-10-01
head -n4 /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
실제 사례:
dd if=/dev/zero bs=1M count=128 >/tmp/r1.img # 128MB will do nicely
cp /tmp/r1.img /tmp/r2.img # Another slice
for r in 1 2; do losetup /dev/loop$r /tmp/r$r.img; done # Associate block devices
mdadm --create /dev/md0 --level=raid1 --raid-devices=2 --metadata=default /dev/loop1 /dev/loop2
경고 메시지:
mdadm: Fail create md0 when using /sys/module/md_mod/parameters/new_array
mdadm: array /dev/md0 started.
종료 상태( $?
)는 0이며 성공적인 완료를 나타냅니다.
cat /proc/mdstat
몇 분 후에 상태가 확인되어() 새 RAID 어레이가 동기화될 수 있습니다.
Personalities : [raid1]
md0 : active raid1 loop2[1] loop1[0]
130048 blocks super 1.2 [2/2] [UU]
unused devices: <none>
참조된 "파일"이 존재합니다:
ls -l /sys/module/md_mod/parameters/new_array
--w------- 1 root root 4096 Sep 13 10:34 /sys/module/md_mod/parameters/new_array
실제 관련 부분은 다음과 같습니다 strace mdadm …
.
openat(AT_FDCWD, "/run/mdadm/creating-md0", O_RDWR|O_CREAT|O_LARGEFILE, 0600) = 4
close(4) = 0
openat(AT_FDCWD, "/sys/module/md_mod/parameters/new_array", O_WRONLY|O_LARGEFILE) = 4
write(4, "md0", 3) = -1 EINVAL (Invalid argument)
close(4) = 0
write(2, "mdadm: Fail create md0 when usin"..., 74mdadm: Fail create md0 when using /sys/module/md_mod/parameters/new_array
) = 74
unlink("/run/mdadm/creating-md0") = 0
메타장치가 성공적으로 생성되었다는 점을 고려하면 Fail create
이 맥락에서 이 용어는 무엇을 의미합니까?
답변1
처음에 이 md_mod/parameters/new_array
매개변수는 생성만 지원했습니다 "md_*" where * is not all digits
. mdNNN
나중에 배열 생성이 추가되었습니다.Linux 커밋 039b7225e6,mdadm 커밋 039df36231.
이 커밋은 커널보다 이전 버전이지만 v4.9.x에는 적용되지 않았으므로 커널이 아직 이를 지원하지 않습니다. 이 변경 사항을 적용하려면 Linux 커널 v4.12 이상 및 mdadm v4.1 이상이 필요합니다. 이미 mdadm v4.1이 있지만 커널이 업데이트되지 않았으므로 전체 문제는 "mdadm이 커널보다 최신입니다"로 귀결됩니다.
이 경우 mdadm
예상대로 작동하는 이전 노드 생성 모드로 돌아가므로 오류 메시지에도 불구하고 성공합니다. 결국 당신은 여전히 배열을 얻었고 모든 것이 괜찮습니다(더 큰 숫자나 더 멋진 MD 이름으로 인해 실패할 수 있습니다).
문제는 왜 불스아이 커널이 그렇게 오래된 것인지입니다. 내가 Raspbian에서 본 바에 따르면 Linux 6.1 또는 5.10과 함께 제공되어야 하는데 왜 4.9를 사용해야 하는지 잘 모르겠습니다.