Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We're looking at use two SSD in a software RAID 1 raid on CentOS. We have tested performances and it is the same as a SSD alone.

But we fear that because of mdadm, lifetime of the SSD will shorten. Here is the warning of Redhat team :

Red Hat also warns that software RAID levels 1, 4, 5, and 6 are not recommended for use on SSDs. During the initialization stage of these RAID levels, some RAID management utilities (such as mdadm) write to all of the blocks on the storage device to ensure that checksums operate properly. This will cause the performance of the SSD to degrade quickly.

If mdadm write on all the disk on initial check seems OK, but how does it check thereafter ?

share|improve this question

closed as not a real question by Xavierjazz, soandos, ChrisF, Diogo, 8088 Oct 22 '12 at 23:31

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

What's the question? "Red Hat also warns that software RAID levels 1, 4, 5, and 6 are not recommended for use on SSDs. " – Xavierjazz Oct 22 '12 at 18:52
The question is : After the initialization stage, would mdadm be harmful for my SSD drives lifetime ? – Erwan Oct 22 '12 at 18:56

Theoretically, as long as you don't rebuild the array, the initialization will not happen again, so no more extra ware.

<mumbling> However, writing to all the blocks in one go can easily overwhelm the disk controller and cause major problems. Normally SSDs keep a pool of pre-erased blocks to allow fast write access. When that pool is depleted, the controller will have to erase blocks on-the-fly to write into them. This takes significantly more time so when these requests pile up, the earlier ones will start to timeout. The software may mistake this for a bad block or crash, in which case you may have to start again. Obviously this is not good, but hardware and software are both improving, so this should be less and less significant. </mumbling>

I don't see why can't you use it with mdadm and any reason for siginificant flash life loss if you're careful. It might be a good idea to pratice on some hard disks and figure out how to configure all the parameters, e.g. chunk size.

share|improve this answer

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