CN109617954B - 一种创建云主机的方法和装置 - Google Patents

一种创建云主机的方法和装置 Download PDF

Info

Publication number
CN109617954B
CN109617954B CN201811442197.9A CN201811442197A CN109617954B CN 109617954 B CN109617954 B CN 109617954B CN 201811442197 A CN201811442197 A CN 201811442197A CN 109617954 B CN109617954 B CN 109617954B
Authority
CN
China
Prior art keywords
server
current
available
cloud
current server
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
CN201811442197.9A
Other languages
English (en)
Other versions
CN109617954A (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 CN201811442197.9A priority Critical patent/CN109617954B/zh
Publication of CN109617954A publication Critical patent/CN109617954A/zh
Application granted granted Critical
Publication of CN109617954B publication Critical patent/CN109617954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • 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
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping

Abstract

本发明公开了一种创建云主机的方法,该方法包括:接收创建云主机的请求;根据所述云主机的个数N和资源规格,当集群所提供的用于创建云主机的资源满足预设条件时,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,按照迁移后的各服务器的可用内存大小和可用vCPU个数确定支持创建的云主机的个数;根据所确定的支持创建的云主机个数创建云主机。本发明还公开了一种创建云主机的装置。本发明提供的方法和装置能够在有限的资源条件下满足云主机的创建,提高创建云主机的成功率。

Description

一种创建云主机的方法和装置
技术领域
本发明涉及云计算领域,尤其涉及云计算领域中一种创建云主机的方法和装置。
背景技术
当前云主机批量创建云主机时,首先选择镜像、网络、存储及指定云主机创建个数N,执行一系列的云主机判断条件之后,下发批量创建云主机的请求,计算模块监控到云主机创建请求,根据创建云主机选择的资源规格,当满足以下条件时才允许创建这N个云主机:1)N个云主机所需内存大小总和小于集群可用内存大小;2)N个云主机所需虚拟中央处理器vCPU个数总和小于集群可用vCPU个数;3)N个云主机所需磁盘总和小于集群可用存储空间。当前计算模块通过调度后,判断以上三个条件是否都满足,如果有其中一条不满足就会报创建云主机失败,不执行云主机的创建操作。
发明内容
本发明要解决的技术问题是提供一种创建云主机的方法,在有限的资源条件下满足云主机的创建,提高创建云主机的成功率。
为了解决上述技术问题,本发明实施例提供了一种创建云主机的方法,包括:
接收创建云主机的请求;所述请求中包括请求创建的云主机的个数N和云主机的资源规格,其中,所述N为正整数;所述资源规格包括云主机的内存大小、云主机的虚拟中央处理器vCPU的个数、云主机的磁盘大小;
根据所述云主机的个数N和资源规格,当集群所提供的用于创建云主机的资源满足预设条件时,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,按照迁移后的各服务器的可用内存大小和可用vCPU个数确定支持创建的云主机的个数;
根据所确定的支持创建的云主机个数创建云主机。
一种示例性的实施例中,上述方法还具有下面特点:
集群所提供的用于创建云主机的资源满足预设条件,包括:
集群的存储资源大于或等于N个云主机的磁盘大小的总和,集群中各服务器的可用内存大小的总和小于N个云主机的内存大小之和,集群中各服务器的可用vCPU个数的总和小于N个云主机的vCPU个数之和。
一种示例性的实施例中,上述方法还具有下面特点:
根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,包括:
按照集群中各服务器的可用内存大小由大到小的顺序对集群中的服务器进行排序并形成第一列表;按照各服务器的可用vCPU个数由大到小的顺序对集群中的服务器进行排序形成第二列表;
a)将第一列表中的第一个服务器作为第一当前服务器;
b)将第二列表中的第一个服务器作为第二当前服务器;
c)若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则确定第一当前服务器为待迁移的服务器A;确定第二当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,则确定第二当前服务器为待迁移的服务器A;确定第一当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,或者若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则根据预设的规则确定待迁移的服务器A和迁移目标服务器B;
d)若在第二列表中,第二当前服务器之后还有服务器,则将第二列表中的下一个服务器作为第二当前服务器,返回步骤c);若没有服务器,则进行步骤e);
e)若在第一列表中,第一当前服务器之后还有服务器,则将第一列表中的下一个服务器作为第一当前服务器,返回步骤b);若没有服务器,则结束。
一种示例性的实施例中,上述方法还具有下面特点:
根据预设的规则确定待迁移的服务器A和目标迁移服务器B,包括:
根据待创建的云主机的资源规格,计算第一当前服务器支持创建的云主机的个数a,以及计算第二当前服务器支持创建的云主机的个数b;若a小于或等于b,则将第二当前服务器确定为待迁移的服务器A,将第一当前服务器确定为迁移目标服务器B;若a大于b,则将第一当前服务器确定为待迁移的服务器A,将第二当前服务器确定为迁移目标服务器B。
一种示例性的实施例中,上述方法还具有下面特点:
将待迁移的服务器A中的云主机迁移到迁移目标服务器B,包括:
计算所述迁移目标服务器B上可接受迁移的云主机的资源大小,将所述待迁移的服务器A上与服务器B上可接受迁移的云主机的资源大小相当的云主机迁移到服务器B上。
为了解决上述问题,本发明还提供了一种创建云主机的装置,包括:存储器和处理器;
所述存储器,用于保存用于创建云主机的程序;
所述处理器,用于读取执行所述用于创建云主机的程序,执行如下操作:
接收创建云主机的请求;所述请求中包括请求创建的云主机的个数N和云主机的资源规格,其中,所述N为正整数;所述资源规格包括云主机的内存大小、云主机的虚拟中央处理器vCPU的个数、云主机的磁盘大小;
根据所述云主机的个数N和资源规格,当集群所提供的用于创建云主机的资源满足预设条件时,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,按照迁移后的各服务器的可用内存大小和可用vCPU个数确定支持创建的云主机的个数;
根据所确定的支持创建的云主机个数创建云主机。
一种示例性的实施例中,上述装置还具有下面特点:
集群所提供的用于创建云主机的资源满足预设条件,包括:
集群的存储资源大于或等于N个云主机的磁盘大小的总和,集群中各服务器的可用内存大小的总和小于N个云主机的内存大小之和,集群中各服务器的可用vCPU个数的总和小于N个云主机的vCPU个数之和。
一种示例性的实施例中,上述装置还具有下面特点:
根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,包括:
按照集群中各服务器的可用内存大小由大到小的顺序对集群中的服务器进行排序并形成第一列表;按照各服务器的可用vCPU个数由大到小的顺序对集群中的服务器进行排序形成第二列表;
a)将第一列表中的第一个服务器作为第一当前服务器;
b)将第二列表中的第一个服务器作为第二当前服务器;
c)若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则确定第一当前服务器为待迁移的服务器A;确定第二当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,则确定第二当前服务器为待迁移的服务器A;确定第一当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,或者若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则根据预设的规则确定待迁移的服务器A和迁移目标服务器B;
d)若在第二列表中,第二当前服务器之后还有服务器,则将第二列表中的下一个服务器作为第二当前服务器,返回步骤c);若没有服务器,则进行步骤e);
e)若在第一列表中,第一当前服务器之后还有服务器,则将第一列表中的下一个服务器作为第一当前服务器,返回步骤b);若没有服务器,则结束。
一种示例性的实施例中,上述装置还具有下面特点:
根据预设的规则确定待迁移的服务器A和目标迁移服务器B,包括:
根据待创建的云主机的资源规格,计算第一当前服务器支持创建的云主机的个数a,以及计算第二当前服务器支持创建的云主机的个数b;若a小于或等于b,则将第二当前服务器确定为待迁移的服务器A,将第一当前服务器确定为迁移目标服务器B;若a大于b,则将第一当前服务器确定为待迁移的服务器A,将第二当前服务器确定为迁移目标服务器B。
一种示例性的实施例中,上述装置还具有下面特点:
将待迁移的服务器A中的云主机迁移到迁移目标服务器B,包括:
计算所述迁移目标服务器B上可接受迁移的云主机的资源大小,将所述待迁移的服务器A上与服务器B上可接受迁移的云主机的资源大小相当的云主机迁移到服务器B上。
综上,本发明实施例提供的创建云主机的方法和装置,在批量创建云主机时进行资源迁移,将有限的资源最大化利用,提高了资源利用率,提高了用户体验效果。
附图说明
图1为根据本发明实施例的创建云主机的方法的示意图。
图2为根据本发明实施例的创建云主机的方法的流程图。
图3为根据本发明实施例的创建云主机的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实施例的创建云主机的方法的示意图,如图1所示,本实施例的创建云主机的方法包括:
S11、接收创建云主机的请求。
其中,所述请求中可以包括请求创建的云主机的个数N和云主机的资源规格,其中,所述N为正整数;所述资源规格可以包括云主机的内存大小、云主机的虚拟中央处理器vCPU的个数、云主机的磁盘大小。vCPU即虚拟CPU,是利用虚拟化技术虚拟出来的CPU。通常一个物理CPU按照1:4到1:10的比例划分,比如4个8物理核心的CPU按照1:5的比例划分,则得到4×8×5=160vCPU。云主机属于云平台的计算模块资源,而云平台可以为基于OpenStack开源项目开发的云管理平台,包含计算模块、存储模块、网络模块等。
S12、根据所述云主机的个数N和资源规格,当集群所提供的用于创建云主机的资源满足预设条件时,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,按照迁移后的各服务器的可用内存大小和可用vCPU个数确定支持创建的云主机的个数。
一种示例性的实施例中,集群所提供的用于创建云主机的资源满足预设条件,可以包括:
集群的存储资源大于或等于N个云主机的磁盘大小的总和,集群中各服务器的可用内存大小的总和小于N个云主机的内存大小之和,集群中各服务器的可用vCPU个数的总和小于N个云主机的vCPU个数之和。
一种示例性的实施例中,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,可以包括:
按照集群中各服务器的可用内存大小由大到小的顺序对集群中的服务器进行排序并形成第一列表;按照各服务器的可用vCPU个数由大到小的顺序对集群中的服务器进行排序形成第二列表;
a)将第一列表中的第一个服务器作为第一当前服务器;
b)将第二列表中的第一个服务器作为第二当前服务器;
c)若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则确定第一当前服务器为待迁移的服务器A;确定第二当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,则确定第二当前服务器为待迁移的服务器A;确定第一当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,或者若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则根据预设的规则确定待迁移的服务器A和迁移目标服务器B;
d)若在第二列表中,第二当前服务器之后还有服务器,则将第二列表中的下一个服务器作为第二当前服务器,返回步骤c);若没有服务器,则进行步骤e);
e)若在第一列表中,第一当前服务器之后还有服务器,则将第一列表中的下一个服务器作为第一当前服务器,返回步骤b);若没有服务器,则结束。
一种示例性的实施例中,根据预设的规则确定待迁移的服务器A和目标迁移服务器B,可以包括:
根据待创建的云主机的资源规格,计算第一当前服务器支持创建的云主机的个数a,以及计算第二当前服务器支持创建的云主机的个数b;若a小于或等于b,则将第二当前服务器确定为待迁移的服务器A,将第一当前服务器确定为迁移目标服务器B;若a大于b,则将第一当前服务器确定为待迁移的服务器A,将第二当前服务器确定为迁移目标服务器B。
一种示例性的实施例中,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,可以包括:
计算所述迁移目标服务器B上可接受迁移的云主机的资源大小,将所述待迁移的服务器A上与服务器B上可接受迁移的云主机的资源大小相当的云主机迁移到服务器B上。
S13、根据所确定的支持创建的云主机个数创建云主机。
图2为本发明实施例的创建云主机的流程图。如图2所示,包括步骤如下:
步骤201:用户选定镜像、资源规格、网络等信息,发送批量创建N个云主机的请求。
其中,所述资源规格可以包括云主机的内存大小、云主机的虚拟中央处理器vCPU的个数、云主机的磁盘大小。该批量创建的N个云主机可以具有相同的内存大小、vCPU个数和磁盘大小,即资源规格相同;也可以具有不同的内存大小、vCPU个数和磁盘大小,即资源规格不相同。
步骤202:云平台将POST请求下发到计算模块,若POST请求失败则报HTTP异常,终止此次请求,否则执行下一步。
步骤203:计算模块确定集群支持创建的云主机的个数。
其中,集群指将很多服务器集中起来一起进行同一种服务,在客户端看来像是只有一个服务器。现在集群环境一般使用共享存储,即一旦因存储资源不足,必然需要添加额外的存储空间。
当集群中的各服务器的内存大小、vCPU个数满足N个云主机的创建条件,但存储资源(默认使用共享存储,即一个集群中的所有服务器都使用该存储)不足以支持当前N个云主机创建条件的时候,通过资源规格中磁盘的大小判断最多支持创建的云主机个数M(因为存储为共享存储,所以一旦存储资源不足,只能以存储资源为准调整云主机创建个数,M<N)。
当集群存储资源满足N个云主机创建条件,而集群中的各服务器的内存大小、vCPU个数不满足N个云主机的创建条件时,根据集群中各服务器的可用内存和可用vCPU确定支持创建的云主机的个数S(S<N)。
按照集群中各服务器的可用内存大小由大到小的顺序对集群中的服务器进行排序并形成第一列表;按照各服务器的可用vCPU个数由大到小的顺序对集群中的服务器进行排序形成第二列表;
a)将第一列表中的第一个服务器作为第一当前服务器;
b)将第二列表中的第一个服务器作为第二当前服务器;
c)若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则确定第一当前服务器为待迁移的服务器A;确定第二当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,则确定第二当前服务器为待迁移的服务器A;确定第一当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,或者若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,根据待创建的云主机的资源规格,计算第一当前服务器支持创建的云主机的个数a,以及计算第二当前服务器支持创建的云主机的个数b;若a小于或等于b,则将第二当前服务器确定为待迁移的服务器A,将第一当前服务器确定为迁移目标服务器B;若a大于b,则将第一当前服务器确定为待迁移的服务器A,将第二当前服务器确定为迁移目标服务器B;
d)若在第二列表中,第二当前服务器之后还有服务器,则将第二列表中的下一个服务器作为第二当前服务器,返回步骤c);若没有服务器,则进行步骤e);
e)若在第一列表中,第一当前服务器之后还有服务器,则将第一列表中的下一个服务器作为第一当前服务器,返回步骤b);若没有服务器,则结束。
将待迁移的服务器A中的云主机迁移到迁移目标服务器B,包括:
计算所述迁移目标服务器B上可接受迁移的云主机的资源大小,将所述待迁移的服务器A上与服务器B上可接受迁移的云主机的资源大小相当的云主机迁移到服务器B上。
按照迁移后的各服务器的可用内存大小和可用vCPU个数确定支持创建的云主机的个数S。
步骤204:调用LibvirtDriver创建云主机,并为云主机分配网络。
步骤205:将云主机的磁盘、网络、内存、vCPU等信息写入XML文件,完成云主机的创建操作。
图3为本发明实施例的创建云主机的装置的示意图,如图3所示,本实施例的创建云主机的装置包括:存储器和处理器;
所述存储器,用于保存用于创建云主机的程序;
所述处理器,用于读取执行所述用于创建云主机的程序,执行如下操作:
接收创建云主机的请求;所述请求中包括请求创建的云主机的个数N和云主机的资源规格,其中,所述N为正整数;所述资源规格包括云主机的内存大小、云主机的虚拟中央处理器vCPU的个数、云主机的磁盘大小;
根据所述云主机的个数N和资源规格,当集群所提供的用于创建云主机的资源满足预设条件时,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,按照迁移后的各服务器的可用内存大小和可用vCPU个数确定支持创建的云主机的个数;
根据所确定的支持创建的云主机个数创建云主机。
一种示例性的实施例中,集群所提供的用于创建云主机的资源满足预设条件,包括:
集群的存储资源大于或等于N个云主机的磁盘大小的总和,集群中各服务器的可用内存大小的总和小于N个云主机的内存大小之和,集群中各服务器的可用vCPU个数的总和小于N个云主机的vCPU个数之和。
一种示例性的实施例中,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,包括:
按照集群中各服务器的可用内存大小由大到小的顺序对集群中的服务器进行排序并形成第一列表;按照各服务器的可用vCPU个数由大到小的顺序对集群中的服务器进行排序形成第二列表;
a)将第一列表中的第一个服务器作为第一当前服务器;
b)将第二列表中的第一个服务器作为第二当前服务器;
c)若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则确定第一当前服务器为待迁移的服务器A;确定第二当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,则确定第二当前服务器为待迁移的服务器A;确定第一当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,或者若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则根据预设的规则确定待迁移的服务器A和迁移目标服务器B;
d)若在第二列表中,第二当前服务器之后还有服务器,则将第二列表中的下一个服务器作为第二当前服务器,返回步骤c);若没有服务器,则进行步骤e);
e)若在第一列表中,第一当前服务器之后还有服务器,则将第一列表中的下一个服务器作为第一当前服务器,返回步骤b);若没有服务器,则结束。
一种示例性的实施例中,根据预设的规则确定待迁移的服务器A和目标迁移服务器B,包括:
根据待创建的云主机的资源规格,计算第一当前服务器支持创建的云主机的个数a,以及计算第二当前服务器支持创建的云主机的个数b;若a小于或等于b,则将第二当前服务器确定为待迁移的服务器A,将第一当前服务器确定为迁移目标服务器B;若a大于b,则将第一当前服务器确定为待迁移的服务器A,将第二当前服务器确定为迁移目标服务器B。
一种示例性的实施例中,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,包括:
计算所述迁移目标服务器B上可接受迁移的云主机的资源大小,将所述待迁移的服务器A上与服务器B上可接受迁移的云主机的资源大小相当的云主机迁移到服务器B上。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (8)

