We're provisioning a new production server for our reasonably busy website. Our choice of host have available a 6 drive configuration with a LSI 9260-8i card.

My initial thought was to fill all six bays with SSDs (Intel 520 256gb) and set them up in RAID. Good, bad, or terrible idea?

Can the card handle it? Should we be using RAID 5, 6 or 10? This would be the first time the provider have filled all six slots for this rackmount with SSDs, so they're a bit hesitant. I'm wondering if somebody else with this card has done something similar in a production environment.

We do about 43gb of writes per day and currently use about 300gb of storage. The server acts as webserver, database, and image store for approx 1 million files. The plan is to underprovision the SSDs by approximately 10% to 20% to increase their overall lifespan & performance.

The fallback option is 2x480gb SSDs in RAID 1 and another 2x1TB HDDs in RAID 1.

The motivation behind this is that the server rental cost difference between 2xSSDs and 6xSSDs is minimal (compared to the overall cost of the rental). We do not have any special high-IOPs requirements. However, if the configuration is known to work, I don't see a good reason to not use it and not have to worry about having separate 'fast and small' and 'slow and large' disks.


Edit 10/09/2012: Andy (who commented below) has suggested over IRC that JBOD with RAID 1 might be a good idea. I'm favouring this as:

  • It's a less "complicated" solution
  • I don't need the extra IOPS & throughput that RAID 0 or RAID 5 would provide
  • but I do need the extra space that they'd provide
  • it would ensure that the disks are worn unevenly, reducing the risk of a concurrent failure (although the risk of both slaves in a RAID 1 failing is still there)

No, it's not a bad idea. How will you perform the under-provisioning overprovisioning?

The LSI 9260 card is SSD compatible and there aren't any IOPS/throughput issues for you to worry about. It's a 6Gbps controller, as are the Intel 520 SSD's. If anything, I'd make sure your system has a 1:1 port allocation and avoid any SAS expanders. That's the only issue to consider.

I don't use the LSI RAID cards, but I do use the LSI SAS HBA cards (9211, 9205) with SSD's and ZFS storage solutions. I've never had any problems with compatibility, detection, temperature, monitoring, etc.


@MichaelPearson I ask because some people do this by modifying drive firmware. I don't have much detail on that. Partitioning seems to be the way to go. Also, the term here would be overprovisioning the SSD (for Google result purposes). @chopper3, the benefit is in performance with multiple drives. The SSD equivalent of short-stroking, sorta.

  • I was planning on leaving 10% or so of space un-partitioned, unless there are better options. Sep 9 '12 at 2:27
  • Why do you think this will help?
    – Chopper3
    Sep 9 '12 at 9:53
  • @MichaelPearson See edits above.
    – ewwhite
    Sep 9 '12 at 16:43
  • 1
    @MichaelPearson Don't bother with the 10% smaller partitions, it will make almost no difference, definitely not a noticable difference. There various stratum of SSDs with better or worse write-cycle life and overprovisioning. You need to carefully evaluate the read-write profile of your application and determine what stratum drives you should get. The drives you mention are definitely on the lower end of write tolerance, though they should last a while even under heavy write load.
    – Chris S
    Sep 9 '12 at 17:17
  • 2
    @MichaelPearson If it's endurance, I wouldn't worry, especially since those devices are already overprovisioned. The drives I use are a tier above (STEC ZeusIOPS, SanDisk/Pliant), but even the Intel you're looking at should be able to handle your profile with ease. Definitely go with the higher number of drives, though.
    – ewwhite
    Sep 9 '12 at 23:34
  • I'd go with a minimum 20% underprovision to make a meaningful difference to life span. Make sure these parts of the drive are never written to (partitioning before first use should be fine)
  • I'd go with RAID6 with a smaller stripe size. Your image set are mostly read-only compared to the database, and a smaller stripe size will result in less I/O needed to update the RAID parity.
  • As has been said elsewhere, SAS expanders (ie. SAS backplane) must be avoided for total compatibility with SATA SSDs. You want 1:1 links from the card to the SSDs.
  • Make sure the controller has the battery backup unit (BBU) for RAID5/6 safety. (If you can't get it, then use RAID10 instead.)
  • These are consumer SSDs, not intended for server use, so figure this into your plans.
  • -1 The smaller partitions will make almost no difference. "Enterprise" SSDs have 20-40% (or more) reserve already, adding more wastes space. SAS expander are compatible with SATA, I don't know where you got any other idea from; they should be used carefully for bandwidth reasons. Batter backups (or flash as modern cards have) is just as important for R10 as for R5 or R6. Why does "consumer" vs "server" use make any difference; that's just a blind statement without reasoning.
    – Chris S
    Sep 9 '12 at 17:21
  • 1
    From Intel's own documentation: "With random workloads, endurance increases with over-provisioning... For example, with the 600GB SSD at 4 KB transfer size, there is a 1.9X improvement going from no-over-provisioning to 20% over-provisioning" cache-www.intel.com/cd/00/00/49/23/492354_492354.pdf Sep 10 '12 at 0:52
  • Intel's drives come over-provisioned from the factory for this reason. For instance a 300GB 320 Series actually has 320GB of flash. This is a workstation drive, so reserving a bit more for over-provisioning isn't a as bad an ideas as using it in server. "Enterprise" drives come with an appropriate amount of over-provisioning reserve from the factory, like the Talos2R at ~25% or Toshiba drives at almost 30%. As the article you linked to states "increasing over-provisioning from 20% .. will not provide any significant performance benefit"
    – Chris S
    Sep 10 '12 at 13:36

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.