为你的存储网络环境选择合适的固态盘(SSD)是一项关键决定——同样关键的是,确保你有合适的控制器可以最大限度上利用这种昂贵的驱动器。
本系列的前两篇文章谈到了固态盘应用、软件问题、可靠性和性能等问题。
作为最后一部分,本文中我们将讨论固态盘的内部设计以及SAS和RAID控制器的使用——这对于从最大限度上利用固态盘来说是一些重要的选择。如果你的应用要求固态盘那样的性能,那么你需要确保采用了正确的方法来实现投资最大化。
你在以上每个方面的决策都将决定在数据存储环境中使用固态盘是否能取得成功,或者它仅仅是带来性能上小幅提升的高成本附加技术。考虑到固态盘的成本,恐怕你最不希望看到的就是后者了。
固态盘内部设计
毫无疑问,这将是你要做出的最重要的决定:你需要寻找一款可以让你所能交付的性能与你所需的可靠性相匹配的固态盘。
这个决策流程的第一步也是最重要的一步就是,了解你需要写入多少数据以及这些写入是突发的还是连续的。这很重要,因为对于很多固态盘来说,突发的写入会因为损耗均衡优化而影响性能,固态盘内部的带宽也许不足以处理来自通道的写入并满足固件的损耗均衡要求。
损耗均衡:固态盘厂商的损耗均衡固件设计对于写入性能来说十分关键。重要的是,决定算法是否达到损耗前水平使得你有额外的块来提前写入,或者在考虑到内部带宽的情况下,使损耗平衡和写入不会影响固态盘。
内部带宽:内部带宽的问题很少被人们提及,但这也许是选择固态盘时最重要的考虑因素。目前这个行业正在快速从3Gb SAS升级到6Gb SAS,不少固态盘厂商甚至宣称可以提供超过300MB/s的写入性能。在使用3Gb SAS的情况下,最高性能大约是384MB/s,使用6Gb SAS的情况下大约为768MB/s,如果写入性能达到300MB/s的话,也就是说这个固态盘的内部带宽仅为300MB/s,那么在写入过程中,损耗均衡损发很有可能有很高的优先级,从而导致写入性能大幅降低。很很多情况下,损耗均衡写入的数量要远远多于写入数据流,在我所见过很糟糕的设置环境中,这个比例甚至达到了 4:1。这意味着写入性能可能会下滑到60MB/s,损耗均衡可能为240MB/s。显然,对于流式写入性能来说,60MB/s这个速度是低于大多数磁盘驱动器的,尤其是企业级驱动器。你会对我所见过这种糟糕设置的驱动器的数量而感到惊讶——即使厂商声称他们的驱动器是企业级质量的。
在考虑固态盘的内部带宽时必须将外部带宽(通道)、固态盘读取和(更重要的)写入的最大全双工性能、根据算法和写入数量估算出损耗均衡将占用的最大带宽。在我看来,固态盘内部带宽是固态盘规划和设计过程中最容易被忽略的一块,也是针对写入密集型工作负载所要考虑的最重要设计因素。
在RAID控制器中使用固态盘
现在,即使是性能最高的RAID控制器也无法支持仅仅3个速度最快的固态盘的IOPS。我说的不是磁盘托架,而是整个RAID控制器。如果你完全发挥这些高成本固态盘的性能,那么你需要利用这些5万美元或者10万美元的RAID控制器,不要给它配置过多的驱动器。实际上,现在大多数厂商的一个磁盘托架上可以部署16~60个驱动器,你甚至不能装满一整个托架。而且,有些RAID厂商的磁盘托架只是针对磁盘驱动器的性能设计的,你会发现每个固态盘平均的磁盘托架成本是很高的。你可能会想,干脆就不要在RAID中使用固态盘嘛,但事情并不是那么简单的。RAID中的固态盘在配置、RAID等级、热备份和故障管理方面拥有很重要的管理优势。
·配置:很多站点不会将一整个固态盘全用于一个文件系统或者应用,因此你需要能够分配空间。RAID控制器在这方面可以做得很好。RAID控制器支持LUN创建、LUN掩码、不同的配置选项和功能,在与你其他文件系统保持一致的结构下执行这些功能。
·RAID等级:很少有人会针对固态盘使用RAID-5或者RAID-6,因为很多RAID控制器无法维持三个高端固态盘的性能,有5个或6个驱动器的RAID-5 4+1或RAID-6 4+2就更是如此了。因此,大多数情况下你会使用RAID-1。大多数RAID控制器突破了这个障碍,同样地,你可以在一个与其他文件系统保持一致的结构下进行工作。有一个重要的提示:如果你将使用RAID-1以外的一个RAID等级,那么RAID控制器必须配置有一个高速处理器,还要有硬件的奇偶生成和RAID奇偶校验来实现固态盘资源使用的最大化。
·热备份:如果RAID-1 LUN中的一个驱动器发生故障,那么RAID控制器会快速地解决这个故障。从一开始热备份就是RAID控制器的一项特性。
·故障管理:这是到目前为止最大的一个难题。由于没有标准的SMART固态盘结构,如果固态盘是在RAID阵列中,那么你就知道RAID厂商已经和固态盘厂商合作来掌握固态盘所提供的非标准SMART数据。当你考虑固态盘在存储分层中的重要性时,知道固态盘已经在你的管理下可防止潜在故障的发生,这会让你放心不少。
配合SAS控制卡使用固态盘
考虑到在RAID控制器使用固态盘的缺点,你还有另一个选择,那就是将固态盘与使用接入PCIe插槽的SAS控制器卡的系统相连接。最新的SAS控制器卡可以支持和RAID控制器差不多同样水平的IOPS,而且成本更低。但是每一项好的技术都有其缺点,没有什么是完美的。这些新的SAS卡也许可以支持相同数量的IOPS,但却缺失了RAID高端控制器中的大部分功能:
·配置:SAS控制卡可以做这项,但是软件并不那么全面和灵活。
·RAID等级:SAS卡可以做RAID-1,但是利用固态盘做RAID-5或者RAID-6可能会超过片上处理器生成奇偶校验的功能。我发现,目前没有哪个SAS 控制器卡是在读取过程中验证奇偶性的。
·热备份:SAS卡通常可以管理热备份,但同样地,软件方面不够强大
·故障管理:这是最大也是最关键的问题。RAID厂商需要数月时间验证作为他们系统一部分的驱动器、固态盘或者磁盘。作为验证的一部分,SMART信息搜集、疑似故障磁盘的主动热备援都在厂商的考虑之中。
许多机构会在今年年底前开始使用固态盘。问题是,从文件系统一直到设备的存储基础架构都不是针对固态盘设计的,这意味着你在实施一项固态盘决策过程中将面临艰难的选择。