1.一种创建云主机的方法,包括:
接收创建云主机的请求;所述请求中包括请求创建的云主机的个数N和云主机的资源规格,其中,所述N为正整数;所述资源规格包括云主机的内存大小、云主机的虚拟中央处理器vCPU的个数、云主机的磁盘大小;
根据所述云主机的个数N和资源规格,当集群所提供的用于创建云主机的资源满足预设条件时,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,按照迁移后的各服务器的可用内存大小和可用vCPU个数确定支持创建的云主机的个数;
根据所确定的支持创建的云主机个数创建云主机;
其中,集群所提供的用于创建云主机的资源满足预设条件,包括:
集群的存储资源大于或等于N个云主机的磁盘大小的总和,集群中各服务器的可用内存大小的总和小于N个云主机的内存大小之和,集群中各服务器的可用vCPU个数的总和小于N个云主机的vCPU个数之和。
2.如权利要求1所述的方法,其特征在于,
根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,包括:
按照集群中各服务器的可用内存大小由大到小的顺序对集群中的服务器进行排序并形成第一列表;按照各服务器的可用vCPU个数由大到小的顺序对集群中的服务器进行排序形成第二列表;
a)将第一列表中的第一个服务器作为第一当前服务器;
b)将第二列表中的第一个服务器作为第二当前服务器;
c)若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则确定第一当前服务器为待迁移的服务器A;确定第二当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,则确定第二当前服务器为待迁移的服务器A;确定第一当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,或者若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则根据预设的规则确定待迁移的服务器A和迁移目标服务器B;
d)若在第二列表中,第二当前服务器之后还有服务器,则将第二列表中的下一个服务器作为第二当前服务器,返回步骤c);若没有服务器,则进行步骤e);
e)若在第一列表中,第一当前服务器之后还有服务器,则将第一列表中的下一个服务器作为第一当前服务器,返回步骤b);若没有服务器,则结束。
3.如权利要求2所述的方法,其特征在于,
根据预设的规则确定待迁移的服务器A和目标迁移服务器B,包括:
根据待创建的云主机的资源规格,计算第一当前服务器支持创建的云主机的个数a,以及计算第二当前服务器支持创建的云主机的个数b;若a小于或等于b,则将第二当前服务器确定为待迁移的服务器A,将第一当前服务器确定为迁移目标服务器B;若a大于b,则将第一当前服务器确定为待迁移的服务器A,将第二当前服务器确定为迁移目标服务器B。
4.如权利要求2所述的方法,其特征在于,
将待迁移的服务器A中的云主机迁移到迁移目标服务器B,包括:
计算所述迁移目标服务器B上可接受迁移的云主机的资源大小,将所述待迁移的服务器A上与服务器B上可接受迁移的云主机的资源大小相当的云主机迁移到服务器B上。
5.一种创建云主机的装置,包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于创建云主机的程序;
所述处理器,用于读取执行所述用于创建云主机的程序,执行如下操作:
接收创建云主机的请求;所述请求中包括请求创建的云主机的个数N和云主机的资源规格,其中,所述N为正整数;所述资源规格包括云主机的内存大小、云主机的虚拟中央处理器vCPU的个数、云主机的磁盘大小;
根据所述云主机的个数N和资源规格,当集群所提供的用于创建云主机的资源满足预设条件时,根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,将待迁移的服务器A中的云主机迁移到迁移目标服务器B,按照迁移后的各服务器的可用内存大小和可用vCPU个数确定支持创建的云主机的个数;
根据所确定的支持创建的云主机个数创建云主机;
其中,集群所提供的用于创建云主机的资源满足预设条件,包括:
集群的存储资源大于或等于N个云主机的磁盘大小的总和,集群中各服务器的可用内存大小的总和小于N个云主机的内存大小之和,集群中各服务器的可用vCPU个数的总和小于N个云主机的vCPU个数之和。
6.如权利要求5所述的装置,其特征在于,
根据集群中各服务器的可用内存大小和可用vCPU的个数确定待迁移服务器A和迁移目标服务器B,包括:
按照集群中各服务器的可用内存大小由大到小的顺序对集群中的服务器进行排序并形成第一列表;按照各服务器的可用vCPU个数由大到小的顺序对集群中的服务器进行排序形成第二列表;
a)将第一列表中的第一个服务器作为第一当前服务器;
b)将第二列表中的第一个服务器作为第二当前服务器;
c)若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则确定第一当前服务器为待迁移的服务器A;确定第二当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,则确定第二当前服务器为待迁移的服务器A;确定第一当前服务器为迁移目标服务器B;
若第一当前服务器的可用vCPU个数大于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小小于第二当前服务器的可用内存大小,或者若第一当前服务器的可用vCPU个数小于第二当前服务器的可用vCPU个数,且第一当前服务器的可用内存大小大于第二当前服务器的可用内存大小,则根据预设的规则确定待迁移的服务器A和迁移目标服务器B;
d)若在第二列表中,第二当前服务器之后还有服务器,则将第二列表中的下一个服务器作为第二当前服务器,返回步骤c);若没有服务器,则进行步骤e);
e)若在第一列表中,第一当前服务器之后还有服务器,则将第一列表中的下一个服务器作为第一当前服务器,返回步骤b);若没有服务器,则结束。
7.如权利要求6所述的装置,其特征在于,
根据预设的规则确定待迁移的服务器A和目标迁移服务器B,包括:
根据待创建的云主机的资源规格,计算第一当前服务器支持创建的云主机的个数a,以及计算第二当前服务器支持创建的云主机的个数b;若a小于或等于b,则将第二当前服务器确定为待迁移的服务器A,将第一当前服务器确定为迁移目标服务器B;若a大于b,则将第一当前服务器确定为待迁移的服务器A,将第二当前服务器确定为迁移目标服务器B。
8.如权利要求6所述的装置,其特征在于,
将待迁移的服务器A中的云主机迁移到迁移目标服务器B,包括:
计算所述迁移目标服务器B上可接受迁移的云主机的资源大小,将所述待迁移的服务器A上与服务器B上可接受迁移的云主机的资源大小相当的云主机迁移到服务器B上。
CN201811442197.9A 2018-11-29 2018-11-29 一种创建云主机的方法和装置 Active CN109617954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811442197.9A CN109617954B (zh) 2018-11-29 2018-11-29 一种创建云主机的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811442197.9A CN109617954B (zh) 2018-11-29 2018-11-29 一种创建云主机的方法和装置

