Cephキャッシュティアリングのパフォーマンスはどのようになりますか? | ARMマイクロサーバーCephストレージソリューション | Ambedded

Cephキャッシュティアリングのパフォーマンスはどのようになりますか? | ユーザーフレンドリーなCeph管理インターフェース

Cephキャッシュティアリングのパフォーマンスはどのようになりますか?

Cephキャッシュティアリングのパフォーマンスはどのようになりますか?

はじめに:
この投稿では、CephキャッシュティアリングがNVMeプールでバックアップされたキャッシュティアを設定することでHDDプールのパフォーマンスを向上させるベンチマークテストを共有します。


14 Apr, 2023 Ambedded
Cephキャッシュティアとは何か、そしてそれはどのように機能するのか

Cephのキャッシュティアは、より速いストレージデバイスを遅いもののキャッシュとして使用することができます。 これには、キャッシュティアとして機能するように設定された高速/高価なストレージデバイス(NVMe SSDなど)のプールを作成し、経済的なストレージティアとして機能するように設定されたエラーコード化されたまたは遅いデバイス(HDDなど)の遅い/安価なバックアッププールが含まれます。 キャッシュ層は、バッキング層から頻繁にアクセスされるデータを保存し、クライアントからの読み取りおよび書き込み要求を処理します。 キャッシュティアリングエージェントは、特定のポリシーに基づいてキャッシュティアから定期的にオブジェクトをフラッシュまたは削除します。

Ceph キャッシュティアデモ

過去には、キャッシュティアストレージデバイスとしてSATA SSDを使用しても、キャッシュティアリングのパフォーマンス向上はほとんど見られませんでした。しかし、最近ではNVMe SSDのコストが数年前と比べて大幅に低下し、NVMe SSDのパフォーマンスはHDDよりもはるかに高速です。HDDプールにNVMe SSDをキャッシュティアとして使用することで、大幅な助けとなるかどうかを知りたいと考えています。

NVMeキャッシュティアの効果をテストするために、HDDベースのストレージプールのパフォーマンスを向上させるかどうかを確認するテストを設定しました。

クラスターのセットアップ
NVMEホスト3 x Ambedded Mars500 Ceph Appliances
各Mars 500アプライアンスの仕様
CPU1x Ampere Altra Arm 64-Core 3.0 Ghz
メモリ96 GiB DDR4
ネットワーク2ポート 25GbpsのMellanox ConnectX-6
OSDドライブ8 x Micron 7400 960GB


HDDホスト3 x Ambedded Mars400 Ceph Appliances
各Mars 400アプライアンスの仕様
CPU8ノード、クアッドコアArm64 1.2 GHz
メモリノードごとに4GiB、アプライアンスごとに32GiB
ネットワークノードごとに2 x 2.5Gbps、インチャシススイッチ経由で2x 10Gbアップリンク
OSDドライブ8 x 6TB Seagate Exos HDD
Cephクラスタ情報
  • NVMe SSDに24 x OSD(3x Ambedded Mars500アプライアンス)
  • HDDに24x OSD(3x Ambedded Mars400アプライアンス)
  • HDDとNVMeサーバーは別々のCRUSHルートに配置されています。
テストクライアント
  • 物理サーバー2台。25Gbネットワークカード2枚
  • 各サーバーに7つのVMを実行しています。
  • 各VMには4つのコアと8GBのメモリがあります。
Ambedded UVSマネージャーによるキャッシュティアのセットアップ

 1. HDD osdを使用してベースプールを作成します。

 2. NVMe SSD osdを使用してNVMeプールを作成します。

 3. NVMeプールをHDDプールのキャッシュティアとして追加します。
      デフォルトのキャッシュティアの設定:

  • キャッシュモード:書き込みバック
  • hit_set_count = 12
  • hit_set_period = 14400秒(4時間)
  • target_max_byte = 2 TiB
  • target_max_objects = 100万個
  • min_read_recency_for_promote & min_write_recency_for_promote = 2
  • cache_target_dirty_ratio = 0.4
  • cache_target_dirty_high_ratio = 0.6
  • cache_target_full_ratio = 0.8
  • cache_min_flush_age = 600秒
  • cache_min_evict_age = 1800 秒。

キャッシュティアを追加する前後で、最大14台のクライアントを使用してHDDプールをテストしました。 各クライアントはfioテストのためにRBDをマウントしました。 テストの負荷は、1つのクライアントから始まり、各テストジョブが完了した後にクライアントの数を増やしました。 各テストサイクルは5分間で、Jenkinsによって自動的に制御されました。 テストジョブのパフォーマンスは、すべてのクライアントの結果の合計でした。 キャッシュティアリングのテストを行う前に、キャッシュティアプールがcephキャッシュターゲットフル比率(0.8)を超えるまで、データをRBDに書き込みました。

ダイアグラムによれば、純粋なHDDプールにNVMeキャッシュプールを追加することで、パフォーマンスが大幅に向上しました。

キャッシュティアテスト中、ceph osd pool statsコマンドを使用してプールの統計情報を観察しました。キャッシュとベースのプールでは、フラッシュ、エビクト、プロモートのアクティビティがありました。キャッシュティアテスト中に異なるタイミングでプールの統計情報をキャプチャしました。

データがキャッシュに書き込まれました
プールキャッシュ ID 84
 クライアント I/O 21 MiB/s 書き込み、0 op/s 読み込み、5.49k op/s 書き込み

