単一のbcacheキャッシュドライブをサポートされている複数のデバイスに接続できます。 bcache は最上位のファイルシステムを知らないので、これは私が知っている限り、これらのデバイスのソフトウェア RAID 構成についても知らないことを意味します。
例: 書き込みキャッシュ用の追加 SSD がある bcache 上に Btrfs RAID1 (コピー 2 個) があるドライブ 3 個。 BcacheはRAID1とディスクのデータの冗長性を認識しないため、他のドライブから読み取られた各ブロックは別々にキャッシュされます。これは、データがキャッシュに複製されることを意味します。これはまた、あるサポートデバイスブロックではキャッシュされているが、他のサポートデバイスブロックではキャッシュされていないデータに対して常に50%のキャッシュミスがあることを意味します。これにより、データ複製を含むRAID構成でキャッシュの効率が低下します。
上記の例よりも効率的なキャッシングの代替手段は、Linux RAID、bcache、Btrfsを混在させることです。ディスクのmd-raid / lvm RAID1の上部にあるbcacheの上部にBtrfs(非RAID)があります。ただし、RAIDの各ブロックコピーのBtrfsチェックサムが失われ、データ用のRAID1とメタデータ用のRAID1c3を作成できません。
上記の内容はすべて本当ですか? RAID1設定でキャッシュ内のデータの冗長性を防ぐためのより良いキャッシュ構成はありますか?
ベストアンサー1
私にとって効果があったのは、アレイの背後にある各デバイスではなくアレイ全体をキャッシュすることでした。キャッシュをRAIDする代わりにRAIDをキャッシュします。
もっと詳しく議論してください ここ