Partitioning for performance?

YamahaAlex37

[H]ard|Gawd
Joined
Jun 23, 2005
Messages
1,775
My 1TB Spinpoint F3 is coming in the mail today, and I wanted to figure out whether or not I should partition it before installing the OS.

I've been reading that having the OS on it's own partition could benefit system performance, eliminating clutter and helping with defragmenting, is that correct? I also read about problems with separating Program Files and the OS, so I'd prefer to keep those on the same partition, but I'm not sure why some people say to have a separate games partition,

So I was thinking 250GB OS partition, 250 Games, 500GB Data and backups, or should I just have 2 500GB partitions and use for everything and the other for backups?
 
I did that to mine, but kind of regret it...but I could remove it. If you think about it, the hard drive write head "might" have to moving pretty crazy if you run programs that must access different partitions on the same drive roughly at the same time. For example, I was actually creating a mirror of my C partion, and putting it in a second partition on the same hard drive, and this just slowed things down, and of coarse would not allow me to restore the C/OS partition if the drive failed. So, I'm thinking now that it would have been better not to partition the "C:/OS" hard drive. I do/did put movies on the second partition....so putting relatively static data/programs/etc. on the second partition "might" be ok, but not necessarily better.

Hardrive C: OS
Hardrive D: Data
Hardrive E: ?
etc.
 
get an extra drive. having the drive seek across half the disk while swapping between programs and data is not going to do anything good for you, short term or long run.
 
Ok well then I'll just make 2 big partitions 500GB each, that way I can have everything on the same partition, but have back ups and a place to put everything when I want to reformat and reinstall OS on first partition. Sound like a good idea?
 
Don't bother partitioning, rather get a second external hard disk for your backups, cutting your disk capacity by 2 is not a good idea at today's cheap disk prices. If you buy a naked internal drive, you can make it external by getting a USB/SATA adapter for about $15, transformer included, or an empty case or dock for a bit more.
 
I think the only valid argument for partitioning any longer is if you want to make an OS only partition to allow easy imaging in case you need to restore. Of course, you'd still need to re-install any apps you put on after the image (unless you make the partition big enough for OS and apps, in which case you might as well just use the whole drive). Personally, I've always just made one big partition, and then had a second drive to store stuff on for backup, etc. That way I'm not single point of failured on that one partitioned drive. Performance-wise I don't think it makes much difference any longer with drives being as (relatively) fast as they are.
 
Damn I just paritioned 500gb for OS before I read this. Can I just extend the partition the rest of the way?
 
Damn I just paritioned 500gb for OS before I read this. Can I just extend the partition the rest of the way?

You can extend the partition, yes. You'll need to delete the second partiton first, assuming you already made one.
 
And I am a little upset at work I left the 1TB drive as single partition in the new desktop I got in winter. As a programmer I have millions of small files with 10s of thousands created and deleted daily. This creates a lot of fragmentation with the os along with other annoyances.

In the past I have always made a 50GB or so OS partition then the rest for my data. Also I like having my data as a separate partition so that I can give it the drive letter I want X: instead of being on C: that helps with sharing it out for remote debugging.
 
eh, what's the big deal? get a second drive to fix. or get some virtual drive software. maybe something like truecrypt, set aside 100GB for a file, mount it and move your stuff there. as a bonus it is encrypted and can be copied to other drives.
 
Ooo! Ooo! Obscure reference! The Certified DBA

Lol, was that a true story?

Anyways so are you sureeee I should just extend the partition? Sry to ask again :D, but my budget is expended, I'm not going to be buying any new hardware for a while, and the only other drive I have is a 160GB external, certainty not big enough for all my backups.

The 500GB extra partition seems like it would be useful in my case since I seem to have to re-install windows a lot, and I know I'm not going to fill up 500 gb. If I do, then I will buy another hard drive. It certainty wouldn't hurt performance to have the extra partition, would it?

Also, I read something about matrix raiding, where you raid the first half of 2 hard drives together, and the second half together. Maybe it was just from some crap from a "certified DBA" tech lol
 
It's supposedly a true story but that site is based on user submissions so the submitter could have lied. Who knows? Funny anyway!

I wouldn't recommend doing that RAID thing because your hard drive would have to seek back and forth and back and forth and back and forth... I would expect it to MAJORLY lower speeds. You CAN do that with RAID-1 for extra data security but it will still not help you if the whole drive itself crashes. And it will still lower speeds by a lot. So while it's not nearly as bad as RAID-0 would be, I still don't recommend it.
 
