云主机在宿主机上的动态分配方法、电子装置及存储介质与流程

文档序号:21626480发布日期:2020-07-29 02:33阅读:239来源:国知局
云主机在宿主机上的动态分配方法、电子装置及存储介质与流程

本发明涉及云计算技术领域,尤其涉及一种云主机在宿主机上的动态分配方法、电子装置及计算机可读存储介质。



背景技术:

目前市面上的云平台监控产品,例如阿里云、腾讯云、华为云的云监控产品,对基础资源(计算、网络、存储等)的监控大部分都是通过对指标设定固定阈值,当指标达到设定的阈值时,云监控会产生告警事件,并且将此告警事件通知到运维人员,运维人员根据收到的警告信息,在进行实际故障排除等等。

上述这种方式比较原始,没有实现监控运维的自动化,需要运维人员根据告警消息再去定位系统的具体问题,时效性较低。在实际生产环境中,大部分的故障都是由同样的原因引起的;比如:某一个生产集群专门用来做日志的存储,磁盘使用率的告警基本都来自于日志文件太多,可以手动删除旧日志文件来解决;但是每次告警和故障都需要运维人员手动修复,整个流程的自动化程度也比较低。

同时,目前市面上大部分的云平台产品,在云主机的镜像上都是固定了几种默认的镜像,其中,按照使用场景大部分可以分为:计算型、通用型、容量型、内存型等。大部分云平台计算型主机一般配置设置为:1核2g、2核4g、4核8g、8核16g,通用型主机一般配置为:1核4g、2核8g、4核16g等;但是这些镜像本质上没有差异只是在配置上的不同。也就是说,在分配镜像时,需要将核数和内存比不同的云主机分配到不同的宿主机上。例如:1核2g和2核4g的云主机在不超分的情况下,需要分配到36核72g或72核144g的宿主机上,因为核数和内存比均为1:2;如果在cpu核数和内存的比例确定时,这种分配方法比较好,不会造成宿主机的资源浪费。

鉴于上述原因,用户在采购机器的时候就需要将核数和内存比固定,如果不固定会有旧机器监控和新机器监控的问题;因此在用户发明云主机时就只能发明这些固定核数和内存比的云主机;假如用户想使用1核1g或者1核3g的云主机,在宿主机的资源被分配完时,就会要么剩余核数,要么剩余内存,不会将宿主机的资源利用率达到最大;在一般商用的云计算场景中,会造成大规模的宿主机cpu或者内存资源浪费。

基于上述存在的各种问题,发明人意识到传统的云监控方式以及传统的云主机在宿主机的分配方式不能满足客户的需求,因此亟需一种云主机在宿主机上的动态分配方法解决上述问题。



技术实现要素:

本发明提供一种云主机在宿主机上的动态分配方法、电子装置及计算机可读存储介质,其主要目的在于通过云主机原始比例值、宿主机原始比例值进行分配云主机,将宿主机的资源利用率达到最大,从而解决现有的云计算由于采用的固定核数和内存比的云主机,造成大规模的宿主机cpu或者内存资源浪费的问题。

此外,为实现上述目的,本发明提供一种云主机在宿主机上的动态分配方法,应用于电子装置,所述方法包括:

通过云监控设备对监控数据进行处理;

当处理的监控数据达到预设的告警阈值时,触发告警并将触发的告警信息发送至workflow,其中,所述workflow包括运维工具和运维实体;

根据接收到的告警信息,所述运维工具将预先设定的指令发送给所述运维实体;

根据接收到的指令,所述运维实体执行所述运维工具所下达的预先设定的指令;

其中,所述预先设定的指令包括云主机在宿主机上的动态分配,具体的动态分配方法如下:

获取每台宿主机的宿主机原始比例值、每台宿主机的实际资源占用比例值、以及每台云主机的云主机原始比例值;

根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态;

根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上。

优选地,在初始化所述宿主机时,获取每台宿主机的每台宿主机的宿主机原始比例值,其中,

所述宿主机原始比例值为宿主机的cpu与宿主机的内存的比例值。

