GlusterFS 11 : GlusterFS + SMB2025/11/04 |
|
GlusterFS ボリュームに SMB プロトコルでアクセスできるよう設定します。 例として、リンク先の通り構築した [vol_distributed] ボリュームに対して SMB アクセス の設定をします。 |
|
| [1] | 任意の GlusterFS ボリューム構成ノードで SMB アクセス の設定をします。 |
|
[root@node01 ~]#
dnf -y install samba ctdb samba-vfs-glusterfs # 対象の Gluster ボリュームを一旦停止して設定変更 [root@node01 ~]# gluster volume stop vol_distributed Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y volume stop: vol_distributed: success [root@node01 ~]# gluster volume set vol_distributed user.smb enable volume set: success [root@node01 ~]# gluster volume set vol_distributed performance.write-behind off volume set: success
[root@node01 ~]#
gluster volume set vol_distributed group samba volume set: success
[root@node01 ~]#
vi /var/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh # 25行目 : SMB アクセスを有効にする Gluster ボリューム名に変更 META=" vol_distributed "
[root@node01 ~]#
vi /var/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh # 13行目 : SMB アクセスを有効にする Gluster ボリューム名に変更 META=" vol_distributed "
# 対象の Gluster ボリューム開始 [root@node01 ~]# gluster volume start vol_distributed volume start: vol_distributed: success # 以上の設定により [/gluster/lock] へ自動でマウントされる [root@node01 ~]# df -h /gluster/lock Filesystem Size Used Avail Use% Mounted on node01.srv.world:/vol_distributed.tcp 30G 4.8G 26G 16% /gluster/lock[root@node01 ~]# tail -1 /etc/fstab node01.srv.world:/vol_distributed /gluster/lock glusterfs _netdev,transport=tcp,xlator-option=*client*.ping-timeout=10 0 0
[root@node01 ~]#
vi /etc/ctdb/nodes # 新規作成 # 対象の Gluster ボリュームを構成するノードを全て記述 10.0.0.51 10.0.0.52
[root@node01 ~]#
vi /etc/ctdb/public_addresses # 新規作成 # SMB アクセス用の仮想 IP アドレスを設定 # [enp1s0] はネットワークインターフェース名 ⇒ 自身の環境に置き換え 10.0.0.59/24 enp1s0
[root@node01 ~]#
systemctl enable --now ctdb
# 状態確認 [root@node01 ~]# ctdb status Number of nodes:2 pnn:0 10.0.0.51 OK (THIS NODE) pnn:1 10.0.0.52 DISCONNECTED|UNHEALTHY|INACTIVE Generation:1652557210 Size:1 hash:0 lmaster:0 Recovery mode:NORMAL (0) Leader:0[root@node01 ~]# ctdb ip Public IPs on node 0 10.0.0.59 0 |
| [2] | Samba の設定です。 例として、[smbgroup] というグループを作成し、対象の GlusterFS ボリューム直下に SMB 共有フォルダー [smbshare] を作成して、そのグループに属するユーザーのみが認証してアクセスできるようにします。 |
|
# 一旦 GlusterFS Native でマウントして共有用のフォルダーを作成 [root@node01 ~]# mount -t glusterfs node01.srv.world:/vol_distributed /mnt [root@node01 ~]# mkdir /mnt/smbshare [root@node01 ~]# groupadd smbgroup [root@node01 ~]# chgrp smbgroup /mnt/smbshare [root@node01 ~]# chmod 770 /mnt/smbshare [root@node01 ~]# umount /mnt
[root@node01 ~]#
vi /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
# 追記
clustering = yes
kernel share modes = no
kernel oplocks = no
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes
# 以下 9行は自動で設定されている
[gluster-vol_distributed]
comment = For samba share of volume vol_distributed
vfs objects = glusterfs
glusterfs:volume = vol_distributed
glusterfs:logfile = /var/log/samba/glusterfs-vol_distributed.%M.log
glusterfs:loglevel = 7
path = /
read only = no
kernel share modes = no
# 以下 追記
writable = yes
valid users = @smbgroup
force group = smbgroup
force create mode = 770
force directory mode = 770
inherit permissions = yes
[root@node01 ~]#
systemctl enable --now smb
# Samba ユーザー登録 [root@node01 ~]# useradd fedora [root@node01 ~]# smbpasswd -a fedora New SMB password: # パスワード設定 Retype new SMB password: Added user fedora. [root@node01 ~]# usermod -aG smbgroup fedora |
| [3] | SELinux を有効にしている場合は、ポリシーの変更が必要です。 |
|
[root@node01 ~]# setsebool -P use_fusefs_home_dirs on [root@node01 ~]# setsebool -P samba_load_libgfapi on [root@node01 ~]# setsebool -P domain_kernel_load_modules on |
| [4] | Firewalld を有効にしている場合は、サービスの許可が必要です。 |
|
[root@node01 ~]# firewall-cmd --add-service={samba,ctdb} success [root@node01 ~]# firewall-cmd --runtime-to-permanent success |
| [5] | 任意のクライアントコンピューターで SMB マウントして確認します。 以下は Linux クライアントの例ですが、Windows クライアントからも通常の共有アクセスで利用できます。 |
|
# [smbclient] で確認 [root@client ~]# smbclient //node01.srv.world/gluster-vol_distributed -U fedora Password for [SAMBA\fedora]: Try "help" to get a list of possible commands. # 設定した共有に移動して書き込み可能か確認 smb: \> cd smbshare smb: \smbshare\> mkdir testdir smb: \smbshare\> ls . D 0 Tue Nov 4 09:48:31 2025 .. D 0 Tue Nov 4 09:45:56 2025 testdir D 0 Tue Nov 4 09:48:31 2025 31326208 blocks of size 1024. 26228552 blocks available smb: \smbshare\> exit |
| Sponsored Link |
|
|