
为什么选择本文主题来升级磁盘子系统显然,首先需要的是规则:
- 增加RAM。 这是一个显而易见的举动,以至于我什至都不认为有必要在主要文章中对此进行撰写
- 安装其他处理器,或将两个处理器替换为服务器插槽支持的最高效的版本。
对于具有内存的较旧服务器,通常可以以低廉的价格找到处理器。
在某些时候,他们自己服务器的任何所有者的问题都会变成升级或新服务器。
由于新服务器的价格现在可以以数百万卢布衡量,因此许多产品都在升级之路上。
对于成功的升级,使用折衷方案非常重要,这样一小笔费用(相对于新服务器的价格),我们就能获得显着的性能提升。
本文提供了服务器SSD PCI-E 2.0 x8的列表,它们现在便宜得多,显示了支持SSD缓存的RAID控制器,并且在SATA II接口上测试了SATA III SSD。
升级磁盘子系统的最明显方法是从HDD切换到SSD。 对于笔记本电脑和服务器都是如此。 在服务器上,唯一的区别可能是可以轻松地将RAID内置到RAID中。
的确,在旧服务器上可能没有任何SATA III端口,因此您必须替换或安装适当的控制器,这有一些微妙之处。
当然,有中间方法。
在SSD上缓存。
通常,此方法非常适合数据库,1C和任何随机访问。 速度确实加快了。 对于巨大的视频监视文件,此方法没有用。
LSI Raid控制器(IBM,DELL,CISCO,Fujtsu)
从92xx系列开始,LSI具有CacheCade 2.0技术,该技术使您几乎可以将任何SATA SSD用作RAID阵列缓存。 用于阅读和写作。 甚至通过缓存SSD来创建镜像。
使用品牌控制器,事情变得更加复杂。 对于IBM来说尤其如此。 您将需要从IBM大量购买CacheCade的密钥和SSD,因此将控制器更改为LSI并以低价购买硬件密钥更加容易。 软件密钥的成本明显高于硬件密钥。
Adaptec突袭控制器
Adaptec控制器具有MaxCache技术,该技术还允许您将SSD用作缓存。 我们对以字母Q结尾的控制器版本感兴趣。
Q控制器几乎可以使用任何SSD,而不仅仅是Adaptec提供的SSD。
- 从5xxx开始,所有控制器都具有Hybrid raid支持。 这项技术的本质是,当其中有一个镜像驱动器(其中有SSD)时,总是使用SSD读取数据。
- 5xxxQ,例如5805ZQ。 这些控制器支持MaxCache 1.0。 仅读取缓存。
- 6xxQ,例如6805Q。 MaxCache 2.0。 读取和写入缓存。
- 7xxQ,例如7805Q。 MaxCache 3.0。 读取和写入缓存。
- 由于价格昂贵,用于升级目的的8xxQ几乎没有意义。
有关在Habré(控制器和OS)上缓存SSD的文章。SSD上的软件技术缓存
我不会介绍这些技术。 现在几乎在所有操作系统中都支持它们。 我记得使用btrfs时,它会自动将读取请求转发到队列最短的设备-SSD。
SATA II上的SATA III SSD
由于不总是有机会和金钱来购买新的控制器,因此出现了一个问题,即SATA III SSD在过时的SATA II接口上的运行情况如何。
让我们做一点测试。 作为测试对象,我们将提供400GB SATA III SSD英特尔S3710。
用于速度测试的命令fio --name LinRead --eta-newline=5s --filename=/dev/sda --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name LinWrite --eta-newline=5s --filename=/dev/sda --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name RandRead --eta-newline=5s --filename=/dev/sda --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting fio --name RandWrite --eta-newline=5s --filename=/dev/sda --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting
如您所见,线性速度,IOPS,延迟之间的差异非常大,因此仅使用SATA III接口是有意义的,如果不是,则安装控制器。
公平地说,我会说在
其他实验中,随机读写速度
的差异是微不足道的。 SATA II和SATA III之间可能发生了如此大的IOPS差异,这是因为我使用了某种极为不成功的SATA II控制器或一个存在一些错误的驱动程序。
但是,事实是您需要检查SATA II的速度-突然您有了相同的制动控制器。 在这种情况下,需要过渡到SATA III控制器。
PCI-e 2.0或1.0上的PCIe SSD
如您所知,最快的SSD是PCI-e NVMe,不限于SAS或SATA。
但是,在安装现代PCI-e SSD时,必须考虑到这样一个事实,即它们中的大多数仅使用4条PCI-e线路,通常为PCI-e 3.0或3.1。
现在让我们看一下PCI-e总线速度表。
在PCI-e 2.0总线上安装PCI 3.0 x4 SSD时,它将在相同数量的线路上工作,但速度明显降低。 存在一个问题,即现代PCI-e SSD的线性速度超过了PCI-e 2.0总线(尤其是PCI-e 1.0)的带宽。
M.2 SSD和PCI-e适配器
当我们以10美元的价格购买适配器并将M.2 SSD放入服务器时,可以有很好的升级选项,但是对于良好的SSD来说,速度也会降低(尤其是在PCI-e 1.0上),并且M.2 SSD并不总是很容易获得适用于服务器负载:由于廉价型号上装有SLC缓存,因此具有很高的耐用性,电源保护和高速特性的稳定性。
因此,此方法仅适用于具有PCI-e 2.0总线且忙于非关键性工作的服务器。
PCI-E 2.0 x8固态硬盘
最经济的逻辑升级是将PCI-E 2.0 x8 SSD用于具有PCI-e 1.0总线(带宽最高2 GB / s)和PCI-e 2.0(最高4 GB / s)的服务器。
现在,可以在各种市场和在线拍卖中(包括在俄罗斯),以非常便宜的价格购买这种服务器SSD。
我已经整理了一张过时的SSD表格,可以完美地超频您的旧服务器。 在表的最后,我添加了几个具有PCI-E 3.0 x8接口的SSD。 突然之间,您很幸运,而且价格合理。

