LFS-SETQUOTA(1)
π LFS-SETQUOTA(1) β bestie edition β¨
okay so this is lfs setquota, and honestly? it's the girl who decides who gets how much space and how much patience. it lives in the Lustre User Utilities family, and we're gonna go through literally every single flag together, no skips, no cap. π«Ά
πΈ NAME πΈ
lfs-setquota β sets quota limits or grace time for users, groups or projects. that's the whole vibe. β¨
π SYNOPSIS π
lfs setquota {-u|--user|-g|--group|-p|--projid} ID [--pool POOL_NAME]
[-b|--block-softlimit BLOCK_SOFTLIMIT[KMGTPE]]
[-B|--block-hardlimit BLOCK_HARDLIMIT[KMGTPE]]
[-i|--inode-softlimit INODE_SOFTLIMIT[KMGTPE]]
[-I|--inode-hardlimit INODE_HARDLIMIT[KMGTPE]] MOUNT_POINT
lfs setquota {-U|--default-usr | -G|--default-grp | -P|--default-prj}
[--pool POOL_NAME] [-b|--block-softlimit
BLOCK_SOFTLIMIT[KMGTPE]]
[-B|--block-hardlimit BLOCK_HARDLIMIT[KMGTPE]]
[-i|--inode-softlimit INODE_SOFTLIMIT[KMGTPE]]
[-I|--inode-hardlimit INODE_HARDLIMIT[KMGTPE]] MOUNT_POINT
lfs setquota {-D|--default} {-u|--user | -g|--group | -p|--projid}
[--pool POOL_NAME] ID MOUNT_POINT
lfs setquota --delete {-u|--user | -g|--group | -p|--projid} ID
MOUNT_POINT
lfs setquota {-t|--times} {-u|-g|-p} [--pool POOL_NAME]
[-b|--block-grace BLOCK_GRACE_TIME]
[-i|--inode-grace INODE_GRACE_TIME] MOUNT_POINT
lfs setquota --reset {-u|--user|-g|--group|-p|--projid} ID MOUNT_POINT
like, six whole shapes this command can take. it's giving versatile. π
π¦ DESCRIPTION π¦
lfs setquota {-u|-g|-p} ... π
this one sets the filesystem quotas for the specified user, group, or project ID respectively. pick your target, hand over an ID, done. π
BIG IMPORTANT THING, bestie, listen up: quota limits should be configured large enough so that every single OST and MDT in the filesystem can allocate multiple of the minimum block and inode units. if you set those limits too low, applications may see EDQUOT (quota exceeded) errors before they can even use a meaningful portion of their assigned quota β and that's purely because of fragmentation of the quota units across multiple targets. so sad, so avoidable. π
also: quota block limit enforcement is not strict, especially with cached writes. so minimum quota limits are recommended to be GiB in size, to make sure the limit enforcement error is not a significant fraction of the quota itself. periodt. β
lfs setquota {-U|-G|-P} ... π
sets the filesystem default limits for the user, group, or project quota type. and the slay part? if you set it, users/groups/projects without specific quota limits will just automatically use the default quota limits. automatic. iconic. β¨
lfs setquota --default ... π§
switches the specified user, group, or project ID over to using the default quota limits instead of whatever explicitly specified limits they had. and such an ID inherits new default quota limits if those defaults get changed later. it's a whole inheritance situation. π
lfs setquota --delete ... π
deletes the unused user, group, or project ID from the quota database so that it is no longer reported. bye girl, you're not on the list anymore. π
lfs setquota --reset π₯
recalculates the quota accounting for the specified user, group, or project ID in case of inconsistencies in the aggregate quota stored in the main quota database. it's the "have you tried turning it off and on again" of quota land. π
lfs setquota --times ... β°
sets the filesystem quota grace time for all users, groups, or projects, for the block and inode limits. the whole point? letting users exceed the quota limit for a short time so they can finish their work β without having to grant each user a bigger quota limit. generous queen energy. π
β¨ OPTIONS β¨
-b,--block-softlimit BLOCK_SOFTLIMITβ specifies the block softlimit. zero means unlimited. block limits unit is kilobyte (1024) by default, and block limits are always kilobyte-granular (yes, even if specified in bytes). you can slap aK,M,G,T,P, orEsuffix on it to specify units of 2^10, 2^20, 2^30, 2^40, 2^50 and 2^60 bytes respectively. π-B,--block-hardlimit BLOCK_HARDLIMITβ specifies the block hardlimit. zero means unlimited. the block hardlimit should be greater than the block softlimit if it is being specified. no funny business. π-b,--block-grace {notify|BLOCK_GRACE_TIME}β specifies grace time for block quota in seconds, when used with the--timesoption.BLOCK_GRACE_TIMEis a global value that can take two forms:BLOCK_GRACE_TIMEβ indicates the time in seconds that the soft quota limit can be exceeded before users are prevented from creating new files or consuming more space. this is intended to allow users to exceed the quota limit for a short time to complete their work without having to grant each user a larger quota limit. π«Άnotifyβ informs users that are exceeding their soft quota limit ('*'in the quota output) that they are nearing their hard quota limit, but does not block new writes until the hard quota limit is reached. the soft quota state is reset once the user, group, or project reduces their space usage or file count below the soft quota limit. grace time is specified in"XXwXXdXXhXXmXXs"format or as an integer seconds value. the maximum is 2^48 - 1 seconds. β³
--deleteβ deletes the unused user, group, or project ID limit from the quota database. ποΈ-D,--defaultβ sets the specified user/group/project ID to use the default quota limits. π-g,--group GROUPNAME|GIDβ sets group quota for nameGROUPNAMEor numericGID. π―-G,--default-grpβ sets the default group quota limit. πΈ-h,--helpβ prints the usage message. your friendly little helper bestie. π-i,--inode-softlimit INODE_SOFTLIMITβ specifies the inode softlimit. zero means unlimited. it is recommended to specify inode limits in multiples of 1024. β¨-I,--inode-hardlimit INODE_HARDLIMITβ specifies the inode hardlimit. zero means unlimited. the inode hardlimit should be greater than the inode softlimit when it's being specified. π-i,--inode-grace {notify|INODE_GRACE_TIME}β specifies grace time for inode quota in seconds, when used with the--timesoption. see the--block-grace-timeoption for a detailed description of theINODE_GRACE_TIMEargument. π§-p,--projid PROJECT_NAME|PROJIDβ sets project quota forPROJECT_NAME(from the/etc/projid(5)file) or the numericPROJID. π-P,--default-prjβ sets the default project quota limit. π--pool POOL_NAMEβ sets quota per OST poolPOOL_NAME. π-r,--resetβ resets the internal quota data of the user|group|project quota. it can be used to fix quota in an inconsistent database (such as quota grant). π§-t,--timesβ sets quota grace times. β°-u,--user USERNAME|UIDβ sets user quota forUSERNAMEor numericUID. π-U,--default-usrβ sets the default user quota limit. β
π EXAMPLES π
set quotas of user bob: 8 TiB block hardlimit and 6 TiB block softlimit:
# lfs setquota -u bob --block-softlimit 6T --block-hardlimit 8T /mnt/lustre
set quotas of user bob to use default quota setting:
# lfs setquota -u bob --default /mnt/lustre
set system default user quota 64 GiB block softlimit and 80 GiB block hardlimit:
# lfs setquota -U --block-softlimit 64G --block-hardlimit 80G /mnt/lustre
set grace times for user quotas: 36000 seconds for block quotas, 1 week and 4 days for inode quotas:
# lfs setquota -t -u --block-grace 36000 --inode-grace 1w4d /mnt/lustre
set hard block limit 1 TiB for user 'ivan' per pool 'flash_pool':
# lfs setquota -u ivan --pool flash_pool -B 1T /mnt/lustre
set grace time 10000 seconds for block quotas per pool 'flash_pool':
# lfs setquota -t -u --block-grace 10000 --pool flash_pool /mnt/lustre
delete unused user 'jack':
# lfs setquota -u jack --delete /mnt/lustre
reset the quota usage for user 'chad' that is having problems:
# lfs setquota -u chad -r /mnt/lustre
π AVAILABILITY π
the lfs setquota command is part of the lustre(7) filesystem package since release 1.5.0. she's been around, she's got history, she ate. π
π SEE ALSO π
lfs(1)lfs-project(1)lfs-quota(1)mdt.enable_chprojid_gid(4)
and that's the whole page, bestie!! π«Ά this one came from Lustre, dated 2026-03-19, and it's the LFS-SETQUOTA(1) girlie herself. go forth and quota responsibly, no cap. β¨ππΈππ¦β
π¦ where this page comes from
- ubuntu stonking: lustre-client-utils 2.17.58+dfsg-0ubuntu2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms