extras: New group volume set command for Samba integration

# gluster volume set <VOLNAME> group samba

List of volume set options from group-samba are aimed at improving the below
workloads which consumes time and network hops in SMB world:

* Listing of large directories
* Negative lookups during creation of files  

Caching the necessary metadata required for these workloads saves us time and
network hops. On the other side we have to ensure correctness(avoiding stale
cache) in caching(via md-cache) with the help of cache invalidation in an
environment where multiple client access is expected.

Change-Id: Icdd2d8e5eb290e12bc509105418c668f432f4eae
fixes: bz#1656771
Signed-off-by: Anoop C S <anoopcs@redhat.com>
This commit is contained in:
Anoop C S 2018-12-06 15:05:20 +05:30 committed by Amar Tumballi
parent 930d8b7061
commit a6a5f7aa6f
3 changed files with 15 additions and 2 deletions

View File

@ -18,7 +18,7 @@ if WITH_SERVER
conf_DATA = glusterfs-logrotate gluster-rsyslog-7.2.conf gluster-rsyslog-5.8.conf \
logger.conf.example glusterfs-georep-logrotate group-virt.example \
group-metadata-cache group-gluster-block group-nl-cache \
group-db-workload group-distributed-virt
group-db-workload group-distributed-virt group-samba
endif
voldir = $(sysconfdir)/glusterfs
@ -40,7 +40,7 @@ endif
EXTRA_DIST = glusterfs-logrotate gluster-rsyslog-7.2.conf gluster-rsyslog-5.8.conf \
logger.conf.example glusterfs-georep-logrotate group-virt.example \
group-metadata-cache group-gluster-block group-nl-cache \
group-db-workload specgen.scm glusterfs-mode.el glusterfs.vim \
group-db-workload group-samba specgen.scm glusterfs-mode.el glusterfs.vim \
migrate-unify-to-distribute.sh backend-xattr-sanitize.sh \
backend-cleanup.sh disk_usage_sync.sh clear_xattrs.sh \
glusterd-sysconfig glusterd.vol post-upgrade-script-for-quota.sh \
@ -69,4 +69,6 @@ install-data-local:
$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/db-workload
$(INSTALL_DATA) $(top_srcdir)/extras/group-distributed-virt \
$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/distributed-virt
$(INSTALL_DATA) $(top_srcdir)/extras/group-samba \
$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/samba
endif

10
extras/group-samba Normal file
View File

@ -0,0 +1,10 @@
features.cache-invalidation=on
features.cache-invalidation-timeout=600
performance.cache-samba-metadata=on
performance.stat-prefetch=on
performance.cache-invalidation=on
performance.md-cache-timeout=600
network.inode-lru-limit=200000
performance.nl-cache=on
performance.nl-cache-timeout=600
performance.parallel-readdir=on

View File

@ -1287,6 +1287,7 @@ exit 0
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/nl-cache
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/db-workload
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/distributed-virt
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/samba
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd