存储永远不会像系统内存一样快——这是系统架构的本质,但多亏了NVMe(非易失性内存主机控制器接口规范),SSD可以提供如此惊人的快速性能,“转到磁盘”的损失往往是微乎其微的。
NVMe包含一系列关于软件如何与存储通信的规范。它适用于多种传输方法工作,包括PCI Express、RDMA和TCP。支持NVMe标准的存储阵列就像是存储中的跑车,比任何其他主流方法所允许的都要更直接、更高效地展示超高速存储介质。
NVMe支持的性能、效率和灵活性使整个数据库实例可以从存储阵列运行,性能类似于内存数据库。或者,再举一个例子,您可以在单个主机上以最低的性能成本扩展虚拟机(VM)部署和基于容器的应用程序。
自上个十年的中期以来,NVMe存储阵列在普通存储供应商处广泛可见。虽然速度优势显而易见,但购买全负载NVMe阵列的成本非常之高。以下是选择产品时需要考虑的因素,以及一些需要考虑的关键供应商产品线。
了解您的NVMe工作负载
NVMe阵列对于文档存储来说过度了,它真正的价值在于处理诸如针对大量数据的实时和基于机器学习的分析之类的工作负载,其中CPU和存储需要高效地协同工作并具有最佳性能,每秒处理数千笔交易的大容量金融系统也是主要候选系统。
大规模托管虚拟机同样值得考虑,无论是由于集群环境中的虚拟服务器实现了高可用性,还是VDI(虚拟桌面基础设施)部署带来的所有安全和管理优势。
基于容器的应用程序也受益于基于NVMe的存储。一方面,容器化应用程序的可扩展性与NVMe规范中嵌入的并行性完美结合。另一方面,在需要时立即增加额外的容器实例的能力对您的DevOps团队来说是一个非常便利的功能。
NVMe的并行性是其价值的基础。在基于SAS的存储支持单个消息队列和每个队列256个并发命令的情况下,NVMe将其扩展到64,000个队列,每个队列支持64,000个并发命令。这种大幅增长是让您能够增加单个物理主机上的虚拟机数量、提高效率和简化管理的关键。
确定单个工作负载并规划随时间的增长——以及高可用性需求和连续性需求(备份/恢复、复制、地理冗余或简单的灾难恢复)——可以帮助描绘您在NVMe阵列中的需求。虽然以上每一种考虑都有可能提高您选择的NVMe阵列的初始成本,但从长远来看,符合您需求的明智投资最终会降低您的拥有成本。
保持存储效率
NVMe阵列是大宗商品,因此高效的存储实践对于充分利用您购买的硬件和延长存储介质的生命周期至关重要。
重复数据删除和压缩是第一步,因为它们有助于减少阵列上使用的存储量,更重要的是,有助于限制介质上的写入操作数量,从而延长使用寿命。大多数NVMe阵列应该能够轻松处理重复数据删除和压缩,只需确保在提交之前验证即可。
一些供应商提供的另一个关键功能是优化数据放置的工具,其想法是保持文件连续从而减少碎片,并最终限制对数据维护任务的需求和它们所需的读/写操作。
这些功能不仅可以延长使用寿命,而且还具有降低功耗和提高性能的可能。至少,您的NVMe系统应该支持优化数据放置,但如果供应商提供基于AI的工具来解决问题,那就更好了。
规划您的NVMe阵列迁移
显然,您打算在NVMe阵列上运行的工作负载对您的企业至关重要。必须尽可能避免停机(甚至性能下降)。对于许多组织而言,这甚至不是为了省钱,而是为了继续经营甚至是挽救生命。
部署NVMe阵列时,您将面临的首要挑战之一是如何将现有的关键业务工作负载转移到NVMe存储上,同时不会造成停机或明显的性能下降。
几乎每个企业NVMe存储供应商对于如何将大量数据传输到新存储设备都有自己的想法。但事实上,它比拷贝一个简单的文件副本复杂得多。记得找那些拥有无缝迁移和零停机时间等强大工具和功能的供应商。
如果您缺乏内部专业知识,那么让供应商的工程师或认证合作伙伴处理您的初始迁移。查看可用的服务以确保您的迁移按计划进行。
制定存储阵列退出策略
我们都经历过这样的情况:特定供应商非常乐意帮助您迁移到其系统,但不太愿意帮助您进行出站迁移。幸运的是,为了保持竞争力,NVMe阵列供应商不得不投资出站迁移。
通过出站迁移,您可以将目标定位于更具成本效益的本地存储解决方案、基于云的存储或其他NVMe阵列。出于多种原因,可能需要从NVMe阵列迁移数据:创建数据库或应用程序的开发实例、出于性能或业务目的移动业务应用程序,甚至将存档数据迁移到云中以实现经济高效的长期贮存。
这里的底线是,您选择的NVMe阵列供应商应该具有灵活性,包括自动化或计划迁移的能力。您应该能够瞄准各种on-prem平台,尤其是您公司已经投资的平台——更不用说大型云提供商提供的存储服务了。您拥有的选择越多,您的投资就越能适应未来的考验。
规划存储规模
增长几乎是任何企业的目标——无论如何,数据增长都是必然的。从一开始就尽最大努力计划如何增加容量。无论NVMe阵列是否提供将介质添加到空插槽的功能,还是提供将多个阵列分组到单个可寻址端点的某种方法,在评估供应商时,企业长期增长战略应该是首要考虑因素。
可扩展性是提供软件定义存储(SDS)的解决方案可以极大受益的领域之一。由于SDS解决方案从数据所在的物理介质中提供了一个抽象层,因此它们有可能在企业的客户甚至企业的应用程序不知道差异的情况下无缝扩展。如果您预计需要这种灵活性,具有SDS功能的NVMe阵列将提供一个很好的解决方案。
检查与现有工作流程的集成
企业可能投入大量时间、资金和人员来构建一套优化的管理工具和工作流程,但最终可能只是在单个基础设施上管理新系统。无论企业为NVMe存储阵列选择哪种解决方案,都应该能够无缝集成到现有的管理工具中。
除了管理工具之外,许多寻求NVMe存储的企业很可能拥有成熟的DevOps工作流程和强大的自动化功能。能够在存储中合并对象的创建,甚至管理安全性或如何满足个人存储需求,可能是您尚未确定的未来需求。您至少应该查看您的供应商提供了哪些API或命令行工具,并确保可用选项满足您的近期和长期需求。
考虑管理程序集成
管理程序集成是NVMe存储阵列的一个主要用例。您的虚拟机不仅可以从NVMe提供的快速存储中受益,而且正确配置的虚拟机管理程序可以将NVMe存储设备直接分配给虚拟机,进一步提高性能并减少延迟。
对于I/O密集型VM部署或DevOps工作负载,能够动态处理磁盘分配是理想的选择——因此,您的虚拟机管理程序与NVMe阵列集成以发现和分配NVMe设备的能力变得至关重要。在某些情况下,虚拟机管理程序可能支持对单个设备的管理进行抽象化,这样您就可以管理VM的性能层。
确定与VM部署相关的业务要求和性能目标非常重要。完成之后,您就可以开始与提供您的业务所需的集成和动态功能的供应商合作了。
确保NVMe阵列的安全
商业和行业需求将决定NVMe阵列需要哪些安全功能,其中存在一些共同点,包括需要提供证明安全配置的文档或工件。
您应该关注加密静态数据,因为大量关键业务数据将驻留在您的NVMe阵列上。此外,提供基于角色的访问控制(RBAC)和职责分离的能力将成为许多行业的关键因素。
审计是许多企业的另一项主要要求。例如,DoD STIGS和HIPAA等法规都有最低审计要求的具体规则,两者通常都基于普遍公认的最佳实践。
除了能够简单地进行审计之外,您还应该能够确定哪些操作是可审计的。通常,您会遇到审核管理员级别活动的要求。可能还需要审核特定文件或在极端情况下所有文件的读/写活动。最后,审计和系统日志都应该能够输入到SIEM或其他企业监控系统中。
本文翻译自:https://www.networkworld.com/article/3630119/how-to-choose-the-best-nvme-storage-array.html如若转载,请注明原文地址