优选地,根据所述宿主机的已使用cpu以及已使用内存,获取每台宿主机的实际资源占用比例值,其中,

所述实际资源占用比例值为宿主机的已使用cpu与已使用内存的比值。

优选地,在创建所述云主机时,将云主机的cpu与云主机的内存的比例值定义为所述云主机原始比例值。

优选地,所述根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态的步骤包括:

如果所述宿主机原始比例值大于所述实际资源占用比例值,则将所述宿主机的状态标记为“1”;

如果所述宿主机原始比例值小于所述实际资源占用比例值,则将所述宿主机的状态标记为“0”。

优选地,所述根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上的步骤包括:

如果所述云主机原始比例值大于所述宿主机原始比例值,则将所述云主机分配到状态标记为“1”的宿主机上;

如果所述云主机原始比例值小于所述宿主机原始比例值,则将所述云主机分配到状态标记为“0”的宿主机上。

为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器、处理器,所述存储器中包括云主机在宿主机上的动态分配程序,所述云主机在宿主机上的动态分配程序被所述处理器执行时实现如下步骤:

通过云监控设备对监控数据进行处理;

当处理的监控数据达到预设的告警阈值时,触发告警并将触发的告警信息发送至workflow,其中,所述workflow包括运维工具和运维实体;

根据接收到的告警信息,所述运维工具将预先设定的指令发送给所述运维实体;

根据接收到的指令,所述运维实体执行所述运维工具所下达的预先设定的指令;

其中,所述预先设定的指令包括云主机在宿主机上的动态分配,具体的动态分配方法如下:

获取每台宿主机的宿主机原始比例值、每台宿主机的实际资源占用比例值、以及每台云主机的云主机原始比例值;

根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态;

根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上。

优选地,所述根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态的步骤包括:

如果所述宿主机原始比例值大于所述实际资源占用比例值,则将所述宿主机的状态标记为“1”;

如果所述宿主机原始比例值小于所述实际资源占用比例值,则将所述宿主机的状态标记为“0”。

优选地,所述根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上的步骤包括:

如果所述云主机原始比例值大于所述宿主机原始比例值,则将所述云主机分配到状态标记为“1”的宿主机上;

如果所述云主机原始比例值小于所述宿主机原始比例值,则将所述云主机分配到状态标记为“0”的宿主机上。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括云主机在宿主机上的动态分配程序,所述云主机在宿主机上的动态分配程序被处理器执行时,实现如上所述的云主机在宿主机上的动态分配方法中的任意步骤。

本发明提出的云主机在宿主机上的动态分配方法、电子装置及计算机可读存储介质,首先基于workflow进行云监控发现云平台中存在的问题,然后他通过动态分配方法解决发现的问题,即:首先基于workflow进行云监控,从而解决现有的云监控运维实效性差、自动化程度低等问题;然后再通过根据云主机原始比例值、宿主机原始比例值进行分配云主机,将宿主机的资源利用率达到最大,从而解决现有的云计算由于采用的固定核数和内存比的云主机,造成大规模的宿主机cpu或者内存资源浪费的问题;采用本发明的动态分配方法,用户可以不用再采购指定配置的宿主机,也不需要在宿主机内存条等设备出问题的时候必须迁移,根据宿主机、云主机的原始比例分配在宿主机上部署云主机,从而提升宿主机的资源利用率;此外,在某个宿主机出故障时云主机可以飘移到任意一宿主机上,使得云主机的分配更为灵活。

附图说明

图1为本发明云主机在宿主机上的动态分配方法较佳实施例的应用环境示意图;

图2为本发明云主机在宿主机上的动态分配系统较佳实施例的模块示意图;

图3为本发明云主机在宿主机上的动态分配方法较佳实施例的流程图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种云主机在宿主机上的动态分配方法,应用于一种电子装置1。参照图1所示,为本发明云主机在宿主机上的动态分配方法较佳实施例的应用环境示意图。

在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。

该电子装置1包括:处理器12、存储器11、网络接口14及通信总线15。

存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的云主机在宿主机上的动态分配程序10、与二维码相对应的app(application,中文为手机的第三方应用程序)等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如云主机在宿主机上的动态分配程序10等。

