GlusterFS : GlusterFS + SMB2024/05/01 |
GlusterFS ボリュームに SMB プロトコルでアクセスできるよう設定します。
|
|
[1] | 任意の GlusterFS ボリューム構成ノードで SMB アクセス の設定をします。 |
root@node01:~#
apt -y install samba samba-vfs-modules-extra ctdb
# 対象の 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 55G 13G 40G 25% /gluster/lockroot@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:959750112 Size:1 hash:0 lmaster:0 Recovery mode:NORMAL (0) Leader:0root@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] # [global] セクションに追記 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 restart smb
# Samba ユーザー登録 root@node01:~# useradd ubuntu root@node01:~# smbpasswd -a ubuntu New SMB password: # パスワード設定 Retype new SMB password: Added user debian. root@node01:~# usermod -aG smbgroup ubuntu |
[3] | 任意のクライアントコンピューターで SMB マウントして確認します。 以下は Linux クライアントでの接続例ですが、Windows クライアントからも通常の共有アクセス操作で利用できます。 |
# [smbclient] で確認 root@client:~# smbclient //node01.srv.world/gluster-vol_distributed -U ubuntu Password for [WORKGROUP\ubuntu]: Try "help" to get a list of possible commands. # 設定した共有に移動して書き込み可能か確認 smb: \> cd smbshare smb: \smbshare\> mkdir testdir smb: \smbshare\> ls . D 0 Wed May 1 08:12:24 2024 .. D 0 Wed May 1 07:57:33 2024 testdir D 0 Wed May 1 08:12:24 2024 57438280 blocks of size 1024. 41535212 blocks available smb: \smbshare\> exit # [mount] で確認 # [10.0.0.59] の部分は [1] で設定した仮想 IP アドレス root@client:~# mount -t cifs -o vers=3.0,username=ubuntu //10.0.0.59/gluster-vol_distributed /mnt Password for ubuntu@//10.0.0.59/gluster-vol_distributed: df -hT Filesystem Type Size Used Avail Use% Mounted on tmpfs tmpfs 392M 1.5M 391M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv ext4 28G 6.2G 20G 24% / tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda2 ext4 2.0G 95M 1.7G 6% /boot tmpfs tmpfs 392M 12K 392M 1% /run/user/0 //10.0.0.59/gluster-vol_distributed cifs 55G 16G 40G 28% /mntroot@client:~# touch /mnt/smbshare/testfile.txt root@client:~# ll /mnt/smbshare total 12 drwxr-xr-x 2 root root 0 May 1 08:14 ./ drwxr-xr-x 2 root root 0 May 1 07:57 ../ drwxr-xr-x 2 root root 0 May 1 08:12 testdir/ -rwxr-xr-x 1 root root 0 May 1 08:14 testfile.txt* |
Sponsored Link |