所谓横向和纵向扩展,就是之前说过的Scale Out和Scale UP,两者架构示意图:
有多种方式将闪存添加到存储系统中以提高性能,尤其是IOPS。高速缓存和分层将其与传统的磁盘驱动器结合起来使闪存利用最大化。但对于某些工作负载,这些方法可能导致性能瓶颈,即当所需的数据还在磁盘,而闪存依旧高效工作。对于这些场景,全闪存阵列可能是更好的主意。
全闪存阵列存在纵向扩展和横向扩展两种配置。本文将关注这两种架构的差异,以及如何选择两种不同构架的全闪存阵列。
纵向扩展是指使用单个(或双冗余)控制器对存储介质进行管控,而存储容量可扩展的架构。这是最初的企业级磁盘阵列设计,支持了近二十年来企业级存储从DAS到SAN的发展,至今仍被大多数阵列厂商所采用。然而,随着阵列的扩展和容量的增长,纵向扩展架构达到了一个瓶颈,因为所有的I / O都要通过相同的控制器。这些控制器的整体性能是有限的,因为它们原是被设计支持那些每秒只能处理几百IOPS的旋转磁盘驱动器的。
纵向扩展系统也是低效的,因为用户发现在远未到达系统所能支持硬盘驱动器的最大存储容量前,就已经达到了存储控制器的性能极限。
横向扩展体系结构使用一种由模块或节点所组成的拓扑结构,其中每个节点都具有存储容量和控制器,从而使性能也能随着群集中的容量增加而提高。它们还允许I / O通过多个控制器,因此降低了纵向扩展“单控式”架构带来的瓶颈。然而,即使是低端定位,它们也比纵向扩展系统要贵得多,因为通常至少需要三个节点。他们还需要大量的并行能力以达到它们所声称的性能数字。
纵向扩展全闪存阵列
和纵向扩展磁盘阵列一样,纵向扩展全闪存系统在单独一组控制器上运行所有I / O。但是全闪存系统的控制器设计是用于支持闪存所能达到的更高IOPS的,因此性能瓶颈不再是一个问题。另外,闪存存储密度(每机架千兆字节量)比旋转式磁盘高得多,因此纵向扩展全闪存阵列的容量不太可能像纵向扩展磁盘阵列那样很快耗尽。
最后,闪存系统通常不用于以容量需求为主的场景,如归档和存储非结构化数据。他们主要应用在虚拟化基础架构(服务器虚拟化和桌面虚拟化),以及数据库环境。
横行扩展全闪存阵列
与横向扩展旋转磁盘阵列一样,横行扩展全闪存阵列将一个控制器和存储介质放置在相同的模块配置当中,使它们可以将系统容量扩展到当前的最高水平。这种分布式控制器架构也使得系统能够支持更多的工作负载,因为每个模块都可以独立处理I/ O。
如何选择
一般来说,纵向扩展提供最高的单卷IOPS能力,更适用于要求最高性能而工作负荷或应用服务器有限的环境。对很多公司而言,这是一个大的虚拟服务器环境或者是数据库服务器集群。但考虑到闪存的高性能和高存储密度,纵向扩展全闪存系统正适用于越来越多的应用场景。据报道,有几家纵向扩展全闪存系统已能达到半PB的存储容量,同时保持极高的性能。
横向扩展全闪存系统适用于那些尽管现有纵向扩展存储系统的容量已经相当可观,但依然期望全闪存系统容量继续增加,或者是对横向扩展系统的分布式连接感兴趣的公司。包括这两方面需求的一个例子就是多租户方式的应用承载环境,其上承载了大量客户端系统并共享全闪存阵列。在这种情况下,最大程度的灵活性优先于动态变化的需求曲线。这种灵活性是扩容,提高处理能力和增加连接的灵活性,这是横向扩展全闪存阵列与生具有的特征。已有数家横向扩展全闪存阵列厂商聚焦于这一市场,在他们的软件中增加特定的多租户功能。
纵向扩展还是横向扩展
公司购买闪存产品通常是由于一个关键应用存在特定的性能问题。这种场景下,纵向扩展的全闪存系统应该就可以。再次重申,全闪存阵列通常是一个“单点”产品,用于解决特定性能问题,并且纵向扩展系统实施较易。
然而,如果这个全闪存产品成为常规的生产存储阵列,而且用户对它的操作愈发舒适习惯,他们通常会放置更多的应用以提高工作效率。这意味着系统会增加更多的工作负荷,更多的物理连接数以及总容量。在这种情况下,如果公司能预见到自己将会添加足够的系统,需要足够的容量,那么横向扩展的全闪存系统可能是一个更好的选择。
目前市场上已经有可以进行纵向和横向扩展的产品出现。用户可以在单一系统内增加容量,然后以横向扩展的方式将多个系统进行集群,从而同时提供两种方式的优点。
结论
由于闪存在存储市场上不断渗透,众多企业发现他们需要一种不依赖于缓存或分层的共享式闪存产品。为了满足这一需求,越来越多的厂商都推出了全闪存阵列,或纵向扩展,或横向扩展配置。一般来说,纵向扩展全闪存阵列的应用场景比横向扩展阵列更加广泛,并有更多的产品选择。但对于那些真正需要灵活性以扩展容量和显著提升性能的场景,横向扩展的全闪存阵列可能是更好的选择,尤其是当有大量并行工作负载的时候。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。