2週間、btrfs RAID 5を使用してRaspberry Pi(モデルB)をrootとして実行しようとしましたが、成功しませんでした。
RAIDは3つの1TBディスクで動作します/dev/sda
。 3つのディスクをすべてクリーンにしてから、PiのSDカードにあるルートパーティションを1つのディスクにコピーしました。修復されたディスクを確認し、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
。 3つのディスクが表示されていますが、すべてうまくいきました。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
mkinitcpioMODULES
の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
?複数のアドレスを試しましたが、ロードされたかどうかはわかりません。...または簡単に:どのように機能させることができますか?