CN101436966B - 虚拟机环境下的网络监控与分析系统 - Google Patents
虚拟机环境下的网络监控与分析系统 Download PDFInfo
- Publication number
- CN101436966B CN101436966B CN2008102405007A CN200810240500A CN101436966B CN 101436966 B CN101436966 B CN 101436966B CN 2008102405007 A CN2008102405007 A CN 2008102405007A CN 200810240500 A CN200810240500 A CN 200810240500A CN 101436966 B CN101436966 B CN 101436966B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- module
- service
- network
- monitoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种虚拟机环境下的网络监控与分析系统,包括位于主机操作系统内的网络数据多路复用模块和轻量级虚拟机管理器模块,位于主机操作系统之上的虚拟机控制模块和服务虚拟机模块,以及位于主机操作系统和服务虚拟机内的I/O访问路径优化模块。本发明基于虚拟机实现了单个物理机器上的网络数据多路复用给多个网络监控与分析服务程序,从而能够对同一份网络数据实时提供多种监控与分析功能,并且实现了服务程序之间的安全隔离,以及按需动态调整分配给服务程序的资源。克服了现有网络监控与分析体系中存在的资源竞争、安全性低、系统不稳定和不易扩展等问题。
Description
(一)技术领域
本发明属于计算系统虚拟化技术领域,具体涉及一种虚拟机环境下的网络监控与分析系统。
(二)背景技术
在目前的网络监控与分析系统中,一种架构是在一台物理服务器上运行多个网络监控与分析服务程序。这些服务程序安装在同一个操作系统上,它们之间的隔离是进程级的。单个服务程序的维护和升级会影响其他服务程序的运行。存在各服务程序对系统平台环境组件版本的不同要求的矛盾。当某个服务程序发生故障时,可能会影响其他服务程序的正常运行,甚至使得整个系统崩溃。服务程序之间的隔离性(进程级)较弱,导致管理成本增加,极大影响了系统的灵活性,稳定性和安全性。另一方面,操作系统内核负责为服务程序调度和分配资源(CPU、内存和I/O等),以确保资源的公平使用和资源利用最大化。当服务程序的工作负载发生变化的,其对资源的需求也因此随之改变。但是操作系统很难实时地知道每个服务程序真正的资源需求,无法快捷方便的将已经分配给某些服务程序的资源转移给其他服务程序,导致当某个服务程序的负载过重时,另外的一些服务程序可能处于空闲状态,造成资源的不合理使用和整个系统性能下降。另一种架构是在单个服务器上运行单个网络监控与分析服务程序,虽然解决了安全隔离的问题,但是会造成大量计算资源和其他资源(如电力等)的浪费,不能很好的对系统进行扩展。
虚拟化技术出现于上个世纪六、七十年代,主要应用在大型机上,初衷是为了实现更高的设备利用率,使多个用户能够尽可能地利用大型机丰富的系统资源,节约成本。近年来,随着硬件设备性能的不断提高,虚拟机技术应用于X86架构的服务器成为当前的发展主流。X86虚拟化技术能够有效帮助服务器整合,从而减少服务器数量,提高服务器资源利用率,使得虚拟机技术应用于网络监控与分析系统成为可能和必然。
随着虚拟机技术的快速发展,Intel和AMD分别提出了硬件虚拟化技术——Intel VT-x和AMD-V。Intel VT-x和AMD-V技术从硬件上提供了对虚拟机的支持,可以用于支持虚拟机DMA的重定向,虚拟机中断的重定向以及直接I/O访问方式,提高虚拟机的I/O操作性能。
当前主流的系统虚拟机有VMware系列,Xen和KVM(Kernel Virtual Machine)等。在众多虚拟机中,VMware可交互性好,管理方便,界面完善,可实现全虚拟化。但由于其实现是基于二进制翻译,降低了虚拟机的性能。Xen和KVM从性能上更接近本地速度,但是Xen的性能会损失在一些负载上,特别是磁盘密集型和网络密集型的应用。从网络I/O实现机制看,Xen使用一个单独的doman0来进行数据的传送、管理和调度,带来了极大的开销。轻量级虚拟机KVM利用Intel VT-x或AMD-V技术将Linux内核作为虚拟机管理器(VMM),使得每一个虚拟机成为了一个Linux进程,减少了由一个单独的VMM来进行管理所带来的开销。KVM在网络I/O处理上进行了简化,相对于Xen有更好的网络I/O性能。这种轻量级虚拟机的实现方式正成为虚拟机的发展趋势。
基于虚拟机的服务器架构已经应用在一些企业数据中心来实现Web服务的整合,有比较成熟的技术支撑。但将虚拟机技术用于构建网络监控与分析体系还是一个新的领域和方向。计算系统虚拟化作为一种新型计算模式,具有非常广泛的应用前景。现有虚拟机管理器(VMM)使用虚拟网桥来实现主机与虚拟机之间网络数据的传送。当网络数据报文数较多时,会出现报文传输延迟增大甚至报文丢失的情况。在传统的虚拟机环境下,每个虚拟机中安装一个操作系统,操作系统中运行应用服务,这样会带来很大的开销,频繁的I/O操作导致主机操作系统与虚拟机之间的频繁切换,严重降低了整个系统的性能和网络数据的传输效率。这些都会带来网络监控与分析系统的不易扩展、适应性差和可靠性弱等问题。
(三)发明内容
本发明的目的在于针对网络监控与分析系统存在的安全、稳定、输入数据的竞争以及资源的动态分配问题,提供一种虚拟机环境下的网络监控与分析系统,实现安全、稳定、可扩展的新型网络监控与分析系统。
在本发明提供的虚拟机环境下的网络监控与分析系统中,单个物理机器上可同时运行多个服务虚拟机(Service Virtual Machine),每个服务虚拟机封装一个网络监控与分析服务程序,使得运行在服务虚拟机中的服务程序之间具有很好的安全隔离性。多个网络监控与分析服务程序能够实时地同时处理物理机器网络设备上的大量网络数据,从而能够对同一份网络数据实现多种监控与分析功能。虚拟机管理器(Virtual Machine Monitor,VMM)可以控制分配给服务虚拟机和客户系统(运行在服务虚拟机内的系统)的硬件资源。VMM提供了一个硬件资源的统一视图,使得硬件资源简单的被抽象成可运行多个服务虚拟机的多个资源池,并且可以根据需要动态调整每个服务虚拟机及其所封装的网络监控与分析服务所使用的物理资源。VMM通过与主机操作系统(Host OS)配合,负责给每个正在运行的服务虚拟机分配CPU时间、内存和I/O等资源,使得每个服务虚拟机都能透明的共享物理资源。
本发明提供的虚拟机环境下的网络监控与分析系统,其特征在于:它包括位于主机操作系统内的网络数据多路复用模块和轻量级虚拟机管理器模块,位于主机操作系统之上的虚拟机控制模块和服务虚拟机模块,以及位于主机操作系统和服务虚拟机内的I/O访问路径优化模块;
网络数据多路复用模块捕获主机网络I/O设备接收到的数据,然后在轻量级虚拟机管理器模块的支持下多路复用给多个服务虚拟机模块,即每个服务虚拟机模块中的网络监控与分析服务都能够实时地获得主机网络I/O设备接收到的数据拷贝,从而能够对同一份网络数据实现多种监控与分析功能;
轻量级虚拟机管理器模块负责管理多个服务虚拟机的生成、终止、暂停和运行,根据虚拟机控制模块的指令为不同服务虚拟机分配资源,包括CPU、内存等;
虚拟机控制模块通过轻量级虚拟机管理器模块动态启停服务虚拟机,且根据实际需求动态调整分配给不同服务虚拟机的各种资源;
服务虚拟机模块运行一个操作系统,并在操作系统上构建一个网络监控和分析程序,该程序对网络数据多路复用模块提供的数据进行监控和分析。
I/O访问路径优化模块用于缩短网络数据从网络设备到服务虚拟机模块的传递路径,减少传输中网络数据的丢失和由于传输网络数据所带来的系统性能开销。
其中,网络数据多路复用模块包括网络数据捕获模块、设备访问模块、高效MAC层复用模块和I/O访问路径优化模块;
网络数据捕获模块获取网络设备的数据报文并将这些报文传递给设备访问模块;
设备访问模块接收网络数据捕获模块提供的数据,分析数据报文的格式,根据预定义规则对接收到数据报文进行格式转换处理,并将经过处理后的数据报文传递给高效MAC层复用模块;
高效MAC层复用模块在轻量级虚拟机管理器模块控制下将来自设备访问模块的数据报文实时地拷贝给多个服务虚拟机模块;
I/O访问路径优化模块用于缩短网络数据报文从网络设备到轻量级虚拟机管理器模块的传递路径,减少传输中数据报文的丢失和由于传输数据报文所带来的系统性能开销。
其中,轻量级虚拟机管理器模块包括轻量级虚拟机监控模块、硬件支持的指令虚拟化模块和I/O访问路径优化模块;
轻量级虚拟机监控模块在主机操作系统和硬件支持的指令虚拟化模块的配合协作下根据虚拟机控制模块的指令生成、终止、暂停和运行服务虚拟机,对服务虚拟机进行安全隔离,管理分配给服务虚拟机的各种资源;
硬件支持的指令虚拟化模块通过硬件方式执行指令虚拟化,减少由于网络数据报文的到达所导致的主机操作系统和服务虚拟机之间的频繁切换,降低系统的切换开销和网络数据报文的传输延迟;
I/O访问路径优化模块用于缩短网络数据报文从轻量级虚拟机管理器模块到服务虚拟机模块的传递路径,减少传输中数据报文的丢失和由于传输数据报文所带来的系统性能开销。
其中,虚拟机控制模块包括服务虚拟机动态启停模块、服务虚拟机资源动态调整模块、服务平移模块和用户程序接口模块;
服务虚拟机动态启停模块向轻量级虚拟机监控模块发送指令并通过其控制服务虚拟机的生成、终止、暂停和运行,并通过用户程序接口模块提供应用程序接口便于用户操作;
服务虚拟机资源动态调整模块向轻量级虚拟机监控模块发送指令并通过其控制分配给服务虚拟机的资源,该模块根据需求为每个服务虚拟机实时准确的调度和分配资源,减少服务虚拟机所用资源的浪费,提高整个系统的资源使用效率和性能,且避免出现服务请求峰值时由于资源不够造成系统性能的急剧下降,并通过用户程序接口模块提供应用程序接口便于用户操作;
服务平移模块向轻量级虚拟机监控模块发送指令并通过其控制服务虚拟机的动态平移,从而在某个服务虚拟机或服务虚拟机内的网络监控与分析服务发生问题或崩溃时将虚拟机内的网络监控与分析服务程序完整迁移到其他可用的物理机器上。
其中,服务虚拟机模块包括网络监控与分析服务模块、I/O访问路径优化模块;
本发明中存在多个服务虚拟机模块,每个服务虚拟机模块中运行一个操作系统,在该操作系统中运行一个网络监控与分析服务程序;
每个网络监控与分析服务程序根据实际要求包括收集数据、存储数据、分析数据和服务应用等功能,实现特定的网络监控与分析服务;
I/O访问路径优化模块用于缩短网络数据报文在服务虚拟机模块内的传递路径,减少传输中数据报文的丢失和由于传输数据报文所带来的系统性能开销。
通过本发明提供的虚拟机环境下的网络监控与分析系统,可以实现多个网络监控与分析服务程序实时地同时处理相同的大量网络数据。本发明的网络监控与分析系统能够很好的保障网络监控与分析系统自身的安全可靠性,对各个服务虚拟机进行安全隔离,即使在某个服务虚拟机或其中的网络监控与分析服务程序发生故障或崩溃时,不会影响到其他网络监控与分析服务程序和整个系统的正常运行,并且通过对发生故障的服务虚拟机的动态平移实现服务的可靠性和连续可用性。本发明的网络监控与分析系统通过动态启停虚拟机和动态调整虚拟机所需资源,能够适应在实际环境中多种网络监控与分析应用的动态变化,具有更好的灵活性和可扩展性。具体而言,本发明具有下述技术优点和效果:
(1)实现资源的虚拟化,提高资源的使用效率
传统的网络监控与分析系统中,一种架构是在一台物理服务器上运行多个网络监控与分析服务程序,这些服务程序安装在同一个操作系统上,它们之间的隔离较差,导致对资源的不合理利用。另一种架构是在单个服务器上运行单个网络监控与分析服务程序,虽然解决了安全隔离的问题,但是会造成大量计算资源和其他资源(如电力等)的浪费。虚拟机环境下,单个物理服务器上运行多个服务虚拟机,通过虚拟机管理器为不同服务虚拟机分配合理资源的方式来满足服务对资源的动态需求,实现服务整合,使得不会出现某些虚拟机对资源的浪费,提高了整个系统的资源使用效率和性能,且避免出现服务请求峰值时由于资源不够造成系统性能的急剧下降。
(2)更高的安全可靠性和连续可用性
在一台物理服务器上运行多个网络监控与分析服务程序,单个服务程序的维护和升级会影响其他服务程序的运行。当某个服务程序发生故障时,可能会影响其他服务程序的正常运行,甚至使得整个系统崩溃。服务程序之间的隔离性(进程级)较弱,导致管理成本增加,极大影响了系统的灵活性,稳定性和安全性。虚拟机环境下,每个服务虚拟机封装一个网络监控与分析服务程序,使得运行在服务虚拟机中的服务程序之间具有很好的安全隔离性。某个服务程序的故障或崩溃不会影响到其他服务程序的运行。同时,可以通过迁移整个服务虚拟机的方式来实现服务的实时备份和动态平移,提高整个系统的可靠性和连续可用性。
(3)更强的灵活性和可扩展性
在传统的网络监控与分析系统中,单个服务程序的维护和升级会影响其他服务程序的运行。存在各服务程序对系统平台环境组件版本的不同要求的矛盾。虚拟机环境下的网络监控与分析系统通过虚拟机控制模块可以灵活的生成、终止、暂停和运行多个网络监控与分析服务程序,并且网络监控与分析服务程序都使用同一份网络数据拷贝,同时实现多个网络监控与分析功能,并且可以根据需求增加或减少网络监控与分析服务而对其他服务不造成影响,使得整个系统具有很强的可扩展性。
(四)附图说明
图1虚拟机环境下的网络监控与分析系统的模块结构示意图;
图2轻量级虚拟机管理器模块结构及其模块交互示意图;
图3业务虚拟机模块结构及其模块交互示意图;
图4I/O访问路径优化的工作流程示意图。
图中具体标号如下:
1-网络数据多路复用模块 1.1-网络数据捕获模块 1.2-设备访问模块
1.3-高效MAC层复用模块 2-轻量级虚拟机管理器模块 2.1-轻量级虚拟机监控模块
2.1.1-标准字符设备模块 2.1.2-虚拟内存模块 2.1.3-虚拟CPU模块
2.1.4-系统调用接口模块 2.1.5-系统函数库模块 2.2硬件支持的指令虚拟化模块
3-虚拟机控制模块 3.1服务虚拟机动态启停模块 3.2服务虚拟机资源动态调整模块
3.3-服务平移模块 3.4用户程序接口模块 4-业务虚拟机模块
4.1服务虚拟机模块 4.1.1-网络监控于分析服务模块 4.n-服务虚拟机模块
4.1.1.1-收集数据模块 4.1.1.2-存储数据模块 4.1.1.3-分析数据模块
4.1.1.4-服务应用模块 4.2.1.1-收集数据模块 4.2.1.2-存储数据模块
4.2.1.3-分析数据模块 4.2.1.4-服务应用模块 4.n.1.1-收集数据模块
4.n.1.2-存储数据模块 4.n.1.3-分析数据模块 4.n.1.4-服务应用模块
5-I/O访问路径优化模块 5.1-I/O访问路径优化模块 5.2-I/O访问路径优化模块
5.3.1-I/O访问路径优化模块 5.3.n-I/O访问路径优化模块
(五)具体实施方式
在下述具体实施示例中,结合附图对本发明进行进一步的详细说明。如图1所示,虚拟机环境下的网络监控与分析系统在体系结构上主要分为五个部分:位于主机操作系统内的网络数据多路复用模块1和轻量级虚拟机管理器模块2,位于主机操作系统之上的虚拟机控制模块3和服务虚拟机模块4,以及位于主机操作系统和服务虚拟机内的I/O访问路径优化模块5。服务虚拟机模块包括服务虚拟机模块4.1、......、4.n,为方便描述,下面将服务虚拟机模块4.1、......、4.n统称为服务虚拟机模块4。I/O访问路径优化模块包括三个部分,分别是位于网络数据多路复用模块1中的I/O访问路径优化模块5.1,轻量级虚拟机管理器模块2中的I/O访问路径优化模块5.2,服务虚拟机模块4.1、......、4.n中的I/O访问路径优化模块5.3.1、......、5.3.n。
网络数据多路复用模块1捕获主机网络I/O设备接收到的数据,然后多路复用给多个服务虚拟机模块4。轻量级虚拟机管理器模块2管理多个服务虚拟机的生成、终止、暂停和运行,根据虚拟机控制模块3的指令为不同服务虚拟机分配资源,包括CPU、内存等。虚拟机控制模块3通过轻量级虚拟机管理器模块2动态启停服务虚拟机,且根据实际需求动态调整分配给不同服务虚拟机的各种资源。服务虚拟机模块4运行一个操作系统,并在操作系统上构建一个网络监控和分析程序,该程序对网络数据多路复用模块1提供的数据进行监控和分析。
下面对系统各个模块分别进行详细介绍。
网络数据多路复用模块1在系统中主要负责从物理机器的网络I/O设备实时捕获大量网络数据报文,并将具有不同报文格式的数据转换为MAC协议层数据报文,然后将这些数据报文多路复用给多个服务虚拟机模块4。如图1所示。
网络数据捕获模块1.1实时获取物理机器的网络I/O设备的大量数据报文并将这些报文传递给设备访问模块1.2。针对不同的应用,存在着各种各样类型的网络,不同网络在工作过程种存在着很大的差异,例如,光纤骨干网和以太网上的数据报文的格式是不同的,所以要处理这些不同的报文,就必须首先对报文格式进行一定的转化。设备访问模块1.2接收网络数据捕获模块1.1提供的数据,分析数据报文的格式,根据预定义规则对接收到数据报文进行格式转换处理,并将经过处理后的数据报文传递给高效MAC层复用模块1.3。
高效MAC层复用模块1.3在轻量级虚拟机管理器模块2控制下将来自设备访问模块1.2的数据报文实时地拷贝给多个服务虚拟机模块4。在虚拟机环境下,采用虚拟网桥的方式来实现主机和各个服务虚拟机之间的数据传输,即通过查找虚拟网桥中虚拟MAC端口表来确定数据将要转发的虚拟端口并通过其传输数据,从而实现主机和服务虚拟机之间的数据通信。然而,当网络数据报文数逐步增加时,虚拟网桥无法及时处理,甚至导致报文丢失,更糟糕的是可能出现网络数据接收死锁,虚拟网桥陷入瘫痪。高效MAC层复用模块1.3通过控制网络数据报文到达引发的中断进入率,检查是否因为中断处理占而用了太多的资源,如果是则暂时的屏蔽某些中断;限制中断可以防止系统饱和但不保证网络数据报文一定被处理,故采用轮询方式处理接收网络数据报文以保证资源合理分配,提高公平性;另外,接收活锁的部分原因是中断处理抢夺了网络数据报文的处理,通过提高报文处理的中断级别使得其不被抢夺。
轻量级虚拟机管理器模块2根据虚拟机控制模块3的指令生成、终止、暂停和运行服务虚拟机,对服务虚拟机进行安全隔离,管理分配给服务虚拟机的各种资源;减少由于网络数据报文的到达所导致的主机操作系统和服务虚拟机之间的频繁切换,降低系统的切换开销和网络数据报文的传输延迟。轻量级虚拟机管理器模块2包括轻量级虚拟机监控模块2.1、硬件支持的指令虚拟化模块2.2和I/O访问路径优化模块5.2。
轻量级虚拟机管理器模块2是基于Linux内核的虚拟机管理器,每个服务虚拟机就是一个简单的Linux进程,因此可以充分利用Linux内核的一些特性,所有标准的Linux进程管理工具都可以应用于虚拟机,由此带来的虚拟资源的控制和调度开销会比较小,并且管理工具实现起来方便简洁。如图2所示,轻量级虚拟机监控模块2.1是作为Linux操作系统内核的一个模块,包括标准字符设备模块2.1.1、虚拟内存模块2.1.2、虚拟CPU模块2.1.3、系统调用接口模块2.1.4和系统函数库模块2.1.5。标准字符设备模块2.1.1、虚拟内存模块2.1.2和虚拟CPU模块2.1.3分别用于构造服务虚拟机所需的虚拟网络I/O设备,虚拟内存设备和虚拟CPU设备。服务虚拟机模块4通过调用系统函数库模块2.1.5从而实际调用系统调用接口模块2.1.4访问标准字符设备模块2.1.1、虚拟内存模块2.1.2和虚拟CPU模块2.1.3,构造服务虚拟机的运行环境。每一个服务虚拟机对Linux来说是一个标准的进程,可以使用Linux的进程管理指令管理,例如用taskset指令指定服务虚拟机运行于某个特定的CPU,也可以用kill指令终止服务虚拟机的运行。目前虚拟机管理器的一个主要问题在于,对于服务虚拟机采用软件方式实现内存管理单元(MMU),以维护服务虚拟机虚拟地址到主机物理地址的转换(即影子页表),由于采用先进先出的调度方式,造成页表的命中率比较低,因此频繁的进行内存操作可能会导致页面颠簸,从而占用过多资源。轻量级虚拟机管理器模块2采用轻量级虚拟MMU调度算法,提高系统的效率性能。
由于虚拟机运行于用户空间,因此每一次I/O操作都将引起虚拟机退出,也就是每一次网络数据报文的到达都会导致虚拟机停止运行,进入内核空间进行特权资源的虚拟化。在高速的网络环境中,大量的网络数据报文将导致虚拟机频繁的退出,增大了系统的切换开销和网络数据报文的传输延时,极大的浪费了系统资源。硬件支持的指令虚拟化模块2.2采用IntelVT-d技术,以硬件方式执行指令虚拟化,通过中断重定向机制将物理网络I/O设备的中断直接发送到虚拟机,通过DMA重定向机制将物理网络I/O设备上的数据直接读入虚拟机的内存区域,从而减少虚拟机的退出次数,降低网络数据报文的传输延时和系统开销。
虚拟机控制模块3向轻量级虚拟机监控模块2.1发送指令并通过其控制服务虚拟机的生成、终止、暂停和运行,动态调整服务虚拟机所用资源,并提供应用程序接口便于用户操作,包括服务虚拟机动态启停模块3.1、服务虚拟机资源动态调整模块3.2,服务平移模块3.3和用户程序接口模块3.4。
现有的虚拟机技术能够一定程度上实现虚拟机启停和资源的动态调整,但只能是用户根据经验或者以往虚拟机资源使用情况手动进行配置,其技术及其应用方法难以适应网络环境下服务需求的实时动态变化。如图1所示,服务虚拟机动态启停模块3.1向轻量级虚拟机监控模块2.1发送指令并通过其控制服务虚拟机的生成、终止、暂停和运行。服务虚拟机资源动态调整模块3.2向轻量级虚拟机监控模块2.1发送指令并通过其控制分配给服务虚拟机的资源。服务虚拟机资源动态调整模块3.2确定物理资源虚拟化的粒度可变化机制和系统资源动态自适应调整机制。物理资源虚拟化的粒度可变化机制主要制定物理资源的粒度划分策略和粒度虚拟化可变性方法等。系统资源动态自适应调整机制主要确定服务负载经常实时发生变化和因为系统进行维护等使得物理资源发生改变的情况下,虚拟资源如何随之动态调整,以适应上述变化并更好地完成服务需求,提高资源利用率和分配的灵活性。服务虚拟机动态启停模块3.1和服务虚拟机资源动态调整模块3.2可以减少服务虚拟机所用资源的浪费,提高整个系统的资源使用效率和性能,且避免出现服务请求峰值时由于资源不够造成系统性能的急剧下降。
服务平移模块3.3向轻量级虚拟机监控模块2.1发送指令并通过其控制服务虚拟机的动态平移。当某个虚拟机或物理服务器发生故障时,在不停机的情况下,使得该虚拟机或服务器内的多个虚拟机从一个物理服务器动态平移到另一个物理服务器上,不中断虚拟机内服务的运行,使得系统具备动态迁移能力并支持服务之间的协作执行,保证服务的连续可用性和完整性。服务平移模块3.3可以应用于系统硬件维护,系统的备份与恢复和多个服务器间的负载平衡等,保证系统的可恢复性、可靠性和连续可用性。
用户程序接口模块3.4调用服务虚拟机动态启停模块3.1、服务虚拟机资源动态调整模块3.2和服务平移模块3.3来手动创建、编辑、启动、中止、终止和迁移任意一个虚拟机;可以监控每个虚拟机的实时性能、资源利用率等统计信息;自动根据各个服务所在虚拟机的实时性能、资源利用率等信息动态地调整分配给每个虚拟机的资源。
服务虚拟机模块4包括多个服务虚拟机模块4.1、......、4.n,每个运行一个操作系统,并在操作系统上构建一个网络监控和分析程序,该程序对网络数据多路复用模块1提供的数据进行监控和分析,服务虚拟机模块4.x包括网络监控与分析服务模块4.x1和I/O访问路径优化模块5.3.x。
以一个网络监控与分析服务模块4.1.1为例,如图3所示,它根据实际要求包括收集数据模块4.1.1.1、存储数据模块4.1.1.2、分析数据模块4.1.1.3和服务应用模块4.1.1.4等功能,实现特定的网络监控与分析服务。
收集数据模块4.1.1.1对网络数据多路复用模块1提供的原始网络数据报文进行预处理,根据报文的源IP地址、目的IP地址、协议号、源端口和目的端口对其进行分类和标记形成流数据报文。然后将流数据报文传送给存储数据模块4.1.1.2。
存储数据模块4.1.1.2对来自收集数据模块4.1.1.1的流数据报文进行存储。在流数据报文存储过程中,存储数据模块4.1.1.2根据每个流数据报文的标记把流数据报文写入对应的存储缓冲区,具有相同标记的流数据报文在同一个缓冲区中排队等待分析数据模块4.1.1.3的处理。
分析数据模块4.1.1.3根据不同的监控与分析要求查询存储在存储缓冲区中的数据。分析数据模块4.1.1.3发送查询消息给存储数据模块4.1.1.2,并根据所查询到的流数据报文将其对应的网络数据报文放入数据库表中,以供服务应用模块4.1.1.4使用。
服务应用模块4.1.1.4向外提供Web访问接口或终端访问接口,使得可以通过这些接口构建多种形式的网络监控与分析服务。Web访问接口或终端访问接口通过访问分析数据模块4.1.1.3生成的数据库表来实现特定应用。
I/O访问路径优化模块5用于缩短网络数据从网络设备到服务虚拟机模块4的传递路径,减少传输中网络数据的丢失和由于传输网络数据所带来的系统性能开销,包括从网络设备到轻量级虚拟机管理器模块2的I/O访问路径优化模块5.1,从轻量级虚拟机管理器模块2到服务虚拟机模块4的I/O访问路径优化模块5.2,服务虚拟机模块4内的I/O访问路径优化模块5.3。
优化后的I/O访问路径如图4所示,主要分为三个部分:
(1)从网络设备到轻量级虚拟机管理器模块2:当物理机器上的物理网络设备感知有网络数据报文到达时,物理网络设备会产生一个中断请求,主机操作系统中的网络设备驱动程序捕获这个中断,网络设备驱动程序将网络数据报文发到虚拟网桥上,并存储在网桥的数据缓冲区中。虚拟网桥通过端口转发功能,将数据缓冲区中的网络数据报文转发到与其相连的另一个端口——虚拟网络设备。
(2)从轻量级虚拟机监控模块2到服务虚拟机模块4:虚拟网络设备位于主机操作系统内核中,接收到网络数据报文后,向轻量级虚拟机监控模块2.1发送一个信号。轻量级虚拟机监控模块2.1收到该信号后,根据预先配置好的虚拟网络设备和服务虚拟机模块4的对应关系,发送一个虚拟中断给相应的服务虚拟机模块4.x。服务虚拟机模块4.x接收到虚拟中断并准备好接收报文后,虚拟网络设备将缓存在其中的网络数据报文发送至服务虚拟机模块4.x。
(3)服务虚拟机模块4内:将虚拟网络设备发送来的报文拷贝至服务虚拟机模块4.x所在的内存区中,然后发送信号给服务虚拟机的虚拟网络设备,虚拟网络设备将网络数据报文上传至上层协议栈并由网络监控与分析服务程序对其进行处理。
Claims (5)
1.一种虚拟机环境下的网络监控与分析系统,其特征在于:它包括位于主机操作系统内的网络数据多路复用模块和轻量级虚拟机管理器模块,位于主机操作系统之上的虚拟机控制模块和服务虚拟机模块,以及位于主机操作系统和服务虚拟机内的I/O访问路径优化模块;
网络数据多路复用模块捕获主机网络I/O设备接收到的数据,然后多路复用给多个服务虚拟机模块,即每个服务虚拟机模块中的网络监控与分析服务都能够实时地获得主机网络I/O设备接收到的数据拷贝,从而能够对同一份网络数据实现多种监控与分析功能;
轻量级虚拟机管理器模块管理多个服务虚拟机的生成、终止、暂停和运行,根据虚拟机控制模块的指令为不同服务虚拟机分配资源,包括CPU和内存;
虚拟机控制模块通过轻量级虚拟机管理器模块动态启停服务虚拟机,且根据实际需求动态调整分配给不同服务虚拟机的各种资源;
服务虚拟机模块运行一个操作系统,并在操作系统上构建一个网络监控和分析程序,该程序对网络数据多路复用模块提供的数据进行监控和分析;
I/O访问路径优化模块用于缩短网络数据从网络设备到服务虚拟机模块的传递路径,减少传输中网络数据的丢失和由于传输网络数据所带来的系统性能开销。
2.根据权利要求1所述的网络监控与分析系统,其特征在于:所述的网络数据多路复用模块包括网络数据捕获模块、设备访问模块、高效MAC层复用模块和I/O访问路径优化模块;
网络数据捕获模块获取网络设备的数据报文并将这些报文传递给设备访问模块;
设备访问模块接收网络数据捕获模块提供的数据,分析数据报文的格式,根据预定义规则对接收到数据报文进行格式转换处理,并将经过处理后的数据报文传递给高效MAC层复用模块;
高效MAC层复用模块在轻量级虚拟机管理器模块控制下将来自设备访问模块的数据报文实时地拷贝给多个服务虚拟机模块;
I/O访问路径优化模块用于缩短网络数据报文从网络设备到轻量级虚拟机管理器模块的传递路径,减少传输中数据报文的丢失和由于传输数据报文所带来的系统性能开销。
3.根据权利要求1所述的网络监控与分析系统,其特征在于:所述的轻量级虚拟机管理器模块包括轻量级虚拟机监控模块、硬件支持的指令虚拟化模块和I/O访问路径优化模块;
轻量级虚拟机监控模块在主机操作系统和硬件支持的指令虚拟化模块的配合协作下根据虚拟机控制模块的指令生成、终止、暂停和运行服务虚拟机,对服务虚拟机进行安全隔离,管理分配给服务虚拟机的各种资源;
硬件支持的指令虚拟化模块通过硬件方式执行指令虚拟化,减少由于网络数据报文的到达所导致的主机操作系统和服务虚拟机之间的频繁切换,降低系统的切换开销和网络数据报文的传输延迟;
I/O访问路径优化模块用于缩短网络数据报文从轻量级虚拟机管理器模块到服务虚拟机模块的传递路径,减少传输中数据报文的丢失和由于传输数据报文所带来的系统性能开销。
4.根据权利要求1所述的网络监控与分析系统,其特征在于:所述的虚拟机控制模块包括服务虚拟机动态启停模块、服务虚拟机资源动态调整模块、服务平移模块和用户程序接口模块;
服务虚拟机动态启停模块向轻量级虚拟机监控模块发送指令并通过其控制服务虚拟机的生成、终止、暂停和运行,并通过用户程序接口模块提供应用程序接口便于用户操作;
服务虚拟机资源动态调整模块向轻量级虚拟机监控模块发送指令并通过其控制分配给服务虚拟机的资源,该模块根据需求为每个服务虚拟机实时准确的调度和分配资源,减少服务虚拟机所用资源的浪费,提高整个系统的资源使用效率和性能,且避免出现服务请求峰值时由于资源不够造成系统性能的急剧下降,并通过用户程序接口模块提供应用程序接口便于用户操作;
服务平移模块向轻量级虚拟机监控模块发送指令并通过其控制服务虚拟机的动态平移,从而在某个服务虚拟机或服务虚拟机内的网络监控与分析服务发生问题或崩溃时将虚拟机内的网络监控与分析服务程序完整迁移到其他可用的物理机器上。
5.根据权利要求1所述的网络监控与分析系统,其特征在于:所述的服务虚拟机模块包括网络监控与分析服务模块和I/O访问路径优化模块;
存在多个服务虚拟机模块,每个服务虚拟机中运行一个操作系统,在该操作系统中运行一个网络监控与分析服务程序;
每个网络监控与分析服务程序根据实际要求包括收集数据、存储数据、分析数据和服务应用的功能,实现特定的网络监控与分析服务;
I/O访问路径优化模块用于缩短网络数据报文在服务虚拟机模块内的传递路径,减少传输中数据报文的丢失和由于传输数据报文所带来的系统性能开销。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102405007A CN101436966B (zh) | 2008-12-23 | 2008-12-23 | 虚拟机环境下的网络监控与分析系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102405007A CN101436966B (zh) | 2008-12-23 | 2008-12-23 | 虚拟机环境下的网络监控与分析系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101436966A CN101436966A (zh) | 2009-05-20 |
CN101436966B true CN101436966B (zh) | 2011-06-01 |
Family
ID=40711198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102405007A Expired - Fee Related CN101436966B (zh) | 2008-12-23 | 2008-12-23 | 虚拟机环境下的网络监控与分析系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101436966B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177212A (zh) * | 2013-03-08 | 2013-06-26 | 湘潭大学 | 一种基于轻量虚拟机监控器的计算机安全输入系统与方法 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668022B (zh) * | 2009-09-14 | 2012-09-12 | 陈博东 | 一种建立在虚拟机上的虚拟网络隔离系统及实现方法 |
CN101764703B (zh) * | 2009-09-16 | 2011-12-21 | 深圳市震有科技有限公司 | 一种基于虚拟技术的网元管理系统的实现方法 |
CN102110217B (zh) * | 2009-12-28 | 2013-07-24 | 北京安码科技有限公司 | 一种通过虚拟机岗位轮换实现自动修复的方法 |
CN101814121A (zh) * | 2010-04-19 | 2010-08-25 | 山东高效能服务器和存储研究院 | 一种预见性虚拟机零宕机ha |
CN101859263B (zh) * | 2010-06-12 | 2012-07-25 | 中国人民解放军国防科学技术大学 | 一种支持在线迁移的虚拟机间快速通信方法 |
CN101917460B (zh) * | 2010-07-22 | 2012-12-05 | 河南远为网络信息技术有限公司 | 基于虚拟机技术的远程维护系统 |
CN101951394B (zh) * | 2010-08-30 | 2012-10-03 | 北京慧达天成信息技术有限公司 | 一种双卡信息通信系统 |
CN102307208B (zh) * | 2010-09-25 | 2014-08-06 | 广东电子工业研究院有限公司 | 基于云计算的虚拟机运行控制装置及其运行控制方法 |
US20140351936A1 (en) * | 2011-12-19 | 2014-11-27 | Beijing Rising Information Technology Co., Ltd. | Frequency-variable anti-virus technology |
US9313119B2 (en) * | 2012-05-10 | 2016-04-12 | Intel Corporation | Network routing based on resource availability |
CN103001953B (zh) * | 2012-11-21 | 2015-09-09 | 北京航空航天大学 | 虚拟机网络资源分配方法及装置 |
CN104102524A (zh) * | 2013-04-12 | 2014-10-15 | 中国银联股份有限公司 | 一种实现虚拟安全载体vse的方法 |
CN104580120A (zh) * | 2013-10-28 | 2015-04-29 | 北京启明星辰信息技术股份有限公司 | 一种可按需服务的虚拟化网络入侵检测方法和装置 |
CN104714845B (zh) * | 2013-12-17 | 2018-06-26 | 华为技术有限公司 | 资源动态调整方法、装置及多内核操作系统 |
CN103701791B (zh) * | 2013-12-20 | 2017-09-01 | 中电长城网际系统应用有限公司 | 一种基于虚拟桌面系统的虚拟桌面的操作方法 |
CN103870314B (zh) * | 2014-03-06 | 2017-01-25 | 中国科学院信息工程研究所 | 一种单节点同时运行不同类型虚拟机的方法及系统 |
CN104598842B (zh) * | 2015-02-03 | 2018-05-01 | 中国电子科技集团公司第三十研究所 | 一种虚拟机监控器信任域分割方法 |
CN104598298A (zh) * | 2015-02-04 | 2015-05-06 | 上海交通大学 | 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法 |
CN104702469B (zh) * | 2015-03-27 | 2019-02-12 | 北京奇虎科技有限公司 | 监控网络数据的方法、实体机虚拟设备及网络系统 |
US9378043B1 (en) * | 2015-05-28 | 2016-06-28 | Altera Corporation | Multilayer quality of service (QOS) for network functions virtualization platforms |
CN105117645B (zh) * | 2015-07-29 | 2018-03-06 | 杭州安恒信息技术有限公司 | 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法 |
CN105591815A (zh) * | 2015-12-10 | 2016-05-18 | 北京匡恩网络科技有限责任公司 | 一种适用于云测试平台的电源中继设备的网络控制方法 |
CN105701400A (zh) * | 2016-01-12 | 2016-06-22 | 中国人民解放军信息工程大学 | 一种虚拟机平台的安全控制方法及装置 |
CN107291423B (zh) * | 2016-03-31 | 2020-09-29 | 龙芯中科技术有限公司 | 构建运行环境的方法和装置 |
WO2017202272A1 (en) * | 2016-05-26 | 2017-11-30 | Huawei Technologies Co., Ltd. | System and method of software defined switches between light weight virtual machines using host kernel resources |
CN107133067A (zh) * | 2017-04-07 | 2017-09-05 | 深信服科技股份有限公司 | 云平台部署方法及装置 |
CN109144679B (zh) * | 2017-06-27 | 2022-03-29 | 华为技术有限公司 | 中断请求的处理方法、装置及虚拟化设备 |
CN110147265A (zh) * | 2019-04-26 | 2019-08-20 | 王云飞 | 一种基于微控制器平台的整合型虚拟化系统的方法 |
CN110633122A (zh) * | 2019-09-19 | 2019-12-31 | 北京朋创天地科技有限公司 | 虚拟桌面管理系统及方法 |
CN111143839A (zh) * | 2019-12-30 | 2020-05-12 | 厦门服云信息科技有限公司 | 一种基于虚拟化行为分析技术的恶意代码检测方法及装置 |
CN111522624B (zh) * | 2020-04-17 | 2023-10-20 | 成都安恒信息技术有限公司 | 一种基于虚拟化技术的报文转发性能弹性扩展系统及其扩展方法 |
CN116302279B (zh) * | 2023-03-22 | 2023-09-15 | 合芯科技有限公司 | 一种用于容器内gpu加速的虚拟桌面管理系统和服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761944A (zh) * | 2003-03-21 | 2006-04-19 | 英特尔公司 | 用于虚拟机的动态服务注册中心 |
US7197561B1 (en) * | 2001-03-28 | 2007-03-27 | Shoregroup, Inc. | Method and apparatus for maintaining the status of objects in computer networks using virtual state machines |
CN1953391A (zh) * | 2005-10-20 | 2007-04-25 | 联想(北京)有限公司 | 计算机管理系统以及计算机管理方法 |
US7412701B1 (en) * | 2002-04-22 | 2008-08-12 | Cisco Technology, Inc. | Method for network management using a virtual machine in a network device |
-
2008
- 2008-12-23 CN CN2008102405007A patent/CN101436966B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197561B1 (en) * | 2001-03-28 | 2007-03-27 | Shoregroup, Inc. | Method and apparatus for maintaining the status of objects in computer networks using virtual state machines |
US7412701B1 (en) * | 2002-04-22 | 2008-08-12 | Cisco Technology, Inc. | Method for network management using a virtual machine in a network device |
CN1761944A (zh) * | 2003-03-21 | 2006-04-19 | 英特尔公司 | 用于虚拟机的动态服务注册中心 |
CN1953391A (zh) * | 2005-10-20 | 2007-04-25 | 联想(北京)有限公司 | 计算机管理系统以及计算机管理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177212A (zh) * | 2013-03-08 | 2013-06-26 | 湘潭大学 | 一种基于轻量虚拟机监控器的计算机安全输入系统与方法 |
CN103177212B (zh) * | 2013-03-08 | 2016-03-16 | 湘潭大学 | 一种基于轻量虚拟机监控器的计算机安全输入系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101436966A (zh) | 2009-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101436966B (zh) | 虚拟机环境下的网络监控与分析系统 | |
US7689996B2 (en) | Method to distribute programs using remote Java objects | |
CN101557420B (zh) | 虚拟机监控器高效网络通信的实现方法 | |
Bangs et al. | Better operating system features for faster network servers | |
US11204798B2 (en) | Apparatus and method for virtual machine scheduling in non-uniform memory access architecture | |
CN112199194A (zh) | 基于容器集群的资源调度方法、装置、设备和存储介质 | |
CN103684916A (zh) | 一种云计算下智能监控分析方法及系统 | |
CN107977271B (zh) | 一种数据中心综合管理系统负载均衡方法 | |
CN104156255A (zh) | 一种虚拟机迁移方法、虚拟机迁移装置及源物理主机 | |
WO2023046141A1 (zh) | 一种数据库网络负载性能的加速框架、加速方法及设备 | |
CN103034526B (zh) | 一种虚拟化服务的实现方法和装置 | |
CN108563495A (zh) | 数据中心综合管理系统的云资源队列分级调度系统和方法 | |
CN109558216A (zh) | 一种基于在线迁移的单根i/o虚拟化优化方法及其系统 | |
CN109828842A (zh) | 一种基于dpdk技术开发的高性能数据采集引擎方法 | |
WO2024007934A1 (zh) | 中断处理方法、电子设备和存储介质 | |
US20230161620A1 (en) | Pull mode and push mode combined resource management and job scheduling method and system, and medium | |
CN117707693A (zh) | 一种异构智能计算平台虚拟化管理系统和方法 | |
CN114745377A (zh) | 边缘云集群服务系统及实现方法 | |
Li et al. | Vm-based architecture for network monitoring and analysis | |
Guan et al. | CIVSched: Communication-aware inter-VM scheduling in virtual machine monitor based on the process | |
Ding et al. | Review of virtual memory optimization in cloud environment | |
CN113051079B (zh) | 一种计算机过载保护装置 | |
Macedo et al. | Protecting metadata servers from harm through application-level I/O control | |
TW202248946A (zh) | 可彈性擴展電表管理系統、方法、電腦可讀媒介及其頭端子系統 | |
Su et al. | Method for optimizing Configuration of Cloud Platform Resources Based on Virtual Machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110601 Termination date: 20171223 |
|
CF01 | Termination of patent right due to non-payment of annual fee |