CN108958884B - 一种虚拟机管理的方法及相关装置 - Google Patents

一种虚拟机管理的方法及相关装置 Download PDF

Info

Publication number
CN108958884B
CN108958884B CN201810653511.1A CN201810653511A CN108958884B CN 108958884 B CN108958884 B CN 108958884B CN 201810653511 A CN201810653511 A CN 201810653511A CN 108958884 B CN108958884 B CN 108958884B
Authority
CN
China
Prior art keywords
virtual machine
target
messages
value
host
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.)
Active
Application number
CN201810653511.1A
Other languages
English (en)
Other versions
CN108958884A (zh
Inventor
张德闪
刘伟
赵贺辉
阚宏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810653511.1A priority Critical patent/CN108958884B/zh
Publication of CN108958884A publication Critical patent/CN108958884A/zh
Application granted granted Critical
Publication of CN108958884B publication Critical patent/CN108958884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种虚拟机管理的方法及相关装置,用于根据虚拟机产生的报文的数量检测虚拟机上是否有恶意程序产生报文,通过降低该虚拟机所对应进程的优先级以减少报文的产生。本申请实施例方法包括:宿主机获取每个虚拟机所产生的报文的数量,虚拟机运行于该宿主机上;该宿主机根据每个虚拟机所产生的报文的数量,确定所产生报文的数量大于预设阈值的目标虚拟机;该宿主机调低目标进程对中央处理器CPU的占用时间,该目标进程为该目标虚拟机所对应进程,该目标进程对CPU的占用时间与该目标虚拟机所产生的报文的数量正相关。

Description

一种虚拟机管理的方法及相关装置
技术领域
本申请涉及计算机虚拟化技术领域,尤其涉及输入输出(input/output,I/O)虚拟化技术的一种虚拟机管理的方法及相关装置。
背景技术
云计算以其低成本、便携化、可扩展性高等特征,为大数据、互联网、人工智能的发展提供了切实的技术保障,云计算是信息基础发展的必然趋势。国内外互联网厂商都相继推出了自己的云服务平台,如阿里巴巴的阿里云,以推动传统的信息科技和产业(information technology,IT)基础设施向云端转变。
云计算的核心支撑技术是虚拟化技术。虚拟化技术是指在物理主机上虚拟出多个虚拟机(virtual machine,VM),物理主机也可以称为宿主机。上层应用在虚拟机中运行,借助虚拟化技术,实现对宿主机相关资源(例如:计算、存储资源和设备资源)的共享复用,以提高资源的利用效率和降低成本。目前被虚拟机共享访问的快速外设组件互连(peripheral component interconnect express,PCIe)设备,比如专用网卡和现场可编程门阵列(field programmable gate array,FPGA)加速卡,通常都支持单根输入输出虚拟化(single root I/O virtualization,SR-IOV)的扩展。因为支持SR-IOV的PCIe设备,可以把单个PCIe物理设备划分成多个物理功能实体(physical function,PF),每个PF又可包含多个虚拟功能实体(virtual function,VF)。虚拟机通过与相应的VF进行绑定,借助x86平台的虚拟化技术,如Intel公司的硬件辅助直接I/O虚拟化技术(virtualization technologyfor directed I/O,VT-d),可绕过多个虚拟化软件支撑层,直接访问共享的物理设备,性能较高。
然而,如果绑定某一VF的虚拟机被恶意应用程序所占用,恶意程序向PCIe设备发送大量报文,CPU消耗大量的资源产生这些报文,同时这些报文会造成PCIe链路阻塞,影响其他虚拟机收发PCIe报文,造成其他虚拟机访问延迟。
发明内容
本申请实施例提供了一种虚拟机管理的方法及相关装置,使得宿主机能够降低虚拟机进程的CPU占用时间,减少恶意程序产生报文的速度。
第一方面,本申请实施例提供了一种虚拟机的管理方法,该方法包括:
宿主机通过监控装置获取每个虚拟机由虚拟CPU产生的报文的数量,虚拟机运行于宿主机之上,该监控装置可以是设置在VF里面的计数器;
该宿主机会将每个虚拟机产生的报文的数量与预设阈值作比较,若大于预设阈值,则宿主机会获取该目标虚拟机的信息,可以是所有虚拟机共用一个预设阈值,也可以是每个虚拟机都设置有一个预设阈值;
该宿主机调低目标虚拟机的优先级,即该宿主机会根据目标虚拟机产生的报文的数量,调低目标虚拟机的进程对CPU的占用时间;
本申请实施例中,通过调低目标虚拟机的进程对CPU的占用时间的形式,减少目标虚拟机产生PCIe报文的速度,防止PCIe链路的阻塞,以达到阻止拒绝式访问攻击的目的,提高了方案的可实现性。
根据第一方面,本申请实施例第一方面的第一种实施方式中,该宿主机根据该每个虚拟机所产生报文的数量,确定所产生报文数量大于预设阈值的目标虚拟机包括:
宿主机通过监控装置获取每个虚拟机由虚拟CPU产生的报文的数量,虚拟机运行于宿主机之上,该监控装置可以是设置在VF里面的计数器,该宿主机会获取到该监控装置,进而确定该监控装置对应的VF;
该宿主机根据VF和虚拟机之间的对应关系,确定目标虚拟机;
在本申请实施例中,宿主机确定虚拟机的形式是先确定VF,进而通过VF找到对应的虚拟机,提高了方案的可实现性。
根据第一方面的第一种实施方式,本申请实施例第一方面的第二种实施方式中,该宿主机根据该每个虚拟机所产生报文的数量,确定所产生报文的数量大于该预设阈值的目标VF包括:
该宿主机根据该每个虚拟机所产生报文的数量,确定所产生报文的数量大于阈值寄存器中的设定的值的目标VF,可以为每个VF都配置一个阈值寄存器,也可以所有VF都共用一个阈值寄存器;
在本申请实施例中,宿主机确定目标VF是根据其收发的报文的数量是否在一个设定的正常范围内,以此来判断宿主机上是否是有恶意程序产生PCIe报文。
根据第一方面的第二种实施方式,本申请实施例第一方面的第三种实施方式中,该宿主机根据该每个虚拟机所产生报文的数量,确定所产生报文的数量大于阈值寄存器中的值的目标VF包括:
PF会周期性地把各个VF的计数器值与阈值寄存器中的预设阈值相比较,如果VF的计数器值大于阈值寄存器的值,则说明此VF处于异常状态,PF会在状态寄存器中将目标VF对应的标志位的值的予以标识,将其设置为第一特定值,并通过中断消息告知宿主机内核层;
宿主机的内核层在收到PF发送的中断消息后,会执行中断服务程序,在中断服务程序中,读取状态寄存器中,目标VF对应的标志位的值,根据该标志位的值判定是哪个VF处于被攻击状态;
本申请实施例中,通过PF进行目标VF的确定,并对目标VF予以标记,通过PF发送消息使得宿主机查找标记的方式来确定目标VF,提高了方案的可实现性。
根据第一方面、第一方面的第一种实施方式至第一方面的第三种实施方式中的任一种实施方式,本申请实施例第一方面的第四种实施方式中,该报文为PCIe报文;
在本申请实施例中,报文指的是SR-IOV设备发送或接收的PCIe报文,这里的SR-IOV设备指支持SR-IOV功能的网卡。
根据第一方面、第一方面的第一种实施方式至第一方面的第三种实施方式中的任一种实施方式,本申请实施例第一方面的第五种实施方式中,该宿主机调低目标进程对中央处理器CPU的占用时间包括:
该宿主机调低该目标进程在时间片上的工作时间,每个虚拟机的进程都被安排在一个固定的时间片上,包括工作时间和休眠时间,工作时间指占用CPU的时间,休眠时间指让出CPU,让其他进程执行的时间,调低目标进程在CPU上的占用时间可以降低报文的产生速度;
本申请实施例中,降低目标虚拟机进程在时间片上的工作时间,以减少目标虚拟机占用CPU的时间,降低目标虚拟机产生报文的速度,提高了方案的可实现性。
根据第一方面的第三种实施方式,本申请实施例第一方面的第六种实施方式中,在该宿主机调低目标进程对中央处理器CPU的占用时间之后,该方法还包括:
当目标虚拟机单位时间产生的报文的数量不大于阈值寄存器中的预设阈值时,宿主机会判定该虚拟机已经恢复正常,该虚拟机通过PF修改状态寄存器中目标虚拟机对应的VF的标志位的值为第二特定值;
该宿主机会恢复目标虚拟机的优先级,该宿主机根据该目标虚拟机报文的数量的值调整该目标虚拟机对CPU的占用时间,在产生的报文的数量小于预设阈值的情况下,产生报文的数量越多,该虚拟机对CPU的占用时间越大;
在本申请实施例中,目标虚拟机再被降低进程优先级后若被检测到已经恢复正常状态,宿主机会恢复目标虚拟机的进程优先级,以提高方案的灵活性。
第二方面,本申请实施例提供了一种虚拟机管理的装置,该虚拟机管理的装置执行如前述第一方面中所述的方法,该虚拟机的管理装置包括:
获取单元,用于获取各个虚拟机所产生的PCIe报文的数量,虚拟机运行于宿主机上,在本申请实施例中,宿主机上至少运行有一台虚拟机;
第一确定单元,用于根据该各个虚拟机所产生的报文的数量,确定所产生报文的数量大于预设阈值的目标虚拟机;
第一调整单元,用于调低目标进程对中央处理器CPU的占用时间,该目标进程为该目标虚拟机所对应进程,该目标进程对该CPU的占用时间与该目标虚拟机所产生的报文的数量正相关;
在本申请实施例中,第一确定单元还可以存储确定的目标虚拟机的信息,以便后续方便查找,减少宿主机系统开支。
根据第二方面,本申请实施例第二方面的第一种实施方式中,第一确定单元包括:
第一确定子单元,用于根据该每个虚拟机所产生报文的数量,确定所产生报文的数量大于该预设阈值的目标虚拟功能实体VF;
第二确定子单元,用于确定该目标VF对应的目标虚拟机,该目标VF与该目标虚拟机具有关联关系;
在本申请实施例中,由第一确定单元确定目标VF,第二确定单元根据目标VF确定目标虚拟机的方式,提高了方案的灵活性。
根据第二方面的第一种实施方式,本申请实施例第二方面的第二种实施方式中,预设阈值为阈值寄存器中的值;
在本申请实施例中,限定了预设阈值为阈值寄存器中的值,阈值寄存器位于PF中,PF可对其进行修改查询操作,提高了方案的灵活性。
根据第二方面的第二种实施方式,本申请实施例第二方面的第三种实施方式中,第一确定子单元包括:
接收模块,用于接收物理功能实体PF发送的告知异常的中断消息;
查询模块,用于根据该中断消息查询该状态寄存器;
确定模块,用于确定该状态寄存器中标志位的值为该第一特定值的VF为目标VF,该标志位的值由该PF在确定产生报文的数量大于阈值寄存器中的值的VF为目标VF后设置为第一特定值,该状态寄存器位于该PF内;
在本申请实施例中,PF发送的中断可携带目标VF的信息,也可以不携带目标VF的信息,由宿主机进行状态寄存器中VF对应标志位的查找,以此确定目标VF。
根据第二方面、第二方面的第一种实施方式至第一方面的第三种实施方式中的任一种实施方式,本申请实施例第二方面的第四种实施方式中,目标进程对CPU占用时间为目标进程在时间片上的工作时间,该时间片包含该目标进程对CPU的占用时间,该工作时间为该目标进程对该CPU的占用时间;
在本申请实施例中,将时间片分为工作时间和休眠时间,目标虚拟机知会在工作时间占用CPU进行任务,在休眠时间让出CPU以供其他进程进行工作,通过调整工作时间,来达到调节PCIe报文产生的速率,提高了方案的可实现性。
根据第二方面的第三种实施方式,本申请实施例第二方面的第五种实施方式中,在该宿主机调低目标进程对中央处理器CPU的占用时间之后,该虚拟机管理装置还包括:
第二确定单元,用于确定该状态寄存器中该目标VF对应的标志位的值为第二特定值,该标志位的值由该PF在该宿主机确定该目标虚拟机产生的报文的数量小于或等于该预设阈值后设置为第二特定值;
第二调整单元,用于根据该报文的数量的值调整该目标进程对CPU的占用时间,该报文的数量的值越大,该目标进程对CPU的占用时间越大。
在本申请实施例中,在宿主机对目标虚拟机进行调整后,还可以通过第二调整单元恢复目标虚拟机的进程优先级,第二确定单元也可以获取由第一确定单元确定的目标虚拟机的信息,以便后续检测过程中能直接定位查找目标虚拟机。
第三方面,本申请实施例提供了一种宿主机,所述宿主机包括:处理器和存储器,所述存储器中存储有前述第一方面中所述虚拟机管理的方法的指令,当其在计算机上运行时,使得计算机执行前述第一方面中所述的虚拟机管理的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
本申请实施例通过统计各虚拟机单位时间处理的报文数量,确定可能会对PCIe链路造成阻塞的虚拟机,通过调低该虚拟机对应进程的CPU占用时间,减少该虚拟机恶意程序产生PCIe报文的速度,避免PCIe链路的阻塞。
附图说明
图1为本申请实施例提供的虚拟化示意图;
图2为本申请实施例提供的虚拟机管理的方法的系统架构图;
图3为本申请实施例提供的虚拟机管理的方法的一种流程示意图;
图4为本申请实施例提供的虚拟机管理的方法的另一种流程示意图;
图5为本申请实施例提供的虚拟机进程时间片划分示意图;
图6为本申请实施例提供的虚拟机管理装置的一个实施例示意图;
图7为本申请实施例提供的虚拟机管理装置的另一个实施例示意图。
具体实施方式
本申请实施例提供了一种虚拟机管理的方法,用于防止拒绝访问式攻击。本申请实施例还提供了相应的虚拟机管理的装置、虚拟机及计算机可读存储介质。以下分别进行详细说明。
在计算机科学中,虚拟化技术是一种对计算机硬件资源进行抽象和模拟的技术,一般所说的计算机硬件资源主要包括计算资源、存储资源和通信资源。对于运行于虚拟机之上的软件来说,虚拟机和真实机器没有区别。图1显示了一个虚拟化环境。在一台物理机器,即宿主机上,使用虚拟化技术创建了三台虚拟机,这三台虚拟机分别运行着Windows,Linux和Unix。
SR-IOV是一种硬件I/O虚拟化技术标准,如图2所示,一个SR-IOV设备具有一个或多个物理设备PF,PF是标准的PCIe设备,每一个PF可以创建多个虚拟设备VF,VF是“轻量级”的PCIe设备,每一个VF拥有收发数据包的关键资源,而与其他VF共享其他大部分非关键的设备资源,在本申请实施例中,在每个VF中添加了一个监控模块,用于检测每一个VF所处理的报文数量,在每个PF中设置了一个阈值寄存器,宿主机可动态地改变阈值寄存器中的值来调整检测限制,此外,PF中还设置有一个状态寄存器,用其中的某一位来标记该PF管理的VF是否处于被攻击状态,内核层指宿主机内核层,虚拟机监视器用以提供虚拟化层,隔离虚拟机环境。
下面对本申请实施例中虚拟机管理的方法进行详细描述,请参阅图3,本申请实施例提供的一种虚拟机管理的方法实施例包括:
301、宿主机获取各虚拟机处理的报文的数量;
本申请实施例中,至少一台宿主机和至少一台虚拟机,虚拟机所处理报文会通过VF,由于在VF内添加了一个监控模块,因此该监控模块可以获取该通过该VF的报文的数量,宿主机会周期性的从该监控模块获取到该监控模块统计的报文的数量信息。
在本实施例中,监控模块可以是计数器,用FPGA封装实现在SR-IOV物理设备中,也可以通过软件进行实现,只要其具备统计经由该VF的报文的功能即可,具体此处不作限定,在本实施例及后续实施例中,为方便理解,仅以监控模块为计数器的情况进行表述。
宿主机每隔一段时间获取各监控模块统计的报文的数量值,该段时间可以是固定的,也可以是由宿主机控制,动态产生变化的,具体此处不作限定。
302、宿主机确定处理报文的数量大于预设阈值的虚拟机;
在本实施例中,宿主机中预先设置有符合拒绝访问攻击特征的判断条件,即当一段时间内处理的报文的数量大于某一预设阈值,即可判断该虚拟机正处于拒绝访问攻击的情形下,可以是每个虚拟机都设有一个预设阈值,也可以是所有虚拟机共用一个预设阈值,具体此处不作限定,为了方便表述,在本实施例及后续实施例中,仅以所有虚拟机共用一个预设阈值的情况进行描述,该预设阈值根据使用场景的不同,其数值可以是固定不变,也可以是动态变化的,具体此处不作限定。
303、宿主机调低虚拟机对应进程的CPU占用时间。
宿主机在确定处理报文的数量大于预设阈值的虚拟机之后,会降低该虚拟机进程的优先级,具体表现降低CPU分配给该进程的时间,以达到减少该虚拟机上的恶意程序快速生成报文的目的;
在本实施例中,通过检测各虚拟机处理的报文的数量是否在设置的正常范围内,来判定虚拟机是否处于拒绝访问攻击状态下,进而通过调整该虚拟机的进程的优先级来减少该虚拟机产生报文的速度,提高了整个虚拟机管理的效率。
为了便于理解,下面以一具体实施例对本发明实施例中的虚拟机管理的方法进行描述,请参阅图4,本发明实施例中虚拟机管理的方法另一实施例包括:
401、宿主机接收PF发送的中断消息;
为了节约宿主机系统资源,提高运行效率,当PF在检测目标VF的计数器的值大于预设阈值,且状态寄存器中目标VF对应标志位的值为第二特定值的情况下才会发送中断消息给宿主机;
PF包含SR-IOV功能结构,用于管理SR-IOV功能,在本申请实施例中,当VF被检测到收发的报文的数量大于预设阈值时,PF就会将该VF在状态寄存器中对应的标志位的值设置为第一特定值,若该标志位的值为第二特定值,则说明该VF在上一周期PF对其的检测结果为正常状态,即收发的报文的数量在正常范围内,未处于被拒绝访问攻击状态下,当上一周期被检测正常的VF,在此次检测被发现收发报文的数量超出正常范围时,PF就会将这一异常情况以中断消息的形式发送给宿主机内核层,且PF会将该VF对应标志位的值设置由第二特定值修改为第一特定值。
402、宿主机查询状态寄存器;
宿主机内核层在接收到PF发送的中断消息后,会执行PF驱动注册的中断服务程序,在中断服务程序中,宿主机读取PF中的状态寄存器,根据状态寄存器中对应的标记为确定被拒绝访问攻击的VF。
403、宿主机判断标志位的值是否为第一特定值;
若状态寄存器中VF所对应的标志位的值为第一特定值,则宿主机确定其处于被拒绝访问攻击状态下,执行步骤404,若状态寄存器中VF所对应的标志位的值为第二特定值,则证明此VF处于正常状态,对此VF执行步骤406。如表1所示,为状态寄存器的示意图:
表1
Figure BDA0001704778260000091
在上表1中,宿主机通过查询每个VF的标志位,即状态寄存器中每个VF区域的第二位,来确定该VF是否处于被拒绝访问攻击状态,在上表1中,通过标志位的值可知,在本次PF对VF的检测结果中,VF0及VF2处于被拒绝访问攻击状态,VF2处于正常状态;
宿主机在获取到处于异常状态的VF的信息后,同时会对其信息进行存储。
404、宿主机通知PF修改状态寄存器;
在宿主机通过步骤403判断标志位的值确定处于异常状态的VF后,宿主机会通知PF已检测到异常状态下的VF,PF接到宿主机发送的消息后,将异常状态的VF对应标志位的值设置为第二特定值,以表示在下一周期对该VF的检测前,该VF会恢复正常状态;
在本实施例中,步骤404与步骤405并无执行的先后顺序,优选地,在本实例中,步骤404也可以不执行,而是等到下一周期PF对VF的检测中,由PF根据检测到的结果,主动设置修改标志位,即当检测到VF的收发的报文的数量在正常范围内时,在下一周期执行步骤401时,PF将该VF标志位的值设置为第二特定值。
405、宿主机调整虚拟机进程优先级;
VF与虚拟机具有对应关系,一个虚拟机可配置多个VF,在宿主机确定了处于异常状态的目标VF后,可由此对应关系确定目标虚拟机,宿主机通过降低目标虚拟机进程对CPU的占用时间来降低目标虚拟机进程的优先级,如图5所示,每个虚拟机进程都被安排在一个固定的时间片t,不如设置t为500us,该时间片由两部分组成,即工作时间work和休眠时间sleep,工作时间即指占用CPU的时间,休眠时间指让出CPU,让其他进程执行的时间,包括其他虚拟机的进程、宿主机上的其他进程等;
在本实施例中,r的值为r=阈值/计数器值,r∈(0,1),由公式可以看出,当计数器的值越大,即目标虚拟机处理的报文的数量越多时,由工作时间=r*t,t为固定值,可知,目标虚拟机在一个时间片上的工作时间越短,在计数器值超出预设阈值,即目标虚拟机处理的报文的数量超出正常范围的情况下,处理的报文的数量越多,目标虚拟机占用CPU的时间就会变得越小;
在一段时间后,如设置1min后,宿主机通过步骤403中存储的异常状态的VF的信息,检测目标虚拟机上的恶意程序不再产生大量PCIe报文后。宿主机会将r的值设置为1,使得工作时间=时间片时间,以此来恢复目标虚拟机的进程优先级。
406、执行其他程序。
若状态寄存器中VF对应的标志位的值为第二特定值,则宿主机则执行其他程序。
在本申请实施例中,宿主机通过接受中断消息的形式对状态寄存器进行查询,获取处于被拒绝访问攻击状态下的虚拟机的信息,并将其存储以便在对该目标虚拟机进程优先级进行调整后,一段时间后能够以定向查询该虚拟机的方式,确认该虚拟机状态正常后,恢复其进程优先级,提高了方案的实用性和灵活性。
上面对本实施例中虚拟机管理的方法进行了介绍,下面对本发明实施例中虚拟机管理装置600进行介绍,如图6所示,本实施例中虚拟机管理装置600的一个实施例包括:
获取单元601,该单元通过获取各VF收发的PCIe报文的数量来获取各虚拟机处理的PCIe报文的数量;
第一确定单元602,用于确定处理的报文的数量大于预设阈值的目标虚拟机;
第一调整单元603,用于降低目标虚拟机进程对CPU的占用时间,以降低目标虚拟机的进程优先级,降低目标虚拟机产生PCIe报文的数量。
本实施例中,第一确定单元602包括:
第一确定子单元6020:用于确定收发的报文数量大于预设阈值的目标VF;
第二确定子单元6021:用于根据目标VF确定目标VF对应的目标虚拟机。
本实施例中,第一确定子单元6020包括:
接收模块60200,用于接收PF发送的中断消息;
查询模块60201,用于根据发送的中断消息,执行查找状态寄存器的程序;
确定模块60202,用于根据状态寄存器中VF所对应的标志位的值是否为第一特定值来确定目标VF。
本实施例中,虚拟机管理装置600还包括:
第二确定单元604,用于确定状态寄存器中VF所对应的标志位的值为第二特定值的目标VF,确定目标VF对应的虚拟机;
第二调整单元605,用于恢复目标VF对应的虚拟机的进程优先级。
本申请实施例中,第二确定单元会记录被第一确定单元确定为处于异常状态的VF,即收发PCIe报文的数量大于预设阈值的VF,并将其信息存储,在一段时间后,第二确定单元会定向查找该VF对应的虚拟机,当发现该虚拟机产生的报文的速度在正常范围内,即产生的报文的数量小于预设阈值时,就会通知第二调整单元恢复该虚拟机进程的优先级,通过设定这一段时间的值,可以节约宿主机的系统资源,同时达到动态调控的目的。
图7是本申请实施例提供的虚拟机管理装置700的结构示意图。所述虚拟机管理装置700包括处理器701、存储器702和输入输出(I/O)接口703,存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供操作指令和数据。存储器702的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器702存储了如下的元素,目标VF的信息,标志位的值以及预设阈值,PF工作的周期时长,再次对目标VF进行检测的时长信息;
在本申请实施例中,在恢复目标虚拟机进程优先级的过程中,通过调用存储器702存储的目标VF的信息(该操作指令可存储在操作系统中),可以获取目标VF并对其进行检测,若其虚拟机产生的报文数量不再超过存储在存储器702上的预设阈值,则恢复虚拟机在处理器701上的进程优先级;
处理器701控制虚拟机管理装置700的操作,处理器701还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器702的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中虚拟机管理装置700的各个组件通过总线系统704耦合在一起,其中总线系统704除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统704。
上述本申请实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成上述方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (7)

1.一种虚拟机管理的方法,其特征在于,包括:
宿主机获取每个虚拟机所产生报文的数量,所述每个虚拟机运行于所述宿主机上;
所述宿主机根据所述每个虚拟机所产生报文的数量,确定所产生报文的数量大于预设阈值的目标虚拟机,包括:
所述宿主机根据所述每个虚拟机所产生报文的数量,确定所产生报文的数量大于所述预设阈值的目标虚拟功能实体VF,包括:所述宿主机根据所述每个虚拟机所产生报文的数量,确定所产生报文的数量大于阈值寄存器中的值的目标VF;
所述宿主机确定所述目标VF对应的目标虚拟机,所述目标VF与所述目标虚拟机具有关联关系;
所述宿主机根据所述每个虚拟机所产生报文的数量,确定所产生报文的数量大于阈值寄存器中的值的目标VF包括:所述宿主机接收物理功能实体PF发送的告知异常的中断消息;所述宿主机根据所述中断消息查询状态寄存器;所述宿主机确定所述状态寄存器中标志位的值为第一特定值的VF为目标VF,所述标志位的值由所述PF在确定产生报文的数量大于阈值寄存器中的值的VF为目标VF后设置为第一特定值,所述状态寄存器位于所述PF内;
所述宿主机调低目标进程对中央处理器CPU的占用时间,所述目标进程为所述目标虚拟机所对应进程,所述目标进程对所述CPU的占用时间与所述目标虚拟机所产生的报文的数量正相关。
2.根据权利要求1所述的方法,其特征在于,所述报文为快速外设组件互连PCIe报文。
3.根据权利要求1所述的方法,其特征在于,所述宿主机调低目标进程对中央处理器CPU的占用时间包括:
所述宿主机调低所述目标进程在时间片上的工作时间,所述时间片包含所述目标进程对CPU的占用时间,所述工作时间为所述目标进程对所述CPU的占用时间。
4.根据权利要求1所述的方法,其特征在于,在所述宿主机调低目标进程对中央处理器CPU的占用时间之后,所述方法还包括:
所述宿主机确定所述状态寄存器中所述目标VF对应的标志位的值为第二特定值,所述标志位的值由所述PF在所述宿主机确定所述目标虚拟机产生的报文的数量小于或等于所述预设阈值后设置为第二特定值;
所述宿主机根据所述报文的数量的值调整所述目标进程对CPU的占用时间,所述报文的数量的值越大,所述目标进程对CPU的占用时间越大。
5.一种虚拟机管理的装置,其特征在于,所述装置包括:
获取单元,用于获取每个虚拟机所产生的报文的数量,所述每个虚拟机运行于宿主机上;
第一确定单元,用于根据所述每个虚拟机所产生的报文的数量,确定所产生报文的数量大于预设阈值的目标虚拟机;
第一确定单元包括:
第一确定子单元,用于根据该每个虚拟机所产生报文的数量,确定所产生报文的数量大于该预设阈值的目标虚拟功能实体VF;
第二确定子单元,用于确定该目标VF对应的目标虚拟机,该目标VF与该目标虚拟机具有关联关系;
第一确定子单元包括:
接收模块,用于接收物理功能实体PF发送的告知异常的中断消息;
查询模块,用于根据该中断消息查询状态寄存器;
确定模块,用于确定该状态寄存器中标志位的值为第一特定值的VF为目标VF,该标志位的值由该PF在确定产生报文的数量大于阈值寄存器中的值的VF为目标VF后设置为第一特定值,该状态寄存器位于该PF内;
调整单元,用于调低目标进程对中央处理器CPU的占用时间,所述目标进程为所述目标虚拟机所对应进程,所述目标进程对所述CPU的占用时间与所述目标虚拟机所产生的报文的数量正相关。
6.一种宿主机,其特征在于,所述宿主机包括:处理器和存储器,所述存储器中存储有权利要求1-4任一所述的虚拟机管理的指令,所述处理器用于执行存储器中存储的虚拟机管理的指令,执行如权利要求1-4任一所述的虚拟机管理的方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有虚拟机管理的指令,当其在计算机上运行时,使得计算机执行上述权利要求1-4任一所述的方法。
CN201810653511.1A 2018-06-22 2018-06-22 一种虚拟机管理的方法及相关装置 Active CN108958884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810653511.1A CN108958884B (zh) 2018-06-22 2018-06-22 一种虚拟机管理的方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810653511.1A CN108958884B (zh) 2018-06-22 2018-06-22 一种虚拟机管理的方法及相关装置

Publications (2)

Publication Number Publication Date
CN108958884A CN108958884A (zh) 2018-12-07
CN108958884B true CN108958884B (zh) 2022-02-18

Family

ID=64486144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810653511.1A Active CN108958884B (zh) 2018-06-22 2018-06-22 一种虚拟机管理的方法及相关装置

Country Status (1)

Country Link
CN (1) CN108958884B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784337B (zh) * 2019-09-26 2023-08-22 平安科技(深圳)有限公司 一种云服务质量监控方法及相关产品
CN111737176B (zh) * 2020-05-11 2022-07-15 瑞芯微电子股份有限公司 一种基于pcie数据的同步装置及驱动方法
CN113791867B (zh) * 2021-09-16 2022-05-20 江苏安超云软件有限公司 调整kvm虚拟机服务进程优先级的方法及应用
CN114785714B (zh) * 2022-03-01 2023-08-22 阿里巴巴(中国)有限公司 一种报文传输时延检测方法、存储介质及设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060531A (zh) * 2007-05-17 2007-10-24 华为技术有限公司 网络设备攻击防范的方法和装置
CN102043917A (zh) * 2010-12-07 2011-05-04 成都市华为赛门铁克科技有限公司 云系统分布式拒绝服务攻击防护方法以及装置和系统
CN102722414A (zh) * 2012-05-22 2012-10-10 中国科学院计算技术研究所 用于多根i/o 虚拟化共享系统的i/o 资源管理方法
CN103873374A (zh) * 2014-03-27 2014-06-18 杭州华三通信技术有限公司 虚拟化系统中的报文处理方法及装置
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统
CN104461958A (zh) * 2014-10-31 2015-03-25 杭州华为数字技术有限公司 支持sr-iov的存储资源访问方法、存储控制器及存储设备
CN106155883A (zh) * 2015-03-30 2016-11-23 华为技术有限公司 一种虚拟机可靠性测试方法及装置
CN106534042A (zh) * 2015-09-09 2017-03-22 阿里巴巴集团控股有限公司 基于数据分析的服务器入侵识别方法、装置和云安全系统
CN107239700A (zh) * 2017-06-28 2017-10-10 郑州云海信息技术有限公司 一种基于xen虚拟化平台的安全防护方法
CN107241304A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种DDos攻击的检测方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
CN104714846B (zh) * 2013-12-17 2018-06-05 华为技术有限公司 资源处理方法、操作系统及设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060531A (zh) * 2007-05-17 2007-10-24 华为技术有限公司 网络设备攻击防范的方法和装置
CN102043917A (zh) * 2010-12-07 2011-05-04 成都市华为赛门铁克科技有限公司 云系统分布式拒绝服务攻击防护方法以及装置和系统
CN102722414A (zh) * 2012-05-22 2012-10-10 中国科学院计算技术研究所 用于多根i/o 虚拟化共享系统的i/o 资源管理方法
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统
CN103873374A (zh) * 2014-03-27 2014-06-18 杭州华三通信技术有限公司 虚拟化系统中的报文处理方法及装置
CN104461958A (zh) * 2014-10-31 2015-03-25 杭州华为数字技术有限公司 支持sr-iov的存储资源访问方法、存储控制器及存储设备
CN106155883A (zh) * 2015-03-30 2016-11-23 华为技术有限公司 一种虚拟机可靠性测试方法及装置
CN106534042A (zh) * 2015-09-09 2017-03-22 阿里巴巴集团控股有限公司 基于数据分析的服务器入侵识别方法、装置和云安全系统
CN107241304A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种DDos攻击的检测方法及装置
CN107239700A (zh) * 2017-06-28 2017-10-10 郑州云海信息技术有限公司 一种基于xen虚拟化平台的安全防护方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Stealthy Denial of Service Strategy in Cloud Computing;Massimo Ficco .etal;《IEEE TRANSACTIONS ON CLOUD COMPUTING》;20151231;第3卷(第1期);80-94页 *
云环境下基于熵的分布式拒绝服务攻击评估方法;蔡佳义 等;《第十届中国通信学会学术年会论文集》;20141231;189-193页 *

Also Published As

Publication number Publication date
CN108958884A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN108958884B (zh) 一种虚拟机管理的方法及相关装置
EP3242440B1 (en) Fault tolerant method, apparatus and system for virtual machine
US7480742B2 (en) Method for virtual adapter destruction on a physical adapter that supports virtual adapters
EP3211530B1 (en) Virtual machine memory management method, physical main machine, pcie device and configuration method therefor, and migration management device
EP3238408A1 (en) Techniques to deliver security and network policies to a virtual network function
US20200364080A1 (en) Interrupt processing method and apparatus and server
US10091226B2 (en) Method and apparatus for service traffic security using DIMM channel distribution in multicore processing system
EP2724244A2 (en) Native cloud computing via network segmentation
US10048886B2 (en) Method and system providing file system for an electronic device comprising a composite memory device
CN111324891A (zh) 用于容器文件完整性监视的系统和方法
CN114490085B (zh) 一种网卡配置方法、装置、设备及存储介质
Musleh et al. Bridging the virtualization performance gap for HPC using SR-IOV for InfiniBand
CN104156255A (zh) 一种虚拟机迁移方法、虚拟机迁移装置及源物理主机
KR20220020199A (ko) 네트워크 착수형 공격들로부터의 보호
US10762223B2 (en) Mandatory access control method and apparatus, and physical host
CN114553780A (zh) 负载均衡的方法、装置以及网卡
CN114756332A (zh) 基于虚拟机设备直通的数据访问方法、设备以及系统
US9304955B2 (en) Techniques for identifying and handling processor interrupts
US20080148390A1 (en) Secure program launch
CN117519905A (zh) 一种基于迁移成本和资源均衡的虚拟机选择方法
US20220276809A1 (en) Interface between control planes
CN112597094B (zh) 一种提高rdma传输效率的装置及方法
CN112131146B (zh) 获取设备信息的方法、装置、存储介质及电子设备
US20160364349A1 (en) Computer
CN110677344A (zh) 一种数据处理方法及服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant