CentOS/Plesk How To: Enable Disk Quotas on xfs filesystems

"Hard disk quota is not supported due to the configuration of the server file system."

If you’ve bumped into the “Hard disk quota is not supported due to the configuration of the server file system.” error in Plesk, or just need to enable hard disk quotas this guide is for you! This guide is tested on CentOS 8 with Plesk installed, but only the last step includes Plesk specific commands so should work for anybody on the same OS.

Install Quota

First install the quota utility if it isn’t already:

sudo yum install quota

Back up Files

You’ll need to back up the files we’re editing today just in case you need to restore them in recovery mode. We’ve not had any problems on either of the servers we did this on, but be very careful.

sudo cp /etc/default/grub /etc/default/grub_backup
sudo cp /etc/fstab /etc/fstab_backup
sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_backup

Edit /etc/default/grub

Open /etc/default/grub and add rootflags=usrquota,grpquota into the GRUB_CMDLINE_LINUX line like so:

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/centos-swap rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rootflags=usrquota,grpquota"

Then generate your new GRUB boot config file with:

grub2-mkconfig -o /boot/grub2/grub.cfg

Edit /etc/fstab

Next we’ll need to make sure the line in /etc/fstab pertaining to root (/) and sometimes /var if that’s mounted separately contains defaults,uquota,gquota.

sudo nano /etc/fstab
# /etc/fstab
# Created by anaconda on Fri Sep 27 10:58:14 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/centos-root / xfs defaults,uquota,gquota 0 0

Reboot + Inform Plesk

Reboot for the changes we’ve made to take effect, and then inform Plesk of the changes we’ve made.

sudo reboot
plesk sbin packagemng -sdf

Check it’s enabled

Plesk users can run the command below, and if you get a result of 0, it worked!

/usr/local/psa/admin/sbin/usermng --isquotable

CentOS users who aren’t using Plesk can check with the command below. If it returns a list of user quota usage, it worked.

repquota -as
Exit mobile version