2.6. ObjectStore インターフェース


Objectstore は、OSD の raw ブロックデバイスに低レベルのインターフェースを提供します。クライアントがデータの読み取りまたは書き込みを行うと、ObjectStore インターフェースと対話します。Ceph 書き込み操作は、基本的に ACID トランザクションです。つまり、原子性一貫性分離、および 耐久性 を提供します。ObjectStore は、トランザクション原子性 を提供するために、オールオアナッシングになるようにします。ObjectStore は、オブジェクトセマンティクスも処理します。Overview セクションにあるように、ストレージクラスターに保存されているオブジェクトには、一意の識別子、オブジェクトデータ、およびメタデータがあります。したがって、ObjectStore は Ceph オブジェクトセマンティクスが正しいことを確認して 整合性 を提供します。ObjectStoreは、書き込み操作で Sequencer を呼び出して ACID トランザクションの 分離 部分も提供し、Ceph 書き込み操作が順番に実行されるようにします。これとは対照的に、OSD のレプリケーションまたはイレイジャーコーディング機能は ACID トランザクションの Durability コンポーネントを提供します。ObjectStore は、ストレージメディアへの低レベルのインターフェースであるため、パフォーマンスの統計も提供します。

Ceph は、データを保管するための具体的な方法を実装します。

  • FileStore: オブジェクトデータを保存するファイルシステムを使用した実稼働グレードの実装。
  • BlueStore: オブジェクトデータを保存するために raw ブロックデバイスを使用した実稼働クラスの実装。
  • Memstore: RAM で読み取り/書き込み操作を直接テストするための開発者の実装。
  • K/V Store: Ceph がキー/値データベースを使用する内部実装。

通常、管理者は FileStore および BlueStore にのみ対応するため、以下のセクションではこれらの実装についてのみ詳しく説明します。

2.6.1. FileStore

FileStore は Ceph の元のストレージ実装の 1 つで、最も広く使用されている実装です。Ceph プロジェクトは 2004 年に開始した場合、Ceph はストレージのハードディスクドライブのみに依存します。これは、ソリッドステートドライブまたは PCI 表現を介した不揮発性メモリーへの有線性もありませんでした。FileStore は、raw ブロックデバイスと直接対話するのではなく、ファイルシステム(通常は xfs )と対話します。ObjectStore がオブジェクトのセマンティクスを処理して FileStore に渡すと、FileStore は配置グループをディレクトリー、オブジェクトをファイルとして扱い、メタデータを XATTR または omap エントリーとして扱います。

FileStore

FileStore は、オープンソースのファイルシステムのセマンティクスを活用し、別のドライブでジャーナルトランザクションを使用する利点を提供します。FileStore には 不利な点もあります。FileStore の欠点の 1 つは、Ceph 書き込み操作は基本的に ACID トランザクションであることです。原子性 を実現するため、Ceph FileStore はデータを書き込む前に すべて のトランザクションをジャーナル化します。データのジャーナリングと書き込みに同じドライブを使用する場合は、書き込みレイテンシーが大きくなり、書き込みペナルティーが発生します。開発者は、トランザクションがあるのにコピーオンライトセマンティクスがあり、データを同時に書き込む可能性があるため、btrfs ファイルシステムのフォーマットが最終的にデフォルトのファイルシステムフォーマットであると見なしています。ただし、btrfs は、実稼働システムの Ceph プロジェクトの信頼性要件を満たさない。したがって、FileStore は通常 btrfs の代わりに ext4 ファイルシステムおよび xfs ファイルシステムを使用します。

ext4 の短所の 1 つは、XATTRs(約 4k)のストレージが非常に制限されていることです。したがって、xfsFileStore の推奨ファイルシステムになりました。これは、特に約 64k の XATR のストレージが多いためです。ただし、64k は、大規模なサムネイル画像を持つ可能性のあるムービルの図など、大規模なメタデータを必要とするオブジェクトの制限です。ObjectStore および FileStoreObjectMap または omap で拡張されました。

Ceph の商用サポートが 2012 で起動されると、SSD は引き続き高価でした。ただし、SSD ドライブでジャーナル書き込み操作を実行し、高速 SAS ハードディスクドライブにオブジェクトデータを保存する機能を使用すると、高スループットおよび高 I/o ワークロードのパフォーマンス特性が提供されます。SSD へのジャーナリングによりパフォーマンスが大幅に向上しましたが、xfs は引き続きトランザクションを書き込んでから書き込んでいました。そのため、SSD でペナルティーが低くしても、FileStore では 2 回書き込みペナルティーが維持されます。

FileStore は配置グループをディレクトリーとして処理します。初期クラスターの場合、問題の有無はほとんど表示されません。ただし、Ceph クラスターは拡張する傾向があります。管理者は新規ノードおよび OSD を追加する際に、配置グループの数を増やす必要があります。FileStore では、オブジェクトデータはディレクトリー内のファイルとして、配置グループを表すディレクトリーに置かれます。したがって、配置グループの数を増やす場合は、ファイル内のオブジェクトデータは異なるディレクトリーに移動する必要があります。Ceph は 32 ビットのハッシュアルゴリズムを使用してオブジェクトをランダムに分散します。その一部はオブジェクトのファイル名に組み込まれています。これは、データをアドレス指定および再分配するための非効率的なアプローチです。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.