RAID な Btrfs の領域を /etc/fstab でマウント
Btrfs に付属の RAID 機能を使った領域は btrfsctl -a を実行した後でないとマウントできない。なので、/etc/fstab でマウントするには準備が必要となる。
以下のページを参考にさせてもらい、簡単な作業を行った。ありがとうございます。
作業環境は Momonga Linux trunk で、すでに dracut および initramfs への移行は済んでいる。
要するに initramfs から btrfsctl -a が行われるようにすればいいわけだ。
まず、/usr/share/dracut/modules.d/95rootfs-block/{install,mount-root.sh} を下のように書き換えた。
diff -up /usr/share/dracut/modules.d/95rootfs-block/install.orig /usr/share/dracut/modules.d/95rootfs-block/install --- /usr/share/dracut/modules.d/95rootfs-block/install.orig +++ /usr/share/dracut/modules.d/95rootfs-block/install @@ -1,4 +1,5 @@ #!/bin/sh +inst btrfsctl dracut_install umount inst_hook cmdline 95 "$moddir/parse-block.sh" inst_hook pre-udev 30 "$moddir/block-genrules.sh" diff -up /usr/share/dracut/modules.d/95rootfs-block/mount-root.sh.orig /usr/share/dracut/modules.d/95rootfs-block/mount-root.sh --- /usr/share/dracut/modules.d/95rootfs-block/mount-root.sh.orig +++ /usr/share/dracut/modules.d/95rootfs-block/mount-root.sh @@ -1,5 +1,8 @@ #!/bin/sh +/sbin/modprobe btrfs +/sbin/btrfsctl -a + . /lib/dracut-lib.sh filter_rootopts() {
次に、initramfs を再作成。
% sudo dracut -f /boot/initramfs-`uname -r`.img `uname -r`
そして、再起動。無事に Btrfs RAID1 な領域がマウントできた。
しかし、Fedora 13 でもこのような dracut の変更が必要なのだろうかねぇ。