第2章 Ceph クライアントコンポーネント

Ceph クライアントは、データストレージインターフェイスの表示方法が大きく異なります。Ceph ブロックデバイスは、物理ストレージドライブと同様にマウントするブロックストレージを表示します。Ceph ゲートウェイは、S3 準拠のオブジェクトストレージサービスと Swift 準拠の RESTful インターフェイスを独自のユーザー管理と共に表示します。ただし、すべての Ceph クライアントは Reliable Autonomic Distributed Object Store (RADOS) プロトコルを使用して Red Hat Ceph Storage クラスターと対話します。

これらはすべて、同じ基本的なニーズを持っています。

  • Ceph 設定ファイルおよび Ceph Monitor アドレス。
  • プール名
  • ユーザー名およびシークレットキーへのパス。

Ceph クライアントは、object-watch-notify や striping などのいくつかの同様のパターンに従う傾向があります。以下のセクションでは、RADOS、librados、および Ceph クライアントで使用される一般的なパターンについて、もう少し説明します。

前提条件

  • 分散ストレージシステムについての基本的な理解

2.1. Ceph クライアントネイティブプロトコル

最新のアプリケーションには、非同期通信機能を備えた単純なオブジェクトストレージインターフェイスが必要です。Ceph Storage Cluster は、非同期通信機能を備えたシンプルなオブジェクトストレージインターフェイスを提供します。このインターフェイスは、クラスター全体でオブジェクトへの直接並行アクセスを提供します。

  • プール操作
  • スナップショット
  • オブジェクトの読み取り/書き込み

    • 作成または削除
    • オブジェクト全体またはバイト範囲
    • 追加または切り捨て
  • Create/Set/Get/Remove XATTRs
  • Create/Set/Get/Remove Key/Value Pairs
  • 複合操作および dual-ack セマンティクス