9.3. Limiting Disk Usage 9.3.1. Setting Disk Usage Limits If your system requires that a certain amount of space remains free in order to achieve a certain level of performance, you may need to limit the amount of space that Red Hat Gluster Storage consumes on a volume or directory. Use the following command to limit the total allowed size of a directory, or the total amount of space to be consumed on a volume. For example, to limit the size of the /dir directory on the data volume to 100 GB, run the following command: This prevents the /dir directory and all files and directories underneath it from containing more than 100 GB of data cumulatively. To limit the size of the entire data volume to 1 TB, set a 1 TB limit on the root directory of the volume, like so: You can also set a percentage of the hard limit as a soft limit. Exceeding the soft limit for a directory logs warnings rather than preventing further disk usage. For example, to set a soft limit at 75% of your volume's hard limit of 1TB, run the following command. By default, brick logs are found in /var/log/glusterfs/bricks/ BRICKPATH .log . The default soft limit is 80%. However, you can alter the default soft limit on a per-volume basis by using the default-soft-limit subcommand. For example, to set a default soft limit of 90% on the data volume, run the following command: Then verify that the new value is set with the following command: Changing the default soft limit does not remove a soft limit set with the limit-usage subcommand. 9.3.2. Viewing Current Disk Usage Limits You can view all of the limits currently set on a volume by running the following command: For example, to view the quota limits set on test-volume : To view limit information for a particular directory, specify the directory path. Remember that the directory's path is relative to the Red Hat Gluster Storage volume mount point, not the root directory of the server or client on which the volume is mounted. For example, to view limits set on the /dir directory of the test-volume volume: You can also list multiple directories to display disk limit information on each directory specified, like so: 9.3.2.1. Viewing Quota Limit Information Using the df Utility By default, the df utility does not take quota limits into account when reporting disk usage. This means that clients accessing directories see the total space available to the volume, rather than the total space allotted to their directory by quotas. You can configure a volume to display the hard quota limit as the total disk space instead by setting quota-deem-statfs parameter to on . To set the quota-deem-statfs parameter to on , run the following command: This configures df to to display the hard quota limit as the total disk space for a client. The following example displays the disk usage as seen from a client when quota-deem-statfs is set to off : The following example displays the disk usage as seen from a client when quota-deem-statfs is set to on : 9.3.3. Setting Quota Check Frequency (Timeouts) You can configure how frequently Red Hat Gluster Storage checks disk usage against the disk usage limit by specifying soft and hard timeouts. The soft-timeout parameter specifies how often Red Hat Gluster Storage checks space usage when usage has, so far, been below the soft limit set on the directory or volume. The default soft timeout frequency is every 60 seconds. To specify a different soft timeout, run the following command: The hard-timeout parameter specifies how often Red Hat Gluster Storage checks space usage when usage is greater than the soft limit set on the directory or volume. The default hard timeout frequency is every 5 seconds. To specify a different hard timeout, run the following command: Important Ensure that you take system and application workload into account when you set soft and hard timeouts, as the margin of error for disk usage is proportional to system workload. 9.3.4. Setting Logging Frequency (Alert Time) The alert-time parameter configures how frequently usage information is logged after the soft limit has been reached. You can configure alert-time with the following command: By default, alert time is 1 week ( 1w ). The time parameter in the command can be used with one of the following formats: Table 9.1. Unit of time Format 1 Format 2 Second(s) [integer] s [integer] sec Minute(s) [integer] m [integer] min Hour(s) [integer] h [integer] hr Day(s) [integer] d [integer] days Week(s) [integer] w [integer] wk The [integer] is the number of units of time that need to be provided. Any one of the format for any unit of time can be used. For example: The following command sets the logging frequency for volume named test-vol to every 10 minutes. Whereas, the following command will set the logging frequency for volume named test-vol to every 10 days. 9.3.5. Removing Disk Usage Limits If you don't need to limit disk usage, you can remove the usage limits on a directory by running the following command: For example, to remove the disk limit usage on /data directory of test-volume : To remove a volume-wide quota, run the following command: This does not remove limits recursively; it only impacts a volume-wide limit.

Commands:
gluster volume quota VOLNAME limit-usage path hard_limit
gluster volume quota data limit-usage /dir 100GB
gluster volume quota data limit-usage / 1TB
gluster volume quota data limit-usage / 1TB 75
gluster volume quota data default-soft-limit 90
gluster volume quota VOLNAME list
gluster volume quota VOLNAME list
gluster volume quota test-volume list Path Hard-limit Soft-limit Used Available -------------------------------------------------------- / 50GB 75% 0Bytes 50.0GB /dir 10GB 75% 0Bytes 10.0GB /dir/dir2 20GB 90% 0Bytes 20.0GB
gluster volume quota VOLNAME list /<directory_name>
gluster volume quota test-volume list /dir Path Hard-limit Soft-limit Used Available ------------------------------------------------- /dir 10.0GB 75% 0Bytes 10.0GB
gluster volume quota VOLNAME list DIR1 DIR2
gluster volume set VOLNAME quota-deem-statfs on
df -hT /home Filesystem Type Size Used Avail Use% Mounted on server1:/test-volume fuse.glusterfs 400G 12G 389G 3% /home
df -hT /home Filesystem Type Size Used Avail Use% Mounted on server1:/test-volume fuse.glusterfs 300G 12G 289G 4% /home
gluster volume quota VOLNAME soft-timeout seconds
gluster volume quota VOLNAME hard-timeout seconds
gluster volume quota VOLNAME alert-time time
gluster volume quota test-vol alert-time 10m
gluster volume quota test-vol alert-time 10days
gluster volume quota VOLNAME remove DIR
gluster volume quota test-volume remove /data volume quota : success
gluster vol quota VOLNAME remove /