CephFS - cephfs
¶
Ceph はオープンソースのストレージプラットフォームで、データを RADOS に基づいたストレージクラスタ内に保管します。 非常にスケーラブルで、単一障害点がない分散システムであり非常に信頼性が高いです。
Ceph はブロックストレージ用とファイルシステム用に異なるコンポーネントを提供します。
CephFS は堅牢でフル機能の POSIX 互換の分散ファイルシステムを提供する Ceph のファイルシステムコンポーネントです。 内部的には ファイルを Ceph オブジェクトにマップし、ファイルのメタデータ(たとえば、ファイルの所有権、ディレクトリーパス、アクセス権限)を別のデータプールに保管します。
用語¶
Ceph は保管するデータに オブジェクト という用語を使用します。 データを保存と管理する責任を持つデーモンは Ceph OSD です。 Ceph のストレージは プール に分割されます。これはオブジェクトを保管する論理的なパーティションです。 これらは データプール, ストレージプール, OSD プール とも呼ばれます。
CephFS ファイルシステム は 2 つの OSD ストレージプールから構成され、ひとつは実際のデータ、もうひとつはファイルメタデータに使用されます。
Incus の cephfs
ドライバー¶
注釈
cephfs
ドライバはコンテントタイプ filesystem
のカスタムストレージボリュームにのみ使用できます。
他のストレージボリュームには Ceph ドライバを使用してください。
そのドライバはコンテントタイプ filesystem
のカスタムストレージボリュームにも使用できますが、 Ceph RBD イメージを使って実装しています。
使用したい CephFS ファイルシステムを事前に作成しておいて source
に指定するか、ファイルシステムと(cephfs.data_pool
と cephfs.meta_pool
で指定される名前で)データとメタデータ OSD プールを自動的に作成するcephfs.create_missing
オプションを指定します。
他のストレージドライバーとは異なり、このドライバーはストレージシステムをセットアップはせず、既に Ceph クラスタをインストール済みであると想定します。
使用したい CephFS ファイルシステムは事前に作成する必要があり source
オプションで指定する必要があります。
このドライバーはリモートのストレージを提供するという意味でも他のドライバーとは異なる振る舞いをします。 結果として、内部ネットワークに依存し、ストレージへのアクセスはローカルのストレージより少し遅くなるかもしれません。 一方で、リモートのストレージを使うことはクラスタ構成では大きな利点があります。これはストレージプールを同期する必要なしに、すべてのクラスタメンバーが同じ内容を持つ同じストレージプールにアクセスできるからです。
Incus は OSD ストレージプールに対して完全制御できることを想定します。 このため、 Incus OSD ストレージプール内に Incus が所有しないファイルシステムエンティティは Incus が消してしまうかもしれないので決して置くべきではありません。
Incus の cephfs
ドライバーはサーバー側でスナップショットが有効な場合はスナップショットをサポートします。
設定オプション¶
cephfs
ドライバーを使うストレージプールとこれらのプール内のストレージボリュームには以下の設定オプションが利用できます。
ストレージプール設定¶
キー |
型 |
デフォルト値 |
説明 |
---|---|---|---|
|
string |
|
CephFS ファイルシステムを含む Ceph クラスタの名前 |
|
bool |
|
データとメタデータ OSD プールが存在しない場合は作成しつつファイルシステムを作成 |
|
string |
- |
ファイルシステム用に作成するデータ OSD プール名 |
|
bool |
|
カーネルの |
|
string |
- |
ファイルシステム用に作成するメタデータ OSD プール名 |
|
string |
- |
存在しない OSD プールを作成する際に使用する OSD プールの |
|
string |
|
CephFS をマウントするベースのパス |
|
string |
|
使用する Ceph のユーザー |
|
string |
- |
使用する既存の CephFS ファイルシステムかファイルシステムパス |
|
string |
|
作成時に CephFS ファイルシステムが空だったか |
Tip
これらの設定に加えて、ストレージボリューム設定のデフォルト値を設定できます。 ストレージボリュームのデフォルト値を変更する を参照してください。
キー |
型 |
条件 |
デフォルト値 |
説明 |
---|---|---|---|---|
|
bool |
カスタムブロックボリューム |
|
複数のインスタンスでのボリュームの共有を有効にする |
|
bool |
カスタムボリューム |
|
ID シフトオーバーレイを有効にする (複数の分離されたインスタンスによるアタッチを許可する) |
|
bool |
カスタムボリューム |
|
ボリュームの ID マッピングを無効にする |
|
string |
適切なドライバー |
|
ストレージボリュームのサイズ/クォータ |
|
string |
カスタムボリューム |
|
スナップショットをいつ削除するかを制御 ( |
|
string |
カスタムボリューム |
|
スナップショットの名前を表す Pongo2 テンプレート文字列 (スケジュールされたスナップショットと名前無しのスナップショットで使用) [1] |
|
string |
カスタムボリューム |
|
Cron 表記 ( |