我有2个ARECA 8040 HW-RAID,每个8个SSD。 一个是配备Intel 520 SSD的RAID10,另一个是配备Samsung 840 SSD的RAID5。 两者都通过一个共享的LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2卡连接到服务器。
我正在读取/写入/删除RAID。 从我的愚蠢测量我相信,TRIM命令或安全擦除必须发出恢复原来的性能。
HW-RAID不接受也不将命令传递给SSD:
fstrim -v /media/ssdraid1/ fstrim -v /media/ssdraid2/
都失败,因为不受支持。
我看到的KISS解决scheme是:将所有数据移动到其他磁盘。 卸载RAID卷。 关掉它。 取出所有SSD并直接连接到SATA。 发出TRIM(首选)或SECURE ERASE(如果不支持修剪)命令。 把所有的固态硬盘放回到RAID中,然后把所有的数据放回去。
我不喜欢KISS解决scheme,我必须将所有的数据closures,并在RAID上。 这将花费很长时间,我将需要可用磁盘空间。 可以做到这一点,而无需停止使用表空间在这些RAID上运行PG数据库。 但是我会在运行系统上“触摸”一些。
我在“槟榔手册”中读到:
磁盘可以断开连接,取出或用另一个磁盘replace,而不会使系统脱机。 ARC-8040 RAID子系统重build将在后台自动处理。 当磁盘热插拔时,ARC-8040 RAID子系统可能不再是容错的。 在热插拔驱动器随后被更换并且重build操作完成之前,容错将会丢失。
所以..现在我有以下想法 :
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 }
我的问题: 这是一个好主意 – 如果不是为什么呢? 它会起作用吗? 你看到RAID5或RAID10configuration有问题吗? 我应该“告诉RAID”,我会事先删除驱动器?
所以首先,SECURE ERASE的确如此,将整个驱动器变成空白。 我真的build议不要故意降级你的RAIDarrays。
在这个说明中,如果你打算这样做的话,请帮你一个忙,让RAID离线,这样你就不用在TRIM每个磁盘之后重新同步它。
我不能评论你的卡的RAID5的执行情况,但是尝试RAID10和比较性能肯定是明智的。 有一件事情很可能:RAID10在降级状态下的性能将比RAID5好很多
最后,我认为你所做的不是长期的可持续性,你需要考虑find一个支持TRIM的磁盘冗余解决scheme。
根据您正在运行的操作系统,您可能会牺牲硬件RAID并在操作系统中单独安装驱动器。 我知道Windows Server 2008 R2和更高版本(我认为Windows 8)支持RAID 5.当然,你不能启动它,但修剪将工作,因此你的performance将是一致的。