Publications (2)

Publication Number Publication Date
CN109617954A CN109617954A (zh) 2019-04-12
CN109617954B true CN109617954B (zh) 2021-07-30

Family

ID=66005817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811442197.9A Active CN109617954B (zh) 2018-11-29 2018-11-29 一种创建云主机的方法和装置

Country Status (1)

Country Link
CN (1) CN109617954B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764876A (zh) * 2019-10-25 2020-02-07 浪潮电子信息产业股份有限公司 一种云主机创建方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125286A (zh) * 2014-08-03 2014-10-29 浙江网新恒天软件有限公司 一种基于云计算的企业基础设施智能云化管理系统
CN104506635A (zh) * 2014-12-26 2015-04-08 成都致云科技有限公司 一种快速高效的云主机创建和匹配方法及系统
CN106020971A (zh) * 2016-05-10 2016-10-12 广东睿江云计算股份有限公司 云主机系统中的cpu调度方法及装置
CN107241421A (zh) * 2017-06-21 2017-10-10 北京云联万维技术有限公司 一种云主机资源预留方法和装置
CN107506145A (zh) * 2017-08-28 2017-12-22 郑州云海信息技术有限公司 一种物理存储调度方法及云主机创建方法
CN108574719A (zh) * 2017-04-19 2018-09-25 北京金山云网络技术有限公司 一种云主机创建方法及装置
CN108667859A (zh) * 2017-03-27 2018-10-16 中兴通讯股份有限公司 一种实现资源调度的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160154659A9 (en) * 2010-11-22 2016-06-02 ATM Shafiqul Khalid Mega Data Center Using Mini-cloud Host in Residential Environment
JP5804050B2 (ja) * 2011-03-22 2015-11-04 富士通株式会社 移動管理装置、移動管理方法および移動管理プログラム
EP3364623B1 (en) * 2016-02-25 2022-05-04 Huawei Technologies Co., Ltd. Method for automatically deploying application, and cloud management node

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125286A (zh) * 2014-08-03 2014-10-29 浙江网新恒天软件有限公司 一种基于云计算的企业基础设施智能云化管理系统
CN104506635A (zh) * 2014-12-26 2015-04-08 成都致云科技有限公司 一种快速高效的云主机创建和匹配方法及系统
CN106020971A (zh) * 2016-05-10 2016-10-12 广东睿江云计算股份有限公司 云主机系统中的cpu调度方法及装置
CN108667859A (zh) * 2017-03-27 2018-10-16 中兴通讯股份有限公司 一种实现资源调度的方法及装置
CN108574719A (zh) * 2017-04-19 2018-09-25 北京金山云网络技术有限公司 一种云主机创建方法及装置
CN107241421A (zh) * 2017-06-21 2017-10-10 北京云联万维技术有限公司 一种云主机资源预留方法和装置
CN107506145A (zh) * 2017-08-28 2017-12-22 郑州云海信息技术有限公司 一种物理存储调度方法及云主机创建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《云计算环境下网络感知的虚拟机迁移研究》;陈驹洲;《中国优秀硕士学位论文-信息科技辑》;20180215;I137-19 *

