@ fnii.cn

登录邮箱

虞红芳 网络功能虚拟化基础设施的可靠性问题

发表日期:2015年12月11日      共浏览 573 次      编辑:


大家好,今天讲的这个题目是王浪功能虚拟化基础设施下的可靠性问题。我本人已经在可靠性方面了很多年。我一直觉得可卡性问题大的问题已经被解决了,更多的是补丁的研究工作。到了现在未来网络或者新的网络技术的情况下面,我觉得可靠性问题又变成了一个非常重要的问题。今天和大家分享一项我们团队在网络功能虚拟基础设施的可靠性方面的一些进展何处不的思考。

今天我的报告是分为两个部分,第一个是在SDN的情况下,未来的网络所面临的挑战有哪些,面临这些挑战,我们能够想到的一些解决思路有哪些。首先介绍一下第一部分,所面临的挑战。

这个PPT是昨天今天一直在讲的,现在的基础设施面临着很多的问题,无论是用户的数量,还有设备的类型,以及连接的类型,还有各种APP的生成,都会对网络,我们的基础设施带来更多挑战性的性能问题。因此我们要对网络做一个改造。大家都提到未来要用SDN或者NFV来做,可以做到云化、智能化、动态,以及开放等等。总结来说,有了SDNNFV以后,以后是网络的IT化,加上硬件通用化,再加上网络的软件化。

在这样一个新型的网络架构下面,我们看一下它的可靠性问题怎么样,大家都感觉不到我们的网络会发生崩溃,我们达到了59的可靠性的要求,通过设计电信的硬件设备,到来未来网络,我们在SDN或者NFV架构下面,我们的硬件设计不是专用的设备,而是普通商用的硬件设备,它的可靠性肯定没有像电信的可靠性设备那么高。

作为一个新型的基础设施架构,新的东西出来必然会有新的BUG。硬件和软件的解耦,使得我的网络维护层次会更多了,我从上面的应用层次到基础,到虚拟层,再到物理基础设施层。当进入虚拟化和云化以后,我们的基础设施还能不能提供给用户这样59高可靠性的用户体验呢?我们看一恰现在的云计算它的可靠性怎么样。云计算里面的故障是非常常见的,这是2012年当时亚马逊的AWS,很多的媒体都在那里评论,云计算是不是真的已经准备好商业化了,云计算的党旗经常发生,导致了它的客户的流失。看到12年大家对云计算的可靠性非常重视,是不是到了15年这个问题就解决了呢?答案是否。包括在今年经常会听到LL的服务器服务出现了故障等等,而且都是这些大型的互联网公司。因此我们看到,云计算档期随着云服务的增加,它的速度是快速的上升。面对IT应用的云计算不能满足电信级可靠性。它还没有做到准备。我们团队统计了一下,从07年到14年,200多次的云计算档期的次数我们分析了一下,其实主要的原因一个是系统本身的故障,一个是因为电力故障,包括自然灾害引起的故障,还有一些人为配置上的一些错误,以及软件和硬件。我们看一下云计算所面临的故障多种多样。

那么怎么来解决?我们大概总结了一下,我们认为在网络功能虚拟化基础设施下面,它的可靠性的需求体现在三个方面,第一个是说我们需要去设计一种新的可靠性的评估的准则,第二是需要一套新的工具来解决故障的一些报警,以及故障的恢复,更重要的是提升现有的故障的检测和恢复的一些方案,来适应电信应用。应该来说,首先是要更快的故障检测,在电信应用是需要小于50毫秒。面向IT应用的故障是秒计的。现在面向IT应用的云机损也是在秒计。

以上大概总结了一下在网络功能虚拟化的基础设施下面,可靠性所面临的一些挑战。下面是怎么来解决。我只是简单介绍一下我们团队在这方面的一些思考和基本的解决方法。

可靠性的机制大概从三个方面来研究的,第一个是说故障的检测和预测,这个主要是说有没有发生故障,第二个是说故障的诊断和定位在什么地方发生了故障,第三个是故障的恢复,怎么避开这故障。在故障的检测和预测上,我可以去看这个数据流的特性来检查,也可以去看虚拟机这一层的性能。在故障诊断和定位上,主要要解决两个基本的问题,一个是说故障的相关性,第二个是故障的优先图。现在业界的研究,基本上故障的检测和预测,故障的定位是在一起做的。故障的恢复方法也基本上是三类,一类是迁移,还有一类是同时运行备份,还有是把资源先预留好。

