今天这篇文章里介绍了三种部署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固态硬盘,在各层数据间频繁地调用数据容易引起严重的毫秒级别的延迟产生。在这些情况下,阵列或设备解决方案可能更为适用。
SSD固态硬盘设备部署方式
SSD固态硬盘设备是指配有扩展柜的SSD固态硬盘阵列。这种设备的首要优势在于可以根据延迟位置的不同,在服务器或阵列端随意部署。在服务器周围部署可以用于基于网络环境下的设备启动,从而在很大程度上解决“同时并发启动”问题。SSD固态硬盘设备亦是集群或虚拟环境下文件服务的理想选择。在靠近服务器端部署设备可以消除大部分的网络延迟。不过仍旧可能存在网络延迟,由于位置很近这种延迟会很小。然而,数据必须从传统的阵列上进行存取,在SAN环境和硬盘驱动器端仍会有毫秒级的延迟产生。
SSD固态硬盘设备的第二种使用方式是部署在SAN网络的另一端,靠近传统的阵列端。这种部署方式可以作为一个整合后的SSD固态硬盘层,作为虚拟存储。和在每台阵列中部署一块SSD固态硬盘不同,SSD固态硬盘设备可以作为整个阵列群中的第0层。这可以改善整个虚拟存储的性能,在这种环境中逻辑卷(LUN)分散在不同的物理阵列上,数据可以在各个系统间动态迁移。因此,后端数据的管理操作不会影响到第0层的数据访问性能。
设备的第三类应用情况是用在数据中心中的混合云部署里。由于城域网的距离关系和硬盘延迟的特性,从云数据中心中存取访问数据的延迟会很大。因此通常会在云部署中会同时采用高性能和高延迟的硬盘驱动器来最小化成本。通过在数据中心中应用SSD固态硬盘设备,频繁调用的数据可以放在用户周边,这样的延迟比所有数据都放在云供应商那边小了很多。该系统的延迟在每次需要从云阵列访问数据时都会发生,不过这种部署仍可在极大程度上改善整体性能。
第四种使用设备的部署方式是为了改善已有老旧的存储的整体吞吐量。不过在旧的阵列上增加SSD固态硬盘并不是什么高性价比的方式。通过在旧阵列前端部署SSD固态硬盘,企业可以极大地改善数据访问速度并延长已有设备的使用周期。这种方式的成本远比换新所有设备来的低。
从整体上讲,今天在市场上已有的大量SSD固态硬盘解决方案,使得I/O性能的最佳调优成为可能,这样可以最切合地满足应用所需而不用过渡投入。不同产品的部署特性会有所不同,不过大部分供应商都会提供最佳应用指南。你可以先从延迟分析入手,这样有助于按需精确地部署SSD固态硬盘存储架构。