Maintenance (TRIM) of SSDs in HW RAIDs

raidssdtrim

I have 2 ARECA 8040 HW-RAIDs, with 8 SSDs each. One is RAID10 with Intel 520 SSDs, the second is RAID5 with Samsung 840 SSDs. Both are connected to the Server with one shared LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 card.

I am heavily reading/writing/deleting on the RAIDs. From my stuporous measurements I am convinced that TRIM command or a SECURE ERASE must be issued to restore original performance.

The HW-RAID is not accepting nor passing the command to the SSDs:

fstrim -v /media/ssdraid1/ 
fstrim -v /media/ssdraid2/

both fail as unsupported.

The KISS solution I see is: Move all data to others disks. Unmount the RAID volume. Shut it down. Take out all SSDs and connect them to SATA directly. Issue the TRIM (preferred) or SECURE ERASE (if trim not supported) command. Put all the SSDs back into the RAID and move all data back on it.

I don't like about the KISS solution, that I have to move all the data off and on the RAID. It will take long and I will need free disk space for that. One can do this without stopping the PG database running on these RAIDs using tablespaces. But I would be some "touching" on a running system.

I read in the Areca manual:

A disk can be disconnected, removed, or replaced with a different disk
without taking the system off-line. The ARC-8040 RAID subsystem
rebuilding will be processed automatically in the background. When a
disk is hot swapped, the ARC-8040 RAID subsystem may no longer be
fault tolerant. Fault tolerance will be lost until the hot swap drive
is subsequently replaced and the rebuild operation is completed.

So.. now I have the following idea:

for (N = 1 to 8) {
 * Remove Nth SSD from running RAID
 * Connect it directly to SATA on a desktop mashine
 * Issue TRIM (preferred) or SECURE ERASE (if trim not supported) to restore initial performance
 * Plug it into the RAID again
 * Wait for the HW-RAID to resync the disk 
}

My Question(s): Is this a good idea – and if it is not why not? Will it work? Do you see any problems with RAID5 or RAID10 configuration? Should I "tell the RAID" that I will remove the drive beforehand?

Best Answer

So firstly, SECURE ERASE does exactly what it sounds like, blanks the entire drive. I would really advise against intentionally degrading your RAID array like that.

On which note, if you are going to do this, do yourself a favour and take the RAID offline, that way you're not going to have to resync it after you TRIM every single disk.

I can't comment on the performance of your card's implementation of RAID5, but it would certainly be sensible to try RAID10 and compare the performance. One thing is very likely: performance of RAID10 in degraded state is going to be a whole lot better than for RAID5

Finally, I think it's somewhat evident that what you're doing isn't sustainable long-term and you need to think about finding yourself a disk redundancy solution that supports TRIM.

Related Topic