[Samba] Unable to create subdirectories/files in samba mount when using vfs objects = glusterfs

Mahesh Taluru mahesh.taluru at oracle.com
Tue Sep 1 18:25:30 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

glusterfs-client-xlators-6.8-1.el7.x86_64

samba-vfs-glusterfs-4.10.4-11.el7_8.x86_64

glusterfs-6.8-1.el7.x86_64

glusterfs-api-6.8-1.el7.x86_64

glusterfs-cli-6.8-1.el7.x86_64

glusterfs-server-6.8-1.el7.x86_64

python2-gluster-6.8-1.el7.x86_64

glusterfs-libs-6.8-1.el7.x86_64

glusterfs-fuse-6.8-1.el7.x86_64

glusterfs-rdma-6.8-1.el7.x86_64

glusterfs-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 mailing list