vfs_ceph_new — libcepufs 低レベル API が提供する機能を利用
vfs objects = ceph_new
この VFS モジュールは samba(8) システムの一部である。
vfs_ceph_new VFS モジュールは Sambaが
使用する CephFS 固有の機能を公開する。
Ceph は、優れた性能、信頼性、スケーラビリティを提供するように設計された、 分散ネットワークファイルシステムである。これは、アプリケーションが、 POSIX 風のインタフェース経由で、Ceph 分散ファイルシステムへのアクセスを行うための、 共有ライブラリである。
このモジュールは、他のモジュールといっしょに使えるが、vfs objects
リスト中では、最後に位置するモジュールでなければならない。このリストの、
ceph エントリより右にあるモジュールは無意味である。
vfs_ceph は、 Windows と POSIX ACL 間の
マッピングを行う。 POSIX ACL を正しく処理させるために、
以下の Ceph 設定パラメータが自動的に設定される:
client acl type = posix_aclfuse default permissions = false
注意: これは、libcepufs 低レベル API を使用する ceph モジュールの2番目の実装 である(パスベースの API を使用する元の vfs_ceph(8)モジュールと比較して)。 低レベル API を使用すると、Ceph ストレージ層へのより最適化された きめ細かなアクセスが可能になる。
vfs_ceph_new は、ベースとなる
共有パスが Ceph ファイルシステムであることを要求する。
[share]
vfs objects = ceph_new
path = /non-mounted/cephfs/path
kernel share modes = no
vfs_ceph_newはファイルシステムのマウントを
必要としないため、共有pathは別の方法で扱われる。
接続された Ceph クラスタ上の Ceph ファイルシステム内の絶対パスとして
解釈される。
ctdb が Samba を管理する ctdb クラスタ環境では
CTDB_SAMBA_SKIP_SHARE_CHECK=yesは、ローカル共有
パスチェックを無効にするように設定する必要がある。そうしないと、
ctdb は正常な状態に到達しない。
現在のところ、ファイルサービスが正しく動作するためには、
CepFS vfs モジュールで実行されている共有で
kernel share modesを無効にする必要があることに注
意。
ceph 構成ファイル(configfile)を使う。既定値は空である。
例: ceph_new:config_file = /etc/ceph/ceph.conf
CephFS マウントハンドルに用いられるクライアント ID を 明示的に設定する。既定値は空である(既定で libcephfs クライアントを使用)。
例: ceph_new:user_id = samba
Ceph クラスタが複数のファイルシステムをサポートする場合に、 使用する CephFS ファイルシステムを明示的に選択できる。既定では 空である(Ceph クラスタの既定のファイルシステムを使用する)。
例: ceph_new:filesystem = myfs2
リソース使用率を最適化するために libceffs プロキシ ライブラリの使用を指示できるようにし、より多くの 同時クライアント接続を可能にする。前提条件には、 動的リンカ用にロード可能な場所に共有ライブラリ libcephfs_proxy.so.Xと、 アクティブな(実行中の)libcephfsd デーモンがあることである。
no (既定値) - プロキシ
ライブラリを使わず、libcephfs.so.X
経由で通常の接続を行う。
yes - 常時プロキシ
ライブラリを使用するが、前提条件が満たされない場合は
クライアント接続要求は失敗する。
auto - プロキシ
ライブラリの使用を試みるが、前提条件が満たされない場合は
通常の cepfs 接続に切り換える。
FSCrypt スタイルの暗号化(サブ)ボリュームサポートを有効 にするように CephFS クライアントを構成する。有効にすると、 暗号化は空の共有に自動的に適用され、その共有への今後の 接続には同じキーマテリアルを持つ FSCrypt が必要になる。
disabled (既定値)
- FSCrypt サポートが無効。
none -
disabled のエイリアス。
keybridge -
キー情報を取得するためのkeybridge RPC APIを使用して、
CepFS FSCrypt サポートを有効にする。このオプションを
設定するためには
ceph_new:keybridge socket,
ceph_new:keybridge scope, と
ceph_new:keybridge name
を指定することが必要である。
指定されたソケットをリッスンする KeyBridge サーバーと 通信するための CepFS FSCrypt サポートを構成する。 KeyBridge サーバーは、varlink KeyBridge プロトコルを使用して、 1 つまたは複数の鍵配布サービス (KMIPなど) から鍵データを取得する。
許可されている唯一のタイプはunixである。
pathの 値は、キーブリッジサーバ用の Unix ドメインソケット
へのパスである。
例: unix:/run/keybridge/keybridge.sock
指定された場合、このオプションは
ceph_new:keybridge scope と
ceph_new:keybridge name
オプションを指定することが必要である。
KeyBridge API リクエストのスコープ値を設定する。 スコープはキーのコンテキストを識別し、通常は特定の バックエンドにマッピングされる。使用可能なスコープ値は KeyBridge サーバーの構成によって異なる。 例: "kmip.testing".
指定された場合、このオプションは
ceph_new:keybridge socket と
ceph_new:keybridge name
オプションを指定することが必要である。
KeyBridge API 要求の名前の値を設定する。これは KeyBridge サーバーがこの共有の暗号化を「ロック解除」するために 使用する、スコープ内のキーの名前または識別子である。 例: "volume1".
指定された場合、このオプションは
ceph_new:keybridge socket と
ceph_new:keybridge scope
オプションを指定することが必要である。
KeyBridge API 要求のデータ・フィールドの種類を設定する。 KeyBridge サーバーは、Base64 でエンコードされた文字列 (B64) またはプレーン・テキスト (VALUE) を使用してデータを 交換できる。スコープに応じて、サーバーはなんらかの形式で キー情報をフェッチできる。データの種類を手動で選択する ときにはこのオプションを使用する。
指定しない場合は B64 が使われる。