BTRFSファイルシステムで仮想ディスクイメージをホストする理由


14

私はしばらくの間BTRFSとZFSについて読んでいますが、重要なファイルをホストするときのCoWの利点には感謝していますが、現在、次のジレンマに戸惑っています。

ランダムな書き込みの対象となる大きなファイル(QCOW2、VDIなど)をホストすると、ZFSとBTRFSの両方でパフォーマンスが低下するように見えるので、なぜVMをホストするためのFSとしてBTRFSを使用するのでしょうか。

BTRFSの場合は、chatrrまたはnodatacowマウントオプションを使用してCoWを選択的にオフにできるため、断片化とCoWによる劣化を軽減できます...

ただし、Redhatによれば、これは「データとメタデータのチェックサム検証を無効にするため、データの整合性が低下します」。(失われた圧縮に加えて、当然のことながら望ましいCoW)。

これに基づいて私は尋ねます:なぜ誰かがBTRFSを選択したのか、言うには、MDFSを介したLVMを介したXFS?


データの整合性低下するのは、チェックサムをまったく格納しないext4やxfsなど、他のほとんどのファイルシステムを使用する場合と同じであるため、破損を検出できないことに注意してください。
basic6

1
@ basic6私は知っています。したがって問題。
Andre de Miranda

回答:


13

主なユースケースがVMイメージまたはデータベースの格納であり、btrfsのデータ整合性の利点を得るために潜在的なパフォーマンスの問題を受け入れることに関心がない場合は、btrfsを選択する理由は考えられません。 xfsまたはext4。

VMイメージの格納がファイルシステムの多くの用途の1つにすぎない場合、(chatrt + Cを使用して)VMイメージディレクトリのみのコピーオンライトを無効にすることは、ほとんどの場合関連があります。次に、その単一のディレクトリのコピーオンライトを無効にするだけで非常に便利ですが、ファイルシステムの残りの部分に対するbtrfsの利点はすべて保持されます。


理由は、パーティションテーブルのないディスクを使用するためです。BTRFSではgrub / etcを直接埋め込むことができますが、XFS / EXT4 / etcではできません。VMを格納するために使用しているBTRFSの上にBTRFSのCoWとしてそれを許可するファイルシステムを探していましたイメージは理想的ではなく(ホストでスナップショットとbtrfs-RAID10を使用しています)、パーティションテーブルを使用する以外に、chatr + Cが唯一のオプションのようです。パーティションテーブルを使用するだけだと思います。
Alex

5

BTRFSのディスクフォーマットは異なり、一部の書き込みパターンでは他のファイルシステムよりも優れています。特に、メタデータのディスクへの書き込み方法を改善するために多大な労力が費やされ、データチェックサム、圧縮、スナップショットなどの高度な機能がサポートされています。大きなファイルの場合、メタデータのパフォーマンスを向上させることは一般に重要ではありません。

ZFSと比較して、BTRFSはよりシンプルなソリューションであり、Linuxでよりよくサポートされています。主な欠点は、それも(多数のディスクを追加する場合)スケーリングされず、同じ機能セットがないことです。

XFSと比較して、パフォーマンスは低くなります。つまり、データのチャンクをディスクに書き込むのにより多くのプロセッサ時間がかかり、最大スループットが制限されます。これは、チェックサム検証を無効にするなどの方法である程度軽減できますが、メタデータ情報が改善されたXFSよりもBTRFSの主な利点が失われます。つまり、チェックサムとさまざまなジャーナリング(状況によってはより良い場合があります)。

コピーオンライト(COW)サポートに関して、XFSは厳密にCOWであるよりもパフォーマンスを優先します。つまり、XFSはスケーラビリティの点で非常に優れたメタデータとジャーナリング機能を備えており、アプリケーションが特にデータの上書きを要求した場合に既存のディスクブロックを上書きできることを除いて、書き込み時にファイルデータを上書きしません。 。これは、VMの場合に適しています。ディスク割り当ては最初は連続していて、その場合はVMの存続期間中は連続したままになる可能性があるためです。


5

BTRFSを使用して、でもとnodatacowを問わず、あなたはまだ作成することができます手動でデータのスナップショットをしてCoW、それは速いですので、行動や多くのメモリを消費しません。さらに、これらのスナップショットはLVMを使用するよりも柔軟性があります。これは、ファイルシステムが認識していないファイルシステムの下にスペースを予約する必要がなく、必要がない場合は使用できないためです。ZFSと同様に、スナップショットはネットワーク経由で送受信できるため、バックアップ戦略の改善に役立つ場合があります。したがって、nodatacowBTRFSを使用しても、LVMを使用するよりも優れているようです。


3

クラウドコンピューティングプラットフォームで作業した後、実際のvmの重要性が低いデータと機能のコンテナーとして仮想マシンのビューを採用するようになりました。

代わりに、適切なバックアップと復元およびインストールと展開のプロセスを用意し、VMの整合性については気にせず、パフォーマンスについてもっと気にかけたいと思います。

つまり、BTRFSではなく、MD-raid上のLVM上のJFS / XFS / EXT4を使用します。VMにバックアップされていないものは長期間保存しないでください。何かが発生した場合は、適切な時間内にVMの新しいインストールをバックアップするためのスクリプトと手順を用意してください。

しかし、これは何よりも開発/実験シナリオの詳細です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.