Ceph Object - cephobject

Ceph はオープンソースのストレージプラットフォームで、データを RADOS に基づいたストレージクラスタ内に保管します。 非常にスケーラブルで、単一障害点がない分散システムであり非常に信頼性が高いです。

Ceph はブロックストレージ用とファイルシステム用に異なるコンポーネントを提供します。

Ceph Object Gatewaylibrados 上に構築されたオブジェクトストレージインターフェースであり Ceph Storage Clusters への RESTful ゲートウェイを持つアプリケーションを提供します。 Amazon S3 RESTful API の大きなサブセットと互換性を持つオブジェクトストレージの機能を提供します。

用語

Ceph は保管するデータに オブジェクト という用語を使用します。 データを保存と管理する責任を持つデーモンは Ceph OSD です。 Ceph のストレージは プール に分割されます。これはオブジェクトを保管する論理的なパーティションです。 これらは データプール, ストレージプール, OSD プール とも呼ばれます。

Ceph Object Gateway は複数の OSD プールとゲートウェイの機能を提供する 1 つ以上の Ceph Object Gateway daemon (radosgw) プロセスから構成されます。

Incus の cephobject ドライバー

注釈

cephobject ドライバはバケットのみに使用できます。

ストレージボリュームには Ceph または CephFS ドライバを使用してください。

他のストレージドライバーとは異なり、このドライバーはストレージシステムをセットアップはせず、既に Ceph クラスタをインストール済みであると想定します。

事前に radosgw 環境をセットアップし、 HTTP/HTTPS エンドポイント URL が Incus サーバーからアクセス可能なことを確認してください。 Ceph クラスタをどのようにセットアップするかの情報については Manual Deployment を、そして radosgw 環境をどのようにセットアップするかについては Ceph Object Gateway を参照してください。

radosgw URL はプールの作成時に cephobject.radosgw.endpoint オプションを使って指定できます。 また Incus はバケットの管理に radosgw-admin コマンドを使用しています。ですのでこのコマンドが Incus サーバー上で利用可能で操作可能である必要があります。

このドライバーはリモートのストレージを提供するという意味でも他のドライバーとは異なる振る舞いをします。 結果として、内部ネットワークに依存し、ストレージへのアクセスはローカルのストレージより少し遅くなるかもしれません。 一方で、リモートのストレージを使うことはクラスタ構成では大きな利点があります。これはストレージプールを同期する必要なしに、すべてのクラスタメンバーが同じ内容を持つ同じストレージプールにアクセスできるからです。

Incus は OSD ストレージプールに対して完全制御できることを想定します。 このため、 Incus OSD ストレージプール内に Incus が所有しないファイルシステムエンティティは Incus が消してしまうかもしれないので決して置くべきではありません。

設定オプション

cephobject ドライバーを使うストレージプールとこれらのプール内のストレージボリュームには以下の設定オプションが利用できます。

ストレージプール設定

cephobject.bucket_name_prefix

Ceph内のバケット名に追加する接頭辞

Key: cephobject.bucket_name_prefix
Type:

string

Default:
Scope:

global

cephobject.cluster_name

使用するCephクラスタ

Key: cephobject.cluster_name
Type:

string

Default:

ceph

Scope:

global

cephobject.radosgw.endpoint

radosgwゲートウェイプロセスのURL

Key: cephobject.radosgw.endpoint
Type:

string

Default:
Scope:

global

cephobject.radosgw.endpoint_cert_file

エンドポイント通信に使用するTLSクライアント証明書を含むファイルへのパス

Key: cephobject.radosgw.endpoint_cert_file
Type:

string

Default:
Scope:

global

cephobject.user.name

使用するCephユーザー

Key: cephobject.user.name
Type:

string

Default:

admin

Scope:

global

volatile.pool.pristine

作成時にradosgw incus-adminユーザーが存在したかどうか

Key: volatile.pool.pristine
Type:

string

Default:

true

Scope:

global

ストレージバケット設定

size

ストレージバケットのクォータ

Key: size
Type:

string

Default: