基于闪存的存储是现代塑化剂中心设计中最显著的主流发展之一。如今,大多数的企业通过采用运行在存储解决方案中的闪存技术来支持多个工作负载。事实上,闪存设备如今在某些类型的应用中已经越来越普及。
但是,我们不禁要问,为何闪存仅仅是出现在如今的存储阵列中,难道其不应该被设计到服务器体系结构中吗,这样是不是会更接近服务的应用程序?
要解决这一重要的问题,我们需要先了解下传统存储阵列的基本知识,NAS和SAN解决方案,从老牌厂商来说,包括EMC、Netapp、HP、BIM等,这些都是企业级存储的主宰,这些公司的存储阵列都是依靠的存储控制器,并不是基于x86架构的服务区。存储控制器专用于管理磁盘的多个货架以及提供数据管理功能,如复制、压缩、重复数据删除以及分层。
每个存储阵列都有多个存储控制器(通常有两个)以确保存储阵列的高可用性,并提供负载均衡功能。共享存储资源能够通过网络或专用光纤电缆连接到服务器集群。这样的传统架构,数据的读取和写入都是通过虚拟机到物理服务器,然后通过网络结构到存储控制器,最终到磁盘。
那么如何快速的适应这个模式呢?相比于磁盘阵列,闪存能够为应用程序提供更高的性能和低延迟的I/O,提供数据IOPS。数据分层是一个在今天混合存储解决方案中经常用到的功能,其中同时包含硬盘驱动器和固态硬盘,以实现更高的性能。
为什么不让SSD更接近CPU?
在这个混合方案中,存储控制器能够跟踪“热点数据”,识别哪些数据是最常用到的数据,并将该数据送到性能较高的SSD中使用,当数据变为“冷”或不经常被访问是,他会自动移动到速度较慢的机械硬盘中。
分层存储可以确保最常用的数据始终运行在最快的存储介质上,这就与当前出处理器的缓存有相似的功能。由于可存储在存储器中的数据量是有限的,所以只有热数据驻留在DRAM和未使用的数据就会被自动换出,那么为什么不让SSD更接近CPU?而是基于通过网络才能够到达的存储阵列中呢?毕竟通过PCIE总线的距离总比通过光前通道或以太网交换机能够提供更多的总吞吐量和更低等待时间。
试想一下,如果将SSD接入到数据中心的服务器中,在新的网络模型上,将会有更多的计算机争相访问磁盘阵列中的SSD,那么专业会出现一个什么瓶颈呢?是网络、控制器还是闪存驱动器呢?如果这种事情发生,那么是否跟使用一个管子从桶中排水,还是用更多的管排水快呢?当管子太多的化,相信也并不能达到性能的提升。
而且闪存的性能由其架构方面限制,为了保持性能,端至端的基础设施需要按比例来利用删的存储。但是有过数据中心运维经验的人都知道,数据的容量很难预料。这就是服务器中应用SSD的另一个痛点,存储管理员很难准确的把我闪存来满足性能需求和可靠性。
值得高兴的是,目前已经有一些IT厂商意识到闪存在基础设施中的瓶颈问题,他们正在设计推出新型的产品,能够解决闪存应用在PCIe上的瓶颈,但目前这种方式的效果并不理想,所以当前更多的依然是采用磁盘阵列中搭载闪存,但新型的服务器闪存应用模式可能很快就会出现。