4

Lots of read and write operations that my current setup of 4xSAS15k drives in RAID10 is having made me think of a new fast storage.

My server is busy with a demanding database, lots of pages, php files and images.

So I'm considering going the SSD route (Samsung SSD 850 PRO), but with all the controversial info I'm finding on internet I can't decide if I should really go with SSD in RAID or skip the RAID and have them as "standalone".

Some say that without TRIM (as many RAID controllers doesn't have it) the endurance of the SSD's in RAID will make them wear and die in like 1 year of usage. Others say that TRIM is old news and new SSD enterprise level (Samsung 850 PROs?) disks have over-provisioning and they don't need TRIM anymore, + Samsung gives 10 year warranty to their 850 PRO's.

What are the pros and cons of 4xSSD(512Gig) in a RAID10 vs. 2xSSD(1Tb)? How long will Samsung 850 PRO's serve in RAID10?

I want to have the fastest read/writes but don't want the SSDs to die within a year, nor I want RAID controllers dying often (they say not the SSDs that die, but controllers).

CamSpy
  • 145
  • 1
  • 1
  • 5
  • When "they say not the SSDs that die, but controllers" that normally refers to the SSD's own flash controller, not the HBA or RAID controller. – user Mar 25 '15 at 14:20

3 Answers3

7

With SSD's the only generic recommendation is to buy the right drive for your workload.
See this answer for the rationale.

The warranty for the Samsung SSD 850 Pro may be ten years, but that covers mechanical failures and does not cover you when you exceed the still "somewhat limited" total write capacity limit.

Associated with the failure rates and warranties is the reliability associated with physical limit of the finite number of write cycles NAND cells can support. A common metric is the total write capacity, usually in TB. In addition to other performance requirements that is potentially one big limiter.

To allow a more convenient comparison between different makes and differently sized sized drives the write endurance is often converted to daily write capacity as a fraction of the disk capacity.

Assuming that a drive is rated to live as long as it's under warranty:
The Samsung 1000 GB SSD has a 10 year warranty and a total write capacity 300 TB:

        300 TB
---------------------  = 0.08 drive per day write capacity.
10 * 365 days * 1000 GB

If you only expect to run the drive for 5 years that doubles: 0.16.

The higher that number, the more suited the disk is for write intensive IO.
At the moment (early 2015) value server line SSD's have a value of 0.3-0.8 drive/day, mid-range is increasing steadily from 1-5 and high-end seems to sky-rocket with write endurance levels of up to 25 * the drive capacity per day for 3-5 years.

Note: Some real world endurance tests show that sometimes the vendor claims can be massively exceeded, but driving equipment way past the vendor limits isn't always an enterprise consideration...

HBruijn
  • 72,524
  • 21
  • 127
  • 192
  • Thank you. With your formula, even with a pessimistic plan, I should be calm as the SSDs in a RAID10 should last for 5 years easy, if I'm writing 10 GB/day of data daily, or less. Or am I wrong? – CamSpy Mar 25 '15 at 09:17
  • That is correct. I think Samsung markets them as 40 GB per day of writes which appears to fit your use-case. – HBruijn Mar 25 '15 at 09:23
  • 1
    What also concerns me is that in RAID the SSDs will be "wearing" at the same level. I can survive 1 SSD to fail, but what if 2 of them fails – CamSpy Mar 25 '15 at 09:27
  • 1
    It is unlikely that both will fail at the same time. The limited number of write cycles in NAND is not an exact number but a gradual process. Simply do as you already should be doing: monitor the status of the RAID controller and replace failed drives in a timely manner. – HBruijn Mar 25 '15 at 09:33
  • 2
    In addition: RAID is not a substitute for back-ups. :) – HBruijn Mar 25 '15 at 09:43
  • yes sure, I have backup out of the server as well just in case. It take longer to recover from it, but there at least is data to recover from – CamSpy Mar 25 '15 at 10:03
3

4xSSD(512Gig) in a RAID10

  • you have redundancy (+)
  • you have only 1TB of usable space (-)
  • you have x2 speed (+)

2xSSD(1Tb)

  • no redundancy (-)
  • you have 2TB of usable space (+)
  • you have normal speed (N)

2xSSD(1Tb) RAID0

  • no redundancy (-)
  • you have 2TB of usable space (+)
  • you have x2 speed (+)

As for the lifetime of them, that model is pretty good, but after 100TB of read/writes it's a risky business, even if they can last 20 times that in some cases.

You choice should depend on the total amount of data you consider it will be written on them for the desired period of time. If that data is not a lot, then go for the normal config, even a RAID0 for increased performance. If the data amount is very large, go for the RAID10 option, as the risk of a failure increases with time.

Overmind
  • 2,970
  • 2
  • 15
  • 24
2

Linux software RAID (md) supports passing discard ops down to its components. When those components are SATA devices, they turn into ATA TRIM commands.

See for example: Implementing Linux fstrim on SSD with software md-raid

Depending on your access pattern, 2x SSDs concatenated could be as fast as RAID0. e.g. random IO scattered across the entire disk fine-grained enough that both disks are kept busy. If availability and some safety against loss of writes since the last backup is worth the cost of an extra SSD or two, RAID1 of would work well. Or Linux software RAID10 with an f2 layout, so you get RAID0 sequential read speeds. RAID1 can read in parallel from the redundant copies, so you can get 2x the high queue-depth read perf. A 4 disk Linux RAID10f2 sequential-reads as fast as a RAID0 of 4 disks.

You could also partition your disks so one partition is RAID10 (database), and another partition is RAID5 or RAID0 (bulk storage for images). Also note that Linux RAID10f2 works on as few as 2 disks. See http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10. It's different from RAID1 because of how it lays out your data (unless you use n2, then it's the same). f2 and o2 give speeds ups for single-threaded reading, while all variations should help with speeding up parallel reads. For SSDs, don't bother with o2. The increased locality won't speed up writes like it does for magnetic disks.

Peter Cordes
  • 457
  • 4
  • 10