BTW, partitioning and what you call matrix raiding is done all the time on linux.

At work my dozens of linux servers each drive has 4 partitions And these are systems with 200+ MB/s writes and 300+ MB/s reads with 6 to 8 hard drives from 2008 or earlier.

/boot 256MB
swap 2 to 5 GB
/ raid 5 (or 6) member (probably 10 to 30 GB so that the entire raid5 is at least 50GB)
lvm raid 5 (or 6) data using the rest of the disk.

datastore3 ~ # fdisk -l /dev/sda

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe5e9702e

Device Boot Start End Blocks Id System
/dev/sda1 63 546209 273073+ 83 Linux
/dev/sda2 546210 1606499 530145 82 Linux swap / Solaris
/dev/sda3 1606500 16305974 7349737+ fd Linux raid autodetect
/dev/sda4 16305975 976768064 480231045 fd Linux raid autodetect

datastore3 ~ # cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdi1[8](S) sdh1[7] sdg1[6] sdc1[5] sdb1[4] sdf1[3] sde1[2] sdd1[1]
272960 blocks [8/8] [UUUUUUUU]

md2 : active raid5 sdi4[8](S) sdc4[5] sdd4[1] sdh4[7] sde4[2] sdg4[6] sdb4[4] sdf4[3] sda4[0]
3361616832 blocks level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU]

md1 : active raid5 sdi3[8](S) sdc3[5] sdd3[1] sdh3[7] sde3[2] sdg3[6] sdb3[4] sdf3[3] sda3[0]
51447424 blocks level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU]

unused devices: <none>

datastore3 ~ # pvs
PV VG Fmt Attr PSize PFree
/dev/md2 vg1 lvm2 a- 3.13t 364.89g

Here the 3.13 TB raid is used in lvm in the following lvm partitions:

datastore3 ~ # lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
data_analysis vg1 -wi-ao 500.00g
database vg1 -wi-ao 100.00g
imagedata vg1 -wi-ao 1.99t
metro vg1 -wi-ao 50.00g
portage vg1 -wi-ao 5.00g
temp_data vg1 -wi-a- 50.00g
var_tmp vg1 -wi-ao 50.00g
virtualization vg1 -wi-ao 50.00g

Here is a read test. The machine has 4GB of ram so I do 8GB of reading
datastore3 ~ # dd if=/dev/vg1/imagedata of=/dev/null bs=1M count=8000
8000+0 records in
8000+0 records out
8388608000 bytes (8.4 GB) copied, 14.8569 s, 565 MB/s
 
Last edited:
For the OP I would just partition the drives how you want them. You can undo that (with some work and perhaps a second drive) in the future if you believe this is causing you a severe performance penalty.
 
the drive starts on the outside edges of the disk and works inwards (edges are faster then the center of the disk). if you have a 1000GB disk, and a single partition, it will work sequentially inward as you fill the space.

if you have two 500gb partitions, partition 1 (C: ) will start at the outside edge, partition 2 (say D: ) will start in the middle of the disk. the theory is this- if all you store is 50gb of OS files on C: (or of C: is not completely full), whatever you put on D: will be unnecessarily slower because it could have been placed further out on the disk, but being on the second partition forces it to be on a slower part of the disk.

will this slowdown matter for most users? most likely not; the speed difference between inside and outside tracks is like 10-30% depending on the disk. if you want to use two 500gb partitions, make sure to put the files you use most often on the primary and use the second partition for bulk storage or backups.
 
I think the only valid argument for partitioning any longer is if you want to make an OS only partition to allow easy imaging in case you need to restore. Of course, you'd still need to re-install any apps you put on after the image (unless you make the partition big enough for OS and apps, in which case you might as well just use the whole drive). Personally, I've always just made one big partition, and then had a second drive to store stuff on for backup, etc. That way I'm not single point of failured on that one partitioned drive. Performance-wise I don't think it makes much difference any longer with drives being as (relatively) fast as they are.

I'm all for running 2 drives, but he could certainly do that if he wanted to.

500GB is plenty for the OS, apps, and a bunch of games. Assuming he did two 500GB partitions, he could have quite a sizable OS install and still be able to image it to the 2nd partition.

Like you, I personally prefer the two drive setup but I don't know many people who need an entire 1TB drive for OS and apps.
 
Back
Top