beegfs-ctl --getQuota --all and quotaQueryType not working as expected

145 views
Skip to first unread message

Ümit Seren

unread,
Nov 12, 2021, 7:40:59 AM11/12/21
to beegfs-user
We have a beegs cluster (7.2.5) with quota enabled (no quota enforcement tough)
The beegfs cluster and the compute nodes where beegfs-client is running are Active directory joined and the user accounts that write to the beegfs cluster are in AD. 

The quota reporting when passing in individual uids/gids or ranges work as expetected (also if I provide a username):

beegfs-ctl --getquota --uid --range 10300 10310 

Quota information for storage pool Default (ID: 1):

      user/group     ||           size          ||    chunk files    
     name     |  id  ||    used    |    hard    ||  used   |  hard   
--------------|------||------------|------------||---------|---------
   uemit.seren| 10303||    6.55 MiB|   unlimited||        4|unlimited

However they don't work when we use --all: 

beegfs-ctl --getquota --uid --all 

Quota information for storage pool Default (ID: 1):

      user/group     ||           size          ||    chunk files    
     name     |  id  ||    used    |    hard    ||  used   |  hard   
--------------|------||------------|------------||---------|---------

According to the documentation (https://doc.beegfs.io/latest/advanced_topics/quota.html#requirements-and-general-notes) this is to be expected if getent passwd doesn't return all the users/groups which in our case it doesn't (it only returns the local users and not the AD users). 

As a workaround the documentation (https://doc.beegfs.io/latest/advanced_topics/quota.html#management-service-settings) states that one can change the quotaQueryType from system (default) to either file or range on the mgmt node
However it does not seem to work.

We tried it with following settings:

quotaQueryGIDRange                     = 1990,2000
quotaQueryUIDRange                     = 10300,10310
quotaQueryType                         = range

and --getQuota --all does not retreive any quotas. Interestingly it seems to use the list of local users (i.e. when we pass in --withzero). 
We checked the source code (https://git.beegfs.io/pub/v7/-/blob/master/mgmtd/source/components/quota/QuotaDataRequestor.cpp), and it seems that it will always use the local users

So the question is, what does the quotaQueryType setting on the mgmt node have an effect on and how can we retrieve the list of quotas for non-local users ? 

Best
Ümit
Reply all
Reply to author
Forward
0 new messages