这是大概的一个NFV下面可靠性机制的流程图。当这个虚拟网络出现故障的时候,有故障探测器,可以通过心跳这种马上检测出有没有故障的发生。人民通告给MANO,然后进行故障的定位。接着虚拟化基础设施管理层,通过发现、定位、恢复,最终完成VNF的功能,又变成可利用。

具体我们来看一下在NFV环境下可靠性技术挑战,首先所检测的数据量远远比电信检测数据规模大,另外一方面,它的故障检测到的数据的质量特别高,很多情况下我们知道网络功能服务不是厂商自己提供的,很多是由第三者的开发商开发的,我得到的更多的是统计性的数据。在云化以后,我的动态伸缩性,以及业务的动态,导致有些貌似像是性能出现了异常,可能是由于我本身需求增加以后到动态性带来的测量数据异常,可以说数据的噪声也比较多。在NFV环境下,我的故障更容易传播,而且干扰性比较大。这些都会给故障的检测,故障的恢复带来更大的挑战。

首先来看一下第一点,故障的检测,NFV下面的故障检测,从要求来看,主要有以下几个方面要注意的,第一个要支持故障的检测,第二个要支持目前未知错误的检测,一个首先是新的架构,很多错误是没有办法提前知道的,很多是不可预知的,而且检测时间一定要快,因为是给电信应用来做的。还有一点是可靠性一定要好,因为数据量,还有系统本身就非常大。

从技术层面来看,一个是原来的故障检测技术面对的是低维数据,现在面临的是高维数据,单一故障模式变为多种模式并存。

NFV环境下倾向于采用无监督学习,有监督学习,半监督学习,很难得到故障或者异常行为的分布,它的模型是什么样的。

我们团队目前和华为公司,和国网在一起合作做的事情。我们认为无监督的学习故障检测技术分为基于统计、基于深度、基于距离、基于密度,基于聚类等。NFV环境下倾向于采用动态自适应快速故障检测技术,这些算法都有一定的局限性,不完全适合NFV下面来做。还有一个正在思考的,NFV下面不见得所有的都是黑盒,虽然我们都是白盒,但是能不能在某些地方放置白盒的检测工具,更快的达到一些检测数据。

我们团队在做的第二个事情,NFV环境下的级联故障。我们分析了一下,在传统的云计算下面的故障传播模式有三类,第一类C是云计算的使用者,P是使用者。C出现了故障,不停的调用这个P,这个时候也引起了P的故障。第二种模式由于P出现了故障,最后引起了C出现了故障,这两种都是由于调用关系引起的。第三种是重配引起的。原来的C1占用P1的服务,P2也出现了故障。这是传统云计算的故障传播模式。这种故障传播模式并不适合于云计算NFV的场景应用。

NFV的环境下,它的传播模型是怎么样的?假设有一个服务链,它是经过三个功能,如果说我们的中间功能出现了异常,这个异常是会传播到前面的NFV上面去,这个叫横向的传播模式,沿着服务链进行传播。第二种传播模式是链与链之间的传播模式,按照链来传播,两服务链是共享,因此也会带来服务链二的故障,第二种传播模式是纵向的传播模式,链与链之间的传播。

NFV场景下出现故障的原因,在单条SFC的不同NFV模块处理的能力不匹配,多SC间的资源分配部分不均衡导致的。采用多种策略的组合完全级联故障的恢复。

第三个做的研究点是故障恢复。最下面的是一个物理基础设施层,底层的网络有很多云构成的,很多工作可以在上面部署。我们有两条服务链,要完成故障恢复,要解决的两个基本问题,第一个是部署服务链的时候,得到的可靠性多少。第二个是备份选择是多少。

有三种备份方案,第一种是专用保护,现在其中两个网络功能需要提供备份,提供保护,这样才能达到高可靠性的要求。这两个要保护的网络功能有一个节点来做,这个备份节点上面预留了资源更小一点。

当你要考虑可靠性因素的时候,会带来成本的增加。动态服务需求下的备份资源设计。

传统的云计算是给IT应用做的,要支持电信应用,是无法达到59,我们需要设计新的可靠性的机制。NFV或者SDN能不能达到商业化,可靠性,安全性非常重要。非常感谢。