Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've order a dedicated server which will have 2x1TB hard disks. I'd like a little help though on how I should partition the disks.

Everything will be setup using software raid1 (mdadm) and all of the user data will reside in /home (this includes apache2 website files alongside everything else). I was thinking about something like the following:

  • 4MB bios_grub (since I'll be using a GPT)
  • 1GB /boot (just because - yes I know that it's too much)
  • 50GB / (this will include /usr as well)
  • 740GB /home
  • 50GB /var (logs, mails, others)
  • 150GB /var/lib/mysql (MySQL files)
  • 8GB swap

What do think? I may be assigning less space to /var/lib/mysql since we don't expect to have lot's of MySQL databases (I even think that 10GB will be more than enough for our needs).

What would you change and why?

share|improve this question

Consider using LVM - Logical Volume Management. It lets you manage the storage in a flexible way - online resizing of volumes and snapshots and else.

share|improve this answer
You think so? I'd like to avoid that. I've tried using LVM on a desktop before and it wasn't the most pleasant experience. Had btrfs been more stable I'd go for btrfs and its subvolumes. Administration wise I find btrfs way easier to setup than LVM. – feugatos Mar 22 '13 at 12:13
LVM is definitely worth learning. Lot of people use it in the production and feels happy. – Gevial Mar 22 '13 at 12:31
I'd recommend staying away from it - I've seen too many systems with volume groups made up from odds and sodds scattered all over disks. And even if the performance problems for snapshots are fixed it still adds a significant overhead even on simple models. – symcbean Mar 22 '13 at 13:04

I don't think it is any use to seperate /boot, /, /var. That kind of micro-partitionning was in the mood of the late 90's and early 2000's, but I really don't think it is still recommended.

I even feel like the /var/lib/mysql is superfluous, if you don't plan to put the database on a really different hard drive.

share|improve this answer

I wouldn't bother with so many partitions, it's not necessary unless you're partitioning to separate disks. It's also possible it could cause headaches down the line if they become full.

Generally I use something like the following:

/boot - 1GB
/     - 5GB - 10GB
/data - Rest of disk
swap  - RAM X2

/boot and / are potentially oversized here but I prefer to have too much space than risk too little. If you're unsure though, check the docs for your distribution as they'll very likely offer recommended partitioning schemes.

share|improve this answer

For a standalone server, using RAID1 makes some sense - although you might consider using independent (non-mirrored) swap partitions on the 2 disks. If you ever get into swapping you're just slowing the system down by writing to both disks. If it's likely that you'll have a disk failure at the same time that the system has run out of physical memory, then the really you need more RAM or less memory hungry config.

I disagree with Stephane that splitting your disk into different partitions is no longer necessary - it's a good way to protect your system from overflowing logs and partitioning reads / writes still brings performance benefits.

Using more partitions than you need seems sloppy - looking at your setup, I think it would be worth keeping /home on the same filesystem as /

I don't know anything about the applications it will run, but suspect that split between user content and database favours the former too much - but then again I work mostly with database-intensive stuff.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.