Unable to create subdirectories/files in samba mount when using vfs objects = glusterfs
Mahesh Taluru
mtaluru87 at gmail.com
Tue Sep 1 13:32:47 UTC 2020
Hi Team,
I am trying to setup a samba CTDB cluster to export gluster volme as samba
share. While CTDB cluster works well, I ran into an issue with creating
subdirectories and also creating files/directories within subdictories when
accessing the share from both linux and windows servers.
Setup details :
We have a three node cluster with nodes snode1, snode2 and snode3. I have a
gluster volume named smbshare32 exported as samba share using vfs objects =
glusterfs (libgfapi). When I mount the share on linux, I am able to create
files/directories in the root of the mount point i.e under /smbshare32.
[root at sclient1 /]# df -h /smbshare32
Filesystem Size Used Avail Use% Mounted on
//10.4.0.31/gluster-smbshare32 600G 6.1G 594G 2% /smbshare32
[root at sclient1 /]#
[root at sclient1 /]# cd /smbshare32
[root at sclient1 smbshare32]# ls
[root at sclient1 smbshare32]# mkdir subdir1
[root at sclient1 smbshare32]# touch a
[root at sclient1 smbshare32]# ls
*a* *subdir1*
[root at sclient1 smbshare32]#
When I switch to subdir1, I cannot create files or directories. Same issue
happens on windows , but I get a different error message it says “the file
‘ ‘ is too large for the destination file system.
[root at sclient1 smbshare32]# cd subdir1/
[root at sclient1 subdir1]# touch a
touch: setting times of ‘a’: Invalid argument
[root at sclient1 subdir1]# mkdir subdir2
mkdir: cannot create directory ‘subdir2’: Invalid argument
[root at sclient1 subdir1]#
Below two scenarios works well:
If I mount the cifs mount on the client using vers 1.0 , I am able to
create files and directories.
//10.4.0.31/gluster-smbshare32 /smbshare32 cifs
vers=1.0,credentials=/etc/smbclient.passwd 0 0
[root at sclient1 /]# cd /smbshare32
[root at sclient1 smbshare32]# ls
*a* *subdir1*
[root at sclient1 smbshare32]# cd subdir1/
[root at sclient1 subdir1]# touch a
[root at sclient1 subdir1]# mkdir test2
[root at sclient1 subdir1]#
Also if I mount the gluster volume using fuse and then export the fuse
mount as samba share, I have no issues creating file/directories. We
would prefer accessing the gluster volume using vfs_glusterfs and also use
the latest SMB protocol version.
Could you please let me know if I missed some configuration.
I have mounted the gluster volume using fuse and set below ACLs as for the
volume.
[root at snode3 /]# getfacl /share
getfacl: Removing leading '/' from absolute path names
# file: share
# owner: smbtest
# group: smbtest
user::rwx
user:smbtest:rwx
group::r-x
group:smbtest:rwx
mask::rwx
other::r-x
default:user::rwx
default:user:smbtest:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root at snode3 /]#
Samba config file.
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
clustering = yes
min protocol = NT1
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
[gluster-smbshare32]
comment = For samba share of volume smbshare32
*vfs objects = glusterfs*
glusterfs:volume = smbshare32
glusterfs:logfile = /var/log/samba/glusterfs-smbshare32.%M.log
glusterfs:loglevel = 7
path = /
read only = no
guest ok = yes
kernel share modes = no
gluster and samba versions.
[root at snode3 /]# rpm -qa|grep -i gluster
*gluster*fs-client-xlators-6.8-1.el7.x86_64
samba-vfs-*gluster*fs-4.10.4-11.el7_8.x86_64
*gluster*fs-6.8-1.el7.x86_64
*gluster*fs-api-6.8-1.el7.x86_64
*gluster*fs-cli-6.8-1.el7.x86_64
*gluster*fs-server-6.8-1.el7.x86_64
python2-*gluster*-6.8-1.el7.x86_64
*gluster*fs-libs-6.8-1.el7.x86_64
*gluster*fs-fuse-6.8-1.el7.x86_64
*gluster*fs-rdma-6.8-1.el7.x86_64
*gluster*fs-extra-xlators-6.8-1.el7.x86_64
[root at snode3 /]# rpm -qa|grep -i samba
*samba*-libs-4.10.4-11.el7_8.x86_64
*samba*-vfs-glusterfs-4.10.4-11.el7_8.x86_64
*samba*-common-4.10.4-11.el7_8.noarch
*samba*-client-libs-4.10.4-11.el7_8.x86_64
*samba*-common-libs-4.10.4-11.el7_8.x86_64
*samba*-4.10.4-11.el7_8.x86_64
*samba*-common-tools-4.10.4-11.el7_8.x86_64
[root at snode3 /]#
Regards
Mahesh Taluru
More information about the samba-technical
mailing list