![Arch Linux에서 btrfs RAID 5 어레이 실행](https://linux55.com/image/63425/Arch%20Linux%EC%97%90%EC%84%9C%20btrfs%20RAID%205%20%EC%96%B4%EB%A0%88%EC%9D%B4%20%EC%8B%A4%ED%96%89.png)
2주 동안 btrfs RAID 5를 사용하여 Raspberry Pi(모델 B)를 루트로 실행하려고 했지만 성공하지 못했습니다.
RAID는 3개의 1TB 디스크에서 실행 됩니다 /dev/sda
. 세 개의 디스크를 모두 깨끗하게 지운 다음 Pi의 SD 카드에 있는 루트 파티션을 하나의 디스크에 복사했습니다 . 수리된 디스크를 확인 하고 1TB 크기에 맞게 크기를 조정했습니다 ./dev/sdb
/dev/sdc
wipefs -a /dev/sdX
dd if=/dev/mmcblk0p5 of=/dev/sdb
fsck.ext4 -f /dev/sdb
resize2fs /dev/sdb
그런 다음 를 RAID
사용 하여 디스크의 ext4 파일 시스템을 태그된 btrfs 로 변환 했습니다 btrfs-convert -l RAID /dev/sdb
. 세 개의 디스크가 표시되었는데 모두 잘 작동했습니다.mount /dev/sdb /mnt
btrfs device add /dev/sdb
btrfs device add /dev/sdc
btrfs balance start -dconvert=raid5 -mconvert=raid5 /mnt
btrfs filesystem show
지금까지는 모든 것이 잘 작동합니다 /mnt
. .
및를 설치 mkinitcpio
하고 추가했습니다 btrfs
. raid456
mkinitcpio MODULES
의 btrfs
버그로 인해 후크를 포함하지 않았습니다(참조:https://wiki.archlinux.org/index.php/Btrfs#BTRFS:_open_ctree_failed). 그런 다음 mkinitcpio -g /boot/initrd
initrd 파일을 생성하기 위해 실행했습니다 /boot
.
해당 파일에서 config.txt
다음 로드를 시도했습니다 initrd
.
initramfs initrd 0x00a00000
initramfs initrd 0x00800000
initramfs initrd 0x00f00000
cmdline.txt
시도한 후 :
root=/dev/sda rw rootwait rootfstype=btrfs initrd=0x00a00000
root=/dev/sda rw rootwait rootfstype=btrfs initrd=0x00800000
root=/dev/sda rw rootwait rootfstype=btrfs initrd=0x00f00000
시작하는 동안 다음을 얻습니다.
BTRFS: device label RAID devid 1 transid 2640 /dev/root
BTRFS: info (device sda): disk space caching is enabled
BTRFS: failed to read the system array on sda
BTRFS: open_ctree failed
그러면 커널이 패닉 상태가 됩니다.
내 질문은 다음과 같습니다
cmdline.txt에서 "root=" 명령을 사용하여 btrfs RAID 5를 지정하는 방법
로드 되었는지 어떻게 확인할 수 있나요
initrd
? 여러 주소를 시도했지만 로드되었는지 확실하지 않습니다....또는 간단하게: 어떻게 작동하게 만들 수 있나요?