CN106528370A - 一种在虚拟化层实现的虚拟机状态监控 - Google Patents
一种在虚拟化层实现的虚拟机状态监控 Download PDFInfo
- Publication number
- CN106528370A CN106528370A CN201610935928.8A CN201610935928A CN106528370A CN 106528370 A CN106528370 A CN 106528370A CN 201610935928 A CN201610935928 A CN 201610935928A CN 106528370 A CN106528370 A CN 106528370A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- service module
- monitoring
- proxy service
- module
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
Abstract
本发明公开了一种在虚拟化层实现的虚拟机状态监控,其实现过程为:设置一个安装在宿主机操作系统内部的代理服务模块,通过此代理服务模块调用宿主机系统中的管理接口,获取虚拟机运行中的状态信息,以及虚拟机内部客户机系统中指定应用的运行状态信息,从而实现的虚拟机监控。本发明的一种在虚拟化层实现的虚拟机状态监控与现有技术相比,可以很好的规避和弥补当前传统虚拟机监控技术的不足,实现快速、准确、稳定、高效的虚拟机管理,实用性强,适用范围广泛,具有很好的推广应用价值。
Description
技术领域
本发明涉及计算机应用技术领域,具体地说是一种在虚拟化层实现的虚拟机状态监控。
背景技术
在虚拟化技术应用中,对于虚拟化主机的监控一直是技术热点和痛点。传统的虚拟化监控技术一般通过安装在虚拟化主机客户机系统中的代理服务模块进程实现。但这种方式有着明显的局限性:首先,代理服务模块很难做到对客户机系统中用户的透明运行,安全性不足;其次,代理服务模块一旦停止运行,没有很好的方式快速唤醒进程,只能依赖于守护进程,可靠性不足。
尤其是在Hyper-V虚拟化技术中,虚拟机是作为一个或多个线程的形式存在的,而虚拟机内部的应用可以通过唯一的应用编号来确定。
Windows Management Instrumentation(WMI)接口,是微软为Windows系统开放的系统管理接口,可通过代码或者PowerShell脚本实现对系统功能的配置和管理。其中,Hyper-V WMI Provider(v2)中包含对于虚拟机健康状况监控的相关类,可以捕获虚拟机自身和内部进程的运行状态,从而为本专利的技术方案提供了技术上的可能性。
基于此,本专利描述的是一种不依赖于客户机系统代理程序或进程,直接从虚拟化层对虚拟化主机进行监控的技术,通过宿主机上的代理服务模块实现。本专利提出的在虚拟化层实现的虚拟机监控技术可以很好的规避和弥补当前传统虚拟机监控技术的不足,实现快速、准确、稳定、高效的虚拟机管理。
发明内容
本发明的技术任务是针对以上不足之处,提供一种在虚拟化层实现的虚拟机状态监控。
一种在虚拟化层实现的虚拟机状态监控,其实现过程为:设置一个安装在宿主机操作系统内部的代理服务模块,通过此代理服务模块调用宿主机系统中的管理接口,获取虚拟机运行中的状态信息,以及虚拟机内部客户机系统中指定应用的运行状态信息,从而实现的虚拟机监控。
所述代理服务模块获取的运行状态信息包括虚拟机自身心跳服务,以及虚拟机内客户机系统特定进程的存活状态。
代理服务模块获取运行状态信息的过程为,
首先对操作系统的系统管理类库进行监控接口的封装,成为专用于监控接口调用的类库;
其次收集获取虚拟机监控信息,暂存在代理服务模块内部,相对应的,该代理服务模块设置有虚拟机信息存储模块;
最后,收集归档信息,代理服务模块与外部的服务端通信,相对应的,该代理服务模块设置有通信模块。
所述宿主机操作系统是指安装Hyper-v角色的Windows 8及以上操作系统,或Windows Server 2012 R2及以上操作系统实现,相对应的,代理服务模块调用的是WindowsManagement Instrumentation,即WMI中Hyper-V监控接口,获取虚拟机运行中的状态信息,从而最终实现对于虚拟机的监控。
所述虚拟化状态监控的具体过程为:
服务端发起虚拟机监控命令,宿主机上安装的代理服务模块通过通信模块接收服务端的消息,识别监控命令,准备执行;
代理服务模块通过WMI模块,调用虚拟机心跳信息获取方法,传入虚拟机ID,获取指定虚拟机的心跳信息;
代理服务模块通过虚拟机信息存储模块,暂存虚拟机一段时间的心跳信息;
代理服务模块通过通信模块,向服务端反馈虚拟机心跳,一次虚拟机监控完成;
服务端发起虚拟机内指定应用监控命令,宿主机上安装的代理服务模块通过通信模块接收服务端的消息,识别监控命令,准备执行;
代理服务模块通过WMI模块,调用虚拟机内应用心跳信息获取方法,传入虚拟机ID,应用ID,获取指定虚拟机内,指定应用的心跳信息;
代理服务模块通过虚拟机信息存储模块,暂存虚拟机内应用一段时间的心跳信息;
代理服务模块通过通信模块,向服务端反馈虚拟机心跳,一次虚拟机上特定应用监控完成。
本发明的一种在虚拟化层实现的虚拟机状态监控和现有技术相比,具有以下有益效果:
本发明的一种在虚拟化层实现的虚拟机状态监控,相比较于传统的通过安装在虚拟机客户机系统内部的监控程序或服务的监控方式,本发明不需要在客户机系统内部部署额外软件,对于客户机做到了完全透明且不可感知的监控,极大的增强了安全性,也提高了监控的稳定性;传统监控方案中,虚拟机客户机系统监控进程一旦停止运行,没有很好的方式快速唤醒进程,只能依赖于守护进程,可靠性不足;本发明中的监控方案则不存在这种问题,宿主机上的代理程序一旦停止,可以由运维人员进行人工操作重启解决,而不影响虚拟机的正常运行;本发明可以很好的规避和弥补当前传统虚拟机监控技术的不足,实现快速、准确、稳定、高效的虚拟机管理,实用性强,适用范围广泛,具有很好的推广应用价值。
附图说明
附图1为虚拟机监控方法的部署架构图。
附图2为虚拟机监控方法中宿主机代理服务的技术架构图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
本发明公开了一种在虚拟化层实现的虚拟机状态监控,通过调用系统中管理接口,获取运行中的虚拟机状态信息,以及虚拟机内部客户机系统中指定应用的运行状态信息,从而实现的虚拟机监控。本专利的核心在于编写一个安装在宿主机操作系统内部的代理服务模块,通过此代理服务模块调用宿主机系统中的管理接口,获取虚拟机运行中的状态信息。
本专利描述的虚拟化技术,在安装Hyper-v角色的Windows 8及以上操作系统,或者Windows Server 2012 R2及以上操作系统实现;
本专利实现的虚拟机状态监控技术,其监控对象包括:虚拟机自身心跳服务,虚拟机内客户机系统特定进程的存活状态,对于其他监控项目的有效性不做说明;
本专利描述的虚拟机监控方法的核心,在于编写一个安装在宿主机操作系统内部的代理服务模块,通过此代理服务模块调用Windows Management Instrumentation(WMI)中Hyper-V监控接口,获取虚拟机运行中的状态信息,从而最终实现对于虚拟机的监控。
需要通过此种方法对虚拟机进行监控的宿主机,必须安装上述代理服务模块,而虚拟机内部的客户机系统不需要安装其他任何软件或服务。
为了实现此种在虚拟化层的虚拟机监控技术,需要解决的技术问题有:
如何调用WMI接口。
如何收集归档监控信息。
如何保证实时进行WMI接口调用操作,并保证监控功能的健壮性。
综合以上待解决问题,本专利提出的方案为:编写安装在宿主机上的代理服务模块,通过代理服务模块调用WMI接口中Hyper-V相关的部分方法,收集并存储虚拟机的监控信息,从而实现以上功能需求。
本专利描述的监控方法核心在于编写一个安装在宿主机上的监控代理服务模块,其部署方式如附图1所示:代理服务模块直接安装在宿主机上,通过WMI接口与Hyper-V通信,获取虚拟机的运行中信息。
首先,为了实现虚拟机心跳信息,特定应用运行状态信息的收集,需要对Windows原生的系统管理类库进行针对Hyper-V的封装,成为专用于WMI接口调用的类库。
以下为需要重新封装调用的WMI类和方法,比如以下几种WMI类或接口,Msvm_ComputerSystem、Msvm_VirtualSystemSettingData、Msvm_HeartbeatComponent。
其次,收集获取虚拟机监控信息后,需要暂存在代理服务模块内部,所以代理服务模块需要添加虚拟机信息存储模块。
最后,收集归档信息后,代理服务模块需要与外部的服务端或其他组件通信,还需要添加通信模块。
综上所示,宿主机上安装的代理服务模块技术架构如附图2所示。
以一个场景用例说明本专利的具体实施方式:
服务端发起虚拟机监控命令,宿主机上安装的代理服务模块通过通信模块接收服务端的消息,识别监控命令,准备执行;
代理服务模块通过WMI模块,调用虚拟机心跳信息获取方法,传入虚拟机ID,获取指定虚拟机的心跳信息;
代理服务模块通过虚拟机信息存储模块,暂存虚拟机一段时间的心跳信息;
代理服务模块通过通信模块,向服务端反馈虚拟机心跳,一次虚拟机监控完成;
服务端发起虚拟机内指定应用监控命令,宿主机上安装的代理服务模块通过通信模块接收服务端的消息,识别监控命令,准备执行;
代理服务模块通过WMI模块,调用虚拟机内应用心跳信息获取方法,传入虚拟机ID,应用ID,获取指定虚拟机内,指定应用的心跳信息;
代理服务模块通过虚拟机信息存储模块,暂存虚拟机内应用一段时间的心跳信息;
代理服务模块通过通信模块,向服务端反馈虚拟机心跳,一次虚拟机上特定应用监控完成。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (5)
1.一种在虚拟化层实现的虚拟机状态监控,其特征在于,其实现过程为:设置一个安装在宿主机操作系统内部的代理服务模块,通过此代理服务模块调用宿主机系统中的管理接口,获取虚拟机运行中的状态信息,以及虚拟机内部客户机系统中指定应用的运行状态信息,从而实现的虚拟机监控。
2.根据权利要求1所述的一种在虚拟化层实现的虚拟机状态监控,其特征在于,所述代理服务模块获取的运行状态信息包括虚拟机自身心跳服务,以及虚拟机内客户机系统特定进程的存活状态。
3.根据权利要求1或2所述的一种在虚拟化层实现的虚拟机状态监控,其特征在于,代理服务模块获取运行状态信息的过程为,
首先对操作系统的系统管理类库进行监控接口的封装,成为专用于监控接口调用的类库;
其次收集获取虚拟机监控信息,暂存在代理服务模块内部,相对应的,该代理服务模块设置有虚拟机信息存储模块;
最后,收集归档信息,代理服务模块与外部的服务端通信,相对应的,该代理服务模块设置有通信模块。
4.根据权利要求3所述的一种在虚拟化层实现的虚拟机状态监控,其特征在于,所述宿主机操作系统是指安装Hyper-v角色的Windows 8及以上操作系统,或Windows Server2012 R2及以上操作系统实现,相对应的,代理服务模块调用的是Windows ManagementInstrumentation,即WMI中Hyper-V监控接口,获取虚拟机运行中的状态信息,从而最终实现对于虚拟机的监控。
5.根据权利要求4所述的一种在虚拟化层实现的虚拟机状态监控,其特征在于,所述虚拟化状态监控的具体过程为:
服务端发起虚拟机监控命令,宿主机上安装的代理服务模块通过通信模块接收服务端的消息,识别监控命令,准备执行;
代理服务模块通过WMI模块,调用虚拟机心跳信息获取方法,传入虚拟机ID,获取指定虚拟机的心跳信息;
代理服务模块通过虚拟机信息存储模块,暂存虚拟机一段时间的心跳信息;
代理服务模块通过通信模块,向服务端反馈虚拟机心跳,一次虚拟机监控完成;
服务端发起虚拟机内指定应用监控命令,宿主机上安装的代理服务模块通过通信模块接收服务端的消息,识别监控命令,准备执行;
代理服务模块通过WMI模块,调用虚拟机内应用心跳信息获取方法,传入虚拟机ID,应用ID,获取指定虚拟机内,指定应用的心跳信息;
代理服务模块通过虚拟机信息存储模块,暂存虚拟机内应用一段时间的心跳信息;
代理服务模块通过通信模块,向服务端反馈虚拟机心跳,一次虚拟机上特定应用监控完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610935928.8A CN106528370A (zh) | 2016-10-25 | 2016-10-25 | 一种在虚拟化层实现的虚拟机状态监控 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610935928.8A CN106528370A (zh) | 2016-10-25 | 2016-10-25 | 一种在虚拟化层实现的虚拟机状态监控 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106528370A true CN106528370A (zh) | 2017-03-22 |
Family
ID=58292744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610935928.8A Pending CN106528370A (zh) | 2016-10-25 | 2016-10-25 | 一种在虚拟化层实现的虚拟机状态监控 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528370A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423110A (zh) * | 2017-05-31 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种基于libvirt的虚拟机实时监测方法及其装置 |
CN107832117A (zh) * | 2017-11-15 | 2018-03-23 | 北京东土科技股份有限公司 | 一种虚拟机状态信息同步方法及电子设备 |
CN108845865A (zh) * | 2018-06-28 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种监控服务部署方法、系统和存储介质 |
CN109634721A (zh) * | 2018-12-17 | 2019-04-16 | 广东浪潮大数据研究有限公司 | 一种虚拟机与主机的启动通信方法及相关装置 |
CN109947576A (zh) * | 2017-12-21 | 2019-06-28 | 上海盛霄云计算技术有限公司 | 一种虚拟机内部代理程序管理的方法 |
CN111104199A (zh) * | 2019-11-19 | 2020-05-05 | 杭州海康威视系统技术有限公司 | 虚拟机高可用的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243008A (zh) * | 2015-11-02 | 2016-01-13 | 上海新炬网络信息技术有限公司 | 一种基于宿主机的虚拟机性能监控方法 |
CN105550013A (zh) * | 2015-12-08 | 2016-05-04 | 国云科技股份有限公司 | 一种监控Windows虚拟机内部进程的方法 |
CN105577727A (zh) * | 2014-10-16 | 2016-05-11 | 南京瀚和软件技术有限公司 | 一种云计算虚拟机管理平台系统 |
-
2016
- 2016-10-25 CN CN201610935928.8A patent/CN106528370A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577727A (zh) * | 2014-10-16 | 2016-05-11 | 南京瀚和软件技术有限公司 | 一种云计算虚拟机管理平台系统 |
CN105243008A (zh) * | 2015-11-02 | 2016-01-13 | 上海新炬网络信息技术有限公司 | 一种基于宿主机的虚拟机性能监控方法 |
CN105550013A (zh) * | 2015-12-08 | 2016-05-04 | 国云科技股份有限公司 | 一种监控Windows虚拟机内部进程的方法 |
Non-Patent Citations (1)
Title |
---|
刘飞宇: "OpenStack云平台下的虚拟机监控与控制的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423110A (zh) * | 2017-05-31 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种基于libvirt的虚拟机实时监测方法及其装置 |
CN107832117A (zh) * | 2017-11-15 | 2018-03-23 | 北京东土科技股份有限公司 | 一种虚拟机状态信息同步方法及电子设备 |
CN109947576A (zh) * | 2017-12-21 | 2019-06-28 | 上海盛霄云计算技术有限公司 | 一种虚拟机内部代理程序管理的方法 |
CN109947576B (zh) * | 2017-12-21 | 2022-12-06 | 上海盛霄云计算技术有限公司 | 一种虚拟机内部代理程序管理的方法 |
CN108845865A (zh) * | 2018-06-28 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种监控服务部署方法、系统和存储介质 |
CN109634721A (zh) * | 2018-12-17 | 2019-04-16 | 广东浪潮大数据研究有限公司 | 一种虚拟机与主机的启动通信方法及相关装置 |
CN109634721B (zh) * | 2018-12-17 | 2023-10-10 | 广东浪潮大数据研究有限公司 | 一种虚拟机与主机的启动通信方法及相关装置 |
CN111104199A (zh) * | 2019-11-19 | 2020-05-05 | 杭州海康威视系统技术有限公司 | 虚拟机高可用的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528370A (zh) | 一种在虚拟化层实现的虚拟机状态监控 | |
US11615115B2 (en) | Systems and methods for managing distributed database deployments | |
CN103516802B (zh) | 一种实现跨异构虚拟交换机无缝迁移的方法和装置 | |
CN102035862A (zh) | Svc集群中配置节点的故障移交方法和系统 | |
EP2884695A1 (en) | Management server and control method for management server | |
CN103488546B (zh) | 一种支持多级别数据和数据库在线并发备份与恢复方法 | |
CN106302596B (zh) | 一种服务发现的方法和装置 | |
CN103019776B (zh) | 一种服务器集群中并发安装不同软件的方法 | |
CN105653398B (zh) | 一种智能分配操作系统镜像方法 | |
CN104077199A (zh) | 基于共享磁盘的高可用集群的隔离方法和系统 | |
CN102508886B (zh) | 一种基于xml的空间数据增量同步更新方法 | |
CN107153571A (zh) | 一种虚拟化管理节点的部署方法及装置 | |
CN105187512A (zh) | 一种虚拟机集群负载均衡方法及系统 | |
CN114666333B (zh) | 一种基于多租户理论面向云计算资源调度问题的控制方法 | |
CN108737574A (zh) | 一种节点离线判断方法、装置、设备及可读存储介质 | |
CN106775993A (zh) | 一种物理机迁移至云计算平台的方法及系统 | |
CN105205687A (zh) | 一种海量数据采集的方法 | |
KR101357135B1 (ko) | 로그 정보 수집 장치 | |
CN103152416B (zh) | 一种提高在线集群组高可用性能的动态管理方法 | |
CN104468791A (zh) | 私有云IaaS平台的构建方法 | |
CN106789381A (zh) | 一种针对云计算管理平台简单部署和快速配置的方法 | |
CN103617242A (zh) | 一种分布式文件系统拓扑展示方法 | |
CN111158865A (zh) | 多路复用虚拟串口的实现方法 | |
CN113778918A (zh) | 一种usb设备管理系统及管理方法 | |
CN103281407B (zh) | 一种基于龙芯云终端的ip地址远程管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |
|
RJ01 | Rejection of invention patent application after publication |