摘 要:服务器、存储、网络以及安全等资源可以通过软件进行定义,并且能够自动分配这些资源。软件定义的数据中心是通过现有资源和应用程序对不断变化的业务需求提供支持,从而实现信息技术的灵活性,软件定义存储的核心是存储虚拟化技术,核心思想是将资源池化(包括处理器、网络、存储和可能的中间件),通过这样的方式,生成计算的原子单位,根据其业务流程需求可以很容易地分配或取消。
关键词:SDS 云计算 存储控制器 虚拟存储
中图分类号:TP333 文献标识码:A 文章编号:1674-098X(2017)05(a)-0150-02
软件定义存储(Software Defined Storage,即SDS),软件定义存储就是将存储硬件中典型的存储控制器功能抽出来放到软件上,包括卷管理、RAID、数据保护、快照和复制等。软件定义存储允许可以不从特定厂商去采购存储控制器硬件如硬盘、闪存等存储介质。并且,如果存储控制器功能被抽离出来,该功能还可以放在存储基础架构的任何一部分。它还可以运行在特定的硬件上与虚机并行,形成真正的融合架构。
1 软件定义存储特点
(1)存储控制器应该可以运行在任何类型的服务器硬件上,存储系统使用标准硬盘创建于标准硬件之外。这使得存储系统的采购和实施更像是成套购买,也意味着系统实施和管理需要更多的技能和时间。这些投入无疑也会大大减少采购的花销。
(2)存储控制器作为独立的单元可以放置在任何位置,它不需要放置到特定的硬件中。当前的发展趋势是将软件的存储控制器放置在虚拟服务器架构当中,借用虚拟服务器架构中主机的计算能力。这样做可以节约成本而大幅削减费用,同时还创建了一个更加简单的可扩展架构。因此如果每次架构中增加一台主机就相当于增加一个虚拟存储控制器的话,存储的处理能力和空间也就会随服务器的增加而获得不断扩展。而相对于传统的存储来说,可以大幅度降低成本并与现有的虚拟架构紧密结合是软件定义存储的最主要优势。
2 软件定义存储常见问题
软件定义存储经常会与存储管理程序混为一谈,并且还有硬件方面需要考虑。软件定义存储(SDS)与数据中心中其它的软件定义,如软件定义安全(Software Defined Security,SDS)和软件定义网络(Software Defined Network,SDN)非常相似,涉及到用户是如何思考和设计数据中心。事实上,存储已经被软件定义多年,在特定的存储优化操作环境中很多功能都是通过软件部分实现的。虽然软件定义存储(SDS)和存储管理程序(storage hypervisor)这两个概念还是有些区别的,但有时候软件定义存储也可以作为存储管理程序。存储管理程序是软件定义存储的一部分,可以说是整个存储软件包中的核心部分。但是,往往不同的厂商赋予了这些概念不同的含义。可以从集成商处采购预配置的架构。能够实现产品的定制化并提供支持是吸引集成商、企业用户和IT人员的地方。对于技术经验丰富的IT团队来说,配置一个系统也是有可能的,但对内部系统的支持仍然是十分必要的。这就是很多厂商在预配置硬件上提供软件定义存储的原因,可以向最终用户提供更多服务支持。
3 软件定义存储的一些弊端
首先,软件定义存储本质上是为了提供原子技术单元,它将简化SDS管理并灵活地推出必要的存储。选择虚拟机管理程序的客户,也能够利用SDS架构来管理在共享硬件上的多操作系统,像有时将一些应用留在VMware上,而将另外一些转移到另外的系统。所以现在处理的不是一个软件堆栈以及存储,而是多虚拟机控制程序软件堆栈以及它们的存储。在多虚拟机控制程序和企业不会冒险虚拟化的关键任务应用之前,SDS管理显得会很复杂。
4 软件定义存储对云构架的影响
软件定义存储实现了负载的分离,同时还能够提供敏捷性和快速扩展等特性。在使用SDS云服务时,不论是私有云还是混合云,都能够沿用本地数据中心的控制机制对SDS进行管理,又能够使用虚拟存储区域网络(vSAN)、防火墙、访问控制、管理方式、合规审查等所有这些与安全和控制相关的系统管理权限。通过增加SDS的灵活性,实现快速扩展以及提高成本效率,这些是吸引建设者和使用SDS云环境的主要因素。让SDS可以成为解决这种架构性问题的方案之一。SDS流程控制套件的作用就在于隐藏了大部分的网络管理工作,将存储进行了包装。然而用户对SDS可扩展性的需求以及标准交换机硬件设备的高昂成本建设又促使SDS的设计者逐渐意识到应该提供更大程度上的灵活性,人们不断探索改变设计思路,诞生了一种简单SDS交换机的架构这种全新的设计理念,可以将SDS数据服务和管理功能从SDS交换机自身当中独立出来,作为一个单独的单元,将SDS托管在服务器集群的虚拟机当中。依此可以將SDS比喻为搭建积木的过程。通过使用普通木块进行一点一点不断累积,直到最终搭建完成。随着SDS混合云应用趋势的逐渐流行,SDS也已经逐渐成为一种主流技术,SDS现在正处于不断应用、不断发展、不断完善阶段。现在的SDS技术解决方案已经能够在混合云的私有云部分当中完成一些重要任务。SDS正在对这种方式进行不断改进,使其能够胜任SDS云环境当中的大部分任务,用来实现服务、软件和硬件平台的广泛可用性。通过SDS网络功能虚拟化技术,可以根据其需求灵活地搭建网络环境。选择了不同的SDS的数据服务,使用一定的策略和模板帮助简化整个建设过程。实际上SDS数据服务就是位于虚拟机上的SDS虚拟实例,可以根据应用随意创建、分配和销毁,因此想要针对特定应用负载进行调整也非常方便并且很容易实现。正如人们设想的那样,因此每一个层级的SDS数据服务都将产生多种充满竞争力的解决方案。这就意味着人们需要为不同种类的SDS模块制定等级化的标准,就像OpenFlow这样的工具就是为了将各模块粘合在一起的“胶水”。虽然仅仅提及了SDS数据的抽象服务,但是SDS可以将对底层硬件的设计理念产生更加深远和复杂的影响,SDS技术的出现也反映出SDS存储解决方案的多样性。SDS拥有相对结构简单的SDS数据存储结点,SDS不仅包含磁盘和存储设备,SDS技术能够提供所有SDS应有的服务,例如可以实现压缩、复制、代码生成等所有这一切都可以运行在虚拟机当中。这种以SDS技术的解决方案逐渐走向成熟,通过向阶段SDS技术的解决方案使用也能够极大降低存储方面的开销和费用。虽然这种方式能够大幅度降低SDS存储硬件方面的费用和开销,同时也应该看到最终可能也会导致很多复杂问题和麻烦。由于只有SDS的存储节点和交换机的节点需要使用特定硬件,其他的SDS所有功能能够全部运行在虚拟化服务器实例上。现在还没有深入分析分布式SDS系统当中存在的数据完整性以及延迟问题,因此可以期待系统性能提升已经成为业界推动SDN和SDS不断发展的主要动力。因此SDS网络性能提升将会成为SDS性能调整过程当中的主要因素。随着技术进步,在未来的SDS技术设计与应用当中以太网的性能会随着技术进步和优化将会不断提升,这些技术进步都能够为SDS项目的成功实施起到帮助和推动作用,但是SDS架构当中,节点间SDS迁移的数量也是一个在方案设计当中需要考虑的问题。SDS的数据流不同于服务器的虚拟化。在SDS技术中,数据流的延迟是一种十分严重而需要解决的问题。延迟的原因有:只有当SDS新数据的多个复本被写入到永久性的存储之后,SDS数据库才会认为当前处理的事务已经完成。而仅仅拥有下一个节点就断定其SDS数据已经被存储是很不充分的,因为外在因素如停电可能会导致SDS数据丢失。这意味着要求某些特殊处理或者某种形式的短暂SDS存储都将不会在停电时丢失数据。通过SDS大都可以大幅度降低总成本并且提供高效率及可用性。如果一切顺利,SDS流程管理套件将会负责绝大部分系统的管理工作。做到SDS将资源池化(处理器、网络、存储和可能的中间件),通过这样的技术方式,就可以生成计算的原子单位,根据业务流程需求来很容易地分配或取消存储资源。一个灵活的SDS会提供一定数量的虚拟服务器、虚拟网络和虚拟存储资源,而提供这种灵活性,需要实现资源的便携性。也就是说,池化的虚拟服务器、虚拟网络和虚拟存储资源必须能够被拼凑成可能需要的任何组合,来承载一个特定应用。SDS在实现负载分离的同时,也能够提供其敏捷性和快速扩展等特性。使用云服务希望能够沿用典型的本地数据中心的控制机制。通过以上分析,在所有这一切背后,应该认识到并非所有的虚拟机实例都是相同的,由于硬件限制的客观存在,这些因素都将会影响硬件解决方案和数据服务软件。
参考文献
[1] 李洪民.高校校园网络安全及保护建设方案[J].数字技术与应用,2016(4):196-197.
[2] 李洪民.基于VCE的高校数据中心虚拟化建设方案[J].科技致富向导,2012(6):373-374.
[3] 顾炯炯.云计算架构技术与实践[M].北京:清华大学出版社,2014.