网络接口14可选地可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。

通信总线15用于实现这些组件之间的连接通信。

图1仅示出了具有组件11-15的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

可选地,该电子装置1还可以包括呼叫端接口,呼叫端接口可以包括输入单元比如键盘(keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地呼叫端接口还可以包括标准的有线接口、无线接口。

可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的呼叫端界面。

可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供呼叫端进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。

此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测呼叫端触发的触控操作。

可选地,该电子装置1还可以包括射频(radiofrequency,rf)电路,传感器、音频电路等等,在此不再赘述。

在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作系统、以及云主机在宿主机上的动态分配程序10;处理器12执行存储器11中存储的云主机在宿主机上的动态分配程序10时实现如下步骤:

通过云监控设备对监控数据进行处理;

当处理的监控数据达到预设的告警阈值时,触发告警并将触发的告警信息发送至workflow,其中,所述workflow包括运维工具和运维实体;

根据接收到的告警信息,所述运维工具将预先设定的指令发送给所述运维实体;

根据接收到的指令,所述运维实体执行所述运维工具所下达的预先设定的指令;

其中,所述预先设定的指令包括云主机在宿主机上的动态分配,具体的动态分配方法如下:

获取每台宿主机的宿主机原始比例值、每台宿主机的实际资源占用比例值、以及每台云主机的云主机原始比例值;

根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态;

根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上。

优选地,在云管系统初始化所述宿主机时,获取每台宿主机的每台宿主机的宿主机原始比例值,其中,

所述宿主机原始比例值为宿主机的cpu与宿主机的内存的比例值。

优选地,根据所述宿主机的已使用cpu以及已使用内存,获取每台宿主机的实际资源占用比例值,其中,

所述实际资源占用比例值为宿主机的已使用cpu与已使用内存的比值。

优选地,在创建所述云主机时,将云主机的cpu与云主机的内存的比例值定义为所述云主机原始比例值。

优选地,所述根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态的步骤包括:

如果所述宿主机原始比例值大于所述实际资源占用比例值,则将所述宿主机的状态标记为“1”;

如果所述宿主机原始比例值小于所述实际资源占用比例值,则将所述宿主机的状态标记为“0”。

优选地,所述根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上的步骤包括:

如果所述云主机原始比例值大于所述宿主机原始比例值,则将所述云主机分配到状态标记为“1”的宿主机上;

如果所述云主机原始比例值小于所述宿主机原始比例值,则将所述云主机分配到状态标记为“0”的宿主机上。

上述实施例提出的电子装置1,首先基于workflow进行云监控发现云平台中存在的问题,然后他通过动态分配方法解决发现的问题,即:首先基于workflow进行云监控,从而解决现有的云监控运维实效性差、自动化程度低等问题;然后再通过根据云主机原始比例值、宿主机原始比例值进行分配云主机,将宿主机的资源利用率达到最大,从而解决现有的云计算由于采用的固定核数和内存比的云主机,造成大规模的宿主机cpu或者内存资源浪费的问题;采用本发明的动态分配方法,用户可以不用再采购指定配置的宿主机,也不需要在宿主机内存条等设备出问题的时候必须迁移,能够按照宿主机、云主机的原始比例,从而提升宿主机的资源利用率;此外,在某个宿主机出故障时云主机可以飘移到任意一宿主机上,使得云主机的分配更为灵活。

在其他实施例中,本发明还提供一种云主机在宿主机上的动态分配系统。参照图2所示,云主机在宿主机上的动态分配系统包括:监控数据处理模块110、警告触发模块120、指令发送模块130、指令执行模块140、比例值获取模块150、宿主机状态获取模块160和云主机分配模块170,其中,

监控数据处理模块110,用于通过云监控对监控数据进行处理;

警告触发模块120,用于当处理的监控数据达到预设的告警阈值时,触发告警并将触发的告警信息发送至workflow,其中,所述workflow包括:运维工具和运维实体;

指令发送模块130,用于根据接收到的告警信息,所述运维工具将预先设定的指令发送给所述运维实体;

指令执行模块140,用于根据接收到的指令,所述运维实体执行所述运维工具所下达的预先设定的指令;

比例值获取模块150,用于获取每台宿主机的宿主机原始比例值、每台宿主机的实际资源占用比例值、以及每台云主机的云主机原始比例值;

宿主机状态获取模块160,用于根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态;

云主机分配模块170,用于根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上。

在比例值获取模块150中,在云管系统初始化所述宿主机时,获取每台宿主机的每台宿主机的宿主机原始比例值,其中,

所述宿主机原始比例值为宿主机的cpu与宿主机的内存的比例值。

在比例值获取模块150中,根据所述宿主机的已使用cpu以及已使用内存,获取每台宿主机的实际资源占用比例值,其中,

所述实际资源占用比例值为宿主机的已使用cpu与已使用内存的比值。

在比例值获取模块150中,在创建所述云主机时,将云主机的cpu与云主机的内存的比例值定义为所述云主机原始比例值。

在宿主机状态获取模块160中,所述根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态的步骤包括:

如果所述宿主机原始比例值大于所述实际资源占用比例值,则将所述宿主机的状态标记为“1”;

如果所述宿主机原始比例值小于所述实际资源占用比例值,则将所述宿主机的状态标记为“0”。

在云主机分配模块170中,所述根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上的步骤包括:

如果所述云主机原始比例值大于所述宿主机原始比例值,则将所述云主机分配到状态标记为“1”的宿主机上;

如果所述云主机原始比例值小于所述宿主机原始比例值,则将所述云主机分配到状态标记为“0”的宿主机上。

此外,本发明还提供一种云主机在宿主机上的动态分配方法。参照图3所示,为本发明云主机在宿主机上的动态分配方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,云主机在宿主机上的动态分配方法,包括:步骤s110-步骤s170。

s110:通过云监控设备对监控数据进行处理;

s120:当处理的监控数据达到预设的告警阈值时,触发告警并将触发的告警信息发送至workflow,其中,所述workflow包括:运维工具和运维实体;

s130:根据接收到的告警信息,所述运维工具将预先设定的指令发送给所述运维实体;

s140:根据接收到的指令,所述运维实体执行所述运维工具所下达的预先设定的指令;

其中,所述预先设定的指令包括云主机在宿主机上的动态分配,具体的动态分配方法如下:

s150:获取每台宿主机的宿主机原始比例值、每台宿主机的实际资源占用比例值、以及每台云主机的云主机原始比例值;

s160:根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态;

s170:根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上。

在本申请中,基于workflow的云监控,主要为系统故障修复的提高时效性和自动化,通过将云监控产品和运维工具、运维实体结合起来,形成云监控+运维工具+运维实体这样的workflow系统。将监控数据推送到云监控设备后,如果达到了告警阈值会触发告警,进而会进入到设置好的worlflow,这个过程就是通过运维工具将预设的指令下发到运维实体;然后通过云主机在宿主机上的动态分配方法,能够大幅提升大规模云计算系统宿主机的资源利用率;也会让云主机的分配更灵活,不会产生因为需要分配云主机到指定配置的宿主机而导致云主机迁移故障。

本申请与传统的监控运维方式的区别主要在于,现云监控产品主要是进行报警,如果想进行后续的操作需要将告警事件投入到消息队列中进行消费或者通过接口获取,然后在通过写程序告警事件进行相应的运维操作。而基于workflow的过程,是把告警事件以及大部分运维操作,抽象成单独的模块,提前将程序写好设置在模块中,不用再单独写程序,甚至直接在页面上进行拖拽操作即可完成。

在本发明的实施例中,云监控设备对数据主要进行数据接收、数据存储、数据聚合的工作,同时也会实时监控上传上来的数据是否满足已经设置的告警条件;监控数据的采集主要通过部署在主机上的客户端进行收集。云监控是安防云与it的云计算划等号、资源虚拟化和云服务,现阶段的监控行业正处于监控数据集中到虚拟化、资源化的过渡阶段。云监控通过分布在各地的监控节点,运用各种故障分析手段,在故障发生时抓取各种信息,例如网络信息、域名解析信息等,帮助网站主判断故障原因,快速定位问题。

在本发明的实施例中,运维工具,用于根据接收到的触发警告,将预定义命令发达给运维实体;运维实体用于执行各种预先定义好的命令,运维实体是指云资源,一般是指云主机。

在步骤s110和步骤s120中,云监控设备实时监控上传上来的监控数据是否满足预先设置的告警条件,即:当监控设备监控到监控数据满足告警阈值时,触发告警,向运维产品发出告警。

其中,告警可通过语音、短信、邮件等方式推送,也可以推送到workflow(即:指定的webhook、消息队列、函数计算、日志服务)中,方便将报警信息集成到运维工具中。其中,云监控设备是资源和互联网应用进行监控的服务,云监控可用于收集获取资源的监控指标和监控数据,探测互联网服务可用性,以及针对监控数据设置警报。

其中,需要说明的是,告警功能是云监控设备的一个功能。用户可以自己设定阈值来确定告警的敏感度,不同的监控项会有不同的阈值范围,比如:云主机磁盘已使用百分比的阈值可以设置为80%,这样在磁盘使用率达到80%就会触发告警。因此,云监控设备实时监控需要监控的项目,随着监控项目的运行,监控数据会发生变化,当监控数据慢慢到达到预设的告警阈值时,云监控设备自动触发告警。在实际应用中,根据监控的具体项目以及实际需求设定告警阈值,不同的监控项目,设定不同的告警阈值。

在本发明的实施例中,同一业务类型的主机产生报警的故障原因基本可以归为固定的几种类型,所以通过workflow系统,将主机的报警事件作为workflow的触发条件,然后执行一些既定的操作指令。例如:作为日志存储业务的主机,可以将磁盘的已使用空间率作为workflow的触发条件,当日志服务器的磁盘容量越来越少,达到事先设定的告警阈值时,将会自动触发事先编写好的执行脚本;其中,这段脚本主要是用来清除最久的日志数据,这样就可以实现自动化的监控运维系统。因此,云主机内存的释放、云主机磁盘空间的释放等场景均可以采用上述方式。

在步骤s130和步骤s140中,workflow的运维工具主要是下指执行指令的工具,可以将命令下发到相应的云主机或者云资源上。执行指令是预先设定在运维工具中的,当运维工具接收到告警信息时,运维工具会将预设设定的指令发给运维实体,其中运维实体可以指云主机、云资源等等。

在本发明的实施例中,云监控的报警事件作为触发条件,一旦报警事件触发,就会自动运行workflow系统;其中,workflow系统可以由多个执行事件组成,在检测到所有事件已执行完毕后,则将整个workflow标记为完成。

其中,需要说明的是,workflow可以理解为一连串需要执行命令的集合;主要通过运维工具去实现,比如自动清理日志workflow,需要首先进入到指定的目录然后再执行删除命令,workflow就分为了两个执行事件,两个事件具有依赖关系;首先必须先进入指定文件夹,然后才能执行删除的命令。

workflow是指可执行操作的集合,比如说,通过日志工具筛选出包含某字段的日志是一个执行事件,再通过删除工具删除日志是另外一个执行事件,这两个事件可以组合成一个workflow,如果业务更复杂,就可以用更多的可执行事件组成一个workflow。执行事件1就是指将进入到在日志目录的命令下发到云主机上进行执行;指执行事件2就是执行删除日志文件的目录。一个执行事件肯定包括命令的下发、命令的执行。执行删除日志文件这个命令,肯定既包含命令的下发,也包含命令在云主机中的执行。

在本发明的一个具体实施例中,预设的指令就是用于预先编写好的执行脚本的指令,其中,预设命令用户可以自己编写,比如说:对于linux系统,磁盘由于日志原因满了,就会发出告警,当主机收到了告警信息后,就会下达清除最久的日志数据的命令,从而可以使用rm命令进行删除日志;收到清除日志数据的指令后,云主机就会执行此命令,即:脚本就会自动运行,以清除最永久的日志。云主机内存的释放、云主机磁盘空间的释放。

此外,某些程序进程堵塞,导致cpu升高,可以使用top命令筛选出资源消耗最高的进程,再用kill命令杀掉堵塞的进程。

上述实施例中,通过云监控设备和运维工具、运维实体结合起来,形成workflow系统,从而解决现有的云监控运维实效性差、自动化程度低等问题;采用本发明的云监控方法,在不用手动情况下去登录主机或者其他应用系统的情况下,直接能够智能化进行一些问题的修复,从而节省运维修复的时间,使得应用系统恢复的时间越来越少,从而能够提升云监控运维的实效性;此外,在一些线上环境出现问题时,由于时间的紧迫性和线上环境复杂性,导致运维人员在执行修复的过程中经常会出错,采用本发明的云监控方法,能够减轻运维人员出错的可能性,从而提升监控运维的自动化程度。其中,在本发明的实施例中,首先基于workflow进行云监控发现云平台中存在的问题,然后他通过动态分配方法解决发现的问题,其中,预先设定的指令包括云主机在宿主机上的动态分配,具体的动态分配方法如下:

在步骤s150中,在云管系统初始化宿主机时,取得宿主机的cpu和宿主机的内存的比例,定义此值为“宿主机原始比例值”,比如:64核128g的宿主机的原始比例值为0.5,64核64g的宿主机的原始比例值为1。

其中,云管系统初始化过程是指:云管系统在纳管宿主机的时候就获取每台宿主机的cpu和内存的比例,云管系统在将宿主机加入到资源池时能够获取到宿主机的相关信息。初始化其实是指云管软件第一次纳管宿主机的过程,主要获取到“宿主机原始比例值”;即:通过云管系统对宿主机进行初始化,取得每台宿主机的cpu和内存的比例(宿主机原始比例值)。

在本发明的实施例中,云管系统根据不同云平台使用的方式不同会分为:自研云管系统、openstack、cloudstack等等。

在本发明的实施例中,根据宿主机的已使用cpu以及已使用内存,获取每台宿主机的实际资源占用比例值,其中,实际资源占用比例值为宿主机的已使用cpu与已使用内存的比值;即:实际资源占用比例值就是当前宿主机的“已使用cpu”/“已使用内存”。

具体地,当在一个宿主机上部署云主机时,会对每台宿主机生成一个“实际资源占用比例值”,即当前宿主机的“已使用cpu”/“已使用内存”,其中,需要说明的是,宿主机的实际资源占用比例值的采集频率可以定位一分钟或十分钟,依据具体的环境实际创建频率而定。

其中,如果有用户购买了云主机,云主机需要部署在一台宿主机上。但是,一个资源池有很多台宿主机,怎么决定这台云主机部署在哪台宿主机上,这时候就需要获取这些宿主机当前的资源使用信息,计算出来一个值(即:宿主机的实际资源占用比例值),根据宿主机的实际资源占用比例值和这台宿主机初始化的时候的宿主机原始比例值进行比较,来决定到底分配到哪台宿主机上。

在本发明的实施例中,在创建云主机时,将云主机的cpu与云主机的内存的比例值定义为云主机原始比例值。也就是说,云主机的镜像也会有一个比例,定义此值为“云主机原始比例值”;比如:1核2g的云主机的云主机原始比例值为0.5,1核4g的云主机的云主机原始比例值为0.25。其中,用户在创建云主机的时候,会选择cpu核数和内存大小,在创建命令下发时其实云主机原始比例值就已经确定了。

总之,宿主机原始比例值就是cpu核数和内存的比值,每台机器如果不进行硬件的变动这个值是固定的,比如说64核128g的宿主机原始比例值就是0.5;云主机原始比例值,云主机创建之后,这个值就不会变动,除非用户扩容到不同比例的云主机。计算方式也是cpu核数和内存的比值,比如1核2g的云主机这个值就是0.5。

在步骤s160中,此步骤是如何判断宿主机状态判定的过程,根据宿主机原始比例值与实际资源占用比例值,获取宿主机状态的步骤包括:

步骤一:如果宿主机原始比例值大于实际资源占用比例值,则将宿主机的状态标记为“1”;

步骤二:如果宿主机原始比例值小于实际资源占用比例值,则将宿主机的状态标记为“0”。

通过上述过程可以判断宿主机的状态,在本发明的一个具体的实施例中,当一个64核128g的宿主机上部署了一个1核2g和一个1核4g的云主机时,当前宿主机的“宿主机原始比例值”为:0.5,当前宿主机的“实际资源占用比例值”为:0.33;并且每次计算出“实际资源占用比例值”时,会对“宿主机原始比例值”和“实际资源占用比例值”进行对比,如果“宿主机原始比例值”大于“实际资源占用比例值”,则将此宿主机的状态标记为“1”,反之则标记为“0”,即:如果“宿主机原始比例值”小于“实际资源占用比例值”,则将此宿主机的状态标记为“0”。

在步骤s170中,根据云主机原始比例值、宿主机原始比例值以及宿主机状态,为所述云主机匹配对应的宿主机并将云主机分配到与其匹配的宿主机上的步骤包括:

步骤一:如果云主机原始比例值大于宿主机原始比例值,则将云主机分配到状态标记为“1”的宿主机上;

步骤二:如果云主机原始比例值小于宿主机原始比例值,则将云主机分配到状态标记为“0”的宿主机上。

为了更详细的说明云主机如何分配在哪个宿主机,进一步举例说明,例如:当有一台新的云主机需要进行部署,首先将云主机的“云主机原始比例值”和此区域内宿主机的“宿主机原始比例值”进行对比;如果“云主机原始比例值”大于“宿主机原始比例值”,则将云主机分配到状态标记为“1”的宿主机上,反之则将云主机分配到状态标记为“0”的宿主机上。用这种方式部署云主机,可以动态的调节宿主机cpu和内存的比例,直到达到“宿主机原始比例值”为止,可以大大提高资源的利用率。

上述实施例提出的云主机在宿主机上的动态分配方法,首先基于workflow进行云监控发现云平台中存在的问题,然后他通过动态分配方法解决发现的问题,即:首先基于workflow进行云监控,从而解决现有的云监控运维实效性差、自动化程度低等问题;然后再通过根据云主机原始比例值、宿主机原始比例值进行分配云主机,将宿主机的资源利用率达到最大,从而解决现有的云计算由于采用的固定核数和内存比的云主机,造成大规模的宿主机cpu或者内存资源浪费的问题;采用本发明的动态分配方法,用户可以不用再采购指定配置的宿主机,也不需要在宿主机内存条等设备出问题的时候必须迁移,根据宿主机、云主机的原始比例分配在宿主机上部署云主机,从而提升宿主机的资源利用率;此外,在某个宿主机出故障时云主机可以飘移到任意一宿主机上,使得云主机的分配更为灵活。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括云主机在宿主机上的动态分配程序,所述云主机在宿主机上的动态分配程序被处理器执行时,所述云主机在宿主机上的动态分配程序被处理器执行时实现如下操作:

通过云监控设备对监控数据进行处理;

当处理的监控数据达到预设的告警阈值时,触发告警并将触发的告警信息发送至workflow,其中,所述workflow包括运维工具和运维实体;

根据接收到的告警信息,所述运维工具将预先设定的指令发送给所述运维实体;

根据接收到的指令,所述运维实体执行所述运维工具所下达的预先设定的指令;

其中,所述预先设定的指令包括云主机在宿主机上的动态分配,具体的动态分配方法如下:

获取每台宿主机的宿主机原始比例值、每台宿主机的实际资源占用比例值、以及每台云主机的云主机原始比例值;

根据所述宿主机原始比例值与所述实际资源占用比例值,获取宿主机状态;

根据所述云主机原始比例值、所述宿主机原始比例值以及所述宿主机状态,为所述云主机匹配对应的宿主机并将所述云主机分配到与其匹配的宿主机上。

本发明之计算机可读存储介质的具体实施方式与上述云主机在宿主机上的动态分配方法、电子装置的具体实施方式大致相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1