使用基于PCIe的闪存来实现服务器的加速已经成为业内各种规模数据中心的惯常做法。最初,这种方式和直接附加存储(DAS)并没有什么区别,只是比使用硬盘驱动器(HDD)来进行加速要快很多。这种方法适用于将数据集放在闪存卡上。但是,在处理更大的数据集上,像是虚拟化环境,更大容量的闪存卡意味着不断攀升的成本,那么使用PCIe 闪存加速对企业而言就显得得不偿失。
之后,直写缓存的算法成为了解决容量问题的一个方法。用闪存卡存储热点数据并且所有设备共享存储也就成为了一种标准做法。我们称其为基于服务器的缓存1.0版本。虽然这个方法在一台物理服务器中行之有效,但是当虚拟工作负载迁移到另一台物理服务器,那么这个工作负载就不能载使用原来服务器的缓存,而且热点数据必须重新创建,热点数据在第二台物理机器的缓存被创建之前将会有一段时间性能下降。这种现象需要管理员介入,实现服务器集群负载平衡。1.0版缓存的另一个难题是需要支持集群应用。最后,管理员需要更改配置和脚本,以确保多个物理服务器上的数据不被意外损坏。
QLogic的FabricCache解决了这些问题,并创建基于服务器的高速缓存2.0 。二十多年以来QLogic一直致力于fabric层面的革新解决方案,因此QLogic从新型的主机总线适配器(HBA)着手来解决缓存1.0的问题,则显得顺理成章。FabricCache QLE10000缓存SAN适配器可以作为PCIe卡的闪存连接到光纤通道(FC)HBA。读和直写式缓存算法完全交由HBA上的系统级芯片(SOC)进行管理。SOC负责在本地闪存卡或架构内任何其他FabricCache卡上为读操作寻找给定的数据块。这就是基于服务器的高速缓存2.0 。因为FC架构具有带宽优势,而SOC具有智能,存储区域网络(SAN)中的读取操作仅在当数据块不在任何所连接闪存内存上的时候才发生。这解决了物理机之间移动的虚拟化工作负载问题,因为无论虚拟机迁移至何处,工作负载都可以访问到原来的缓存。
FabricCache QLE10000解决方案使用两个PCIe插槽。第一个插槽可以容纳包括SOC在内的适配器,并且第一个插槽通过带状电缆和第二个PCIe板相连,实现像PCIe接口那样的功能,并提供200GB或400GB企业级的单个单元(SLC)闪存内存。第二个插槽为闪存板提供电源。SLC的使用让系统运行速度更快,并最大程度的利用闪存单元。由于闪存是集群内所有服务器的共享资源,对于所有FabricCache适配器而言,闪存的总容量就显得非常充足且可扩展。且无需修改SAN或任何其他交换设备或电缆设施。在一个四核的SOC上,该适配器可提供一个8Gbps的双端FC连接和一个缓存引擎。
QLogic标准的管理工具提供一个直观的图形用户界面或者是命令行界面实现控制参数。高级用户和OEM厂商可以通过开放的应用程序编程接口(API)来访问系统,并使用特定的功能。不久将有可用于VMware、Hyper-V、Xen和其他管理工具的插件。有一点不会改变的是,FabricCache使用标准的QLogic适配器驱动堆栈。该堆栈支持众多操作系统,包括Windows Server和Linux。
如果采用服务器端缓存1.0配置,则需要购买和安装一个PCIe闪存卡和一个完全独立的高速缓存软件系统,该系统除了HBA驱动之外,还需要专用的驱动程序。FabricCache可针对HBA卡、闪存和缓存在单个SKU下进行定制。
QLogic使用TPC-E测量了FabricCache的性能。硬件配置使用的是32GB DDR内存和24核的Dell PowerEdge720服务器,操作系统是Windows Server 2008。SAN环境是使用HP EVA6300,配置有7个100GB的LUN和24个10K RPM硬盘驱动器。另外,HBA使用具有400GB闪存容量的FabricCache QLE10542。第一组测试中使用的一台服务器运行 250个用户。在没有缓存的情况下,系统性能为每秒74交易事务处理量(TPS)。随着缓存启用后,系统性能提升7倍,达到544 TPS。
第二组测试使用四台服务器,负载250个用户工作量。在没有缓存的情况下,系统表现为87 TPS。随着缓存启用后,系统性能上升至1,925 TPS,增长达22倍。第三组测试评估共享缓存环境下的性能,使用两台服务器,负载250个用户的工作量,并且配置了一个本地缓存和SAN(可以跨服务器共享)。相比本地缓存544TPS的性能,SAN缓存只稍微慢一些,表现为500 TPS,最大约8%的差异。在这两种情况下,本地或SAN缓存命中的延时都是小于1ms。这表现还不错,尤其是你要知道这个SAN高速缓存中还包括架构延迟和PCIe延迟。这表明,该架构具有足够的带宽用于物理服务器之间的共享SAN缓存。
大多数数据中心都部署了大量管理SAN的脚本。基于服务器的高速缓存1.0意味着需要修改许多有关数据位置和负载均衡的脚本。QLogic的FabricCache在添加到主机的过程中无需额外的软件,因此对现有的配置管理来说是完全透明的。这意味着,可以在不中断现有运营的情况下,大大提升工作负载的运行速度。只要将HBA卡安装到集群中,然后启动缓存即可。 SAN上的负荷将大大降低,现有系统的使用寿命将得到大大延长,并且数据中心可以用成本更低、容量更高的硬盘来进行配置。
QLogic进军服务器闪存缓存市场的这一独特方式,很有可能导致许多OEM厂商和数据中心管理者重新审视他们的数据中心部署模式。在整个存储网络行业,QLogic是非常值得信赖的合作伙伴,他们所提供的解决方案有可能是现有服务器端缓存部署的最佳方式。相比其他方法,安装简单和支持FabricCache解决方案是他们最大的优势,而采用其他方法则涉及从至少两个甚至三个厂商处采购产品才能实现部署,且功能还会有所欠缺。此外,QLogic FabricCache的性价比很高,可媲美其他供应商的HBA、闪存卡和缓存软件的联合定价。