unRAID cache drive... selection philosophy


Nyago123

Recommended Posts

If you were building an unRAID system entirely from scratch, what would you use as your cache drive these days? 

 

I'm scratching my head a little because these days the smallest desktop drive you can get is probably about 500GB... admittedly these drives are only $60 or so... and 1TB drives are only a little bit more... around $80-90... but at that size I'd want to use the drive for actual storage.  I don't think a WD Raptor style drive is worth buying, and SSD is still too rich for this purpose, at least for me.

 

I was using an old 160GB drive that recently failed... and now I have a 750GB drive as my cache drive which is vast overkill (particularly given I'm using 750GB drives in the actual array as well  ;) ).  I rarely cache more than 100GB at a time (and usually more like 20GB) and I set my mover to flush every 4 hours since I just prefer to get things onto the parity-protected array in a timely manner.

 

I'm sure I'll come up with something, but I'm just wondering what others think.  I'm just stuck in a mental loop where spending $60 on 500GB doesn't make sense when I can spend $80 on 1TB, but at that point I just want to put the 1TB drive into the array and then I still haven't solved my cache problem.  :D

Link to comment

If you were building an unRAID system entirely from scratch, what would you use as your cache drive these days? 

 

I'm scratching my head a little because these days the smallest desktop drive you can get is probably about 500GB... admittedly these drives are only $60 or so... and 1TB drives are only a little bit more... around $80-90... but at that size I'd want to use the drive for actual storage.  I don't think a WD Raptor style drive is worth buying, and SSD is still too rich for this purpose, at least for me.

 

I was using an old 160GB drive that recently failed... and now I have a 750GB drive as my cache drive which is vast overkill (particularly given I'm using 750GB drives in the actual array as well  ;) ).  I rarely cache more than 100GB at a time (and usually more like 20GB) and I set my mover to flush every 4 hours since I just prefer to get things onto the parity-protected array in a timely manner.

 

I'm sure I'll come up with something, but I'm just wondering what others think.  I'm just stuck in a mental loop where spending $60 on 500GB doesn't make sense when I can spend $80 on 1TB, but at that point I just want to put the 1TB drive into the array and then I still haven't solved my cache problem.  :D

You bring up good points.

The price differential is indeed small these days.   You will not see any difference in a "fast" cache drive vs. a "slow" cache drive.  The network is the bottleneck, not the speed of the cache disk.  So, with that in mind, if you can find another old drive, of almost any reasonable size, stick it in there as the cache.  

 

If you want to put a 750 or 1TB drive in place as the cache drive, think of it as your warm spare.   You can quickly re-assign it, if a drive in your array were to fail, as it is already physically installed.

 

Perhaps spend 80 on a 1TB, replace one of your 750GB drives with it, and re-use the 750 as cache until you see a bargain on a 250 Gig drive.

(At least you gain 250Gig of space that way)

 

Or, perhaps order something like this 250Gig at $44. (with free shipping) : http://www.newegg.com/Product/Product.aspx?Item=N82E16822148261

 

Joe L.

Link to comment

I would use a different strategy. (and I did).

I bought the fastest drive I could afford and made it my parity drive.

 

Replacing a 1TB wd Green drive with a 1.5TB Seagate 32MB cache changed how the whole array performed.

From what I read on a few websites, the 1.5TB 32MB Cache segates performed as fast (and sometimes faster) then a 10,000 RPM raptor.

 

By spending the money in this location I increased the array speed and I'm prepared to upgrade any of my data drives when needed.

 

It just so happens a drive in another machine needs an upgrade, so I'll purchase another 1.5TB 32MB Cache seagate for my unRAID torrent drive, and move the 1TB 32MB cache seagate to the machine that needs the upgrade.

Link to comment

Yes those 1.5TB drives are something fierce, if you really have a need for speed this is the next step to make it out perform a Raptor (except in random seeks).

 

http://www.techwarelabs.com/seagate_1-5tb-mod/ - *NOTE* I've never done this, just seems like an interesting idea.

 

It does seem like overkill at present time (in my mind at least) to have a 1.5TB drive as the cache drive, but it does provide the ability to upgrade a drive as you mentioned as well as replace an existing drive should you run into issues.

 

-Markus

Link to comment

If you want performance and price for a cache drive get a 320 or 640 GB WD Black Cavier as the platters are 320GB vs 250 on drives like the 750s. And if price isn't an issue, then yes the 1.5TB Seagates are extremely fast (that is what I currently have as my parity drive)

Link to comment

Yes those 1.5TB drives are something fierce, if you really have a need for speed this is the next step to make it out perform a Raptor (except in random seeks).

 

http://www.techwarelabs.com/seagate_1-5tb-mod/ - *NOTE* I've never done this, just seems like an interesting idea.

 

It does seem like overkill at present time (in my mind at least) to have a 1.5TB drive as the cache drive, but it does provide the ability to upgrade a drive as you mentioned as well as replace an existing drive should you run into issues.

 

-Markus

 

That's crazy.  Can someone please explain to me how limiting the capacity of a drive will increase its performance?  That makes no logical sense to me....

Link to comment

That's crazy.  Can someone please explain to me how limiting the capacity of a drive will increase its performance?  That makes no logical sense to me....

 

Not sure who you are calling crazy, but I don't think anyone said that smaller capacity = better performance.

 

Drive speed is a combination of factors including rotational speed and data density.  Drives that spin fast and have high aerial density will be fast.

 

I find these arguments about trying to optimize speed pretty useless, though.  Most any modern drive is fast enough to act as a fast cache for unRAID and be 3x faster than writing to the protectd array.  Local processing on the unRAID box may benefit from a faster drive, but you'd have to be doing something substantial to notice.  I'd recommend picking a cache disk based on the size that you need.  If you already own a 250-750 G drive, that you don't plan to put in the protected array, would seem to be a good use.

Link to comment

Guess I'll chime back in... thanks to everyone for input.  I'll continue to think of my cache as a hot spare and use it.  Massive quantities of cheap storage is a nice problem to have.

 

With regard to Rajahal's question... short-stroking is not a new technique.  The latest generation HDs fit 500GB per platter; you could buy 4 of those for $240, short stroke to 50% of the drive, put them in RAID-0 and get 1TB ... the real point is to get that constantly high throughput all the way across the (virtual) surface rather than seeing a drop off as you get to the outside. 

 

 

Link to comment
  I'd recommend picking a cache disk based on the size that you need.  If you already own a 250-750 G drive, that you don't plan to put in the protected array, would seem to be a good use.

Agreed, unless you are running vmware or local applications in a hidden directory, The network is usually the limiting factor.

Link to comment
That's crazy.  Can someone please explain to me how limiting the capacity of a drive will increase its performance?  That makes no logical sense to me....

 

The outer tracks of a drive can usually be read faster. If you partition the drive and limit it's use to the outer tracks, the heads do not have to move in and out as much.

 

Try a program called hddtune on your windows machine. It will show you the various throughput rates as it traverses the drive.

Link to comment

On my machine I'm beginning to question the benefit of a cache drive.  I just implemented the following drive as a cache drive:

 

SATA_WDC_WD800JD-00HWD-WMAJ91139205

 

My protected array consists of 9 WD 1TB Green drives (1 as parity)

 

- When I write to a cached share I get 5.53 MB/s throughput.

- When I write to an un-cached share I get 4.80 MB/s throughput.

- When I write directly to a disk I get 8.63 MB/s throughput.

 

It seems to me the best option is to write directly to a disk, which is what I was doing before.

 

Thoughts?  Comments?

 

 

Link to comment

I have a gigabit ethernet network.

Your "write" speeds to a cached disk are very slow...

 

It appears as if you are on a 100Mbit/s LAN (or the PC you are copying from is on a 100Mbit/s LAN)

 

Or... your array has some other I/O issues. According to the wiki:

Some general guidance as to what typical users can expect (assuming gigabit networking), read speeds *from* your server and writes to non parity-protected drives (such as the Cache drive) should typically be between 22MB/s and 35MB/s. Write speeds directly to parity-protected drives should be between 8MB/s and 15MB/s, with write speeds to User Shares a bit slower. If the Cache drive feature is used, then files saved to User Shares are at full speed. Later in off-hours, the files are moved more slowly to the parity-protected drives.

Your write speeds directly to a parity protected "disk" share is within the range expected (but on the low side), the the others are not. 

 

What version of unRAID are you running?

What "router" are you running?

Are you copying the file via a wireless link from the PC?  or a directly connected cable?

As long as there is space on the cache drive, the speed writing to a "cached" share should be about 20 MB/s or better. 

Are all the indicators on your Main unRAID interface page green?

 

All speeds are subject to other activity on the server that would be accessing the disks. (A parity check will slow down reads and writes)

 

Post a syslog for analysis.

 

Also, post the output of these two linux commands:

ethtool eth0

ifconfig eth0

 

Joe L.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.