【IT168 存储】固态硬盘正快速地成为解决性能问题的一项关键技术,固态硬盘制造商推出了可供潜在用户选择的一系列部署选择。通常情况下,不会有一项应对所有情况的完美选择,用户必须在选择固态硬盘的使用清楚地了解他们自己的需求。
现在,选择包括:使用RAM或者闪存的外置附加系统、(通过PCI系统或者传统服务器内存的)间接附加系统、闪存添加到现有存储系统的集成解决方案。每一种部署方法都有各自的优点和确定,这取决于用户需求和预算。最常见的是对更高性能、固态硬盘共享、更高容量、更高可用性、简化的数据管理、减少物理空间以及更低成本的需求。
这些需求往往彼此之间会存在一些冲突,因此必须区分出优先次序。几乎在所有案例中,彼此冲突的需求之间必定要有某种折衷。
固态硬盘部署选项
大部分情况下固态硬盘最开始是被作为一种类似于机械硬盘的外置SCSI附加设备所使用。SCSI接口被光纤通道接口所取代,因为后者提供了更高的I/O带宽以及在多个应用之间共享固态硬盘投资的功能。
多年来,传统存储厂商和固态硬盘制造商之间一直保持着密切的合作关系。那时候固态硬盘虽然具有非常高的性能,但大多数是基于RAM的,而且成本极高,仅限于少数利基应用。然后,随着这些系统的价格逐渐降下来,容量提高——特别是由于闪存的出现——传统制造商开始将固态硬盘技术集成到他们的系统中。不少提供商开发出了可以像机械硬盘那样封装在相同空间的闪存固态硬盘系统,让这项新技术融入到现有的存储系统中。
最近几年出现另外了一种方法,就是把固态硬盘像应用一样通过PCIe卡接入到同一台服务器中。服务器以近似于识别内置硬盘的方式识别出PCI固态硬盘。利用服务器的总线和电源线意味着固态硬盘可以突破新的价格障碍。
正如前面所说,不管哪一种固态硬盘部署方式都有自身的优点和缺点,用户应该根据这些特性如何满足需求来进行选择。在面对这些选择的时候,存储经理应该考虑选择一家提供了不止一类固态硬盘解决方案的供应商。这样就避免了“如果你唯一的工具是一把锤子,你往往会把一切问题都看成钉子”。
性能
投资任何一种固态硬盘的主要原因就是它能够提供高某个应用或者整个环境性能的能力。也就是说,想要获得固态硬盘的性能好处,应用所产生的存储I/O需求就要超过传统机械驱动器,而这要取决于一个应用可以生产的等待I/O请求数量,也被称为队列深度或者同步请求的数量。
如果应用或者使用实例可以生成这些需求,那么所有固态硬盘部署选择的最终结果就是要提高性能。不过,每一种方法都有它的局限性,对比不同解决方案的带宽、延迟和I/O限制十分重要。简单地说,外置系统应该是在服务器之外的,所以速度较低。一些PCI设备的速度要比外置系统更低。一些外置系统提供了比PCI总线更高的速度。另外,确定使用固态硬盘的理由也是十分重要的。如果固态硬盘是用于数据库log,那么用户应该更关注延迟和IOPS,而不是带宽。
I/O链中总是存在性能瓶颈。固态硬盘性能的关键之处是,确保你所选择的实施方法和连接性不会导致这个瓶颈。
共享固态硬盘
在分析性能需求的过程中,如果多台服务器上的多个应用需要加速,或者一个固态硬盘需要为运行在多台服务器(例如集群数据库)上的应用提供数据,这时候一个可以共享的外置固态硬盘就变得非常重要。这些系统可以被当作一个SAN,允许多个应用使用固态硬盘加速应用性能。对于这些应用来说,需要的往往不是一个基于PCI的固态硬盘。
共享固态硬盘是在多个应用之间分摊解决方案成本的理想方法。与传统机械存储不同的是,固态硬盘通过支持来自多个应用的数据集而不会遭受性能丢失的问题。固态硬盘没有需要重新配置的活动部件,因为读取或者写入请求都是随机的。最后,因为固态硬盘的成本更高,所以它适合于使用90%或者更多的容量从投资中获取最大价值。
如果只是一个应用需要加速并且这个应用不要求共享存储的话,PCI固态硬盘也许是一个不错的选择。例如,一些微软SQL Server数据库是集群的,但是这个集群是不能共享的,这意味着虽然多台服务器被用于提供冗余性,但是存储是不能共享的。在这些案例中,PCI固态硬盘可以用于扩大SQL Server集群中每个服务器的存储容量而不会削弱集群效率。基于PCI的固态硬盘也适用于以服务器为主导的应用。在大多数情况下,当需要更高性能、但服务器RAM已经达到上限、无法从服务器中有限数量的磁盘驱动器中获得足够的应用I/O时,PCI固态硬盘才会发挥出它的优势。
容量
除了适用的应用数量之外,你在做决定的时候还要考虑需要多少固态硬盘容量。如果需要的容量比较小的话(例如不超过128GB),那么你可以考虑基于RAM、外部附加的系统或者额外的服务器内存。如果数据集较小并且是读取密集型的,那么建议首选服务器RAM来提升应用性能。如果数据集较小并且是写入密集型的,那么你可以考虑外置RAM固态硬盘或者有些情况下可以选择内置的PCI固态硬盘(只要应用可用性模式不会受到影响)。
如果数据集大小超过128GB的话,你可以考虑选择闪存固态硬盘。尽管写入密集的性能会有一些削减,但是这些缺点已经被解决了。
通常,所有规格的闪存固态硬盘(从128GB到500GB)都值得考虑。当接近500GB的时候,大多数基于PCI的固态硬盘都需要向系统中增加第二个卡。不管是哪一家厂商,他们的系统都需要有额外的物理插槽用来安装这些卡。然后,根据他们闪存控制器软件的质量和所属厂商,增添一个额外的PCI卡可能要求额外的服务器资源,而这会对性能有所影响。一定要问清楚厂商,他们的PCI固态硬盘是否要求额外的服务器资源。
如果容量超过了500GB,那么强烈建议你选择外置的基于闪存的固态硬盘(精密的固态硬盘系统以及集成了闪存和磁盘的解决方案)。在这个容量等级上,将有多个应用可以获得固态硬盘提高性能以及支持共享环境的好处。
如果环境可以使用TB级的固态硬盘存储,那么你就不需要考虑集成的解决方案了。因为基本上不会有缺乏容量扩展的问题,因为只要有驱动器插槽,集成系统就可以添加固态硬盘。这时候的挑战就是性能方面的了。从某些方面来说,固体硬盘的原始I/O潜力将超过存储架或者存储计算引擎本身的I/O容量。通常来说,因为外置附加固态硬盘是专门针对基于内存的I/O,因此这些固态硬盘可以大幅度地扩展容量和提升性能。
除了性能、应用工作负载和容量之外,你还需要考虑数据可用性、数据管理和消耗的物理空间。我们将在该系列的第二部分谈到这个问题,接下来的第三部分将集中谈到一个决定性的因素:预算。