6.4.3. SMB でのボリュームの共有
このプロセスに従うと、Samba を実行するサーバーで設定された gluster ボリュームはすべて、ボリュームの起動時に自動的にエクスポートされます。
/etc/samba/smb.conf
に追加されたデフォルトのボリューム共有については、以下の例を参照してください。
設定オプションについては、以下の表で説明されています。
設定オプション | 必須? | デフォルト値 | 説明 |
---|---|---|---|
パス | はい | 該当なし | これは、共有している gluster ボリュームのルートに相対的なパスを表します。したがって、/ は gluster ボリュームのルートを表します。ボリュームのサブディレクトリーのエクスポートはサポートされており、パスの /subdir は、そのボリュームのサブディレクトリーのみをエクスポートします。 |
glusterfs:volume | はい | 該当なし | 共有されるボリューム名。 |
glusterfs:logfile | いいえ | NULL | vfs プラグインによって読み込まれる gluster モジュールによって使用されるログファイルへのパス。smb.conf に記載されている標準の Samba 変数の置き換えがサポートされます。 |
glusterfs:loglevel | いいえ | 7 | このオプションは、gluster の client-log-level オプションと同等です。7 はデフォルト値で、INFO レベルに対応します。 |
glusterfs:volfile_server | いいえ | localhost | ボリュームの volfile をフェッチするために接続される Gluster サーバー。値は空白区切り要素のリストで、各要素が unix+/path/to/socket/file または [tcp+]IP|hostname|\[IPv6\][:port] になります。 |
samba でボリュームを共有する手順は、選択した Samba のバージョンによって異なります。
以前のバージョンの Samba を使用している場合は、以下を行います。
- SMB 固有のキャッシュを有効にします。
gluster volume set VOLNAME performance.cache-samba-metadata on
# gluster volume set VOLNAME performance.cache-samba-metadata on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 汎用メタデータキャッシュを有効にしてパフォーマンスを向上させることもできます。詳細は、「ディレクトリー操作」 を参照してください。 - 各 Red Hat Gluster Storage ノードで
glusterd
サービスを再起動します。 - 適切なロックと I/O 一貫性を確認します。
gluster volume set VOLNAME storage.batch-fsync-delay-usec 0
# gluster volume set VOLNAME storage.batch-fsync-delay-usec 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
RHEL ベースの Red Hat Gluster Storage が Samba で 3.5 バッチ更新 4 にアップグレードするには、既存のすべての samba ボリュームに対して、write-behind トランスレーターを手動で無効にする必要があります。
gluster volume set <volname> performance.write-behind off
# gluster volume set <volname> performance.write-behind off
Samba-4.8.5-104 以降を使用している場合は、以下を行います。
- Samba 経由で gluster 共有としてエクスポートするには、以下のボリュームオプション
user.cifs
またはuser.smb
のいずれかが必要です。user.cifs ボリュームオプションを有効にするには、以下のコマンドを実行します。gluster volume set VOLNAME user.cifs enable
# gluster volume set VOLNAME user.cifs enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow user.smb を有効にするには、以下を実行します。gluster volume set VOLNAME user.smb enable
# gluster volume set VOLNAME user.smb enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Gluster Storage 3.4 では、Samba-CTDB 設定に必要なボリュームオプションを設定する group コマンドsamba
が導入されました。 - 以下のコマンドを実行して、Samba-CTDB のボリュームオプションを設定します。
gluster volume set VOLNAME group samba
# gluster volume set VOLNAME group samba
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、Samba-CTDB 設定の以下のオプションを有効にします。- performance.readdir-ahead: on
- performance.parallel-readdir: on
- performance.nl-cache-timeout: 600
- performance.nl-cache: on
- performance.cache-samba-metadata: on
- network.inode-lru-limit: 200000
- performance.md-cache-timeout: 600
- performance.cache-invalidation: on
- features.cache-invalidation-timeout: 600
- features.cache-invalidation: on
- performance.stat-prefetch: on
Samba-4.9.8-109 以降を使用している場合は、以下を行います。
以下のステップは厳密にオプションであり、多数のクライアントがボリュームに接続されている環境や、複数のボリュームが使用されている環境で稼働します。
Red Hat Gluster Storage 3.5 では、対応する FUSE マウントパスからボリューム共有を設定するオプションの方法が導入されました。以下の手順は、クラスター内のすべてのノードで実行する必要があります。
- Samba 経由で Gluster ボリュームを共有するすべての Gluster ノードに、ネイティブ Gluster プロトコル Fuse を使用するローカルマウントがあります。FUSE で GlusterFS ボリュームをマウントし、詳細な手順のために FUSE マウントポイントを記録します。
/etc/fstab
にエントリーを追加します。localhost:/myvol /mylocal glusterfs defaults,_netdev,acl 0 0
localhost:/myvol /mylocal glusterfs defaults,_netdev,acl 0 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。localhost:/myvol 4117504 1818292 2299212 45% /mylocal
localhost:/myvol 4117504 1818292 2299212 45% /mylocal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gluster ボリュームはmyvol
で、/mylocal
にマウントされる場合 /etc/samba/smb.conf
にある samba 共有設定ファイルを編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow vfs objects
パラメーター値をglusterfs_fuse
に編集しますvfs objects = glusterfs_fuse
vfs objects = glusterfs_fuse
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以前に記録された FUSE マウントポイントに
path
パラメーター値を編集します。以下に例を示します。path = /MOUNTDIR
path = /MOUNTDIR
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- SELinux を Enforcing モードで使用して、SELinux ブール値
samba_share_fusefs
をオンにします。setsebool -P samba_share_fusefs on
# setsebool -P samba_share_fusefs on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
- 作成される新規ボリュームは、デフォルトの
vfs objects
パラメーターを使用して自動的に設定されます。 - samba 共有設定ファイルへの変更は、Gluster CLI を使用してボリュームが削除されるまで、ボリュームの再起動後も保持されます。
- ボリューム
VOLNAME
で Gluster CLI 操作の一部として呼び出される Samba フックスクリプトは、[gluster-VOLNAME]
という名前の Samba 共有でのみ動作します。つまり、フックスクリプトは、[VOLNAME]
と呼ばれる samba 共有の samba 共有設定ファイルを削除したり、変更したりしません。
次に、すべての Samba バージョンに対して以下を実行します。
- SMB/CIFS 共有からボリュームにアクセスできることを確認します。
smbclient -L <hostname> -U%
# smbclient -L <hostname> -U%
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ユーザーが SMB/CIFS 共有にアクセスできることを確認します。
smbclient //<hostname>/gluster-<volname> -U <username>%<password>
# smbclient //<hostname>/gluster-<volname> -U <username>%<password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow