话说最近网络虚拟化(Networking Virtualization,NV)和SDN真实热得发烫,先谈一下我个人的理解和看法。由于没有实际玩过相应的产品,所以也只是停留在理论阶段,而且尚在学习中,有些地方难以理解甚至理解错误,因此,特地来和大家交流一下。
早在2009年就出现了SDN(Software Defined Networking)的概念,但最近才开始被众人所关注,主要还是因为Google跳出来表态其内部数据中心所有网络都开始采用OpenFlow进行控制,将OpenFlow从原本仅是学术性的东西瞬间推到了商用领域。第二个劲爆的消息就是VMWare大手笔12.6个亿$收掉了网络虚拟化公司Nicira。
SDN只是一个理念,归根结底,她是要实现可编程网络,将原本封闭的网络设备控制面(Control Plane)完全拿到“盒子”外边,由集中的控制器来管理,而该控制器是完全开放的,因此你可以定义任何想实现的机制和协议。比如你不喜欢交换机/路由器自身所内置的TCP协议,希望通过编程的方式对其进行修改,甚至去掉它,完全由另一个控制协议取代也是可以的。正是因为这种开放性,使得网络的发展空间变为无限可能,换句话说,只有你想不到,没有你做不到。
那SDN为什么会和NV扯上关系呢?其实他们之间并没有因果关系,SDN不是为实现网络虚拟化而设计的,但正式因为SDN架构的先进性,使得网络虚拟化的任务也得以实现。很多人(包括我自己)在最初接触SDN的时候,甚至认为她就是NV,但实际上SDN的目光要远大得多,用句数学术语来说就是“NV包含于SDN,SDN包含NV”。
再来看看NV,为什么NV会如此火爆,归根结底还是因为云计算的崛起。服务器/存储虚拟化为云计算提供了基础架构支撑,也已经有成熟的产品和解决方案,但你会发现一个问题,即便如此,虚拟机的迁移依然不够灵活,例如VMWare vMotion可以做到VM在线迁移,EMC VPLEX可以做到双活站点,但虚拟机的网络(地址、策略、安全、VLAN、ACL等等)依然死死地与物理设备耦合在一起,即便虚拟机从一个子网成功地迁移到另一个子网,但你依然需要改变其IP地址,而这一过程,必然会有停机。另外,很多策略通常也是基于地址的,地址改了,策略有得改,所以依然是手动活,繁杂且易出错。所以说,要实现Full VM Migration,即不需要更改任何现有配置,把逻辑对象(比如IP地址)与物理网络设备去耦(decouple)才行。这是一个举例,总而言之,目的就是实现VM Migration Anywhere within the DataCenter non-disruptively,尤其是在云这样的多租户(Multi-tanency)环境里,为每一个租户提供完整的网络视图,实现真正的敏捷商务模型,才能吸引更多人投身于云计算。
SDN不是网络虚拟化的唯一做法,Network overly(mac in mac, ip in ip)的方式也是现在很多公司实际在使用的,比如Microsoft NVGRE、Cisco/VMWare VXLAN、Cisco OTV、Nicira STT等。事实上overly network似乎已经成为NV实现的标准做法,SDN模型下的NV实现目前更多的是在学术、研究领域。新技术总是伴随大量的竞争者,都想在此分一杯羹,甚至最后成为标准。好戏才刚刚上演,相信会越发精彩。
个人觉得这是一个非常有意思的话题,希望和大家交流心得,互相学习.
NV的目标就是如何呈现一个完全的网络给云环境中的每一个租户,租户可能会要求使用任何其希望使用的IP地址段,任何拓扑,当然更不希望在迁移至公共云的情况下需要更改其原本的IP地址,因为这意味着停机。所以,客户希望有一个安全且完全隔离的网络环境,保证不会与其他租户产生冲突。既然vMotion之类的功能能够让虚拟机在云中自由在线漂移,那网络是否也能随之漂移呢?这里简单介绍下微软的Hyper-v networking virtualization,到不是因为技术有多先进,只不过他的实现细节比较公开,而其它公司的具体做法相对封闭,难以举例。
其实微软的思路很简单,就是将原本虚拟机的二层Frame通过NVGRE再次封装到 IP packet中进行传输,使得交换机能够通过识别NVGRE的Key字段来判断数据包的最终目的地。这其实就是一个Network Overlay的做法,它将虚拟网络与物理网络进行了分离。试想,公司A和公司B都迁移到公有云且就那么巧,他们的一些虚拟机连接到了同一个物理交换机上,现在的问题是,他们各自的虚拟机原本使用的私有IP段是一样的,如果没有VLAN就会导致IP冲突。但现在看来,这已经不是问题,因为虚拟机之间的通信都要通过NVGRE的封装,而新的IP包在物理网络上传输时是走物理地址空间的,而物理地址空间是由云服务提供者所独占的,因此不存在IP冲突的情况。
总结一下就是,这里的网络虚拟化可以认为是IP地址虚拟化,将虚拟网络的IP与物理网络完全分离,这样做就可以避免IP冲突,跨子网在线迁移虚拟机的问题,微软的要求是:虚拟机可以在数据中心中任意移动,而客户不会有任何感觉,这种移动能力带来了极大的灵活性。
Software-defined networking (SDN) is an approach to computer networking which evolved from work done at UC Berkeley and Stanford University around 2008.[1] SDN allows network administrators to manage network services throughabstraction of lower level functionality. This is done by decoupling the system that makes decisions about where traffic is sent (the control plane) from the underlying systems that forwards traffic to the selected destination (the data plane). The inventors and vendors of these systems claim that this simplifies networking.[2]
SDN requires some method for the control plane to communicate with the data plane. One such mechanism, OpenFlow, is often misunderstood to be equivalent to SDN, but other mechanisms could also fit into the concept. The Open Networking Foundation was founded to promote SDN and OpenFlow, marketing the use of the term cloud computing before it became popular.
This section does not cite any references or sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged andremoved. (February 2013)
One application of SDN is the infrastructure as a service (IaaS).
This extension means that SDN virtual networking combined with virtual compute (VMs) and virtual storage can emulate elastic resource allocation as if each such enterprise application was written like a Google or Facebook application. In the vast majority of these applications resource allocation is statically mapped in inter process communication (IPC). However if such mapping can be expanded or reced to large (many cores) or small VMs the behavior would be much like one of the purpose built large Internet applications.
Other uses in the consolidated data-center include consolidation of spare capacity stranded in static partition of racks to pods. Pooling these spare capacities results in significant rection of computing resources. Pooling the active resources increases average utilization.
The use of SDN distributed and global edge control also includes the ability to balance load on lots of links leading from the racks to the switching spine of the data-center. Without SDN this task is done using traditional link-state updates that update all locations upon change in any location. Distributed global SDN measurements may extend the cap on the scale of physical clusters. Other data-center uses being listed are distributed application load balancing, distributed fire-walls, and similar adaptations to original networking functions that arise from dynamic, any location or rack allocation of compute resources.
Other uses of SDN in enterprise or carrier managed network services (MNS) address the traditional and geo-distributed campus network. These environments were always challenged by the complexities of moves-adds-changes, mergers & acquisitions, and movement of users. Based on SDN principles, it expected that these identity and policy management challenges could be addressed using global definitions and decoupled from the physical interfaces of the network infrastructure. In place infrastructure on the other hand of potentially thousands of switches and routers can remain intact.
It has been noted that this "overlay" approach raises a high likelihood of inefficiency and low performance by ignoring the characteristics of the underlying infrastructure. Hence, carriers have identified the gaps in overlays and asked for them to be filled by SDN solutions that take traffic, topology, and equipment into account.[7]
SDN deployment models[edit]
This section does not cite any references or sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged andremoved. (February 2013)
Symmetric vs asymmetric
In an asymmetric model, SDN global information is centralized as much as possible, and edge driving is distributed as much as possible. The considerations behind such an approach are clear, centralization makes global consolidation a lot easier, and distribution lowers SDN traffic aggregation-encapsulation pressures. This model however raises questions regarding the exact relationships between these very different types of SDN elements as far as coherency, scale-out simplicity, and multi-location high-availability, questions which do not come up when using traditional AS based networking models. In a Symmetrically distributed SDN model an effort is applied to increase global information distribution ability, and SDN aggregation performance ability so that the SDN elements are basically one type of component. A group of such elements can form an SDN overlay as long as there is network reachability among any subset.
Floodless vs flood-based
In a flood-based model, a significant amount of the global information sharing is achieved using well known broadcast and multicast mechanisms. This can help make SDN models more Symmetric and it leverages existing transparent bridging principles encapsulated dynamically in order to achieve global awareness and identity learning. One of the downsides of this approach is that as more locations are added, the load per location increases, which degrades scalability. In a FloodLess model, all forwarding is based on global exact match, which is typically achieved using Distributed Hashing and Distributed Caching of SDN lookup tables.
Host-based vs Network-centric
In a host-based model an assumption is made regarding use of SDN in data-centers with lots of virtual machines moving to enable elasticity. Under this assumption the SDN encapsulation processing is already done at the host HyperVisor on behalf of the local virtual machines. This design reces SDN edge traffic pressures and uses "free" processing based on each host spare core capacity. In a NetworkCentric design a clearer demarcation is made between network edge and end points. Such an SDN edge is associated with the access of Top of Rack device and outside the host endpoints. This is a more traditional approach to networking that does not count on end-points to perform any routing function.
Some of the lines between these design models may not be completely sharp. For example in data-centers using compute fabrics "Big" hosts with lots of CPU cards perform also some of the TopOfRack access functions and can concentrate SDN Edge functions on behalf of all the CPU cards in a chassis. This would be both HostBased and NetworkCentric design. There may also be dependency between these design variants, for example a HostBased implementation will typically mandate an Asymmetric centralized Lookup or Orchestration service to help organize a large distribution. Symmetric and FloodLess implementation model would typically mandate in-network SDN aggregation to enable lookup distribution to a reasonable amount of Edge points. Such concentration relies on local OpenFlow interfaces in order to sustain traffic encapsulation pressures.[5] [6]
B. 什么是软件定义的数据中心
软件定义数据中心(SDDC)是指数据中心的所有基础设施都是虚拟化的,并且能够以一种所要即所得的服务方式来提供。数据中心的控制是完全由软件自动化来完成,同时所有的硬件配置维护都是通过智能软件来完成。一般来说软件定义的数据中心主要包括分成四个部分,计算、存储、网络、管理。
其核心是让客户以更小的代价来获得更灵活的、快速的业务部署、管理及实现。
三大优势:
1.敏捷性(agility): 更快、更灵活的业务支撑与实现(以及软件开发模式的优化与变更);
2.弹性(Elasticity):随业务需求的资源的动态可伸缩性(水平+垂直);
3.省钱(Cost-efficiency):软件实现避免了重复硬件投资和资源浪费。
基于超融合搭建的数据中心作为近年来软件定义数据中心热门方案被广泛运用于教育,医疗,金融,大型制造业等。
C. 未来云数据中心要怎样的网络虚拟化解决方案机器学习与数据挖掘
每次谈起虚拟化或云计算,管理员都会不约而同的抱怨:"数据中心网络赶不上云计算发展的步伐"。数据中心计算和存储能力在过去十年里取得了巨大提
升,而网络还在采用过去的架构方式,并没有跟上这种演进步伐。随着云计算和移动互联网的加速发展,企业对大幅提高数据中心能力的需求也越来越强烈。"
为什么我们需要网络虚拟化
传统的三层体系结构正在大数据和云计算的新世界之下崩溃,大二层技术逐渐流行。数据中心内的硬件设备被虚拟化后,可以进一步地逻辑池化,并且逻辑资源池
可以跨多个数据中心,在逻辑资源池上提供虚拟的数据中心给用户使用,从而将离散、分层、异构的多个数据中心联结成新的云数据中心。从这个角度来看,网络的
虚拟化变得绝对必要,以提供一种弹性和可扩展的工作负载的引擎,而不是单独管理离散的物理元件之间的连接。
从本质上讲,网络虚拟化是服务器虚拟化自然的和必要的进化。它允许整个数据中心作为一个类似于计算和存储资源一样进行管理,能够满足动态应用程序工作的负载需求。
什么样的网络虚拟化才是适合于未来的云计算数据中心?
sdn的提出,提供了另外一种方式来解决问题的可能。然而sdn只解决了其中一部分问题,并没有解决现网存在的所有问题:
问题1:功能灵活扩展:要实现网络功能的软件定义,从设备基础架构就要灵活可编程,而功能灵活扩展需要一个开放和灵活扩展的controller平台架构。
问题2:平滑演进:任何客户,不可能完全抛弃现有网络,去建一个新的网络。下一代网络必须能够在现网直接部署,平滑过渡,才可以生存下去。这就要求controller必须具备开放的南北向接口,以便适应于传统的网络。
对于未来的云计算数据中心,网络虚拟化方案需要适应计算和存储虚拟化的浪潮,快速的实现云计算业务的发放,以及能够满足动态的应用程序工作负载的需求;同时需要帮助管理员更简单的管理物理网络和虚拟网络,实现网络可视化。
开放性同样是完美网络虚拟化的一个衡量标准,只有提供丰富的南北向接口和开放的api,并能够满足业界主流云平台对接需求,才能够满足云计算业务日新月异的发展,同时开放性也意味着能够开发不同的插件以便适配现有的网络,从而实现网络的平滑演进。
华为agilecontroller如何打造面向未来的网络虚拟化解决方案
敏捷网络是华为公司面向企业市场发布的下一代网络解决方案。它基于sdn思想加三大架构创新,让网络能够快速、灵活地为业务服务,让企业获得领先四倍的业务创新速度,帮助企业在激烈的竞争中获得先机。
敏捷网络控制器agilecontroller,智慧的数据中心大脑
华为敏捷控制器(agilecontroller),旨在为客户构筑简单、高效、开放的云数据中心网络,云网融合,支撑企业云业务快速发展,让数据中心网络更敏捷地为云业务服务。
第一:业务高效,实现自动地网络资源快速发放
在云计算中,存储和虚拟机已经自动化的实现了按需申请,华为agilecontroller能够实现网络自愿的自动化发放,申请网络资源像申请虚拟机一样方便,高效的网络自动化从而让云计算业务更快上线,大大减小了业务上线的周期。
第二:运维简单,让虚拟与物理网络协同管控
华为agilecontroller能够实现物理网络和虚拟网络的协同管控,支持物理资源和虚拟资源(物理网络、虚拟机、虚拟交换机、分布式虚拟交换机等)统一管理;通过网络可视化让管理更简单,极大的降低了管理员的管理难度。
在数据中心网络中,还有一个重要问题就是虚拟机迁移问题,agilecontroller能够实现网络策略自动适应高速迁移,与业界其他虚拟机网络策略
迁移方案不同的是:agilecontroller通过高速radius接口下发网络策略,使得网络策略部署速度大幅提升,达到业界10-20倍,可满足
数据中心海量虚拟机的突发迁移需求;结合华为丰富的大二层网络解决方案(trill/evn等),vmware虚拟机可以在数据中心内以及跨数据中心间任
意迁移,云业务部署更加灵活。
第三:开放,可与主流云平台对接
敏捷网络是从硬件定义网络,到软件定义网络,再到全可
编程的系统。华为agilecontroller提供丰富的南北向接口,开放api,实现转发面与控制面的可编程,可与客户现有设备与业务系统进行对接,
提升端到端运维效率,加快新业务上线速度,营造企业快速创新环境。
业界云平台众多,主流云平台有
huaweifusionsphere、vmwarevcac、openstack等等,华为agilecontroller均支持与其对接,致力于打造
一个弹性、开放平台,集成各个领域的优秀实践,让用户可根据业务需要灵活定义网络,做到即需即用。
我们毫不怀疑,数据中心的发展势头迅
猛。基础架构如何支持这种增长呢?虚拟化仅仅是其中的一部分。未来网络可能还需要更多的特征。在诸多的特征中,如何选择构建自己的网络呢?目前来看,华为
的敏捷网络,即吸取了sdn的精华,同时又考虑了现有网络的平滑演进,agilecontroller的简单、高效和开放,为成功构建未来的网络奠定了坚
实的基础。
云计算让网络应用变得精彩,让应用创新变得更容易;网络是云计算的基石,没有网络就没有云计算,云计算的发展对网络提出了更高的要求。
敏捷控制器agilecontroller应运而生,它的出现简化了客户的云平台对设备的操作难度,现在有了敏捷控制器agilecontroller
之后,全自动的中间件可以协助用户对设备进行管理。同时华为敏捷控制器是一个开放的平台,将把敏捷控制器的南北向接口开放,从而给行业客户一个开放的自定
义空间,与合作伙伴一起构建起敏捷商业的实践,让他们更聚集在业务的变革和转型上,也让ict的云端融合管理真正实现,大幅度提升了云计算的部署和管理效
率,让物理网络和计算存储资源一样,成为云的一部分,网络和计算相互协同,相互可视,让云计算变得简单。
D. 软件定义网络,网络虚拟化和网络功能虚拟化的区别
网络团队经常要处理铺天盖地的配置请求,这些配置请求可能需要数天或数周来处理,所幸的是,现在有几种方法可以帮助企业提高网络灵活性,主要包括网络虚拟化[注](NV)、网络功能虚拟化[注](NFV[注])和软件定义网络[注](SDN[注])。
这三种方法可能听起来有些混淆,但其实每种方法都是在试图解决网络移动性这个宏观问题的不同子集问题。在这篇文章中,我们将探讨NV、NFV和SDN的区别以及每种方法如何帮助我们实现可编程网络。
网络虚拟化
企业网络管理员很难满足不断变化的网络需求。企业需要一种方法来自动化网络,以提高IT对变化的响应率。在这个用例中,我们通常试图解决一个问题:如何跨不同逻辑域移动虚拟机?网络虚拟化其实是通过在流量层面逻辑地划分网络,以在现有网络中创建逻辑网段,这类似于硬盘驱动器的分区。
网络虚拟化是一种覆盖;也是一个隧道。NV并不是物理地连接网络中的两个域,NV是通过现有网络创建一个隧道来连接两个域。NV很有价值,因为管理员不再需要物理地连接每个新的域连接,特别是对于创建的虚拟机。这一点很有用,因为管理员不需要改变他们已经实现的工作。他们得到了一种新方式来虚拟化其基础设施,以及对现有基础设施进行更改。
NV在高性能x86平台上运行。这里的目标是让企业能够独立于现有基础设施来移动虚拟机,而不需要重新配置网络。Nicira(现在属于VMware)是销售NV设备的供应商。NV适合于所有使用虚拟机技术的企业。
网络功能虚拟化
NV提供了创建网络隧道的功能,并采用每个流服务的思维,下一个步骤是将服务放在隧道中。NFV主要虚拟化4-7层网络功能,例如防火墙或IDPS,甚至还包括负载均衡(应用交付控制器)。
如果管理员可以通过简单的点击来设置虚拟机,为什么他们不能以相同的方式打开防火墙或IDS/IPS呢?这正是NFV可以实现的功能。NFV使用针对不同网络组件的最佳做法作为基础措施和配置。如果你有一个特定的隧道,你可以添加防火墙或IDS/IPS到这个隧道。这方面很受欢迎的是来自PLUMgrid或Embrane等公司的防火墙或IDS/IPS。
NFV在高性能x86平台上运行,它允许用户在网络中选定的隧道上开启功能。这里的目标是,让人们为虚拟机或流量创建服务配置文件,并利用x86来在网络上构建抽象层,然后在这个特定逻辑环境中构建虚拟服务。在部署后,NFV能够在配置和培训方面节省大量数据。
NFV还减少了过度配置的需要:客户不需要购买大型防火墙或IDSIPS产品来处理整个网络,客户可以为有需要的特定隧道购买功能。这样可以减少初始资本支出,但其实运营收益才是真正的优势。NFV可以被看作是相当于Vmware,几台服务器运行很多虚拟服务器,通过点击配置系统。
客户了解NV和NFV之间的区别,但他们可能不希望从两家不同的供应商来获得它们。这也是为什么Vmware现在在VmwareNSX提供NV和NFV安全功能的原因。
软件定义网络
SDN利用“罐装”流程来配置网络。例如,当用户想要创建tap时,他们能够对网络进行编程,而不是使用设备来构建网络tap。
SDN通过从数据平面(发送数据包到特定目的地)分离控制平面(告诉网络什么去到哪里)使网络具有可编程性。它依赖于交换机来完成这一工作,该交换机可以利用行业标准控制协议(例如OpenFlow)通过SDN控制器来编程。
NV和NFV添加虚拟通道和功能到物理网络,而SDN则改变物理网络,这确实是配置和管理网络的新的外部驱动手段。SDN的用例可能涉及将大流量从1G端口转移到10G端口,或者聚合大量小流量到一个1G端口。SDN被部署在网络交换机上,而不是x86服务器。BigSwitch和Pica8都有SDN相关的产品。
所有这三种类型的技术都旨在解决移动性和灵活性。我们需要找到一种方式来编程网络,而现在有不同的方法可以实现:NV、NFV和SDN。
NV和NFV可以在现有的网络中运作,因为它们在服务器运行,并与发送到它们的流量进行交互;而SDN则需要一种新的网络架构,从而分离数据平面和控制平面。
E. 软件定义存储和存储虚拟化的区别与联系
搞清楚这个问题之前,首先要了解什么是软件定义存储和存储虚拟化。
什么是软件定义存储
SDS 的全称是 Software Defined Storage ,字面意思直译就是软件定义存储。关于 SDS 的定义可以参考全球网络存储工业协会(Storage Networking Instry Association,SNIA),SINA 在 2013 正式把 软件定义存储(SDS) 列入研究对象。
SINA 对软件定义存储(SDS) 的定义是:一种具备服务管理接口的虚拟化存储。 SDS 包括存储池化的功能,并可通过服务管理接口定义存储池的数据服务特征。另外 SINA 还提出 软件定义存储(SDS) 应该具备以下特性:
自动化程度高 – 通过简化管理,降低存储基础架构的运维开销
标准接口 – 支持 API 管理、发布和运维存储设备和服务
虚拟化数据路径 – 支持多种标准协议,允许应用通过块存储,文件存储或者对象存储接口写入数据
扩展性 – 存储架构具备无缝扩展规模的能力,扩展过程不影响可用性以及不会导致性能下降
透明度 – 存储应为用户提供管理和监控存储的可用资源与开销
什么是存储虚拟化
SNIA认为,存储虚拟化通过对存储(子)系统或存储服务的内部功能进行抽象、隐藏或隔离,使存储或数据的管理与应用、服务器、网络资源的管理分离,从而实现应用和网络的独立管理。对存储服务和设备进行虚拟化,能够在对下一层存储资源进行扩展时进行资源合并、降低实现的复杂度。存储虚拟化可以在系统的多个层面实现。
SNIA提供的存储虚拟化模型(如下图),包括三部分:
软件定义存储和存储虚拟化的区别与联系
由以上定义可以看出,存储虚拟化和软件定义不是一个维度的概念但是有很强的相关性。SDS是存储虚拟化实现的一种实现形式,但是类似RAID、虚拟化网管、磁盘分区等其实都是属于存储虚拟化的一种实现形式,另外,存储虚拟化并不一定是软件定义的,硬RAID卡就是典型的拿硬件实现存储虚拟化。
F. 软件定义存储和存储虚拟化的区别联系
搞清楚这个问题之前,首先要了解什么是软件定义存储和存储虚拟化。
什么是软件定义存储
SDS 的全称是 Software Defined Storage ,字面意思直译就是软件定义存储。关于 SDS 的定义可以参考全球网络存储工业协会(Storage Networking Instry Association,SNIA),SINA 在 2013 正式把 软件定义存储(SDS) 列入研究对象。
SINA 对软件定义存储(SDS) 的定义是:一种具备服务管理接口的虚拟化存储。 SDS 包括存储池化的功能,并可通过服务管理接口定义存储池的数据服务特征。另外 SINA 还提出 软件定义存储(SDS) 应该具备以下特性:
自动化程度高 – 通过简化管理,降低存储基础架构的运维开销
标准接口 – 支持 API 管理、发布和运维存储设备和服务
虚拟化数据路径 – 支持多种标准协议,允许应用通过块存储,文件存储或者对象存储接口写入数据
扩展性 – 存储架构具备无缝扩展规模的能力,扩展过程不影响可用性以及不会导致性能下降
透明度 – 存储应为用户提供管理和监控存储的可用资源与开销
什么是存储虚拟化
SNIA认为,存储虚拟化通过对存储(子)系统或存储服务的内部功能进行抽象、隐藏或隔离,使存储或数据的管理与应用、服务器、网络资源的管理分离,从而实现应用和网络的独立管理。对存储服务和设备进行虚拟化,能够在对下一层存储资源进行扩展时进行资源合并、降低实现的复杂度。存储虚拟化可以在系统的多个层面实现。
SNIA提供的存储虚拟化模型(如下图),包括三部分:
软件定义存储和存储虚拟化的区别与联系
存储虚拟化的概念更大一些,软件定义存储只是存储虚拟化的一种形式,除此之外,从广义来看,其实拿物理盘做RAID,然后在其之上划LUN,呈现给OS,这也是一种存储虚拟化。
G. 软件定义存储(SDS)与软件定义数据中心(SDDC)有什么区别
软件定义数据中心(SDDC)包括计算、存储、网络、管理和安全五大部分,其中存储的部分就是软件定义存储(SDS)。
H. 数据中心的虚拟化
企业级的数据中心的发展趋势是具备高度的灵活性和适应性,比如能根据外部需求做出快速变化,如何实现这些技术,虚拟化技术,或是模块化数据中心的创建等,都是比较好的解决方法。
快速变化的商业需求和有着大规模能耗和制冷需求的最新技术都在催生数据中心的改变,而这些则意味着企业需要花费巨额资金,举例来说,刀片服务器的问世彻底改变了每平米的能耗和制冷需求,因为刀片意味着需要耗费更大的能源及散发更多的热量。
市场咨询公司Gartner预计,刀片会在未来被更加灵活的服务器类型所代替,这类服务器的计算架构会把内存、处理器、输入输出设备一起作为共享资源池看待,然后根据使用者的需求把这些资源进行分配和再分配。用户不用依赖硬件厂商来决定每台服务器的硬件配置,而是根据企业的需求,来购买资源,从而实现更高效的资源和利用。IT部门可以把32片刀片服务器和部分内存模块合并在一个大型服务器内,作为一个固定的计算单元来使用,这样的做法是通过减少资源的浪费来提高服务器的利用率,但是,刀片服务器是无法根据IT部门运行的应用软件来进行优化配置的。
Gartner认为"数据中心的设计原理是很简单的,就是计算出当前的需求,再把未来15到20年的增长需求估算在内,就可以建设配套设施了。最新建造的数据中心开放时通常会有大量的空置空间,整个数据中心都要依靠UPS,供水,供电和制冷系统的支持,但多数空间却是闲置的。这就导致了硬件设备和供电系统的费用居高不下,这种模式是低效的"。
而分散建造数据中心的方法是价格每个区域都是独立配置的,但这并不会意味着数据中心会被分散,分析预测,企业数据中心作为私有云运行,这种灵活的计算网络通过谷歌和亚马逊这样的公共提供商进行模块化,然后在内部对企业自己的用户进行管理。
私有云会需要后操作系统来把所有的企业分布式资源作为单独的计算池来管理,分析师预测,虚拟化的日益普及是源于X86服务器操作系统的故障,这从根本上限制了每台服务器的功效,从而导致了无数能源的浪费,并且,虚拟机的配置是非常容易的,因此,虚拟化发展非常迅速。
当IT产业呼吁高效节能的服务器操作系统,并且能够根据应用软件的特殊类型进行自定义,从传统的功能型操作系统逐渐向整个数据中心的后操作系统时代过渡会成为必然。
后操作系统仍然处于发展阶段,VMware公司最新的虚拟数据中心操作系统就是如此,有分析师把整个概念描述为"位于应用软件和分布式计算资源之间的虚拟化层,它能利用分布式计算资源来执行日程管理,负载,应用软件监管和错误处理"。
所有这些最新的概念和技术诸如云计算,虚拟化,后操作系统,分散建造数据中心,更多自定义化服务器体系架构都在推动数据中心向未来迈进,IT部门能按照用户的个性化需求来提供按需定制的服务,而不必担心空间或者能源的浪费和过度配置,目标就是创建操作便捷,适宜发展的数据中心资源。所有的一切都是为了实现数据中心的灵活性,为了更好的适应需求的变化。
I. 软件定义存储和存储虚拟化的区别
搞清楚这个问题之前,首先要了解什么是软件定义存储和存储虚拟化。
什么是软件定义存储
SDS 的全称是 Software Defined Storage ,字面意思直译就是软件定义存储。关于 SDS 的定义可以参考全球网络存储工业协会(Storage Networking Instry Association,SNIA),SINA 在 2013 正式把 软件定义存储(SDS) 列入研究对象。
SINA 对软件定义存储(SDS) 的定义是:一种具备服务管理接口的虚拟化存储。 SDS 包括存储池化的功能,并可通过服务管理接口定义存储池的数据服务特征。另外 SINA 还提出 软件定义存储(SDS) 应该具备以下特性:
自动化程度高 – 通过简化管理,降低存储基础架构的运维开销
标准接口 – 支持 API 管理、发布和运维存储设备和服务
虚拟化数据路径 – 支持多种标准协议,允许应用通过块存储,文件存储或者对象存储接口写入数据
扩展性 – 存储架构具备无缝扩展规模的能力,扩展过程不影响可用性以及不会导致性能下降
透明度 – 存储应为用户提供管理和监控存储的可用资源与开销
什么是存储虚拟化
SNIA认为,存储虚拟化通过对存储(子)系统或存储服务的内部功能进行抽象、隐藏或隔离,使存储或数据的管理与应用、服务器、网络资源的管理分离,从而实现应用和网络的独立管理。对存储服务和设备进行虚拟化,能够在对下一层存储资源进行扩展时进行资源合并、降低实现的复杂度。存储虚拟化可以在系统的多个层面实现。
SNIA提供的存储虚拟化模型(如下图),包括三部分:
SNIA提供的存储虚拟化模型
软件定义存储和存储虚拟化的区别与联系
由以上定义可以看出,存储虚拟化和软件定义不是一个维度的概念但是有很强的相关性。SDS是存储虚拟化实现的一种实现形式,但是类似RAID、虚拟化网管、磁盘分区等其实都是属于存储虚拟化的一种实现形式,另外,存储虚拟化并不一定是软件定义的,硬RAID卡就是典型的拿硬件实现存储虚拟化。