在各高校逐步实施“智慧校园”和响应国家节能减排号召的同时,高校云数据中心逐步在各高校建成或升级。在云数据中心建设过程中,KVM(Kernel-based Virtual Machine)使用中遇到虚拟网络如何配置并进行优化的问题。针对此问题并结合实际建设经验,本文给出了三套KVM云平台vRoute虚拟网络配置方案,并针对方案给出详细的部署配置细则,为其他数据中心建设过程中提供选择。
高校数据中心KVM云平台的虚拟网络设计
随着计算机网络和通信行业的发展,“智慧校园”和“绿色节能”双目标对高校数据中心的建设或升级改造提出了更高的要求。传统高校数据中心已经无法满足“智慧校园”的需求,主要存在资源利用率低、运维成本高、应用部署缓慢和管理策略分散等方面不足。
为了解决传统数据中心的缺陷,虚拟化和云计算作为一种新的共享基础架构方法,将各项资源进行整合,利用数据中心网络连接在一起,形成一个巨大资源池。根据业务系统的实际需求,统一分配各项硬件资源,并按照业务系统的实际运行需求进行调整。
云数据中心可以根据实际,提供可用、便捷、按需的系统资源。KVM作为开源的系统虚拟化模块,在服务器虚拟化过程中得到了广泛的应用;vRoute虚拟路由是基于网络的纯软件操作系统,运行于主流的虚拟平台上。本文根据高校云数据中心的实际建设过程中发现的问题,结合KVM和软件化的虚拟路由器,搭建安全稳定的虚拟网络构架,给出了三种KVM平台与vRoute网络互连配置方法。
云计算的相关技术
KVM
KVM(Kernel-based Virtual Machine)是一个开源的系统虚拟化模块,自Linux2.6.20版本发行之后,该功能模块都集成于Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,相对于Xen,其核心源码很少,因此KVM已成为学术界主流的VMM之一。
KVM虚拟化需要硬件支持,它是基于硬件的完全虚拟化。而Xen早期是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但是,由于Xen有自己的进程调度器、存储管理模块等,所以代码较为庞大,在兼容、扩展等方面表现稍逊。
Linux Bridge
Linux系统的网络功能是通过直接或间接配置系统文件来实现的。Bridge是Linux系统用来实现TCP/IP二层协议交换的虚拟设备,功能类似于交换机。Bridge设备实例可以与Linux内其它虚拟网络设备实例互连。当数据传输至Bridge时,Bridge会根据报文中的MAC信息进行广播、转发、丢弃处理等操作处理。
Linux Bridge内部转发流程如图1所示。Bridge的功能主要在内核里实现。当一台逻辑设备与Bridge相互连接后,内核程序里netdev_rx_handler_register()函数被调用,一个用于接受数据的回调函数被注册。之后逻辑设备接收到数据,通过调用该函数,将数据转发至Bridge。Bridge接收到此数据时,br_handle_frame()函数被调用,进行类似交换机功能处理过程:判断包的类别(广播/单点),查找内部MAC端口映射表,定位目标端口号,将数据转发到目标端口或丢弃,自动更新内部MAC端口映射表以自我学习。
Bridge与实体二层交换机存在一个区别,图1中左侧说明了这种区别情况:数据流是被直接发到Bridge内,而不是从其中一个逻辑端口接受。该情况可以认为Bridge自身拥有一个MAC地址可以主动发送报文,或者认为Bridge自带了一个隐藏端口和寄主Linux系统自动连接,Linux系统内的程序可以直接从该逻辑端口向Bridge内的其它端口发数据。因此,当一个Bridge与一台逻辑网络设备互连后,两者拥有两个有效MAC地址,两者之间就可以进行数据流传输。
在实际项目实施过程中,通过分析问题,关于Bridge有两点需要注意:
(1)当前Bridge的实现存在一个限制:当一个逻辑设备互连至Bridge时,该设备的IP地址会失效,Linux系统不再使用该IP在逻辑三层接受数据。
(2)需要注意的是数据流的方向。对于一个互连到Bridge上的逻辑网络设备来说,只有它收到数据时,此包数据才会被转发到Bridge上,进而完成查表广播等后续操作。当请求是发送类型时,数据是不会被转发到Bridge上的,它会寻找下一个发送出口。这一现象同实体交换机是不同的。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。