プール mars400_rbd ID 86
 何も起こっていません

キャッシュが昇格と退避を行っていました
プールキャッシュID 84
クライアントIO 42 MiB/s 書き込み, 0 op/s 読み取り, 10.79k op/s 書き込み
キャッシュティアIO 179 MiB/s 退避, 17 op/s 昇格

プールmars400_rbd ID 86
クライアントIO 0 B/s 読み取り, 1.4 MiB/s 書き込み, 18 op/s 読み取り, 358 op/s 書き込み

キャッシュがフラッシュされました
プールキャッシュID 84
 クライアントIO 3.2 GiB/s 読み込み、830 op/s 読み込み、0 op/s 書き込み
 キャッシュティアIO 238 MiB/s フラッシュ、14 op/s プロモート、1 PG フラッシュ中

プールmars400_rbd ID 86
 クライアントIO 126 MiB/s 読み込み、232 MiB/s 書き込み、44 op/s 読み込み、57 op/s 書き込み

PGが削除されていました
プールキャッシュID 84
 クライアントIO 2.6 GiB/s 読み取り、0 B/s 書き込み、663 op/s 読み取り、0 op/s 書き込み
 キャッシュティアIO 340 MiB/s フラッシュ、2.7 MiB/s 削除、21 op/s 昇格、1 PGが削除中(フル)

プールmars400_rbd ID 86
 クライアントIO 768 MiB/s 読み取り、344 MiB/s 書き込み、212 op/s 読み取り、86 op/s 書き込み

PGフラッシュとクライアントIOはベースプールに直接行われます。(クライアントがデータを書き込んでいました)
プールキャッシュ ID 84
 クライアント I/O 0 B/s 書き込み、0 op/s 読み込み、1 op/s 書き込み
 キャッシュティア I/O 515 MiB/s フラッシュ、7.7 MiB/s エビクト、1 PG フラッシュ中

プール mars400_rbd ID 86
 クライアント I/O 613 MiB/s 書き込み、0 op/s 読み込み、153 op/s 書き込み

連続テストの後、クラスタを数時間休ませ、4 kBのランダムライトテストをやり直しました。非常に良いパフォーマンスが得られました。これは、新しい書き込みのためにキャッシュスペースが解放されたためです。
 
このテストから、HDDプールのキャッシュティアとしてNVMeプールを使用すると、大幅なパフォーマンス向上が実現できることがわかりました。
 
キャッシュティアリングのパフォーマンスは保証されないことに注意してください。パフォーマンスはその瞬間のキャッシュヒットの状態に依存し、同じ構成とワークロードでのテストを繰り返しても同じパフォーマンスは得られません。
 
アプリケーションが一貫したパフォーマンスを必要とする場合は、純粋なNMMe SSDプールを使用してください。

関連製品
Mars500 NVMEオールフラッシュCephストレージアプライアンス - 高性能なユースケースに対応するための8つのNVME OSDを備えたフラッシュCephストレージアプライアンス
Mars500 NVMEオールフラッシュCephストレージアプライアンス
Mars 500

Mars 500 Cephアプライアンスは、高性能なクラウドネイティブデータストレージのニーズに応えるために設計されています。最新のNVMeフラッシュ技術を利用して、完全なソフトウェア定義ストレージソリューションを提供します。   Mars...

詳細
Mars 400PRO Cephストレージアプライアンス - CephストレージアプライアンスMars 400の前面。
Mars 400PRO Cephストレージアプライアンス
Mars 400PRO

Mars 400 Cephアプライアンスは、高容量のクラウドネイティブデータストレージニーズに対応するよう設計されています。...

詳細

Cephストレージアプライアンス

Mars 400 CephストレージアプライアンスHW&SWデータシート。

Cephキャッシュティアリングのパフォーマンスはどのようになりますか? | UVSマネージャー - Cephの展開を簡素化する | Ambedded

2013年以来、Ambedded Technology Co., LTD.は台湾に拠点を置き、ブロックおよびオブジェクトストレージのソリューションプロバイダーとして活動しています。彼らの主要なデータストレージ管理には、Cephストレージ技術、ARMサーバー統合、ソフトウェア定義ストレージ、エンタープライズストレージ最適化、Cephアプライアンスのコスト削減、ストレージ管理ソフトウェア、ブロックおよびオブジェクトストレージソリューションが含まれます。彼らはプロフェッショナルなCephサポートを提供し、データセンターで高いストレージ効率を持つスケーラブルなストレージシステムを提供しています。

Ambeddedは、ARMマイクロサーバー上で最先端のCephストレージソリューションを提供し、エンタープライズストレージシステムを最適化したいB2Bのバイヤーに対応しています。 私たちのキーターンのCephアプライアンスは、総所有コスト(TCO)を削減し、ストレージ管理を簡素化し、ブロック、ファイルシステム、オブジェクトストレージを統合プラットフォームでサポートします。 革新と顧客サポートへの取り組みを持つAmbeddedは、スケーラブルで効率的なSUSE Enterprise Storage Applianceソリューションの信頼できるパートナーです。 ビジネスでCephテクノロジーのフルポテンシャルを活用するために、シームレスな統合とプロフェッショナルなサポートを体験してください。

Ambeddedは2013年以来、スケーラブルなストレージシステムとコスト効果の高いCephストレージ管理をお客様に提供してきました。先進技術と20年の経験を持つAmbeddedは、お客様のニーズに応えることを保証します。