PlanetLab节点的故障诊断和资源监控是网络管理和用户试验所关心的重要问题。现有网管系统的设计功能不完备,不支持IPv6,不方便移植。6PlanetLab网管系统作为一种可扩展的PlanetLab网管系统,采用松耦合的设计,利用现有的测量工具,为CERNET上PlanetLab节点的管理员和用户提供了丰富的可视化信息,帮助故障诊断和资源监控;系统率先支持IPv6,并可以方便地移植到私有PlanetLab和非PlanetLab的分布式试验床中。目前,6PlanetLab已经正式运行4个多月。
GENI(Global Environment for Network Innovation)是一个开放的、大规模的、真实的网络试验平台。PlanetLab作为GENI的初步实现,以其广泛的地域分布和丰富的节点资源为网络研究人员提供了绝佳的分布式网络试验床。但是,对遍布全球的上百个节点的诊断和监控也成为网络管理的一大挑战。尽管目前已经涌现出一些PlanetLab网管系统,如CoMon,PLC monitor等,但它们普遍存在数据更新缓慢和故障诊断信息不完备的问题。另一方面,传统PlanetLab网管系统没有考虑对IPv6和其他新特性的支持,不方便移植到下一代互联网以及其他分布式试验床中。
针对前人工作没有解决的问题,本文设计实现了6PlanetLab网管系统,采取一系列手段提高测量和存取的效率,为CERNET上PlanetLab节点的故障诊断和资源监控提供了有力工具。同时,系统率先支持IPv6,采用松耦合的设计,可以方便地移植到非PlanetLab架构的试验床中,是对GENI的一大贡献。目前该网管系统已经在CNGI大规模路由和组播试验的IPv6分布式试验床上部署运行。
系统的设计与实现设计思想
6PlanetLab网管系统的设计遵循如下思想:(1)采用松耦合体系结构,充分利用现有工具;(2)尽力采集节点管理所需的各种信息;(3)提高数据存取效率;(4)数据可视化;(5)便于移植。
在此指导思想下,本文将系统按照功能划分为故障诊断模块,资源监控模块,数据存取模块和历史数据分析统计模块。
故障诊断模块
PlanetLab节点的工作状态取决于:第一,PLC上的节点配置;第二,实时硬件工作状态和网络性能。所以,诊断节点故障需要综合以上两方面信息进行分析。
一方面充分利用PLC提供的API接口获取各站点、节点、子网及用户的信息,另一方面利用ssh、ping、traceroute等工具,周期性地测量从中心管理服务器到各节点的网络性能,最终综合上述信息得出节点故障的诊断结果。
同时,网管系统还收集了用户及slice等信息,可以在发生故障时及时通知相关站点的管理人员采取必要的措施。典型的测量结果如图1所示。
资源监控模块
对一个开放式资源共享的网络平台来说,实时监控节点的可用硬件资源和可用网络带宽资源是平衡用户资源需求和提高试验床使用效率的前提。
首先,鉴于PlanetLab的虚拟机机制,普通slice用户无法掌握整个节点的硬件资源使用状况,所以网管系统借助SliceStat获取节点上各slice资源消耗的实时数据。在此基础之上,补充了排序、统计和可视化功能。一个典型的节点资源监控的统计数据如图2所示。
其次,采用分布式测量技术,通过在各节点部署测量探针,利用ping和iperf工具测量CERNET上各PlanetLab节点之间的网络性能,测量结果通过自定义的协议发送到中心管理服务器进行统计。一个典型的节点间网络延时RTT矩阵如图3所示。
第三,采用多线程技术,提高测量的实时性和并发性,尽可能反映同一时间的网络状况。
第四,资源消耗和网络性能的可视化,可以帮助用户选择合适的节点部署试验。
数据存取模块
6PlanetLab网管系统将采集到的数据按时间顺序存储,以提供历史查询与分析。
为了解决大量数据的存储问题,系统构建了特别的文件系统数据库。文件系统数据库的优势包括:(1)文本数据便于程序或脚本处理;(2)单个文件体积较小,可以避免单位数据的存取时间过长;(3)目录树结构可以提高数据访问效率;(4)不依赖于第三方数据库软件,方便系统移植。文件系统数据库结构如图4所示。
历史数据统计分析模块
统计和分析PlanetLab节点运行状况的历史数据,不仅可以反映路由变更频度,节点稳定度等信息,方便网络管理,而且可以帮助指导在PlanetLab上进行的其他试验研究。6PlanetLab网管系统可以绘制出节点状态信息的历史变化曲线,比如某两节点之间网络延时的变化,某节点的工作状态,同一时间可用节点数目等等。一个典型的历史数据图如图5所示。
系统可移植性
伴随MYPLC的发布,越来越多的研究机构开始部署私有PlanetLab。因为私有PlanetLab与公有PlanetLab的体系结构一致,本网管系统可以方便地部署到私有PlanetLab上。
6PlanetLab网管系统的数据存取、分布式测量、故障检测及历史统计分析同样适用于非PlanetLab架构的分布式试验床。得益于松耦合的设计,在IPv6环境下,只需换用一些支持IPv6的测量工具,系统就可以移植到IPv6试验床。目前该系统已经成功部署到了CNGI大规模路由与组播试验的IPv6试验床中,开始实际运行。
系统运行
6PlanetLab网管系统于2006年5月开始正式运行,在其后的几个月内保持稳定。其提供的诊断信息减轻了PlanetLab的管理成本,也为PlanetLab用户选择试验节点提供了切实帮助。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。