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?


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

  • 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
  • 1
    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.


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.


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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