本文部分内容来源于《现代网络技术:SDN,NFV,QoE、物联网和云计算:SDN,NFV,QoE,IoT,andcloud》
虚拟局域网
图9-1显示了一个比较常见的层次化局域网场景,在这个例子中,局域网中的设备分为四个部分,每个部分都通过以太网交换机相连。以太网交换机是采用存储转发方式来实现分组转发的设备,它可用于端系统的互连,从而构成一个局域网网段。交换机可以将一个MAC帧从源设备转发到目的设备,也可以将帧从源设备广播到所有其他设备上。多个交换机互连可以将几个局域网网段构成一个更大的局域网。局域网交换机还可以与传输链路、路由器或者其他网络设备相连从而提供到因特网的连接。
传统的交换机只工作在 MAC 层,现在的交换机则可以提供更多的功能,例如多层感知(三层、四层和应用层),支持 QoS 和作为广域网主干等。
下面我们来考虑一个来自工作站 X 的 MAC 帧的传输过程,假设该帧的目的 MAC 地址是工作站 Y,那么这个帧会从 X 传输到以太网交换机,然后沿着路径传递下去。如果 X 所发送的帧的目的地址为 Y 的 MAC 地址,那么该交换机就会将该帧转发给相应的交换机,从而到达所期望的目的地。
所有这些过程都是单播转播的例子,也就是说 MAC 帧的目的地址是唯一的。MAC 帧也可以用广播地址,这样的话所有局域网内的设备都收到该帧的一个副本。因此,如果 X 发送一个目的地址是广播地址的帧,那么局域网内的所有设备都会收到帧的一个副本。所有能互相收到广播的设备合起来就是广播域。
在许多情况下,广播有特殊的用途,比如网络管理或某些报警信息的传播,这些信息只在本地网络有意义。因此在图 9-1 中,如果一个广播的消息只对特定群体有用,那么局域网其他部分或其他交换机的传输资源就会浪费。
一种提高效率的简单方法就是在物理层将局域网划分为多个相互隔离的广播域,如图 9-2 所示。这样,广播域之间的通信是通过路由器相连的。
这种提高效率的简单方法就是在物理上将局域网划分为多个相互隔离的广播域,如图9-2所示。在图中,四个相互隔离的局域网通过路由器相连,在这种情况下,从X发出的广播帧只会转发给与X连接在相同交换机上的设备。一个由X发给Z的IP分组的处理过程如下:
- X首先会确定该IP分组的下一跳是路由器V,该信息会向下传递到X的MAC层,该层会根据IP分组内容生成一个MAC帧,且该帧的目的MAC地址为路由器V
- 当V接收到该帧,它会去掉MAC首部,确定目的地址,然后将该IP分组封装为一个新的MAC帧,且该帧的目的MAC地址为Z
- 该帧随后被转发给相应的以太网交换机进行下一步传递。
这种方法的缺点是流量模式与设备的物理分布不对应。举个例子,某些工作站可能会产生大量流量,而这些流量集中到一个中央服务器上,然后随着网络规模的扩大,更多的路由器需要加入到网络中以将用户分隔到不同的广播域,同时还要保证广播域之间的互连。这样,路由器会产生比交换机更大的时延,因为路由器要处理更多的分组首部才能确定目的地,将数据路由到最终的端结点上。
虚拟局域网的使用
一种更为有效的方法是创建虚拟局域网。实际上,虚拟局域网(virtual local-area network,VLAN)是局城网的一个逻辑子集,它是通过软件创建的,而不是在物理上移动和隔离设备来实现。VLAN将用户和网络设备组合成一个单独的广播域,而不用考虑它们所在的局域网网段,它还允许流量在两个广播域之间更为高效地传输。VLAN逻辑上是建立在交换机之上,而功能则是在MAC层实现。由于路由器的目标是隔离VLAN内部的流量,路由器需要建立VLAN到VLAN之间的链路。路由器可以作为独立的设备来工作,这时VLAN与VLAN之间的流量都要经过路由器,此外,路由器还可以集成在交换机中作为交换机的一部分来实现,正如图 9-3 所示。
图9-3定义有5个VLAN,从工作站X到服务器Z的传输是在同一个VLAN内部进行的,因此它在MAC层完成了交换,效率非常高,而X发送的广播MAC帧会被转发到所有位于相同 VLAN内的设备上。从X到打印机Y的传输则跨越了不同的VLAN,因此,IP层的路由器就需要将IP分组从X转发到Y。图9-3显示了集成在交换机内的路由逻辑,交换机需要确定到达的 MAC是否要发送给相同VLAN内的设备,如果不是就需要在IP层对这个IP分组进行路由。
VLAN的定义
VLAN 是包含一组端结点的广播域,它可以不受物理位置的限制而涵盖位于多个物理位置的局域网网段,VLAN内设备之间的通信就像是在同一个局域网内完成,所以有时需要定义VLAN成员的划分。当前有许多种方法来划分VLAN,具体包括以下方面:
基于端口组的划分: 在局域网中的每个交换机都包含两类端口,分别是用于连接两个交换机的中继端口和连接交换机与端系统的终端口。在划分VLAN时,可以将每个终端口指派给特定的VLAN,这种方法的特点是配置非常简单,但缺点是当端系统从一个端口移动到另外一个端口的时候,网管人员不得不重新配置 VLAN 的成员
基于MAC地址的划分: 由于MAC层的地址是硬件化的,它烧录在工作站的网卡上。因此基于MAC地址的VLAN划分方式能够让网管人员在工作站移动时也不需要修改VLAN的划分,它会自动保持它的VLAN成员信息。但是这种方法的主要问题是每个VLAN成员在初始阶段都需要手动指派。
基于协议信息的划分: VLAN的划分还可以基于IP地址、运输层协议信息,甚至更高层的协议信息。这是一种非常灵活的方法,但是它要求交换机能够检查MAC层之上的MAC帧部分,这会对性能产生一定的影响。
VLAN内部成员通信
当网络流量穿越了多个交换机时,交换机必须能够掌握VLAN的成员信息(也即哪个工作站属于哪个 VLAN),否则 VLAN只能在单台交换机内部通信。一种可行的方法是手动或使用一些网络管理信令协议来配置这些信息,这样交换机就能将到达的分组关联到正确的VLAN
一种更为通用的方法是在帧上添加标签,通常的做法是在帧的首部添加唯一的标识,以标明MAC帧属于哪一个 VLAN。IEEE802委员会已经发布了给帧添加标签的标准,也就是下面要介绍的 IEEE 802.1Q。
IEEE 802.1Q VLAN标准
考虑到一个 VLAN 实际上就是局域网中一组端系统子集构成的广播域,因此 VLAN不仅限于一个交换机中,它可以扩展到多个互连的交换机。在这种情况下,跨交换机的流量必须标记出其所属的 VLAN,而802.10标准就在分组中插人了一个VLAN标识(VLAN identifier, VID),这个标识的值范围是1~4094。局域网中的每个 VLAN都会被指派一个全局唯一的 VID,而为位于多个交换机上的端系统分配相同的 VID,这样就可以让 VLAN的广播域扩展到大型的网络中。
图9-5是一个局域网场景,里面包含了三个支持802.10标准的新交换机以及一个不支持802.1Q标准的旧交换机。在这种情况下,旧交换机所连接的端系统必须属于相同的VLAN。跨越新交换机之间的MAC帧包含802.10标准的TCI标签,该标签会在帧转发到旧交换机之前被去掉。对于连接到同一个新交换机的端系统而言,MAC帧也可以不包含
TCI标签,这取决于具体的实现方式。
这里的关键是两个新交换机之间通信时会用到TCI标签,从而进行正确的路由选择和帧处理。
嵌套的VLAN
在最初的802.1Q规范中以太网的MAC帧可以插人一个VLAN的标签字段,而在最近的版本中,则可以插入两个VLAN标签字段,从而可以在VLAN 内再定义多个子 VLAN,这种方式带来的灵活性在一些复杂的场景中会非常有用。
例如,单 VLAN 层对只有个层级的以太网环境来说是足够的,但是一个企业利用网络服务提供商来互连多个局域网的情况也是很常见的,这时候就需要通过城域网的以太网链路来连接到网络服务提供商,而提供商的多个客户可能都希望利用802.1Q标签功能来穿越服务提供商的网络(serviceprovidernetwork,SPN)。
一种可行的方法是让客户的VLAN对服务提供商可见,在这种情况下,服务提供商只能为它的客户提供4094个VLAN。这时,服务提供商可以在以太网帧中插入第二个VLAN标签。比如考虑有两个客户,而每个客户都有多个站点的情况。两个客户都使用了相同的SPN(如图9-6a所示),客户A已经为自己的站点配置了1 ~ 100的VLAN号,而客户B则为自己的站点配置了1 ~ 50的VLAN号。
这些带有标签的数据帧在穿越服务提供商网络时必须能被区分出属于哪个客户,而这些必要的区分和隔离则可以通过将客户流量关联到另一个VLAN来实现。这就使得原本带有VLAN标签的客户数据帧在穿越SPN时(如图9-6b所示)又加上了一层新的标签,新加的标签在数据到达SPN的边缘被删除掉,然后再进入客户的网络。这种包装的VLAN 标签也称为VLAN 堆栈或 Q-in-Q。
OpenFlow对VLAN的支持
基于 802.1Q 协议的 VLAN 要求网络交换机能够掌握 VLAN 的全部映射信息。这些信息可以通过手动配置或自动获取,但这种方式存在一定的局限性。
在 VLAN 管理中,OpenFlow 提供了更灵活的管理和控制方式:
- 灵活的管理:OpenFlow 支持对 VLAN 进行动态管理,包括添加、删除、修改 VLAN 标记(标签)。
- 即时更新:根据网络需求,OpenFlow 能够实时调整 VLAN 的流量转发规则,无需人工手动干预。
- 集中化控制:通过控制器统一管理 VLAN 配置,而不是依赖每个交换机独立配置。
虚拟专用网
在现在的分布式计算环境中,虚拟专用网(virtual private network,VPN)提供了一种方法。VPN是一种专用的网络,它能配置到公用网络中(如运营商网络或因特网),从而利用大型网络的规模和管理设施来节约成本。VPN已经在企业中得到了广泛运用,从而创建能扩展到广阔区域的广域网,为分支结构提供站点到站点之间的连接并允许移动用户通过拨号方式访问公司的局域网。从提供商的角度来说,公用网络设施为许多客户所共享,而且各个客户之间的流量是相互隔离的,VPN流量只能从一个VPN源结点到归属同一个 VPN 的目的结点。VPN 通常采用了加密和认证设施。
IPsec VPN
IPsec(Internet Protocol Security) 是一种网络安全协议,专门用来保护网络流量的安全。IPsec 可以对数据进行加密和验证,确保数据不会被未授权的用户查看或篡改。重要信息能安全地在公共网络上传输。
IPsec 通过加密和认证(例如使用 ESP 协议),创建一个"隧道",将数据包封装起来。隧道的作用是保护数据的机密性,并确保数据来源真实可信。
图9-7a显示了一个分组的报文格式,其中的IPsec选项是隧道模式。隧道模式利用了组合认证 / 加密IPsec(也称为封装安全性载荷ESP)和密钥交换技术。对于VPN来说,认证和加密都是必要的,因为(1)要保证非法用户无法穿透VPN。(2)要保证因特网上的窃听者无法理解 VPN 所传输的消息。
图 9-7 描述了一个典型的场景:当某个组织的网络分布在多个区域,IPsec 可以保护其网络间的通信安全。
使用IPsec来构建 VPN有下列好处:
-
当IPsec由防火墙或路由器来实现时,它能为所有穿越设备的流量提供很高的安全性。也不会对公司或工作组内部流量产生与安全相关的处理开销。
-
在防火墙中实现IPsec可以防止从外部进入的流量绕过监测,只要让防火墙成为唯一从因特网进入机构的人口即可。
-
IPsec在运输层(TCP,UDP)之下,因此它对于应用是透明的。如果在防火墙或路由器上实现IPsec,不需对用户或服务器系统的软件做任何改变。即使IPsec在端系统中实现,高层软件(包括应用程序)也不会受到影响。
-
IPsec对于端用户是透明的,因此也不需要对用户进行安全机制的培训、为每位用户分配密钥或在用户离开机构时废除他的密钥。
-
IPsec可以在必要的时候为单个用户提供安全性,这对远程办公的员工非常有用,也可以用来在机构内部为敏感应用创建一个安全的虚拟子网环境。
MPLS VPN
MPLS本质上是一种高效的分组转发和路由技术,它是为IP网而设计的,但是这个技
术可以不用IP而采用任意链路层协议构建网络。在一般的分组交换网中,分组交换需要检查分组首部的若于字段来确定目的地、路由、OoS和实施流量管理(例如丢弃或延迟)。
类似地,在基于IP的网络中,路由器要检查I首部的某些字段来完成上述工作,而在MPLS网络中,一个固定长度的标签将IP分组或数据链路帧封装起来,该MPLS标签包含支持MPLS的路由器在执行路由、传递、QoS和流量管理时需要的所有信息。与IP所不同的是MPLS 是面向连接的。
MPLS网络或因特网都由一组结点构成,这些结点称为标签交换路由器(label-switchingrouter,LSR),它们能根据附加在每个分组上的标签来进行分组交换和路由。标签定义了一个源端和一组目的端之间的分组流,每条流都被称为转发等价类(forwarding equivalence class FEC),在LSR中,会为其分配一条特定的路径,该路径称为标签交换路径(label-switched path,LSP)。一个FEC本质上代表一组有相同传输需求的分组,这些分组在路由器处会得到相同的对待,而且所有分组的路径完全相同,在路径上的每跳也会得到相同的QoS保证。相比于传统IP网络中的分组转发,某个特定分组只需要在分组进入MPLS路由器网络的时候指派一次给某个特定的FEC即可。
下面列出了RFC 4026( Provider Provisioned Virtual Private Network Terminology)定义的主要VPN 术语:
- 接入链路(attachment circuit,AC): 在二层VPN中,CE通过AC连接到PE上,这里的AC可以是物理链路,也可以是逻辑链路。
- 用户边缘(customeredge,CE): 在客户端的某个设备或设备集合,这些设备连接到提供商提供的 VPN 上。
- 二层 VPN(Layer 2 VPN,L2VPN): 一个基于二层地址实现的VPN,它将一组主机和
路由器互连起来。 - 三层 VPN(Layer3 VPN,L3VPN): 一个基于三层地址实现的 VPN,它将一组主机和路由器互连起来。
- 分组交换网(packet-switchednetwork,PSN): 通过建立隧道而支持VPN服务的网络。
- 提供商边缘(provider edge,PE): 在提供商网络边缘,带有与客户连接功能的一台或一组设备。
- 隧道: 分组交换网中,用于将流量从一个PE发送到另一个PE的连接。隧道提供了一种PE到PE的分组传输方法,不同客户之间流量的隔离通常采用隧道多路复用器实现。
- 隧道多路复用器: 用于分组实现隧道穿越的实体,它能确定一个分组属于哪个服务实例,也能知道接收到的分组由哪个发送方发送。在MPLS网络中,隧道多路复用器在设计上类似于 MPLS 标签。
- 虚拟信道(virtual channel,VC): VC在隧道内传输,并且通过它的隧道多路复用器进行识别。在支持MPLS的IP网络中,一个VC标签是一个用于识别隧道内流量属于哪个VPN的MPLS标签,也就是说,VC标签是使用MPLS标签网络中的隧道多路复用器。
- 虚拟专用网(virtual private network,VPN): 它是涵盖使用公用或专用网络来创建与其他网络用户相隔离的用户组的术语,该用户组内的用户在相互通信时就好像在一个专用网一样。
二层 MPLS VPN
在使用二层MPLS VPN后,客户网络和运营商网络之间是相互透明的。实际上,客户需要众多构成了网状结构的单播LSP(标签交换路径),这些LSP由连接到提供商网络的客户交换机组成,每个LSP可以认为是客户之间的二层电路。在二层VPN中,提供商的设备根据二层首部的信息(例如以太网MAC地址)来转发客户的数据。
图9-8描述了二层VPN中的关键要素。客户通过诸如以太网交换机等二层设备连接到提供商,连接到MPLS网络的客户设备通常被认为是用户边缘(CE)设备,而MPLS边缘路由器则被认为是提供商边缘(PE)设备。CE和PE之间的链路工作在链路层(例如以太网),这些链路被称为接入链路(AC)。MPLS网络然后建立一条LSP,这里的LSP扮演着隧道的角色,它将两个属于同一公司但接人到不同网络的边缘路由器连通起来,这条隧道利用标签栈可以承载多条虚拟信道。与VLAN栈的方法非常相似,MPLS标签也支持VC嵌套。
当一个链路层帧从CE到达PE后,PE会创建一个MPLS分组,并将一个与VC对应的标签添加到这个帧上,然后再将另一个与源和目的PE之间隧道相对应的标签添加到标签栈上。接着,这个分组会利用高层的标签进行标签交换路由,并穿过与隧道相关联的LSP。在目的端,目的PE会去掉隧道标签,然后检查VC标签。这个标签会让PE知道如何创建一个链路层帧,从而将负载传递给目的CE。
如果 MPLS分组的负载是以太网帧,那么目的PE需要从VC标签推断输出端口,以及可能存在的 VLAN标识符。这个过程是单向的,在进行双向操作时需要再重复一遍。
三层 MPLS VPN
二层VPN基于链路层地址(例如MAC地址)进行构建,而三层VPN则基于CE之间的 VPN路由,这里的CE是基于IP地址的。如同二层 VPN一样,基于MPLS的三层 VPN通常采用了双标签栈,内部标签标识特定的VPN实例,而外部标签则标识穿越MPLS提供商网络的隧道或路由器。隧道的标签与LSP相关联,主要用于标签交换和转发。在出口PE
端,隧道标签会被去掉,而VPN标签则用于协助分组到达正确的CE处,并将其归并到正确的逻辑流。
对于三层VPN,CE完成了I功能,因此它也是一个路由器。CE路由器会将它们的网络通告给提供商,提供商网络然后利用改进的边界网关协议(Border Gateway Protocol ,BGP)在CE之间建立VPN。提供商网络内部会利用MPLS在支持VPN的边缘PE之间建立路由,这样,提供商的路由器也就参与到客户的三层路由功能中。
网络虚拟化
本节主要介绍网络虚拟化中的重要领域知识。一个迫切的难题是许多专业术语在学术界和产业界的定义并不统一,因此我们首先根据ITU-T的Y3011标准(未来网络的网络虚拟化框架,2012年1月)对术语进行定义。
- 物理资源:在网络环境中,物理资源包括网络设备(如路由器、交换机和防火墙)和通信链路(包括有线和无线的),诸如云服务器等主机也被看作是物理网络资源。
- 逻辑资源:一个可独立管理的物理资源分区,它继承了物理资源的相同特征,而且它的性能受限于物理资源的性能,一个例子就是硬盘存储器的切片。
- 虚拟资源:对物理或逻辑资源的抽象,它与物理或逻辑资源有不同的特征,而且它的能力不受制于物理或逻辑资源的能力。例如,虚拟机可以动态迁移,VPN拓扑可以动态改变,访问控制限制可以添加到资源上。
- 虚拟网络:由许多虚拟资源(也即虚拟结点和虚拟链路等)构成的网络,它在逻辑上与其他虚拟网络相隔离。Y.3011标准将虚拟网络定义为逻辑上相隔离的网络切片(LINP)。
- 网络虚拟化(NV):一种可以在共享物理网络中创建逻辑上相互隔离的虚拟网络的技术,它可以让众多异构的虚拟网络在共享物理网络上共存。它包括提供商网络中多种资源的集合,但这些资源在形式上就像是一个单独的资源。
网络虚拟化是一个远比 VPN和 VLAN 要广的概念,VPN只提供了流量隔离,VLAN则只提供了基本的拓扑管理方法。网络虚拟化意味着对虚拟网络有完全的控制权,包括虚拟网络所使用的物理资源和虚拟网络所提供的功能。虚拟网络提出了一种抽象的网络视图,其虚拟资源为用户提供类似于物理网络所提供的服务。由于虚拟资源是通过软件定义的,虚拟网络的管理员就可以灵活地更改拓扑、迁移资源。
一个简单的例子
为了能对网络虚拟化中的概念有直观认识,我们这里介绍一个简单的例子。图9-9显示了一个包含3个服务器和5个交换机的网络,这幅图来源于电子书《软件定义网络--权威指导》[KUMA13]。图中的1个服务器是可信平台,里面运行着安全操作系统,并部署了防火墙软件,所有的服务器都运行了管理程序(hypervisor,也称虚拟机监视器),因此可以支持多个虚拟机。
某个公司(公司1)的资源位于多个服务器上,分别由服务器1上的三个虚拟机(虚拟机1a、虚拟机1b和虚拟机1c)、服务器2上的两个虚拟机(虚拟机1d和虚拟机1e)、服务器3上的防火墙1组成。虚拟交换机用于在跨服务器的虚拟机之间建立必要的连接,这些连接会经过物理交换机,而物理交换机为物理服务器之间提供了连接。每个公司网络都是分层的,就像是建立在物理网络之上的独立虚拟网络。
因此,公司1的虚拟网络在图9-9中采用椭圆形虚线标识为 VN1,另一个用虚线标识的VN2是另一个虚拟网络。这个例子描绘了三个抽象层次(如图9-10所示),底层是物理资源,它们跨越了一个或多个管理域。服务器在逻辑上是分片的,以支持多个虚拟机,每个虚拟机至少包含一个内存切片,也可能包含I/O池和通信端口的切片,甚至是处理器或服务器内核的切片。
这里就有了一个将物理和逻辑资源映射到虚拟资源上的抽象,而这种抽象可以通过SDN和NFV的功能实现,并通过虚拟资源层的软件来管理。
这个例子描绘了三个抽象层次(如图9-10所示),底层是物理资源,它们跨越了一个或多个管理域。服务器在逻辑上是分片的,以支持多个虚拟机,每个虚拟机至少包含一个内存切片,也可能包含I/O池和通信端口的切片,甚至是处理器或服务器内核的切片。这里就有了一个将物理和逻辑资源映射到虚拟资源上的抽象,而这种抽象可以通过SDN和NFV的功能实现,并通过虚拟资源层的软件来管理。
另一个抽象功能是用于创建由不同虚拟网络构成的网络视图,每个虚拟网络由独立的虚拟网络管理功能所管理。如例子中所描述,由于资源在软件中定义,网络虚拟化提供了极大的便利性。虚拟网络1的管理员可以为交换机1之上的虚拟机和交换机2之上的虚拟机之间的流量指定特定的QoS需求,还可以设计防火墙规则来对流入虚拟网络的流量进行管理。这些规范必须最终转换为能在物理交换机和防火墙上配置的转发和过滤规则。由于这些工作都在软件中完成,不需要虚拟网络管理员了解物理拓扑和物理服务器设施的情况,因此可以非常容易就完成相应的改动。
网络虚拟化的体系结构
Y.3011是体系结构方面的标准,它介绍了构成网络虚拟化环境的要素,图9-11显示了Y.3011标准所设计的体系结构,该体系结构将网络虚拟化描述为四个层次:物理资源、虚拟资源、虚拟网络、服务。
多个虚拟资源可以共享同一个物理资源,而每个虚拟网络(LINP)则由多个虚拟资源组成,并向用户提供一系列服务。每层都会完成各自的管理与控制功能,这些功能不必由相同的提供商实现,而每个物理网络及其相关的资源都有相应的管理功能。虚拟源管理器(virtual resource manager,VRM)对从物理资源创建的虚拟资源池进行管理,VRM还需要与物理网络管理器(physical network manager,PNM)交互从而获取资源的权限。VRM会创建LINP,而LINP管理器被分配给各个 LINP。
图9-12提供了另一种网络虚拟化体系结构单元的视图,其中的物理资源管理模块对物理资源进行管理,并可能创建多个逻辑资源,这些逻辑资源与物理资源有相同的特征。虚拟资源管理模块可以通过物理层和虚拟层之间的接口实现访问物理和逻辑资源,虚拟资源管理模块从物理和逻辑资源中创建虚拟资源,还可以创建结合其他虚拟资源的虚拟资源。虚拟网络管理模块可以在多种虚拟资源之上创建虚拟网络,这些虚拟资源由虚拟资源管理模块提供。一旦虚拟网络创建完成,虚拟网络管理模块就开始管理自己的虚拟网络。
软件定义的基础设施
随着企业和运营商的数据中心、云计算设施以及网络基础设施复杂性的迅速增长,传统的硬件驱动管理方式已无法满足灵活性和动态变化的需求。
SDI(Software-Defined Infrastructure) 的核心思想:通过软件来定义和管理基础设施(包括硬件、系统软件和网络),使其能够根据业务需求进行动态调整和配置。
SDN 提供了智能的网络控制,而 NFV 提供了虚拟化的网络功能。
软件定义存储
正如前文所述,SDN和NFV是SDI的关键要素,而另一个与这两者同样重要的要素是目前正兴起的技术,即软件定义存储(software-defined storage,SDS)。SDS是管理数据中心中各个存储系统的框架,这些数据中心在传统方式上并未统一。SDS提供了对这些存储设施进行管理的能力,以满足特定的服务等级约定并支持各类应用。主流的SDS物理架构是基于分布式存储的,其中存储设备分布在网络各处。
图9-16说明了一个典型SDS架构的构成,其中物理存储由磁盘阵列和固态盘阵列组成它们可以来自不同的厂商。与物理存储平面相分离的是统一的控制软件集,它必须包括能与各种厂商设备相连接并控制、检测这些设备的自适应逻辑。这些自适应层的顶部是一些基础存储服务。应用程序接口提供了数据存储的抽象视图
SDI架构
许多公司,包括IBM、思科、英特尔和惠普,都在生产或研究SDI产品。目前还没有标准的SDI规范,而且不同产品之间也存在较大的差异,但是不同厂商所设计的SDI总体架构都较为类似,一个典型的例子就是英特尔所设计的SDI架构,图9-17显示了该架构该架构共分三层:
- 编排层:允许高层框架在不干扰正在运行的操作的前提下对组合层进行动态管理的策略引擎
- 组合层:比系统软件低一级的层次,能持续自动地对硬件资源池进行管理。
- 硬件池:抽象的、模块化的硬件资源池。