私たちの会社では、複数のサーバー上に多数のkvmクライアントがあり、ほとんどのクライアントはubuntu 16.04とそのホストシステムを実行しています。
選択したファイルシステムは、クライアントとホストのEXT4になりました。最近、BTRFSが提供する素晴らしいスナップショット機能のいくつかを使用して、増分バックアップを備えたバックアップサーバーをセットアップしました。
KVMの断片化により、クライアントが最終的にフリーズするまでクライアントの速度が低下するため、FSホストにBTRFSを使用しないという手がかりが得られたという調査結果もあります。
KVMクライアントでBTRFSを使用するための推奨事項はありますか、またはしませんか?
FSクライアントとホストの選択肢を再検討しています。EXT4(クライアント/ホストまたは片側のみ)よりもXFSを使用する利点はありますか?)
グーグルであなたはKVMで貴様ファイルシステムのパフォーマンスについて話す多くのウェブサイトを見つけることができます。
これを見てください: ZFS、BTRFS、XFS、EXT4、およびLVM KVM –ストレージパフォーマンスの比較
著者Gionatan Dantiによると:
テストされたシナリオは次のとおりです。
1)RAW MDデバイス上のXFSファイルシステム上のQcow2バックエンド。シンと部分(メタデータのみ)の事前割り当てモードの両方がベンチマークされました。
2)論理ボリュームバックエンド。従来のLVM(脂肪の事前割り当て)モードとシン(薄いlvmターゲット)モードの両方。さらに、シンLVMはゼロ化のオンとオフの両方で分析されました。
3)シンプロビジョニングのためのファイルシステムスパースファイルサポートを中継する、XFSおよびEXT4上のrawイメージと従来のLVM
4)シンプロビジョニング用のシンlvmターゲットを中継する、シンLVM上のXFSおよびEXT4上のrawイメージ。この場合、ゼロ化されるブロックはファイルシステム構造内で直接管理されるため、LVMゼロ化は無効になりました。
5)ミラー+ストライプ実装(ここではMDなし)の上に生画像BTRFS。有効と無効の両方のCoWでBTRFSをベンチマークしました(nodatacowマウントオプション)
6)ミラー+ストライプの実装に加えてrawイメージZFS(MDなし)
彼は次のように結論します:
VMストレージの場合は、BTRFSから十分に離してください。RedHatから「Tech Preview」とマークされているだけでなく(100%の本番稼働ではありません)、VM =画像ストア。
BTRFSについての別のブログトークでは、KVMでパフォーマンスを向上させるためにコピーオンライト(COW)を無効にする必要がある多くのフォーラムで読むことができます。
Chris IrwinがBTRFSの利点について話し、別の方法について話します。
他のツールがあります。または、独自のcronジョブをロールできます。それではZFSはどうでしょうか? ZFSはこれらすべてのことをしたと思いましたか?
はい、それはなぜZFSを使用しないのですか?
どうぞ
リンク: btrfsでライブ
使用に問題がないかどうかを確認するもう1つの方法は、パフォーマンスが良好で、コピーオンライトなしで信頼できるかどうかを自分でテストすることです。
BTRFSが最適でない場合は、ZFSを試すことができます。同じバックアップ機能と他の多くの改善点がありますが、Linuxに実装するのは少し難しいです。
My KVM最適なオーケストレーションソリューションであるoVirtは、最大のパフォーマンス、スケーラビリティ、柔軟性を実現するために、RAWディスクとしてVMに渡されたLVMボリュームを使用します。qcow2とLVMの両方のスナップショットを実行できます。新しいストレージソリューションで、SDS風で豪華なものを試してみたい場合は、代わりにCephおよびRBDでボリュームにアクセスできます。
独自のウィキでBtrfs Gotchasの公式サイトをご覧ください: https://btrfs.wiki.kernel.org/index.php/Gotchas
特にこの点:
断片化
ランダム書き込みが多いファイルは、断片化が激しくなり(10000以上のエクステント)、HDDでのスラッシングや、SSDまたは大量のRAMを搭載したシステムでのCPU負荷の過度の数秒のスパイクを引き起こします。サーバーとワークステーションでは、これはデータベースと仮想マシンイメージに影響します。 nodatacowマウントオプションは、関連する落とし穴とともに、ここで使用できます。
つまり、これだけではそれとは逆に、使用したい1つの機能が仮想ホストイメージで高速に使用できない場合、COWファイルシステムはどのように使用されるのでしょうか。 COWファイルシステムを使用する場合は、ZFSを使用してください。
また、CoreosはBtrfsからEXT4にデフォルトファイルシステムとして移行したことにも注意してください。何年も前にまだバグが多すぎたためです。
https://www.phoronix.com/scan.php?page=news_item&px=CoreOS-Btrfs-To-EXT4-OverlayFS
したがって、Ext4はそれほど派手ではないかもしれませんが、Fancy Pants氏は、信頼できる信頼できる作業馬です。 LinuxでExt4以外のファイルシステムを探していて、ZOLを使用したくない、またはFreeBSDに切り替えたくない場合は、XFSを試してみる価値があります。
Gentooとごく最近のカーネルを使用してホームデスクトップでBtrfsを使用していますが、数か月ごとにかなり厄介な問題があり、システムが起動できなくなり、手動で修復する必要があるため、Googleで調査して使用するには時間がかかります。試行錯誤、それが機能しない場合は、適切なバックアップ。
あなたが自問すべき本当の質問はこれです:なぜ私たちはExt4から離れるべきですか?それはあなたのユースケースに完全にうまく機能するようです。あなたが新しい、派手なものについて何かを読んだからといって、あなたが本当にそれを必要としているわけではありません。それについて考えてください。
CentOSはbtrfs refのサポートを放棄します: https://www.theregister.co.uk/2017/08/16/red_hat_banishes_btrfs_from_rhel/ したがって、CentOS btrfs賢い選択ではありません。
btrfsは次のFS標準と見なされていますが、ZFSも主にUbuntuによって多くの注目を集めています。
Btrfsに対する警告のほとんどは古く、RAID6などの特定の構成に関係しています(つまり、2台以上のドライブを意味します)。
openSUSEはbtrfsを選び、それをうまくサポートします。/var/lib/libvirtディレクトリの例のように、COWを無効にするので、明らかにいくつかの問題に直面して修正します。
5 VM(KVM)と20のコンテナー(Docker)をホストするrootとして使用されるRAID1として2 SSDビルドでbtrfsを使用してopenSUSEを実行しています。
とても満足しています。