Virtualmin and Quotas

Loaded Virtualmin onto a Linode running Centos 6. Ran into some errors when trying to add a domain:

Failed to create virtual server : setquota: Cannot stat() mounted device /dev/root: No such file or directory setquota: Mountpoint (or device) / not found or has no quota enabled. setquota: Not all specified mountpoints are using quota.

And indeed, from a root prompt:

# quotaon -p -a
quotaon: Cannot stat() mounted device /dev/root: No such file or directory
group quota on /home (/dev/xvdc) is off
user quota on /home (/dev/xvdc) is off

Hmm, yep, that’s the same error. This thread on Virtualmin’s forum was a big clue, here’s the first step to resolution:

# mount
...
/dev/xvda on / type ext3 (rw,noatime,grpquota,errors=remount-ro,usrquota)
...

Right, so our root / partition is indeed on /dev/xvda so we can create the missing symbolic link:

# ln -s /dev/xvda /dev/root
# quotaon -a
quotaon: cannot find /home/aquota.group on /dev/xvdc [/home]
quotaon: cannot find /home/aquota.user on /dev/xvdc [/home]
#

Good, no error message.  But things are still not working yet:

# quotaon /home
quotaon: cannot find /home/aquota.group on /dev/xvdc [/home]
quotaon: cannot find /home/aquota.user on /dev/xvdc [/home]

Before proceeding, in /etc/fstab please be sure “usrquota” and “grpquota” are in the options line:

/dev/xvdc  /home  ext3  grpquota,errors=remount-ro,usrquota,grpquota,noatime,rw  0  1

Now, instead of going thru a dozen cryptic commands, go back to Webmin (if Virtualmin is up, click Webmin on the top line). Open the System tab and then Disk Quotas. You should see the /home partition listed, and it probably says that quotas are not active. Simply hit “Enable Quotas” and the display should change to:

Filesystem Type Mounted From Status Action
/home (users)
/home (groups)
Linux Native Filesystem Xen device C User and Group Quotas Active Disable Quotas

…Done!