From Linux-VServer

Jump to: navigation, search

So, you use the lovely XFS file system, but those meanies at linux-vserver have told you it's not supported. :) No problems.

To get the same sort of effect as dlimits, while using the XFS file system, you can use Project Quotas.

Let's say we want to limit /vserver/foo to 5G of space.

Edit /etc/fstab, and put prjquota as an option for /vserver, and reboot. (I don't think -o remount works). It should look like this:

# grep prjquota /etc/fstab
/dev/cciss/c0d0p7       /vserver           xfs     noatime,prjquota        0 0

Warning: XFS: cannot mount with both project and group quota

echo "1235:/vservers/foo" >> /etc/projects
(I use the context for the project ID number)
echo "foo:1235" >> /etc/projid
(This is just so you can refer to a project by name)

Now we just set up the quota....

xfs_quota -x -c 'project -s foo' /vserver

And set our limits on it. (bhard = blocks hard, bsoft = blocks soft)

xfs_quota -x -c 'limit -p bsoft=4800M bhard=5G foo' /vserver

Voila. Vservers with XFS.

You can check the usage, etc with:

# xfs_quota -x -c 'report' /vserver
Project quota on /vserver (/dev/cciss/c0d0p7)
Project ID       Used       Soft       Hard    Warn/Grace
---------- --------------------------------------------------
foo          10002856    4915200    5242880     00 [--none--]

It does work, but df -h doesn't show the limit properly in the vserver. It does show the size, and the used, but the avail it still takes from the

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdv1             5.0G  3.0G   17G  21% /
Personal tools