论文部分内容阅读
随着云计算数据中心的发展,软件定义网络(Software Defined Networks,SDN)及虚拟化技术越来越多地应用到数据中心。作为当前使用最广泛的开源虚拟化技术,OpenStack允许用户部署私有云计算设施。SDN所具有的控制与转发相分离的架构也使其天然地适用于数据中心网络环境。在当前的SDN控制器中,Ryu控制器具有轻量级、高效率、模块化等特点,目前已成为SDN内常用的控制器之一。然而由于软件定义数据中心所需的网络功能种类繁多,当使用Ryu作为软件定义数据中心的控制器时,需要在其上开发相应的管控功能模块。一方面功能模块的增加使得控制器本身模块的管理变得更加复杂,另一方面Ryu缺乏直观的交互平台,OpenStack虽然提供了交互界面,但无法满足与Ryu的融合需求,因此实现软件定义数据中心的统一控制与调度系统具有一定的应用与研究价值。本论文通过对软件定义数据中心需求的分析,设计并实现了软件定义数据中心的管理系统,解决了软件定义数据中心计算层与网络层缺乏统一有效管理的问题。具体研究内容如下:(1)对软件定义数据中心资源管控的需求进行了分析,基于Node.js的Express框架设计了 SDMS (Software Defined Management System,软件定义管理系统)管理系统,该系统在MVC设计模式的基础上进行了拓展,设计了包含数据处理模块、前端通信模块和核心调度模块的软件结构。利用REST和消息队列设计并实现了 SDMS系统与SDN的控制层以及Web前端的通信机制。使用Mongoose模块对MongoDB的数据集合进行了设计。(2)设计并实现了 SDMS管理系统的业务功能。SDMS管理系统主要功能模块包括数据中心资源管理、日志系统、设备监控、用户认证以及OpenStack集成。其中数据中心资源管理、日志系统和设备监控三个功能模块的数据由管理系统或Ryu控制器采集,前端通过异步的方法调用上述数据并在Web页面上进行渲染。用户认证主要分为Web页面和接口认证,分别通过cookie和token对访问权限进行控制,同时与OpenStack的Keystone模块保持身份数据的一致。OpenStack集成模块通过代理的方式对Horizon模块进行了集成调度,使管理系统的用户能够访问Dashboard交互界面。最后,在软件定义数据中心实验平台上进行了管理系统的搭建,对各个功能的实现进行了验证,并进行了性能测试。结果表明系统能够满足目前数据中心的功能需求,并且管理系统能够在较高的负载下保持平稳运行。