Also Published As

Publication number Publication date
CN109617954A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
US11204793B2 (en) Determining an optimal computing environment for running an image
CN110062924B (zh) 用于虚拟化图形处理的容量预留
US11775335B2 (en) Platform independent GPU profiles for more efficient utilization of GPU resources
US10324754B2 (en) Managing virtual machine patterns
US11861405B2 (en) Multi-cluster container orchestration
CN110192182B (zh) 动态和专用的虚拟化图形处理
CN106796500B (zh) 分布式文件系统的版本间映射
US9591094B2 (en) Caching of machine images
US11307802B2 (en) NVMe queue management multi-tier storage systems
US11029989B2 (en) Distributed notebook kernels in a containerized computing environment
EP3191948A1 (en) Computing instance launch time
US9378039B2 (en) Virtual machine storage replication schemes
US20190281112A1 (en) System and method for orchestrating cloud platform operations
US10372501B2 (en) Provisioning of computing resources for a workload
US9971971B2 (en) Computing instance placement using estimated launch times
US20220318647A1 (en) Single framework for both streaming and on-demand inference
CN108351810B (zh) 用于虚拟化图形处理的扩展
US11886898B2 (en) GPU-remoting latency aware virtual machine migration
CN109617954B (zh) 一种创建云主机的方法和装置
US20220206836A1 (en) Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium
US11593177B2 (en) Cost-savings using ephemeral hosts in infrastructure as a service environments based on health score
US10572412B1 (en) Interruptible computing instance prioritization
US10776148B1 (en) System and method for utilizing computational power of a server farm

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