[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Restricting resource usage on a shell server



Hello,

I am looking to set up a shell server providing apache, MySQL and
mailman as well as standard shell features. For this I am going to
need to limit my users usage of server resources so that they don't
compromise the usage of others. Particularly, I am looking to limit
disc usage across MySQL, mailman and of course normal files, bandwidth
usage across ssh, sftp, httpd and anything else (e.g. wget), and
memory/process usage to prevent one user hogging the server's capacity
- all of this in a clean, low maintenance manner! Yes, it is a lot to
ask, but I think Debian can do it, I just don't know how to make it.

1) Disc usage
I can setup quotas to limit users to a certain amount of drive space
quite easily, but how can I tie this to MySQL usage too? For example,
if a user has a 1GB quota and uses 512MB for a database, they should
then only be able to use 512MB for their home directory.

2) Bandwidth usage
I get the impression from asking around that this is not at all going
to be easy. I am thinking that simply limiting httpd and setting up a
restrictive firewall to stop users binding their own servers would be
an effective method assuming I can trust them not to upload huge
files. However, does anyone know of a better way of limiting bandwidth
globally?

3) Memory usage
In my experience of using limited free shells this is not at all hard
to do, I just don't know how.

If you are interested in the background: this is to expand
http://silentflame.com/ away from just a cPanel-based server to a
proper 'geek server' that doesn't spend its valuable ram on hosting
cPanel processes. cPanel does most of the above management
automatically and I am seeking to replace that - it handles the issues
above with MySQL and /home and all forms of traffic in one bandwidth
limit.

Any advice appreciated so that this project can go ahead.

Thanks,

Sean


Reply to: