LSI 提供缓存Cade存储分层技术,允许使用 SSD 设备作为读写缓存来增强传统 RAID 阵列。
其他供应商也采用了类似的技术;HP SmartArray 控制器有他们的智能缓存. Adaptec 拥有最大缓存...更不用说许多基于软件的加速工具(sTec EnhanceIO,维洛比特,FusionIO ioTurbine,英特尔 CAS,Facebook 闪存缓存?)。
来自虚拟文件系统背景,我利用不同类型的 SSD处理读取缓存 (L2ARC) 和写入缓存 (ZIL) 任务。各自的工作负载需要不同的特性;写入缓存需要低延迟和耐久性。读取需要高容量。
- 由于 CacheCade SSD 可用于写入和读取缓存,RAID 控制器的板载 NVRAM 起什么作用?
- 当用作写入缓存时,CacheCade SSD 在写入耐久性方面会有什么危险?似乎鼓励使用消费级 SSD。
- 写入是否直接进入 SSD 还是先到达控制器的缓存?
- 读取缓存算法有多智能?我理解ZFS ARC 和 L2ARC 功能. 对 CacheCade 分层过程有什么见解吗?
- 有哪些指标可以监控 CacheCade 设置的有效性?有没有方法可以观察缓存命中率或百分比? 你怎么知道它是否真的有效?
我对 LSI 解决方案的意见和反馈很感兴趣。有什么注意事项吗?有什么提示吗?
答案1
既然 CacheCade SSD 可用于写入和读取缓存,那么 RAID 控制器的板载 NVRAM 起什么作用呢?
如果您启用控制器的写入缓存功能,则 NVRAM 仍将主要被使用。SSD 写入缓存通常仅用于大量写入数据,而 NVRAM 本身不足以满足需求。
当用作写入缓存时,CacheCade SSD 在写入耐久性方面会有什么危险?似乎鼓励使用消费级 SSD。
这取决于您的写入操作导致 SSD 写入缓存变得必要的频率……您的驱动器是否能够足够快地处理写入负载,以使 NVRAM 不会填满。在我见过的大多数情况下,写入缓存大部分时间都没有什么动作,所以我不认为这会对写入耐久性产生很大影响——大多数对 SSD 的写入操作很可能是读取缓存的一部分。
写入是否直接进入 SSD 还是先到达控制器的缓存?
上面已经回答...控制器缓存首先受到攻击,SSD 缓存更像是第二道防线。
读取缓存算法有多智能?我了解 ZFS ARC 和 L2ARC 的工作原理。对 CacheCade 分层过程有什么见解吗?
抱歉...对此没有任何贡献 - 希望其他人能有一些见解?
有哪些指标可以监控 CacheCade 设置的有效性?是否有方法可以观察缓存命中率或百分比?如何判断它是否有效?
看起来似乎没有任何可用于此的监控工具,因为此功能集的其他 SAN 实现都有... 而且由于 CacheCade 虚拟磁盘不会呈现给操作系统,因此您可能也无法手动监控活动。这可能只是需要进一步测试以验证有效性...
意见/观察:在很多情况下(如果使用得当,读取缓存的大小适合工作数据集),此功能可使一切顺利。但最终,它可能会时好时坏。
答案2
说到硬件解决方案,我发现无法知道确切的命中率或其他信息。我认为这有两个原因:控制器后面的卷显示为单个驱动器(因此它应该“正常工作”),并且很难计算“命中”,这些命中不是针对文件,而是针对 HDD 扇区,因此即使在空 HDD 上也可能存在一些命中率,这可能会令人困惑。此外,“混合”背后的算法是非公开的,因此知道命中率不会有太大帮助。您只需购买它并使用它 - 支出低(与纯 SSD 解决方案相比),速度效果不错。
“买来用”的方法是值得考虑的,但事实上没有人确切知道如何构建最快的组合:我们应该使用几个大硬盘和几个大缓存固态硬盘,还是应该使用许多小硬盘和几个大固态硬盘等等,100、500 Gb 或 2000Gb 固态硬盘缓存之间有什么区别(如果卷热数据很小,即使 500 看起来也有点过头了),它应该是 2x64Gb 还是 8x8Gb 才能并行传输数据。同样,每个供应商都使用自己的算法,可能会在下一次固件更新时更改它。
我写这篇文章主要是为了说我的发现给了我一个奇怪的答案:如果你使用一些通用和通用负载配置的服务器,那么即使使用相对较小的SSD,硬件混合控制器也可以,但如果你的任务曾经很具体,你最好选择软件解决方案(因为你是唯一知道负载配置的人,所以你可以选择)或一些高价格的PCI卡存储。
答案3
我尝试在 Dell R515 上进行测试,该机器配有 Dell PERC H700 Raid、1GB 内存和几块 500MB/s 的 SSD
我在安装后几个小时做了基准测试,48 小时后
我没有看到写入速度有太大改善,读取速度有一点改善,我之前做过测试,现在没有数字。
但这并不重要,我最终使用了没有这个功能的储物盒。
根据我的经验,这些软件大部分都是笑话!如果你需要存储分层,那么就自己构建,从戴尔购买可靠的硬件,并在盒子里装满固态硬盘
在我的工作场所,存储分层工作得很好,HP 3Par 和自适应优化附加组件,它像广告中说的那样工作,但这个解决方案大约有 100K :)
答案4
这里有一些索赔来自戴尔:
存储性能 — 每秒输入/输出 (IOPS):
- CacheCade 提供的 IOPS 比单独使用硬盘存储提高了 3 倍
- SAS SSD 存储的 IOPS 比 HDD 存储高出 8 倍
- 一块 Express Flash 驱动器的 IOPS 比 16 块 HDD 高出 10.5 倍
就 IOPS 而言,它们的数字似乎相当。我倾向于保留来自各种服务器的 DiskSpd 报告,如果我将其中一份报告缩放到 cachecade 服务器中的主轴数,我应该只能获得大约 750k IOPS。但是,在测试此服务器时,我获得了超过 2M 的 IOPS。这确实是我唯一一次看到磁盘线程的 CPU 负载开始成为一个因素。通常,当磁盘开始达到上限时,CPU 仍然很小,但这里的情况并非如此。我很后悔没有运行有或没有的 diskspd,但没关系。
这里的另一个因素是它是完全透明的……花几百美元买一个较小的企业级 SSD,将其添加为缓存卷,就大功告成了。如果你有足够的钱购买全 SSD 存储,那么这并不重要,但为了给物理主轴注入活力,我确实认为这是值得的。