[vox] September Installfest Date?

Tony Cratz cratz at hematite.com
Tue Sep 2 04:48:54 PDT 2008


Brian Lavender wrote:
>> I still have a hard time deciding how to go about the proper 
>> partitioning of a system.
> 
> I have not found a clear method for partitioning.
> 
> I have used lvm and ext2online to hot add space to a partition. The
> advantage I see to partitioning is that some service won't kill the rest
> of your system when it fills up /var or some user won't kill the mail
> server when he fills up /home . But then you could argue that two
> competing resources for /var could compete against each other. Or, you
> want to preserve /usr/local on reinstall. Or, why not just put it in one
> partition?


	You are kind of jumping the gun on this and it is something
	I'm sure we could spend hours on covering. But let me kind
	of give a few guide lines.

	1) Know what your system will be used for.
	
	    a) Is it going to a user server which has all of the users
	       data on it (/home).

            b) Is it a mail server? (/var/mail)

	    c) Is it a web server? (/var/www)

	    d) Is it a log server? (/var/log)

	    e) Does it hold extra programs (/opt and/org /usr/local)

	    f) Is it a back-up server or a monitoring server?
               (/var/spool or maybe /backup)

	    g) Is it a development system which hold source code?
               (/usr/local or maybe /cvs or something like that?)

	    h) Part or all of the above

	2) How much ram does it have? (Use to set swap size)
	   (Old rule use to be 1.5 times the amount of ram. Then it
	   changed to 2 times. When I did a default install of Ubuntu
	   8.04 on my laptop it used 1 times the amount of ram which
	   happened to be 4 Gigs)

	3) How much well each partition grow once they are broken out?
           You may need to run a default system for a while to get
	   some of this information before you do a true partitioning.
	   And *always* add extra space (if possible always double
	   the size you will ever need. trust me you'll need it
	   some point in the future).

	4) Which partitions will be hit the most due to usage?
           For example /var/log which contains all of the logs
	   will get hit hard on most servers. On a mail server
	   /var/mail will come a close second as it is always to
	   one or more files in /var/mail.

	Once you can answer some of the above questions we can then
	start to do a partitioning scheme.

	Now what cause me to thinking about doing this, is the person
	who called me had his system (Solaris 9) with disk partitions.
	One of his partitions (/var) filled while he was gone for a
	couple of days (/var/dt/Xerrors was 3+ Gigs on a 4 Gigs
	slice). He could not fsck it due to the lost+found being full.

	First he had a back-up of /var from a month before and
	seeing that really only /var/mail was what changed he would be
	able to recover the rest of /var once we saved /var/mail. He
	mounted a dirty file system and then was able to copy the files
	he needed to another partition. Then he unmounted and did a
	newfs (mkfs under Linux) to create /var again. Restored from
	tape and then restored from the files he copies and was back
	up and running. SIDE NOTE: I use to work for Sun and that was
	how I first met him. When he called Sun they told him to kiss
	all of the data on /var goodbye and start freshed. You should
	note I was able to recovered his data and get him back up and
	running in a short period of time because he did have his
	disk partitioned.

	Another one should keep in mind is by doing partitioning you
	can get a speed performance out of it. If you put swap close to
	the center of the disk (in most cases you are always swapping
	pages in and out on a busy system) and then put the slices which
	would get hit the most on each side of it and keep moving out
	from the center until the outer ends you have / on one side of
	the disk and your other low hit slice on the other end of the
	disk your disk head will be in the center of the disk most of
	the time.

	I should also mention that you can break /var down into sub
	partitions such as /var/log, /var/mail, /var/www if that would
	be best for your system which is what I do on my main server.
	But on my Asterisk server I break out /var/spool/asterisk,
	/var/mail and /var/log.

	Also how about breaking out /var/cache into it's own partition?
	This is where all of the packages info is stored until a
	apt-get clean is done.

	And last I should mention about /. You may not want to break
	out /usr/bin, /usr/sbin or /usr/lib into their own partitions.
	If you ever need to come up single user and they are broken
	out you may just have shot yourself in the foot. Be careful.
	Currently you can get by with a / partition of 5 to 10 Gigs
	(the default usage is under 2 Gigs for /). Know your system.
	BTW do you have a second drive in your system? If so how about
	setting aside a second / partition and do a DD from drive 0 to
	drive 1 each night. Just think, if the first / is bad you could
	boot up long enough off of drive 1 to do a full back up so your
	total down time is greatly reduce. Just another trick I have
	learned.

	The hard partitions to size can be /var/mail and /home. But
	if you can develop some hard policies for your company you can
	make it easier to guess. I also suggest that if you have quotas
	that you have one set of quotas for the whole company. DO NOT
	have a different quota for managers vs non-management. This is
	a policy which is bad and causes hard feelings (been there,
	had to support it, it failed, got rid of the T-shirt).

							Tony


More information about the vox mailing list