more than 7 partitions on a SCSI-drive

Doug Poland doug at
Mon Jan 22 14:51:31 UTC 2007

On Sun, Jan 21, 2007 at 07:07:49PM -0500, Robert Huff wrote:
> Garrett Cooper writes:
> >	One good reason I can think of is to partition (not the tech
> >	definition but the traditional definition, "to divide") filesystems
> >	such that if one person fills up "/", it won't cause a program that
> >	needs to write to "/var" or "/tmp" problems, which in the case of
> >	"/var" can bring down entire systems and infrastructures (happened
> >	before where I was working as IT when a CUPS server ran out of space
> >	on /var).  Other than that.. not really sure. Maybe some of the
> >	older guard on the list know why.
I've had a /usr partition corrupt on a drive and I was able to boot into
single user mode, mark the /usr partition read-only and mount it.  I ran
on a crippled but functional /usr partition until I could replace the
drive.  That would not have been possible with one large partition.

> N) Dump - the preferred beckup method - works at the partition level.
> Sure, you can flag files and directories  "nodump" using chflags ...
> but do you really want to manage that given modern disk sizes?
Also, file system quotas and snapshots work at the partition level.  I
manage an "all-in-one" server for a small non-profit.  

This is a rather "extreme" example of partitioning and, admittedly, I
did it as an experiment, but you'll see my logic when you think about
how dumps, quotas, snapshots work at the partition level.

# Device        Mountpoint      FStype  Options            Dump    Pass#
/dev/da0s1b     none            swap    sw                 0       0
/dev/da0s1a     /               ufs     rw                 1       1
/dev/da0s2b     /data           ufs     rw,groupquota      2       2
/dev/da0s2a     /home           ufs     rw,groupquota      2       2
/dev/da0s1d     /tmp            ufs     rw                 2       2
/dev/da0s2h     /usr            ufs     rw                 2       2
/dev/da0s2d     /usr/local      ufs     rw                 2       2
/dev/da0s2g     /usr/local/www  ufs     rw                 2       2
/dev/da0s1h     /usr/obj        ufs     noatime,async,rw   2       2
/dev/da0s2f     /usr/ports      ufs     noatime,async,rw   2       2
/dev/da0s2e     /usr/src        ufs     noatime,async,rw   2       2
/dev/da0s1e     /var            ufs     rw                 2       2
/dev/da0s1g     /var/db         ufs     rw                 2       2
/dev/da0s1f     /var/mail       ufs     rw,groupquota      2       2
/dev/acd0       /cdrom          cd9660  ro,noauto          0       0

snapshot_schedule="/,/usr:1:0:0 /usr/local,/usr/local/www:1:2:0 /var/db:2:1:0 /data,/var:0:1:0 /var/mail:1:2:0 /home:0:1:0"

Using this partitioning scheme, I could also optimize /usr/obj /usr/src
and /usr/ports for building.

Since the underlying hardware is 3Ware RAID-10 on about 300GB of space,
I had plenty of room with which to work.  My only regret is making
/usr/obj only 800MB in size.  It gives me enough room for building world
and ONE kernel, but not two kernels at one time.


More information about the freebsd-questions mailing list