UEFIはESPから起動する必要があります。これはほとんどの場合vFATとしてフォーマットされています。正しく思い出せば、BTRFSはLogical Volume Manager(LVM)のようにext3/ext4としてフォーマットされたサブボリュームを持つことができます。 、UEFIはBTRFSからの起動をサポートしていません。ほとんどの場合、解決策は3つ(または2N + 1)のディスクを使用することです。2つはRAID用で、1つは起動用です。この場合の私の主な関心事は単純なRAID1ミラーリングです。 。この場合、使用できるディスクは2つだけですが、マザーボードがBIOSを使用している場合は、ブートパーティションをミラーリングするだけで済みます。
この問題(起動に追加のディスクを使用する必要がある)が、人々がZFS(freeBSD with)に切り替えた理由の1つであると聞いていますが、間違って思い出しているかもしれません。
私の場合、ディスク全体をパーティションでミラーリングしました。 Id est、2番目のディスクには2つのパーティションがありました。1つはESP、もう1つはbtrfsパーティションです。ただし、これはBTRFS-RAID1の使用目的ではないと思います。だから私の質問は具体的にです:
私があなたの声明で集めたものから、あなたは次の(または同様の)ディスクレイアウトを持つ2つのディスクを持っています:
sda: GPT
sda1: Linux MD RAID member
sda2: Swap
sda3: BTRFS pool member (RAID 1 allocation policy)
sdb: GPT
sda1: Linux MD RAID member
sda2: Swap
sda3: BTRFS pool member (RAID 1 allocation policy)
md0: ESP (~100mb? VFAT) mounted at /boot/efi (RAID 1 allocation policy)
BTRFS pool:
root subvol (mounted at /)
home subvol (mounted at /home)
et cetera ad nauseam.
これはほとんどすべての場合にまさに必要なことであり、構成にこれが反映されていない場合は、おそらくこれを反映させたいと思うでしょう。
この場合のLinuxMDボリュームは、sda1とsdb1の間のRAID1です。 sd [a、b] 1を直接いじらないでください。特別な名前を付ける必要があると感じない限り、それらから作成されたMDボリューム(通常は/dev/md0
または/dev/md/0
)のみをマウントしてください。作成中)。 ESPボリュームにはRAID1を絶対に使用する必要があります。これは、マザーボードのファームウェアが起動時に単一のディスク上でそのデータをそのまま検出することを想定しているためです。
スワップパーティションは自然にストライプ化されますが、1つに障害が発生しても、ほとんどの場合、システムがクラッシュすることはありません。ポケットベルは非常に賢いので、正当な理由がない限り、スワップにMDを使用しないでください。
BTRFSプールは自動的にスキャンされるため、/etc/fstab
ファイルにエントリを追加するときに、UUIDでこのボリュームを指定することをお勧めします。
GRUB2は、任意のBTRFSRAIDレベルから起動できます。 「ステージ1」ローダーが両方のパーティションテーブル(sda、sdb)にインストールされていることを確認してください。これは、grub-install /dev/sda
を呼び出すときに行われます(ディストリビューションによって若干異なる場合があります)。