一种基于网络虚拟化的SDN架构
技术领域
本发明涉及通讯领域,具体涉及一种基于网络虚拟化的SDN架构。
背景技术
随着企业业务的快速扩展,IT作为基础设施,其快速部署和高利用率成为主要需求。云计算可以为之提供可用的、便捷的、按需的资源,成为当前企业IT建设的常规形态,而在云计算中大量采用和部署的虚拟化几乎成为一个基本的技术模式。部署虚拟机需要在网络中无限制地迁移到目的物理位置,虚拟机增长的快速性以及虚拟机迁移成为一个常态性业务。传统的网络已经不能很好满足企业的这种业务需求,网络部分已经成为限制数据中心虚拟化的一个瓶颈,针对现有传统网络对业务灵活部署的限制,在发明中引入基于网络虚拟化的SDN架构,来解决现有数据中心网络面临的问题。
虚拟机迁移的网络属性要求,当其从一个物理机上迁移到另一个物理机上,虚拟机需要不间断业务,因而需要其IP地址、MAC地址等参数维持不变,如此则要求业务网络是一个二层网络,且要求网络本身具备多路径多链路的冗余和可靠性。传统的网络生成树(STP,Spaning Tree Protocol) 技术不仅部署繁琐,且协议复杂,网络规模不宜过大,限制了虚拟化的网络扩展性。基于各厂家私有的IRF/vPC等设备级的(网络N:1)虚拟化技术,虽然可以简化拓扑、具备高可靠性,但是对于网络有强制的拓扑形状要求,在网络的规模和灵活性上有所欠缺,只适合小规模网络构建,且一般适用于数据中心内部网络。
在大二层网络环境下,数据流均需要通过明确的网络寻址以保证准确到达目的地,因此网络设备的二层地址表项大小(即MAC地址表),成为决定了云计算环境下虚拟机的规模上限,并且因为表项并非百分之百的有效性,使得可用的虚拟机数量进一步降低。特别是对于低成本的接入设备而言,因其表项一般规格较小,限制了整个云计算数据中心的虚拟机数量,但如果其地址表项设计为与核心或网关设备在同一档次,则会提升网络建设成本。虽然核心或网关设备的MAC与ARP规格会随着虚拟机增长也面临挑战,但对于此层次设备能力而言,大规格是不可避免的业务支撑要求。减小接入设备规格压力的做法可以是分离网关能力,如采用多个网关来分担虚拟机的终结和承载,但如此也会带来成本的巨幅上升。
当前的主流网络隔离技术为VLAN(或VPN),在大规模虚拟化环境部署会有两大限制:一是VLAN数量在标准定义中只有12个比特单位,即可用的数量为4K,这样的数量级对于公有云或大型虚拟化云计算应用而言微不足道,其网络隔离与分离要求轻而易举会突破4K;二是VLAN技术当前为静态配置型技术,这样使得整个数据中心的网络几乎为所有VLAN被允许通过(核心设备更是如此),导致任何一个VLAN的未知目的广播数据会在整网泛滥,无节制消耗网络交换能力与带宽。
发明内容
上述的三大问题,完全依赖于物理网络设备本身的技术改良,目前看来并不能完全解决大规模云计算环境下的问题,一定程度上还需要更大范围的技术革新来消除这些限制,以满足云计算虚拟化的网络能力需求。在此驱动力基础上,逐步演化出Overlay网络技术。
Overlay是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主。Overlay网络是指建立在已有网络上的虚拟网,由逻辑节点和逻辑链路构成。Overlay网络具有独立的控制和转发平面,对于连接在overlay边缘设备之外的终端系统来说,物理网络是透明的Overlay网络是物理网络向云和虚拟化的深度延伸,使云资源池化能力可以摆脱物理网络的重重限制,是实现云网融合的关键。并且结合SDN控制器对网络设备进行纳管,根据虚机上线情况灵活建立 Overlay隧道指导流量转发。
本发明提出了一种基于网络虚拟化的SDN架构,该网络架构采用华三公司的网络核心交换机、云服务平台进行搭建,能够完全实现网络虚拟化的问题,此外,本发明还针对虚拟存储中存在的地址表庞大、检索数据量大的问题给出了解决方案。
本发明的具体技术方案如下:
一种基于网络虚拟化的SDN架构,其特征在于,所述基于网络虚拟化的SDN架构包括:云服务平台、网络虚拟化设备、计算虚拟化设备以及存储虚拟化设备。
优选地,所述网络虚拟化设备包括:SDN网络控制器。
优选地,所述网络虚拟化设备还包括云计算数据中心核心交换机和数据中心以太网汇聚交换机。
优选地,所述基于网络虚拟化的SDN架构包括还包括:服务器、存储交换机以及防火墙主机
优选地,所述云计算数据中心核心交换机采用S12500;所述数据中心以太网汇聚交换机采用S6800。
优选地,所述基于网络虚拟化的SDN架构,通过网络Overlay技术实现数据中心大二层网络,将传统网络资源池化,使虚拟机迁移不再受到三层网络的限制。
优选地,所述基于网络虚拟化的SDN架构还包括带外管理网络。
另一方面,本发明提出一种基于网络虚拟化的SDN架构的数据存储方法,所述基于网络虚拟化的SDN架构包括:云服务平台、虚拟化存储访问设备以及多个物理存储器,其特征在于,所述数据存储方法包括:
步骤1、获取数据存取请求;
步骤2、将所述数据存、取请求发送至所述云服务平台;
步骤3、对所述数据存、取请求进行分别处理;
步骤4、利用所述虚拟化存储访问设备基于所述数据存、取请求进行数据访问。
优选地,所述基于网络虚拟化的SDN架构为权利要求1-7中任意一项所述的架构。
本发明的存储方法能够有效压缩存储地址所需要的空间,提高寻址效率,保障存储安全。
本发明对于承载网络(特别是接入交换机),MAC地址规格需求极大降低,有效节省了设备硬件资源。
附图说明
图1为本发明一个实施例的架构的物理结构示意图;
图2为本发明的SDN架构的示意图。
图3示出了Spine节点与Leaf节点连接关系图;
图4为云平台控制系统登陆页面;
图5为云平台控制系统配置页面;
图6为云平台中spine设备的登录页面;
图7为云平台中leaf设备的登录界面。
图8为分布式存储设备的登录页面。
具体实施方式
以下结合附图及其实施例对本发明进行详细说明,但并不因此将本发明的保护范围限制在实施例描述的范围之中。
实施例1
如图1所示,本实施例中的基于网络虚拟化的SDN架构包括:云服务平台、网络虚拟化设备、计算虚拟化设备以及存储虚拟化设备,云服务器瓶体作为中枢控制系统,客户端对于计算、网络以及存储的需求都发送至云服务器,由云服务平台统一分配管理。
计算虚拟化设备采用H3C公司的计算虚拟化平台,云服务平台采用 H3C云平台管理系统,网络虚拟化设备采用H3C公司的SDN控制器。SDN 控制器对网络设备进行管理。存储虚拟化设备包括虚拟存储控制器(或称存储虚拟化访问设备)以及多个物理存储实现,虚拟存储控制器可以在服务器内实现。
采用本发明的华三设备,该设备具有优异的性能以及强大的虚拟数据处理能力,虚拟机数据封装在IP数据包中后,对网络只表现为封装后的网络参数,即隧道端点的地址,因此,对于承载网络(特别是接入交换机), MAC地址规格需求极大降低,有效节省了设备硬件资源。
在用户需要进行数据访问时,通过其自己的客户端登陆云服务平台,进行访问,云服务平台根据用于的访问需求,通过网络虚拟化设备为用户提供网络访问服务,通过计算虚拟化设备为用户提供计算服务,通过存储虚拟化设备为用户满足用户对数据的存取要求。
当然,需要说明的是,本发明中所采用的云服务平台、网络虚拟化设备、计算虚拟化设备以及存储虚拟化设备,既可以采用华三公司的设备,也可以采用其他公司的设备,只要其按照本发明的网络架构布置即可,本发明不做限制,优选采用华三公司的设备。
实施例2
如图2所示为本实施例中的架构所采用的硬件结构示意图。如图中所示,其采用两台S12500核心交换机,三台S6800交换机,两台S12500核心交换机分别控制三台S6800交换机以及业务网络,三台S6800交换机下接多台服务器。华三公司的交换机是采用overlay技术的设备,在网络的建立过程中,通过SDN网络自动部署模块,可以完成overlay网络EVPN隧道的自动建立。SDN控制器设计为双机部署,提升节点可靠性,通过SDN 控制器结合Overlay网络可实现虚拟机动态迁移,并且可根据虚机上线情况进行配置自动下发,隧道自动建立。
业务网采用EVPN分布式网关方案,采用Spine-Leaf两层模型组网, Spine节点(骨干节点)由两台独立的S12508交换机组成;每个Leaf节点 (网关节点)由两台S6800交换机组成,并通过IRF技术虚拟化成1台设备,保证Leaf节点的高可用性;每个Leaf节点的S6800IRF堆叠都通过聚合链路,与每个Spine节点设备连接,但是Spine节点的两台S12508之间不互连。
各个Leaf节点作为VXLAN IP GW(VTEP设备),负责overlay各隧道网络之间的转发,各个VXLAN封装与解封装,Spine节点作为骨干设备,负责整网underlay网络的连通性,保证整个中心网络的转发节点。
实施例3
上述实施例对采用华三公司的核心交换机所构建的网络架构进行了详细描述。
本优选实施例中,提供了一种对采用上述结构的云服务器系统进行存储虚拟化实现的方法的改进。
具体而言,在采用分布式存储进行数据存储的过程中,需要将多个存储设备通过服务器建立存储池,对存储池中的存储资源进行统一管理和分配。而在对存储池进行管理时,由于采用的是分布式存储,对于任意一个用户的数据的存储都是杂散的,这就需要建立庞大的地址映射表,将每个用户的每一串数据都建立地址映射,需要建立大量的数据寻址映射表,从而既占用服务器的资源,又降低存取效率。
针对现有虚拟化存储中存在的上述问题,本实施例提供了一种基于网络虚拟化的SDN架构的数据存储方法,本实施例的存储方法可以实施在实施例1中的基于网络虚拟化的SDN架构中,也可以实施在仅具有云服务平台和虚拟化存储设备的架构中。
本实施例的数据存储方法包括:
步骤1、获取数据存、取请求;这一步骤往往是用户在客户端上发起的,其通过在客户端进行数据操作,进而生成数据存取请求。
步骤2、将所述数据存、取请求发送至所述云服务平台;
步骤3、所述云服务平台将数据存取请求转发至虚拟化存储设备
步骤4、利用所述虚拟化存储访问设备基于所述数据存、取请求进行数据访问。
如果用户发起的是数据写入请求,则虚拟化存储设备接收该数据写入请求所要写入的数据,缓存在临时缓存中(边缓存边存储),并且获取数据写入请求的总数据大小,基于所获取的总数据大小,查找物理存储设备中的空白扇区,分配相应的目标存储区域,获取目标存储区域的地址表。然后,所述虚拟化存储设备判断写入数据是否包含单体大文件(单个文件超过预定大小,比如超过10Mb),若不包含单体大文件,则正常存储,若包含单体大文件,将该文件划分成若干数据单元,在对单体大文件分配目标存储区域时,每个存储区块对应一个数据单元,并且为每个连续存储区块预留一定字节的存储空间,然后,建立目标存储数据和目标存储区域的映射表。接下来,虚拟化存储设备对所接收到的单体大文件按存储区块进行封装,封装时,判断为其相邻数据单元分配的存储区快的地址是否连续,若连续,则直接进行封装存储,若不连续,则对于相邻数据单元中的前一数据单元,将原始写入数据作为数据主体,在数据主体末尾(或首端)添加关联地址信息,该关联地址信息存储在预留字节的存储空间中。举例而言,在数据存储时,对于写入的第一数据单元,首先判断为其后续的第二数据单元所分配的存储地址与其存储地址是否连续,若连续,则不做处理,直接存储,若不连续,则在该数据单元的末尾添加第二数据单元(或者,还可以包含下一个不连续存储的数据单元的地址)的预分配存储地址信息,对于第二数据单元,判断为其后续的第三数据单元所分配的存储地址与其存储地址是否连续,若连续,则不做处理,直接存储,若不连续,则在该数据单元的末尾添加第三数据单元的地址信息,以此类推,在最后一个数据单元的末尾添加第一数据单元的地址信息,以形成闭环。然后,将封装的数据按照之前预分配的目标存储区域进行存储,然后,删除虚拟化存储设备中的除第一数据单元的地址映射表之外的地址映射表,仅将第一数据单元的存储地址以及整个写入数据的信息更新到虚拟化存储设备的地址映射表中。
如果用户发起的是数据读取请求,则操作方式与存入时相反。
虚拟化存储设备确定该数据读取请求所要读取的数据,然后,所述虚拟化存储设备判断读取数据是否包含单体大文件,若不包含单体大文件,则正常读取,若包含单体大文件,则在对单体大文件读取时,从地址映射表获取单体大文件中第一个数据单元所对应的地址,将其读取至缓存空间,对第一数据单元进行拆封装,将原始的第一数据单元返回给用户,然后,判断第一数据单元中是否包含关联地址信息,若包含关联地址信息,则按照第一数据单元封装时添加的关联地址信息进行下一数据单元的读取,若不包含,则在第一数据单元的下一顺序地址中读取第二数据单元,将其经由云服务器返回给用户,以此类推,直到读出最后一个数据单元。
本发明可以大大简化地址映射表,使得地址映射关系更加清晰,对于地址的占用情况,仅需要通过一个0-1标记位,就可以对地址的占用情况进行标记不需要完全体现在地址映射表中,或者可以通过地址占用表统计。
由于在系统中,实际上单体大文件所占用的空间往往大于其他所有文件的总和,所以,还可以为单体大文件设置单独的物理存储空间,这样可以更方便的进行管理。
虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描述,本领域技术人员应该理解,上述实施例仅仅是对本发明的示意性实现方式的解释,并非对本发明包含范围的限定。实施例中的细节并不构成对本发明范围的限制,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显而易见的改变,均落在本发明保护范围之内。