本文介绍了三种部署SSD的主要途径:在阵列内部,在服务器内以及使用SSD设备。各种方式各有优劣,这其中还包括延迟问题和性能水平问题。
很少有一种新技术可以同时在提升性能的同时降低成本。不过,SSD这种很有意思的技术却达到了这种目标。主要的存储供应商中的大部分都开始提供全系列的SSD产品。
固态存储驱动器可以以这样三种形式进行部署:基于阵列的SSD一般考虑部署在存储区域网络中;基于服务器的SSD一般部署在存储区域网络的主机前端;而SSD设备可以部署在两者中任意位置。选择最佳部署方案的同时也决定了这种方式与身居来的缺陷,以及可以解决的问题种类。理解这些细微的差别可以避免过渡投入以及由此带来的过渡开销。
由于这种技术上的困扰,抑或是因为缺乏对其它解决方案的了解,IT经理可能会倾向于选择最简单的部署方式,也就是选择基于阵列的SSD.在许多情况下基于阵列的SSD确实不失为最佳解决方案,不过如果没有了解详细基于主机的SSD和SSD设备这两种方式,你可能会错过最适合于你现有环境的方案。
决定SSD体系架构部署的关键因素在于找出影响应用性能的瓶颈和延迟。对于任何SSD技术,实际的数据存取速度都接近在内存的水平。虽然I/O吞吐量根据设备的不同差别也很大,不过这只是由于设备的设计,而不是因为设备在存储区域网络中的位置。SSD的延迟一般以纳秒计算;而网络和硬盘驱动器设备的延迟则以毫秒计算,因此你在何处部署SSD位置成为性能优化的关键。
以下是三种SSD部署方式的概括:
基于阵列的SSD部署方式
基于阵列的SSD通常部署在阵列内一个单独的逻辑层,称为第0层。由于在阵列内部,其直接和存储背板连接。各层之间的数据迁移取决于硬盘驱动器的延迟,驱动器吞吐量和背板延迟。而在这些之中,最为显着的就是硬盘驱动器的I/O吞吐量。诸多因素决定了最终的I/O吞吐量,不过在这次试验中,我们并不关注这些专业术语而是将最终结果作为延迟。在绝大多数的企业级阵列中,背板本身不是数据访问延迟的限制因素,因为供应商的体系架构中大多在这方面努力颇多,来满足驱动器的性能所需。
自动化存储分层(AST)软件应用成熟的算法来判定数据何时是活跃的,并将其从低层次的分层中移动到SSD中。这种数据迁移会引起所有硬盘驱动器的延迟,不过这是一次性的。在这之后,频繁调度的数据都从SSD上被读取,延迟时间在纳秒级别。
不过即使SAN体系架构后端中的媒介读取延迟速度降低至纳秒级别,通过SAN或WAN网络要实现微秒级别的延迟都是非常困难的事情。影响系统整体延迟有很多种因素,但对于读操作而言,网络已经是目前最主要的瓶颈。大致推算,目前只有大约一半的毫秒级的延迟问题得以解决。
基于阵列的SSD的最佳应用大概就是通常所说的性能改善。不过自动化分层软件很大程度上基于I/O活动来判定数据,无法基于特性应用程序做出优化。因此,这种方式可以通过简单地部署和管理提供整体数据访问速度改善。
基于服务器的SSD部署方式
基于服务器的SSD部署方式正变得日益流行起来。这种方式通常是使用PCI Express(PCIe)卡的方式和服务器一起部署。目前服务器供应商和存储供应商都提供基于服务器的SSD.从原理上讲,这和处理器直接可以使用大量缓存的概念相当,不过其提供方式和管理方式更像是存储。
数据迁移到基于服务器的SSD的计算方式并不比其它SSD部署方式更为复杂。数据基于访问模式或其本身位置被调用到SSD上。如果数据来自于SAN网络设备,其首次读取时间受限于SAN环境和硬盘驱动器延迟。和之前一样,这也是一次性的时间开销。在此之后,数据直接在服务器上获取,无需再通过SAN网络进行。因此毫秒级别的问题就彻底消除了。
在SAN环境前端部署SSD的最佳应用案例是用于远距离频繁调用的大量静态数据。这类数据的一种范例就是数据库索引或整个数据库本身。这类型的部署可以降低数据访问延迟达90%以上。虽然有些自动化存储分层软件可以从阵列动态迁移数据至PCIe SSD,在各层数据间频繁地调用数据容易引起严重的毫秒级别的延迟产生。在这些情况下,阵列或设备解决方案可能更为适用。