论文部分内容阅读
高质量的网络通信是数据中心提供超强计算能力、海量存储能力的基础。网络故障会影响通信质量,降低数据中心可用性。因此,如何针对虚拟化网络具有的动态性、复杂性、共享性等特点进行故障诊断是一个新的研究热点。近年来随着虚拟化技术的不断发展,当前云数据中心采用虚拟化网络技术为多租户提供安全、可靠的服务。与传统网络不同,虚拟化网络中为了实现负载均衡会频繁迁移虚拟机,导致网络状态频繁改变;同时虚拟化网络引入了大量软件定义的网络设备,这些设备共享服务器资源,通过合理的参数配置实现虚拟机间的可达性以及高质量的网络通信。因此,虚拟化网络的使用给传统网络故障诊断技术带来了巨大挑战,主要体现在两个方面:1)虚拟化网络状态频繁改变,难以在不影响故障诊断精度的前提下降低信息采集开销;2)虚拟化网络存在大量表征相似的故障,现有诊断方法难以有效识别这类故障,导致故障诊断精度低。为了解决上述问题,本硕士论文针对信息采集和模型构建两个关键技术展开研究,提出相关的机制和算法,以实现降低信息采集开销、提高故障诊断精度的目标。具体地,本论文从以下三个方面开展研究工作:首先,针对集中式故障诊断方法中信息采集开销大的问题,研究基于边缘感知的虚拟化网络信息采集机制。通过使用多维服务器环境信息、虚拟设备参数配置信息以及虚拟机运行信息刻画虚拟化网络通信状态,利用机器学习方法分析信息特征构建网络故障感知模型。本文构建的故障感知模型是二分类(正常或异常)模型,模型训练完成后下发到信息采集服务器,信息采集器将实时采集的网络状态信息输入到故障感知模型中,根据模型的输出判断网络的健康状况,通过识别异常网络状态信息实现对正常状态信息的过滤,降低信息采集开销。其次,针对现有故障诊断模型在诊断表征相似故障时存在诊断精度低的问题,研究基于强化学习的虚拟化网络故障诊断机制。本文首先针对虚拟化网络具有数值连续的特点,将连续数值离散化后构建成网络状态空间,同时结合大量的实验分析设置了动作集合,并根据虚拟化网络故障特点采用回合更新的方式更新训练记忆,基于上述分析使用Q-learning算法构建了虚拟化网络故障诊断模型。本文使用故障注入的方式训练模型,模型训练完成后根据预先设置的网络状态划分条件评估状态划分纯度,对于存在多个故障的网络状态使用信息增益方法进一步划分状态,并重新训练模型,在满足模拟可用内存有限的前提下尽可能提高网络状态空间的划分纯度。模型训练完成后,根据故障感知模型发送的诊断请求查询Q表,Q值最大的动作即为故障诊断结果。最后,设计与实现基于机器学习的虚拟化网络故障诊断系统VND。基于东南大学云计算中心环境,将理论成果与实践结合,设计并实现了原型系统,并进行了部署与实验。在东南大学云计算中心实际环境中的实验结果表明,本文提出的基于边缘感知的虚拟化网络信息采集机制和基于强化学习的虚拟化网络故障诊断机制,能显著降低信息采集开销,提高故障诊断精度,为数据中心虚拟化网络故障诊断提供了行之有效的解决方案。