From: Mike Kercher <mike(a)CamaroSS.net>
> I'm about to deploy a new server for hosting sites and email for a
> number of small individuals using a CentOS 4 box. I've been looking
> for a recommended installation guide for RHEL4/CentOS4 giving
> recommended disk partitioning
I have personal recommendations I follow. One thing I really try to
do is make 2-3 "classes" of filesystem sizes, with 1 "spare" for each.
That way I can flop around filesystems, accomodate additions, etc...
LVM/LVM2 helps reduce this, but I still like to use the approach
(except I just don't make spares, I just reserve 15-30% of disk
space for LVM/LVM2).
E.g., the "essential" class is typically 2-8GB each.
The "support" class is typically 8-64GB each.
The "discretionary" class is typically 64+GB each.
For all systems, I typically do these "essential" classes:
/ /tmp /var
I also typically create the following "support" classes:
/usr
/usr/local (and a symlink from /opt -> /usr/local)
And more "support" class filesystems for servers:
/var (instead of an "essential" size)
/srv (newer FHS 2.3+ compliant systems)
/var/log
/var/lib (application, database, etc... servers)
/var/mail (mail servers)
/var/spool (mail, print, etc... servers)
/var/www (web servers)
/var/ftp (FTP servers)
In some cases -- FHS 2.3+ compliant -- these are under /srv
instead of /var.
If I want local data/temporary storage, I typically create of
the "discretionary" size:
/export|home/(systemname)
I like to make at least _3_ "discretionary" size, 2 mounted
with 1 spare, so 1/3rd each. Again, in the day of LVM/LVM2,
I typically just reserve 15-30% of the disk allocation instead
of making pre-made spares of each class -- but I would at
least make _2_ "discretionary" size (instead of one big one).
I also use "/export" when I know I'm going to be exporting them
via NFS (and setting up my NIS/LDAP autmounter maps accordingly).
Otherwise I use /home. Even if I'm not sure I'm going to export
via NFS, if I'm sharing via SMB, then I put them under /export. In
a nutshell, if they are network mountable (for whatever protocol),
they are under /export.
> as well as quotas. I've not used quotas with LVM yet.
Don't quote me, but quotas are a filesystem issue and shouldn't matter
with LVM/LVM2 disk labels.
I'd personally like to see a performance evaluation of Ext3 v. XFS
_with_ quota operations. Most comparisons these days seem to be
"raw" block operations -- whether big or small -- instead of disk
operations sysadmins would normally do day-to-day.
> This box is going to have an 80 IDE system drive, an 80G SATA and a
> 250G SATA for everything else. One thing I want to be sure of is that
> I don't run out of space for the mail spools in /var/spool/mail.
If you are building a new system with such storage requirements, I would
really push you towards a 3Ware Escalade 8006-2 or 8506-4.
Have you already purchased the hard drives?
If so, then merely buy a 2nd 80GB SATA and 2nd 250GB SATA with a
8506-4 and use RAID-1 for each.
If not, then just buy a cheaper 8006-2 and use RAID-1 with (2) 300GB
disks (you might consider this even if you already have some drives).
> Does anyone know of a guide for this online?
I think sysadmins differ so widly that there is no uniform approach.
Even my 2-3 class approach is rather dated in the age of LVM/LVM2,
although I continue to use it out of habit.
> I wish Johnny had a guide like this on his site :)
Well, I'm sure most of my approaches come from SunOS/Solaris
even before Linux really caught on, much less the Linux FHS,
more recent updates, etc...
--
Bryan J. Smith mailto:b.j.smith@ieee.org