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 接続に切り換える。