在这些SSD中,独立的Fusion ioMemory。
Fusion的研究主管是
史蒂夫·沃兹尼亚克 (
Steve Wozniak) 。 然后SanDisk以12亿美元收购了这家公司。 一次,它们的价格从每张50,000美元起。 现在,您可以以几百美元的新价格购买它们,以购买容量为1TB或更高容量的驱动器。
如果仔细查看该表,您会发现它们每条记录的IOPS数量很高,几乎等于每次读取的IOPS数量。 鉴于目前的价格,我认为这些固态硬盘值得关注。
是的,它们具有以下功能:
- 它们不能启动。
- 需要驱动程序才能使用。 驱动程序几乎具有所有功能,但是在最新版本的Linux下,必须对其进行编译。
- 最佳扇区大小为4096字节。 (也支持512)
- 最坏情况下的驱动程序会消耗大量RAM(扇区大小为512字节)
- 工作速度取决于处理器的速度,因此最好采用节能技术。 这既是加也是减,因为在功能强大的处理器的帮助下,该设备的工作速度甚至比规格中指示的还要快。
- 需要良好的冷却。 对于服务器,这应该不是问题。
- 不建议在ESXi中使用,因为ESXi首选具有512N扇区的磁盘,这可能导致驱动程序占用大量内存。
- 通常,达不到SanDisk最新驱动程序级别的供应商支持这些SSD的品牌版本(2019年3月)
与相当现代的服务器固态硬盘Intel P3700 PCI-E 3.0 x8相比,我进行了Fusion ioMemory测试(后者的成本比具有类似容量的Fusion高出4倍)。 同时,您可以看到x4总线将速度降低了多少。
是的,Intel P3700独特地降低了线性读取速度。 护照应该为2800 MB / s,而我们为1469 MB / s。 尽管通常可以说,如果可以以合理的价格获得它们,则可以使用PCI-e 2.0总线使用服务器SSD PCI-E 3.0 x4。
结论
可以通过使用SSD来重新发现具有PCI-E 1.0或2.0总线的旧服务器的磁盘子系统,该SSD可以利用8条PCI-E线路提供高达4GB / s(PCI-E 2.0)或2GB / s(PCI-E)的吞吐量。 1.0)。 最经济的方式是使用过时的PCI-E 2.0 SSD。
与购买用于LSI控制器的CacheCade密钥或用Q版本替换Adaptec控制器有关的折衷选项也很容易实现。
好吧,一种完全不合常规的方法是购买(搜集)SATA III控制器,以使SSD能够全速工作并以所需的速度移动它们。