第9章 BlueStore
BlueStore は、OSD デーモンの新たなバックエンドオブジェクトストアです。元のオブジェクトストアである FileStore では、raw ブロックデバイス上にファイルシステムを必要とします。オブジェクトはファイルシステムに書き込まれます。BlueStore はブロックデバイスに直接オブジェクトを配置するため、BlueStore は最初のファイルシステムを必要としません。
BlueStore は、本番環境で OSD デーモン向けに高パフォーマンスのバックエンドを提供します。デフォルトでは、BlueStore はセルフチューニングするように設定されています。BlueStore を手動でチューニングした方が環境のパフォーマンスが良いと判断された場合は、Red Hat サポート に連絡して設定の詳細を共有し、自動チューニングのケイパビリティーを改善する支援を受けるようにしてください。Red Hatは、フィードバックをお待ちしており、お客様の提案に感謝いたします。
9.1. About BlueStore
BlueStore は、OSD デーモンの新しいバックエンドです。BlueStoreは、元の FileStore バックエンドとは異なり、ファイルシステムのインターフェースなしでブロックデバイスに直接オブジェクトを格納するため、クラスタのパフォーマンスが向上します。
以下は、BlueStore を使用する主な機能の一部です。
- ストレージデバイスの直接管理
- BlueStore は raw ブロックデバイスまたはパーティションを使用します。これにより、XFS などのローカルファイルシステムなど、抽象化の層が回避され、パフォーマンスの制限や複雑さの増加が発生する可能性があります。
- RocksDB を使用したメタデータ管理
- BlueStore は、ディスク上の場所をブロックするオブジェクト名からのマッピングなど、内部メタデータの管理にデーターベースのキーと値データベースを使用します。
- 完全なデータおよびメタデータのチェックサム
- デフォルトでは、BlueStore に書き込まれたすべてのデータおよびメタデータは、1 つ以上のチェックサムによって保護されます。検証せずにディスクから読み取られたり、ユーザーに返されたデータやメタデータはありません。
- 効率的なコピーオンライト
- Ceph Block Device および Ceph File System のスナップショットは、BlueStore に効率的に実装されるコピーオンライトのクローンメカニズムに依存します。これにより、通常のスナップショットと、効率的な 2 フェーズコミットを実装するためにクローン作成に依存するイレイジャーコーディングプールの両方で効率的な I/O が実現します。
- 大きな二重書き込みなし
- BlueStore は、まずブロックデバイス上の未割り当ての領域に新しいデータを書き込み、次にディスクの新しい領域を参照するためにオブジェクトのメタデータを更新する RocksDB トランザクションをコミットします。書き込み操作が設定可能なサイズのしきい値を下回る場合にのみ、FileStore の操作と同様に、先行書き込みのジャーナリングスキームにフォールバックします。
- マルチデバイスのサポート
BlueStore は、異なるデータを保存するために複数のブロックデバイスを使用できます。たとえば、データにはハードディスクドライブ (HDD)、メタデータにはソリッドステートドライブ (SSD)、RocksDB ログ先行書き込み (WAL) には不揮発性メモリー (NVM) または不揮発性ランダムアクセスメモリー (NVRAM) などです。詳細は 「BlueStore デバイス」 を参照してください。
注記ceph-disk
ユーティリティーがまだ複数のデバイスをプロビジョニングしません。複数のデバイスを使用するには、OSD を手動で設定する必要があります。- ブロックデバイスの効率的な使用方法
- BlueStore はファイルシステムを使用しないため、ストレージデバイスキャッシュを削除する必要が最小限に抑えられます。