Forum OpenACS Development: Partitioning with RH8.0
I don't know if you know about it but just in case, you might find the filesystem hierarchy standard interesting.
If it's a machine for personal use, I would just put the /homein another partition but for a server, I would certainly take a look at the FHS, mentionned above.
Hope this helps,
Having the system partioned in several pieces allows for added security, flexibility in mounting different drives, reliability (if your /usr partition goes back, you can plug another hard drive and mount your backup there), etc.
Partitioning actually gives you negative flexibility in terms of multiple disk usage -- you can always mount a new disk anywhere you want, regardless of how the root is partitioned, but you can't do the reverse.
I also like having the db and logs on seperate partitions even with one drive since it means you can insure that they won't run out of space due to large files being created somewhere else.
When you upgrade your system, you may not want to upgrade your data partitions. For instance when I installed RH8.0 on an old machine, I used ext3, which required a format of the partitions. It is still also possible to screw up a partition table, and that will only affect the one partition, the smaller the better. But the FSH requirements doc, as I read it seemed more concerned about the integrity of the system partitions, which is great for system admins.
*) / needs its own partition, as it cannot be part of a Vinum/RAID plex on FreeBSD. This doesn't apply to Linux AFAIK, but I mirror the rest of the partitions, save for swap.
*) Swap is a no brainer, must have its own partition.
*) There is a significant performace difference between disk cylinders on the disk located near the rim as opposed to those near the center. Thus heavily used parts of the filesystem ought to be located near the edge (first) on the disk. Also a busy part of the filesystem may benefit from not sharing the space with large number of essentially static files due to fragmentation and subsequently longer seek times (this may be a non-issue on multi-disk setups).
Ie. on FreeBSD I wouldn't want the ports collection, essentially ~500MB of thousands of small files, to share the DB filesystem. Thus /var needs a separate partition than /usr.
*) Also making /usr a separate partition allows you to mount it read+execute only on production machines. This may give you a small security advantage.
*) /home cannot be read only, so it needs to be separate as well.
*) By definition everyone and anything can write to /tmp, thus it is the most likely candidate for a disk-filling DoS attack/accident. The least damage to most parts of the machine will be done, if /tmp cannot steal the space from the other sections mentioned above.
So I usually use a partition layout looking like this (in order from the rim):
/ and /tmp are mostly fairly small. /home is essentially empty on a server, and I have yet to run out of space on any machines I have made.