検索

2.10. Ceph BlueStore

download PDF

BlueStore は Ceph の次世代ストレージ実装です。ストレージデバイスの市場にはソリッドステートドライブ、SSD、PCI Express または NVMe 経由の不揮発性メモリーが含まれるようになったため、Ceph での使用により、FileStore ストレージの実装の制限の一部が示されます。FileStore には、SSD ストレージおよび NVMe ストレージを容易にするために多くの改良がありますが、他の制限は残ります。それらの中で、配置グループの増加は依然として計算コストが高く、二重書き込みペナルティーが残っています。FileStore はブロックデバイスのファイルシステムと対話し、BlueStore はその間接状態をなくし、オブジェクトストレージ用に raw ブロックデバイスを直接使用します。BlueStore は、k/v データベース用に小規模なパーティションで非常に軽量な BlueFS ファイルシステムを使用します。BlueStore では、配置グループを表すディレクトリー (オブジェクトを表すファイルおよびメタデータを表すファイルの) の XATTR がなくなります。BlueStore では FileStore の 2 回の書き込みペナルティーが解消されるため、ほとんどのワークロードで BlueStore を使用する場合に、書き込み操作はほぼ 2 倍速くなります。

BlueStore は以下のようにデータを保存します。

  • オブジェクトデータ: BlueStore では、Ceph はオブジェクトを raw ブロックデバイスに直接ブロックとして保存します。オブジェクトデータを格納する raw ブロックデバイスの部分にはファイルシステムが含まれません。ファイルシステム省略により間接的な層が排除され、パフォーマンスが向上します。ただし、BlueStore のパフォーマンスのほとんどは、ブロックデータベースと write-ahead ログにより向上されます。
  • ブロックデータベース: BlueStore では、整合性 を保証するために、ブロックデータベースがオブジェクトのセマンティクスを処理します。オブジェクトの一意の ID はブロックデータベースのキーです。ブロックデータベースの値は、格納したオブジェクトデータ、オブジェクトの配置グループ、およびオブジェクトメタデータを参照する一連のブロックアドレスで設定されます。ブロックデータベースは、オブジェクトデータを格納する同じ raw ブロックデバイス上の BlueFS パーティションに存在する場合もあれば、別のブロックデバイスに存在する場合もあります。通常、ハードディスクドライブがプライマリーリブロックデバイスであり、SSD または NVMe によってパフォーマンスが向上します。ブロックデータベースでは、FileStore に対する多くの改善が行われています。つまり、BlueStore のキー/値のセマンティクスはファイルシステム XATTR の制限に悪い影響を与えません。BlueStore は、FileStore のように、ファイルをディレクトリーから別のディレクトリーに移動するオーバーヘッドなしに、ブロックデータベース内の他の配置グループにオブジェクトをすぐに割り当てることができます。BlueStore には新機能も導入されています。ブロックデータベースは、保存されたオブジェクトデータとそのメタデータのチェックサムを保存できるため、読み取りごとに完全なデータチェックサム操作が可能になります。これは、ビットロットを検出するための定期的なスクラブよりも効率的です。BlueStore はオブジェクトを圧縮でき、ブロックデータベースはオブジェクトの圧縮に使用されるアルゴリズムを保存できます。これにより、読み取り操作で解凍に適切なアルゴリズムが選択されます。
  • 先行書き込みログ: BlueStore では、FileStore のジャーナリング機能と同様に、先行書き込みログによって 原子性 が保証されます。FileStore と同様に、BlueStore は各トランザクションのすべての要素をログに記録します。ただし、BlueStore の先行書き込みログまたは WAL は、この機能を同時に実行できるため、FileStore の二重書き込みペナルティーがなくなります。その結果、BlueStore は、ほとんどのワークロードの書き込み操作で FileStore のほぼ 2 倍の速度になります。BlueStore は、オブジェクトデータを保存するために同じデバイスに WAL をデプロイできます。または、通常、プライマリーブロックデバイスがハードディスクドライブである場合や、SSD または NVMe によってパフォーマンスが向上する場合は、WAL を別のデバイスにデプロイできます。
注記

個別のデバイスがプライマリーストレージデバイスよりも高速である場合にのみ、ブロックデータベースまたは先行書き込みログを別のブロックデバイスに保存すると便利です。たとえば、SSD デバイスおよび NVMe デバイスは通常 HDD よりも高速です。ブロックデータベースと WAL を別のデバイスに配置すると、ワークロードの違いにより、パフォーマンス上の利点があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.