Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
RESOURCE ALLOCATION METHOD
Document Type and Number:
WIPO Patent Application WO/2015/021629
Kind Code:
A1
Abstract:
Provided is a resource allocation method, comprising: a first data center receiving a resource request message, the first data center being any data center receiving the resource request message in a system; the first data center performing analysis according to the resource request message, to obtain at least two destination data centers allocating resources; establishing a virtual network; establishing a virtual machine for the at least two destination data centers; and adding the virtual machine to the virtual network. The method improves the resource utilization rate of a data center, simplifies management, maintenance, and operation, and reduces the probability of network connection failure or traffic congestion.

Inventors:
GU JIONGJIONG (CN)
HUANG ZHAOYI (CN)
Application Number:
PCT/CN2013/081514
Publication Date:
February 19, 2015
Filing Date:
August 15, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
H04L29/08
Foreign References:
CN102185928A2011-09-14
CN102404385A2012-04-04
CN103703724A2014-04-02
Other References:
YU , JUN: "Application of Virtual Cluster In Network Management Centre", COMPUTER KNOWLEDGE AND TECHNOLOGY, vol. 8, no. 27, 30 September 2012 (2012-09-30), pages 6606 - 6612
Download PDF:
Claims:
权利 要求 书

1、 一种资源发放方法, 应用于分布式数据中心系统, 所述系统包括至少 两个数据中心, 其特征在于, 所述方法包括: 第一数据中心接收资源请求消息, 其中, 所述第一数据中心为所述系统 中接收到资源请求消息的任一数据中心;

所述第一数据中心根据所述资源请求消息分析得到发放资源的至少两个 目的数据中心; 创建虚拟网络;

向所述至少两个目的数据中心创建虚拟机;

4巴所述虚拟机加入到所述虚拟网络。

2、 根据权利要求 1所述的资源发放方法, 其特征在于, 所述第一数据中 心根据所述资源请求消息分析得到发放资源的至少两个目的数据中心, 具体 包括: 所述第一数据中心的跨数据中心调度器接收到资源请求消息后, 将所述 资源请求消息转发给所述第一数据中心的智能资源路由模块, 其中, 所述资 源请求消息中包括租户标识和资源模板标识; 所述智能资源路由模块根据所述租户标识和资源模板标识, 获取对应的 资源模板信息, 所述资源模板信息至少包括网络资源规格参数和虚拟机描述 参数中的一种; 所述智能资源路由模块通过分析所述资源模板信息得到发放资源的至少 两个目的数据中心。

3、 根据权利要求 2所述的资源发放方法, 其特征在于, 所述智能资源路 由模块根据所述租户标识和资源模板标识, 获取对应的资源模板信息, 具体 包括:

所述智能资源路由模块通过查询所述第一数据中心中的镜 板库, 获 取对应于所述租户标识和资源模板标识的资源模板信息。

4、根据权利要求 2或 3所述的资源发放方法, 其特征在于, 所述智能资 源路由模块通过分析所述资源模板信息得到发放资源的至少两个目的数据中 心, 具体包括: 所述智能资源路由模块根据所述租户标识和所述资源模板信息查询所述 第一数据中心中的分布式数据库, 获取和所述租户标识以及所述资源模板信 息对应的至少两个目的数据中心。

5、 根据权利要求 1所述的资源发放方法, 其特征在于, 如果所述资源请 求消息中包括跨数据中心资源分配策略, 则所述方法进一步包括: 根据所述跨数据中心资源分配策略对所述至少两个目的数据中心进行分 析, 得到符合所述跨数据中心资源分配策略的目的数据中心。 6、 根据权利要求 2所述的资源发放方法, 其特征在于, 所述创建虚拟网 络, 具体包括:

所述第一数据中心的跨数据中心调度器向所述第一数据中心的网络总调 度器发送创建虚拟网络的请求, 所述创建虚拟网络的请求携带所述租户标识 和所述网络资源规格参数中的网络名称;

所述第一数据中心的网络总调度器向所述第一数据中心的网络控制器发 送所述创建虚拟网络的请求;

所述第一数据中心的网络控制器根据所述租户标识和网络名称创建虚拟 网络, 并把所述虚拟网络的信息写入所述第一数据中心的分布式数据库, 其 中, 所述虚拟网络的信息包括网络 ID、 网络状态、所述网络名称和租户标识; 所述第一数据中心的分布式数据库将所述虚拟网络的信息同步至其他目 的数据中心中的分布式数据库。

7、根据权利要求 2或 6所述的资源发放方法,所述创建虚拟网络进一步 包括:

所述第一数据中心的跨数据中心调度器通过分析所述资源模板信息, 确 定需创建虚拟子网的目的数据中心;

通过所述第一数据中心的网络总调度器向所述第一数据中心的网络控制 器发送创建虚拟子网的请求;

所述第一数据中心的网络控制器根据所述创建虚拟子网的请求创建虚拟 子网, 并把所述虚拟子网的信息写入所述第一数据中心的分布式数据库; 所述第一数据中心的分布式数据库将所述虚拟子网的信息同步至其他目 的数据中心中的分布式数据库。

8、 根据权利要求 6所述的资源发放方法, 其特征在于, 所述创建虚拟网 络, 进一步包括:

所述第一数据中心的跨数据中心调度器通过分析所述资源模板信息, 确 定需创建虚拟子网的目的数据中心;

通过所述第一数据中心的网络总调度器向所述第一数据中心的网络控制 器发送创建虚拟子网的请求, 所述请求中包括下列参数: 所述租户标识、 所 述网络 ID、 子网名称、 子网无类型域间选路 CIDR、 子网互联网协议 IP地址 版本号、子网网关 IP地址、是否启动动态主机设置协议 DHCP分配 IP地址、 DHCP IP地址池、 待创建虚拟子网的目的数据中心标识、 跨数据中心子网切 分模式;

所述第一数据中心的网络控制器根据所述租户标识、网络 ID和子网名称 创建虚拟子网, 并把所述虚拟子网的信息写入所述第一数据中心的分布式数 据库, 其中, 所述虚拟子网的信息包括所述租户标识、 所述网络 ID、 所述子 网名称、 子网 ID、 虚拟可扩展本地局域网 VxLAN ID、 所述子网 CIDR、 所述 IP地址版本号; 所述第一数据中心的分布式数据库将所述虚拟子网的信息同步至其他目 的数据中心中的分布式数据库。

9、 根据权利要求 8所述的资源发放方法, 其特征在于, 如果所述创建虚 拟子网的请求中要求为所述虚拟子网启动 DHCP分配 IP地址, 且需创建虚 拟子网的目的数据中心不少于两个, 则所述方法进一步包括:

所述第一数据中心的网络控制器对待分配的所述 DHCP IP地址池按照 所述跨数据中心子网切分模式进行 I P地址切分和网关设置;

所述第一数据中心的网络控制器向所述待创建虚拟子网的每个数据中心 的网络总调度器发送创建虚拟子网的请求, 所述请求中包括下列参数: 所述 租户标识、 所述网络 ID、 所述子网名称、 所述子网 ID、 所述 VxLAN ID、 所 述子网 CIDR、 所述 IP地址版本号、 所述是否启动 DHCP分配 IP地址、 分 割后设置的子网网关 IP地址和分割后 DHCP IP地址池; 所述待创建虚拟子网的每个数据中心的网络总调度器向各自所在的数据 中心中的网络控制器发送所述创建虚拟子网的请求。

10、 根据权利要求 9所述的资源发放方法, 其特征在于, 所述方法进一 步包括:

收到所述创建虚拟子网请求的网络控制器判断所述创建虚拟子网请求中 指示的虚拟子网已经存在, 则在本数据中心内创建虚拟业务网关。

1 1、 根据权利要求 10 所述的资源发放方法, 其特征在于, 所述在本数 据中心内创建虚拟业务网关, 具体包括:

所述收到所述创建虚拟子网请求的网络控制器向本数据中心的虚拟业务 网关 VSG管理器发送网关服务请求,所述网关服务请求中携带如下参数: 所 述子网 ID、 所述是否启动 DHCP分配 IP地址、 分割后 DHCP IP地址池、 所 述 VxLAN ID和所述分割后设置的子网网关 IP地址; 所述 VSG管理器向其管理的软件业务网关增加网关服务和 DHCP服务。

12、 根据权利要求 1 1 所述的资源发放方法, 其特征在于, 所述增加网 关月^务和 DHCP月良务, 具体包括:

如果已经具备网关服务能力的 VSG 虚拟机还有能力为新的虚拟子网提 供 VSG服务, 则在所述已有的 VSG虚拟机中增加网卡, 设置所述网卡的 IP 地址为所述创建虚拟子网请求中携带的所述分割后设置的子网网关 I P地址, 并启动 DHCP服务, 配置分割后 DHCP IP地址池; 或者

创建新的 VSG虚拟机, 在所述新创建的 VSG虚拟机中增加两块网卡, 其中一块网卡用于连接外网, 从外网获取 IP地址或者配置固定 IP地址, 另 一块网卡用于连接虚拟子网, 配置该网卡的 IP地址为所述创建虚拟子网请求 中携带的所述分割后设置的子网网关 IP地址, 并启动 DHCP服务, 配置分 割后 DHCP IP地址池。

13、 根据权利要求 12 所述的资源发放方法, 其特征在于, 所述方法进 一步包括:

所述网络控制器接收所述 VSG管理器返回的网关服务消息,所述消息包 括 VSG虚拟机标识;

子网,如果所述 VSG虚拟机未加入所述虚拟子网, 则在所述虚拟子网上创建 一个端口, 将所述 VSG虚拟机绑定至该端口。

14、 根据权利要求 1所述的资源发放方法, 其特征在于, 所述向所述至 少两个目的数据中心创建虚拟机, 具体包括: 所述第一数据中心的跨数据中心调度器指示所述至少两个目的数据中心 中的计算资源调度器在各自所属的数据中心中创建虚拟机。

15、 根据权利要求 1所述的资源发放方法, 其特征在于, 所述把所述虚 拟机加入到所述虚拟网络, 具体包括: 所述至少两个目的数据中心中的计算资源调度器通过各自所属数据中心 中的网络总调度器请求本数据中心中的网络控制器在虚拟子网上分别为所述 虚拟机创建端口; 所述网络控制器根据端口创建请求中携带的子网 ID 获得虚拟子网的信 息, 根据所述虚拟子网的信息在虚拟子网上为所述虚拟机创建端口, 并将所 述虚拟机绑定至该端口。

16、 根据权利要求 15 所述的资源发放方法, 其特征在于, 所述方法进 一步包括:

所述计算资源调度器获得所述虚拟机加入到所述虚拟子网的端口信息, 确定所述虚拟机成功加入所述虚拟子网后, 将虚拟机 ID和端口 ID之间的映 射关系写入所述计算资源调度器所属数据中心中的分布式数据库; 所述分布式数据库将所述虚拟机 ID和端口 ID之间的映射关系同步至其 他目的数据中心中的分布式数据库。

17、 根据权利要求 1所述的资源发放方法, 其特征在于, 所述方法进一 步包括:

所述至少两个目的数据中心中的计算资源调度器向各自所属数据中心中 的存储资源调度器分别发送创建存储资源的请求,所述请求中携带如下参数: 虚拟机标识、存储大小、磁盘访问服务质量 QoS等级和虚拟机所在的主机集 群;

所述存储资源调度器根据所述请求中携带的参数选择具体的存储资源, 在选定的存储资源上创建满足所述磁盘访问 QoS 等级和所述存储大小的存 储卷, 生成唯一的卷标识, 并将所述卷标识返回给所述计算资源调度器; 所述计算资源调度器将所述存储卷挂载到对应于所述虚拟机标识的虚拟 机上, 建立所述卷标识和所述虚拟机之间的关联关系, 生成唯一的关联关系 标识。

18、 根据权利要求 17 所述的资源发放方法, 其特征在于, 所述方法进 一步包括:

所述计算资源调度器将所述虚拟机标识、 所述卷标识和所述关联关系标 识写入所述计算资源调度器所属数据中心的分布式数据库; 所述分布式数据库将所述虚拟机标识、 所述卷标识和所述关联关系标识 同步至其他目的数据中心中的分布式数据库。

Description:
一种资源发放方法 技术领域 本发明涉及云计算领域, 尤其涉及一种资源发放方法。 背景技术

传统的大型企业数据中心是一个物理分层的架 构, 顶层的数据中心主要 负责企业级全球业务的应用集中部署, 区域数据中心用来承载全球应用的镜 像以及本区域范围内全局共享的应用和数据。 在区域范围较大(比如覆盖数 个国家) 时, 在每个区域内还可能进一步建设服务器机房以 解决对区域范围 全局数据共享没有需求、 但对于服务质量有更高要求的应用 (如研发仿真、 大型软件开发的持续构建、 DHCP以及文件服务等) 。 对于分支机构办公室, 则主要通过建设网络机房来解决便携机与个人 计算机等日常办公 IT设备的纯 网络接入问题。

传统的数据中心架构面临着一系列的问题: 软件应用与物理计算和存储 设备耦合绑定, 单个应用按照最大预期负荷资源来进行容量规 划,资源利用率 低, 服务器资源利用率更是普遍低于 15%; 物理资源和应用强耦合, 业务部 署, 扩容以及升级等管理维护运营复杂; 跨数据中心的计算、 存储、 网络资 源也不能统一拉通调度与协同管理, 多数物理设备在业务量低和空闲时间内 处于带电空转的状态; 数据中心层次过多导致数据访问延迟加大, 尤其是对 于处于数据中心分层架构顶端的应用, 所必须经过的数据中心站点网络环节 和层级过多, 加大了网络连接故障或流量拥塞发生的概率。 发明内容

本发明实施例提供一种资源发放的方法, 用以解决传统数据中心架构面 临的资源利用率低、 管理维护运营复杂、 网络连接故障或流量拥塞发生的概 率高的问题。 第一方面, 本发明实施例提供一种资源发放的方法, 应用于分布式数据 中心系统, 所述系统包括至少两个数据中心, 所述方法包括: 第一数据中心接收资源请求消息, 其中, 所述第一数据中心为所述系统 中接收到资源请求消息的任一数据中心; 所述第一数据中心根据所述资源请求消息分析 得到发放资源的至少两个 目的数据中心; 创建虚拟网络;

向所述至少两个目的数据中心创建虚拟机;

4巴所述虚拟机加入到所述虚拟网络。

结合第一方面, 在第一方面的第一种可能的实现方式中, 所述第一数 据中心根据所述资源请求消息分析得到发放资 源的至少两个目的数据中心, 具体包括: 所述第一数据中心的跨数据中心调度器接收到 资源请求消息后, 将所述 资源请求消息转发给所述第一数据中心的智能 资源路由模块, 其中, 所述资 源请求消息中包括租户标识和资源模板标识; 所述智能资源路由模块根据所述租户标识和资 源模板标识, 获取对应的 资源模板信息, 所述资源模板信息至少包括网络资源规格参数 和虚拟机描述 参数中的一种;

所述智能资源路由模块通过分析所述资源模板 信息得到发放资源的至少 两个目的数据中心。

结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述智能资源路由模块根据所述租户标识和资 源模板标识, 获取对应的 资源模板信息, 具体包括:

所述智能资源路由模块通过查询所述第一数据 中心中的镜像模板库, 获 取对应于所述租户标识和资源模板标识的资源 模板信息。

结合第一方面的第一种可能的实现方式以及第 一方面的第二种可能 的实现方式, 在第三种可能的实现方式中, 所述智能资源路由模块通过分 析所述资源模板信息得到发放资源的至少两个 目的数据中心, 具体包括: 所述智能资源路由模块根据所述租户标识和所 述资源模板信息查询所述 第一数据中心中的分布式数据库, 获取和所述租户标识以及所述资源模板信 息对应的至少两个目的数据中心。

结合第一方面的第一种可能的实现方式, 在第四种可能的实现方式 中, 如果所述资源请求消息中包括跨数据中心资源 分配策略, 则所述方法进 一步包括:

根据所述跨数据中心资源分配策略对所述至少 两个目的数据中心进行分 析, 得到符合所述跨数据中心资源分配策略的目的 数据中心。 结合第一方面的第一种可能的实现方式, 在第五种可能的实现方式 中, 所述创建虚拟网络, 具体包括:

所述第一数据中心的跨数据中心调度器向所述 第一数据中心的网络总调 度器发送创建虚拟网络的请求, 所述创建虚拟网络的请求携带所述租户标识 和所述网络资源规格参数中的网络名称;

所述第一数据中心的网络总调度器向所述第一 数据中心的网络控制器发 送所述创建虚拟网络的请求;

所述第一数据中心的网络控制器根据所述租户 标识和网络名称创建虚拟 网络, 并把所述虚拟网络的信息写入所述第一数据中 心的分布式数据库, 其 中, 所述虚拟网络的信息包括网络 ID、 网络状态、所述网络名称和租户标识; 所述第一数据中心的分布式数据库将所述虚拟 网络的信息同步至其他目 的数据中心中的分布式数据库。

结合第一方面的第一种可能的实现方式以及第 一方面的第五种可能 的实现方式, 在第六种可能的实现方式中, 所述创建虚拟网络, 进一步包 括:

所述第一数据中心的跨数据中心调度器通过分 析所述资源模板信息, 确 定需创建虚拟子网的目的数据中心;

通过所述第一数据中心的网络总调度器向所述 第一数据中心的网络控制 器发送创建虚拟子网的请求;

所述第一数据中心的网络控制器根据所述创建 虚拟子网的请求创建虚拟 子网, 并把所述虚拟子网的信息写入所述第一数据中 心的分布式数据库; 所述第一数据中心的分布式数据库将所述虚拟 子网的信息同步至其他目 的数据中心中的分布式数据库。

结合第一方面的第五种可能的实现方式, 在第七种可能的实现方式 中, 所述创建虚拟网络, 进一步包括:

所述第一数据中心的跨数据中心调度器通过分 析所述资源模板信息, 确 定需创建虚拟子网的目的数据中心;

通过所述第一数据中心的网络总调度器向所述 第一数据中心的网络控制 器发送创建虚拟子网的请求, 所述请求中包括下列参数: 所述租户标识、 所 述网络 ID、 子网名称、 子网无类型域间选路 CIDR、 子网互联网协议 IP地址 版本号、子网网关 IP地址、是否启动动态主机设置协议 DHCP分配 IP地址、 DHCP IP地址池、 待创建虚拟子网的目的数据中心标识、 跨数据中心子网切 分模式;

所述第一数据中心的网络控制器根据所述租户 标识、网络 I D和子网名称 创建虚拟子网, 并把所述虚拟子网的信息写入所述第一数据中 心的分布式数 据库, 其中, 所述虚拟子网的信息包括所述租户标识、 所述网络 ID、 所述子 网名称、 子网 ID、 虚拟可扩展本地局域网 VxLAN ID、 所述子网 CIDR、 所述 I P地址版本号;

所述第一数据中心的分布式数据库将所述虚拟 子网的信息同步至其他目 的数据中心中的分布式数据库。

结合第一方面的第七种可能的实现方式, 在第八种可能的实现方式 中,如果所述创建虚拟子网的请求中要求为所 述虚拟子网启动 DHCP分配 I P 地址, 且需创建虚拟子网的目的数据中心不少于两个 , 则所述方法进一步包 括:

所述第一数据中心的网络控制器对待分配的所 述 DHCP I P地址池按照 所述跨数据中心子网切分模式进行 I P地址切分和网关设置;

所述第一数据中心的网络控制器向所述待创建 虚拟子网的每个数据中心 的网络总调度器发送创建虚拟子网的请求, 所述请求中包括下列参数: 所述 租户标识、 所述网络 ID、 所述子网名称、 所述子网 ID、 所述 VxLAN ID、 所 述子网 CIDR、 所述 I P地址版本号、 所述是否启动 DHCP分配 IP地址、 分 割后设置的子网网关 IP地址和分割后 DHCP I P地址池;

所述待创建虚拟子网的每个数据中心的网络总 调度器向各自所在的数据 中心中的网络控制器发送所述创建虚拟子网的 请求。

结合第一方面的第八种可能的实现方式, 在第九种可能的实现方式 中, 所述方法进一步包括:

收到所述创建虚拟子网请求的网络控制器判断 所述创建虚拟子网请求中 指示的虚拟子网已经存在, 则在本数据中心内创建虚拟业务网关。

结合第一方面的第九种可能的实现方式, 在第十种可能的实现方式 中, 所述在本数据中心内创建虚拟业务网关, 具体包括:

所述收到所述创建虚拟子网请求的网络控制器 向本数据中心的虚拟业务 网关 VSG管理器发送网关服务请求,所述网关服务请 求中携带如下参数: 所 述子网 ID、 所述是否启动 DHCP分配 IP地址、 分割后 DHCP IP地址池、 所 述 VxLAN ID和所述分割后设置的子网网关 IP地址;

所述 VSG管理器向其管理的软件业务网关增加网关服 务和 DHCP服务。 结合第一方面的第十种可能的实现方式, 在第十一种可能的实现方式 中, 所述增加网关服务和 DHCP服务, 具体包括:

如果已经具备网关服务能力的 VSG 虚拟机还有能力为新的虚拟子网提 供 VSG服务, 则在所述已有的 VSG虚拟机中增加网卡, 设置所述网卡的 IP 地址为所述创建虚拟子网请求中携带的所述分 割后设置的子网网关 I P地址, 并启动 DHCP服务, 配置分割后 DHCP IP地址池; 或者

创建新的 VSG虚拟机, 在所述新创建的 VSG虚拟机中增加两块网卡, 其中一块网卡用于连接外网, 从外网获取 IP地址或者配置固定 IP地址, 另 一块网卡用于连接虚拟子网,配置该网卡的 IP地址为所述创建虚拟子网请求 中携带的所述分割后设置的子网网关 IP地址, 并启动 DHCP服务, 配置分 割后 DHCP IP地址池。

结合第一方面的第十一种可能的实现方式, 在第十二种可能的实现方 式中, 所述方法进一步包括:

所述网络控制器接收所述 VSG管理器返回的网关服务消息,所述消息包 括 VSG虚拟机标识; 子网,如果所述 VSG虚拟机未加入所述虚拟子网, 则在所述虚拟子网上创建 一个端口, 将所述 VSG虚拟机绑定至该端口。 结合第一方面, 在第十三种可能的实现方式中, 所述向所述至少两个 目的数据中心创建虚拟机, 具体包括:

所述第一数据中心的跨数据中心调度器指示所 述至少两个目的数据中心 中的计算资源调度器在各自所属的数据中心中 创建虚拟机。 结合第一方面, 在第十四种可能的实现方式中, 所述把所述虚拟机加 入到所述虚拟网络, 具体包括: 所述至少两个目的数据中心中的计算资源调度 器通过各自所属数据中心 中的网络总调度器请求本数据中心中的网络控 制器在虚拟子网上分别为所述 虚拟机创建端口;

所述网络控制器根据端口创建请求中携带的子 网 ID获得虚拟子网的信 息, 根据所述虚拟子网的信息在虚拟子网上为所述 虚拟机创建端口, 并将所 述虚拟机绑定至该端口。 结合第一方面的第十四种可能的实现方式, 在第十五种可能的实现方 式中, 所述方法进一步包括:

所述计算资源调度器获得所述虚拟机加入到所 述虚拟子网的端口信息, 确定所述虚拟机成功加入所述虚拟子网后, 将虚拟机 ID和端口 ID之间的映 射关系写入所述计算资源调度器所属数据中心 中的分布式数据库;

所述分布式数据库将所述虚拟机 ID和端口 ID之间的映射关系同步至其 他目的数据中心中的分布式数据库。 结合第一方面, 在第十六种可能的实现方式中, 所述方法进一步包括: 所述至少两个目的数据中心中的计算资源调度 器向各自所属数据中心中 的存储资源调度器分别发送创建存储资源的请 求,所述请求中携带如下参数: 虚拟机标识、存储大小、磁盘访问服务质量 QoS等级和虚拟机所在的主机集 群;

所述存储资源调度器根据所述请求中携带的参 数选择具体的存储资源, 在选定的存储资源上创建满足所述磁盘访问 QoS 等级和所述存储大小的存 储卷, 生成唯一的卷标识, 并将所述卷标识返回给所述计算资源调度器; 所述计算资源调度器将所述存储卷挂载到对应 于所述虚拟机标识的虚拟 机上, 建立所述卷标识和所述虚拟机之间的关联关系 , 生成唯一的关联关系 标识。

结合第一方面的第十六种可能的实现方式, 在第十七种可能的实现方 式中, 所述方法进一步包括:

所述计算资源调度器将所述虚拟机标识、 所述卷标识和所述关联关系标 识写入所述计算资源调度器所属数据中心的分 布式数据库;

所述分布式数据库将所述虚拟机标识、 所述卷标识和所述关联关系标识 同步至其他目的数据中心中的分布式数据库。 本发明实施例提供的资源发放方法, 通过部署在每个数据中心中的分布 式云操作系统之间的交互, 执行相应的资源发放步骤, 使所有数据中心的基 础设施资源成为一个统一的 "逻辑资源池" , 实现了资源的全局拉通, 可以 进行跨物理数据中心的资源弹性调度。 从而提高了数据中心的资源利用率、 筒化了管理维护运营、 降低了网络连接故障或流量拥塞发生的概率。 附图说明 为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作一 筒单地介绍, 显而易见地, 下 面描述中的附图是本发明的一些实施例。

图 1为本发明实施例提供的资源发放方法的流程 图; 图。 具体实施方式

为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。

需要说明的是, 本文中术语"和 /或", 仅仅是一种描述关联对象的关联关 系, 表示可以存在三种关系, 例如, A和 /或 B, 可以表示: 单独存在 A, 同 时存在 A和 B, 单独存在 B这三种情况。 另外, 本文中字符 ", —般表示前 后关联对象是一种"或"的关系。

进一步需要说明的是, 本文中所述的数据中心指的是计算资源、 存储资 源和网络资源的集合, 可以是物理位置上的数据中心, 也可以是逻辑概念上 的数据中心。 相应的, 本文所述的方法既可以应用于物理位置上的数 据中心, 也可以应用于逻辑概念上的数据中心,只要这 个数据中心中包含了计算资源、 存储资源和网络资源。

本发明实施例提供的技术方案通过在每一个数 据中心中, 部署同样的分 布式云操作系统, 将企业分层管理及逐级网络互联的传统数据中 心架构, 改 造为全扁平式管理、 点到点全互联的分布式数据中心架构。 在该架构中, 全 网各个物理数据中心节点尽管容纳的资源数量 及业务类型各不相同, 但从管 理调度视角看可以是完全对等的关系, 可以不再有主从式管理从属关系, 所 有基础设施资源作为一个统一的 "逻辑资源池" ,实现资源全局拉通, 进行跨 物理数据中心的资源弹性调度。 解决了传统数据中心架构面临的资源利用率 低、 管理维护运营复杂、 网络连接故障或流量拥塞发生的概率高的问题 。

为了更加清楚的理解本发明实施例提供的技术 方案, 有必要对部署在每 个数据中心中的分布式云操作系统做一筒单介 绍。 该系统主要包括:

跨数据中心调度器: 用于进行跨多个数据中心的资源发放;

智能资源路由模块: 通过分析资源请求消息中的参数, 得到需要申请资 源的数据中心列表;

分布式数据库: 负责存放分布式云数据中心的全局数据, 在每一个数据 中心内, 都可以从分布式数据库中看到同样的数据;

计算资源调度器: 负责本数据中心内计算资源的发放, 挂载(attach ) 存储资源和加入到虚拟网络中;

存储资源调度器: 负责本数据中心内存储资源的发放;

网络总调度器: 负责建立全局性虚拟网络、 虚拟子网、 虚拟业务网关, 其中所述虚拟网络包括一个或多个虚拟子网, 所述虚拟子网可以分布在一个 或多个数据中心;

网络控制器: 负责数据中心内的软件定义网络的调度, 管理虚拟交换机 ( virtual switch, 筒称为 vSwitch )和端口, 以及计算资源加入虚拟网络时端 口与虚拟可扩展本地局域网 (virtual extensible local area network, 筒称为 VxLAN ) 的映射;

虚拟业务网关 ( virtual service gateway , 筒称为 VSG )管理器: 负责 创建虚拟网络的虚拟业务网关, 如路由 (Route )服务、 动态主机设置协议 ( Dynamic Host Configuration Protocol , 筒称为 DHCP ) Server月^务、 VxLAN网关服务、 网络地址转换( Network Address Translation , 筒称为 NAT )服务、 访问控制列表( Access Control List , 筒称为 ACL )服务、 虚 拟专用网络(virtual private network , 筒称为 VPN )服务、 软件负载均衡服 务等中的一种或者几种服务;

镜像模板库: 提供虚拟机创建需要的镜像文件和模板服务, 模板可以描 述单个虚拟机的规格要求, 也可以包含多个虚拟机甚至组网 (虚拟机之间的 网络) 的描述。

基于上述分布式数据中心架构和分布式云操作 系统, 本发明实施例提供 了一种资源发放方法。图 1为本发明实施例提供的资源发放方法的流程 图。 如图 1所示, 所述资源发放方法包括以下步骤: S10、 第一数据中心接收资源请求消息, 其中, 所述第一数据中心为所 述系统中接收到资源请求消息的任一数据中心 ;

心架构, 该架构包括两个或两个以上的物理数据中心, 且该架构中所有的物 理数据中心不管容纳的资源数量及业务类型是 否相同, 从管理调度视角看可 以是完全对等的关系, 各数据中心之间可以不再有主从式管理从属关 系。 所 述第一数据中心为所述分布式数据中心架构中 接收到资源请求消息的任一数 据中心。

S20、 所述第一数据中心根据所述资源请求消息分析 得到发放资源的至 少两个目的数据中心; 具体的,所述第一数据中心的跨数据中心调度 器接收到资源请求消息后, 将所述资源请求消息转发给所述第一数据中心 的智能资源路由模块, 其中, 所述资源请求消息中包括租户标识和资源模板 标识; 所述智能资源路由模块 根据所述租户标识和资源模板标识, 通过查询所述第一数据中心的镜像模板 库, 获取和所述资源模板标识对应的资源模板信息 , 所述资源模板信息包括 虚拟机描述参数列表和 /或网络资源规格参数; 所述智能资源路由模块根据所 述租户标识和所述资源模板信息查询所述第一 数据中心的分布式数据库, 获 取和所述租户标识以及所述资源模板信息对应 的目的数据中心列表。 如果所述资源请求消息中还携带参数: 指定数据中心、 指定数据中心标 识列表, 则将所述获取的目的数据中心列表与所述指定 数据中心标识列表进 行取交集运算; 如果所述资源请求消息中还包括跨数据中心资 源分配策略(如, 资源平 均分配、 按空闲资源比例分配等) , 则根据所述跨数据中心资源分配策略对 所述获取到的目的数据中心列表进行分析, 得到符合所述跨数据中心资源分 配策略的目的数据中心列表。

S30、 创建虚拟网络; 需要说明的是, 所述虚拟网络包括一个或多个虚拟子网, 所述虚拟子网 可以分布在一个或多个数据中心; 具体的, 所述第一数据中心的跨数据中心调度器向所述 第一数据中心的 网络总调度器发送创建虚拟网络的请求, 所述创建虚拟网络的请求携带所述 租户标识和所述网络资源规格参数中的网络名 称;

所述网络总调度器向所述第一数据中心的网络 控制器发送所述创建虚拟 网络的请求;

所述网络控制器根据所述租户标识和网络名称 创建虚拟网络, 并把所述 虚拟网络的信息写入所述第一数据中心的分布 式数据库, 其中, 所述虚拟网 络的信息包括网络标识(identity, 筒称为 ID ) 、 网络状态、 所述网络名称和 租户标识; 所述第一数据中心的分布式数据库将所述虚拟 网络的信息同步至所述系 统中其他数据中心的分布式数据库。

进一步的, 所述第一数据中心的跨数据中心调度器通过分 析所述资源模 板信息, 确定需创建虚拟子网的目的数据中心;

通过所述网络总调度器向所述网络控制器发送 创建虚拟子网的请求, 所 述请求中包括下列参数: 所述租户标识、 所述网络 ID、 所述子网名称、 子网 无类型域间选路(Classless Inter-Domain Routing, 筒称为 CIDR ) 、 子网 互联网协议( internet protocol , 筒称为 I P )地址版本号、 子网网关 IP地址、 是否启动 DHCP分配 I P地址、 DHCP IP地址池、 所述待创建虚拟子网的数 据中心标识列表、 跨数据中心子网切分模式;

所述网络控制器根据所述租户标识、网络 I D和子网名称创建虚拟子网(包 括为虚拟子网分配全局唯一的 VxLAN ID) , 并把所述虚拟子网的信息写入所 述分布式数据库, 其中, 所述虚拟子网的信息包括所述租户标识、 所述网络 ID、 所述子网名称、 子网 ID、 VxLAN ID、 所述子网 CIDR、 所述 IP地址版 本号;

所述分布式数据库将所述虚拟子网的信息同步 至所述系统中其他数据中 心的分布式数据库。

进一步的, 如果所述待创建虚拟子网的数据中心标识列表 中包括至少两 个数据中心且要求为所述虚拟子网启动 DHCP分配 IP地址, 则所述网络控 制器对待分配的所述 DHCP IP地址池按照所述跨数据中心子网切分模式进 行 I P地址切分和网关设置;

所述网络控制器向所述待创建虚拟子网的数据 中心标识列表中的每个数 据中心的网络总调度器发送创建虚拟子网的请 求,所述请求中包括下列参数: 所述租户标识、 所述网络 ID、 所述子网名称、 所述子网 ID、 所述 VxLAN ID、 所述子网 CIDR、 所述 I P地址版本号、 所述是否启动 DHCP分配 IP地址、 分割后设置的子网网关 I P地址和分割后 DHCP IP地址池; 所述待创建虚拟子网的数据中心标识列表中的 每个数据中心的网络总调 度器向各自所在的数据中心的网络控制器发送 所述创建虚拟子网的请求。 进一步的, 如果收到所述创建虚拟子网请求的网络控制器 判断所述创建 虚拟子网请求的参数中指示的虚拟子网已经存 在, 则在本数据中心内创建虚 拟业务网关。

其中, 在本数据中心内创建虚拟业务网关, 具体包括:

所述收到所述创建虚拟子网请求的网络控制器 向本数据中心的 VSG 管 理器发送网关服务请求, 所述网关服务请求中携带如下参数: 所述子网 ID、 所述是否启动 DHCP分配 I P地址、分割后 DHCP IP地址池、所述 VxLAN ID 和所述分割后设置的子网网关 IP地址; 所述 VSG管理器向其管理的软件业务网关增加网关服 务和 DHCP服务。 其中, 所述增加网关服务和 DHCP服务, 具体包括:

如果已经具备网关服务能力的 VSG 虚拟机还有能力为新的虚拟子网提 供 VSG服务, 则在所述已有的 VSG虚拟机中增加网卡, 设置所述网卡的 IP 地址为所述创建虚拟子网请求的参数中携带的 所述分割后设置的子网网关 IP 地址, 并启动 DHCP服务, 配置分割后 DHCP IP地址池; 或者 创建新的 VSG虚拟机, 在所述新创建的 VSG虚拟机中增加两块网卡, 其中一块网卡用于连接外网, 从外网获取 IP地址或者配置固定 IP地址, 另 一块网卡用于连接虚拟子网,配置该网卡的 IP地址为所述创建虚拟子网请求 的参数中携带的所述分割后设置的子网网关 IP地址, 并启动 DHCP服务, 配置分割后 DHCP IP地址池。

进一步的, 所述网络控制器接收所述 VSG管理器返回的网关服务消息, 所述消息包括 VSG虚拟机标识;

子网,如果所述 VSG虚拟机未加入所述虚拟子网, 则在所述虚拟子网上创建 一个端口, 将所述 VSG虚拟机绑定至该端口。

S40、 向所述至少两个目的数据中心创建虚拟机; 具体的, 所述第一数据中心的跨数据中心调度器指示所 述至少两个目的 数据中心中的计算资源调度器在各自所属的数 据中心中创建虚拟机。

S50、 把所述虚拟机加入到所述虚拟网络。

具体的,

所述至少两个目的数据中心中的计算资源调度 器通过各自所属数据中心 中的网络总调度器请求本数据中心中的网络控 制器在虚拟子网上分别为所述 虚拟机创建端口; 所述网络控制器根据端口创建请求中携带的子 网 ID 获得虚拟子网的信 息, 根据所述虚拟子网的信息在虚拟子网上为所述 虚拟机创建端口, 并将所 述虚拟机绑定至该端口; 所述计算资源调度器获得所述虚拟机加入到所 述虚拟子网的端口信息, 确定所述虚拟机成功加入所述虚拟子网后, 将虚拟机 ID和端口 ID之间的映 射关系写入所述计算资源调度器所属数据中心 中的分布式数据库; 所述分布式数据库将所述虚拟机 ID和端口 ID之间的映射关系同步至其 他目的数据中心中的分布式数据库。

进一步的, 还可以为所述虚拟机分配存储资源, 具体包括:

所述至少两个目的数据中心中的计算资源调度 器向各自所属数据中心中 的存储资源调度器分别发送创建存储资源的请 求,所述请求中携带如下参数: 虚拟机标识、 存储大小、 磁盘访问服务质量(Quality of Service , 筒称为 QoS )等级和虚拟机所在的主机集群;

所述存储资源调度器根据所述请求中携带的参 数选择具体的存储资源, 在选定的存储资源上创建满足所述磁盘访问 QoS 等级和所述存储大小的存 储卷, 生成唯一的卷标识, 并将所述卷标识返回给所述计算资源调度器; 所述计算资源调度器把所述存储卷挂载到虚拟 机标识所代表的虚拟机, 建立卷标识和虚拟机之间的关联关系, 生成唯一的关联关系标识;

所述计算资源调度器将所述虚拟机标识、 所述卷标识和所述关联关系标 识写入本数据中心的分布式数据库; 所述分布式数据库将所述虚拟机标识、 所述卷标识和所述关联关系标识 同步至其他目的数据中心的分布式数据库。 本发明实施例提供的资源发放方法, 通过部署在每个数据中心中的分布 式云操作系统之间的交互, 执行相应的资源发放步骤, 使所有数据中心的基 础设施资源成为一个统一的 "逻辑资源池" , 实现了资源的全局拉通, 可以 进行跨物理数据中心的资源弹性调度。 从而提高了数据中心的资源利用率、 筒化了管理维护运营、 降低了网络连接故障或流量拥塞发生的概率。 为了更清楚地理解本发明实施例的技术方案, 下面将结合具体的应用场 景对本发明实施例的技术方案做进一步的说明 。

图。 在图 2中, 有三个数据中心, 其中数据中心 1收到来自租户的资源请求。 需要说明的是, 在实际应用中, 任何一个数据中心都可以接受租户的资源请 求, 所有数据中心的功能都是对等的。 如图 2所示, 具体的资源发放流程包 括以下步骤:

( 1 )数据中心 1的跨数据中心调度器接收资源请求消息, 消息参数带有 租户标识、 资源模板标识、 是否指定数据中心、 指定数据中心标识列表以及 跨数据中心资源分配策略(如, 资源平均分配、 按空闲资源比例分配等) 。

( 2 )所述跨数据中心调度器收到请求消息后,把 请求消息转发到数据 中心 1的智能资源路由模块, 请求进行参数分析。

( 3 )所述智能资源路由模块向数据中心 1的镜像模板库查询资源模板标 识对应的资源模板中需要分配的具体资源要求 。

( 4 )所述镜像模板库向所述智能资源路由模块返 需要分配资源的具体 参数要求:

虚拟机描述参数列表: 描述参数列表中的每一项都包含一个虚拟机的 创 建要求, 包括虚拟机分配数量、 虚拟机规格标识(通过虚拟机规格标识可以 获取得到虚拟机的规格信息如虚拟机中央处理 器(central processing unit , 筒称为 CPU )主频、 CPU 个数、 内存大小、 磁盘个数、 每个磁盘的存储大 小、 磁盘访问 QoS等级 (用于选择磁盘存储类型: 固态硬盘、 直连硬盘、 外 置存储等) 、 每个磁盘备份模式、 虚拟网卡个数、 每个虚拟网卡的带宽) 、 虚拟机镜像链接、 物理计算资源还是虚拟计算资源、 CPU类型 (如果是物理 计算资源, 指定物理机的 CPU类型) 、 HyperVisor类型 CPU类型 (如果是 请求虚拟计算资源, 指定 HyperVisor 类型) 、 是否启动高可用性 (Hight Availability ,筒称为 HA )、是否启动故障冗余( fault tolerance,筒称为 FT )、 是否需要容灾、 容灾类型 (同步容灾、 异步容灾) 、 容灾模式(双活、 主备 模式) 、 虚拟机启动参数、 虚拟机配置参数、 安全组、 其他参数。

网络资源规格参数: 网络名称、 子网名称、 子网 CIDR、 子网 IP地址版 本号、 子网网关 IP地址、 是否启动 DHCP分配 IP地址、 DHCP IP地址池、 外网 IP地址列表、 子网 QoS参数(包括网络带宽下限、 网络带宽上限、 网 络抖动上限、 网络抖动下限、 网络时延上限、 网络时延下限、 网络丢包率上 限、 网络丢包率下限) 、 跨数据中心子网切分模式(模式 1 : 均分 IP地址, 每个数据中心部署网关; 模式 2: 单网关单 IP地址池) 。 资源请求消息的参数中可以包含虚拟机描述参 数列表和 /或网络资源规 格参数中的一类参数或者几类参数。 当虚拟机描述参数列表中包含容灾相关 参数时 (容灾类型、 容灾模式) , 一般同时会包含网络资源规格参数中的子 网 QoS参数, 以确定容灾的网络要求。

( 5 )所述智能资源路由模块根据租户标识, 查询数据中心 1的分布式数 据库, 通过租户标识获得可以申请资源的数据中心列 表集合, 如果 "是否指 定数据中心" 参数为 "是" , 则和 "指定数据中心标识列表" 进行取交集运 算, 得到初步分析后的数据中心列表集合。 智能资源路由模板根据镜像模板库返回的虚拟 机描述参数列表、 网络资 源规格参数等, 以及初步分析获得的数据中心列表集合、 跨数据中心资源分 配策略(如, 资源平均分配、 按空闲资源比例分配等)进行目的数据中心列 表的分析: 首先, 智能资源路由模板从数据中心列表集合中取出 第一个数据中心列 表, 根据虚拟机描述参数列表中的虚拟机具体要求 和跨数据中心资源分配策 略, 检查列表中的每个数据中心是否有满足条件的 计算和存储资源。 如果有 足够的计算资源和存储资源, 检查是否有网络资源规格参数, 如果有网络资 源规格参数要求, 则分析数据中心间和数据中心内的网络是否满 足子网 QoS 参数的要求。 根据计算资源、 存储资源和网络资源要求, 可以分析出虚拟机 分配时是否需要在特定的主机集群创建。 如果数据中心列表的数据中心满足 计算资源、 存储资源以及数据中心间的网络参数要求, 则该数据中心列表为 符合要求的数据中心列表。 如果计算资源、 存储资源或者网络资源规格参数 有任意一个参数不满足要求, 则认为该数据中心列表不是符合要求的数据中 心列表。 重复上述计算资源、 存储资源和网络资源的分析, 直到数据中心列表集 合中的所有数据中心列表都分析完成为止, 对符合要求的数据中心列表集合 按照满足程度多少从高到低进行排序, 得到符合资源发放要求的目的数据中 心列表集合。 该目的数据中心列表集合中每一个数据中心列 表包含如下信息 { [网络资源规格参数]、 [数据中心标识,虚拟机描述参数列表] }, 其中, 数据中 心标识和虚拟机描述参数列表是 "和" 的关系, [网络资源规格参数]和 [数据 中心标识,虚拟机描述参数列表]是 "和 /或" 的关系。

( 6 ) 智能资源路由模块向跨数据中心调度器返回目 的数据中心列表集 合, 集合中的每一个列表包含 { [网络资源规格参数]、 [数据中心标识,虚拟机描 述参数列表] }这些信息。

( 7 )跨数据中心调度器取出上述目的数据中心列 集合中第一个数据中 心列表, 启动资源发放事务。 以下第(8 )步到第 (49 )步为一个完整的资源 发放事务。 在整个资源发放事务中, 如果有一个资源发放失败, 则整个事务 进行回滚, 事务中已经发放的资源都被完全释放。 ( 8 )数据中心 1 的 跨数据中心调度器检查数据中心列表中的 { [网络资 源规格参数]、 [数据中心标识,虚拟机描述参数列表] }的信息。 如果包含网络资 源规格参数, 则所述跨数据中心调度器判断在租户标识下网 络名称所代表的 虚拟网络是否存在, 如果不存在, 则向其所在数据中心的网络总调度器发出 创建虚拟网络的请求, 参数带有租户标识、 网络名称。 ( 9 )数据中心 1的网络总调度器判断请求为创建虚拟网络, 则向本数据 中心的网络控制器发出创建虚拟网络的请求。

( 10 )所述网络控制器根据租户标识、 网络名称参数为该租户创建一个 虚拟网络, 生成唯一网络标识: 网络 ID, 初始化网络状态为激活状态。 4巴新 创建虚拟网络的网络 ID、 网络名称、租户标识和网络状态写入分布式数 据库, 同时要求分布式数据库同步该虚拟网络信息到 所有数据中心。

( 1 1 )所述分布式数据库向其他数据中心 (图 2中为数据中心 2和数据 中心 3 )的分布式数据库更新新创建的虚拟网络信息, 括租户标识、网络 ID、 网络名称、 网络状态。

( 12 )所述分布式数据库向数据中心 1 的网络控制器返回数据库更新结 果。

( 13 )如果数据库更新成功, 则所述网络控制器向所述网络总调度器返 回新创建虚拟网络的信息, 包括租户标识、 网络 ID、 网络名称、 网络状态。 如果数据库更新失败, 则向网络总调度器返回创建虚拟网络失败。 ( 14 )所述网络总调度器向所述跨数据中心调度器 回新创建虚拟网络 的信息。

( 15 )所述跨数据中心调度器检查虚拟网络的信息 如果虚拟网络创建 失败, 则终止流程。 如果虚拟网络信息成功增加到数据库, 则检查 { [网络资源 规格参数]、 [数据中心标识,虚拟机描述参数列表] }, 根据租户标识、 网络名称 和子网名称判断子网名称所代表的子网是否存 在。 如果不存在, 需要创建子 网, 分析参数{ [网络资源规格参数]、 [数据中心标识,虚拟机描述参数列表] }获 得待创建虚拟子网的数据中心列表。 当数据中心列表中的数据中心个数大于 1 时, 表明需要在数据中心列表中的所有数据中心创 建虚拟子网, 否则表示 仅仅在指定的这个数据中心创建虚拟子网。 如果仅仅在指定的这个数据中心 (图 2中为数据中心 1 )创建虚拟子网, 则所述跨数据中心调度器向数据中 心 1 的网络总调度器发出创建虚拟子网的请求, 请求中携带参数租户标识、 网络 ID、 子网名称、 子网 CIDR、 子网 IP地址版本号、 子网网关 IP地址、 是否启动 DHCP分配 IP地址、 数据中心标识列表、 跨数据中心子网切分模 式(模式 1 : 均分 IP地址, 每个数据中心部署网关; 模式 2: 均分 IP地址, 单网关模式) 。

( 16 )所述网络总调度器向其所在数据中心的网络 制器发出创建虚拟 子网的请求, 请求中携带参数租户标识、 网络 ID、 子网名称、 子网 CIDR、 子网 IP地址版本号、子网网关 IP地址、是否启动 DHCP分配 IP地址、 DHCP IP地址池、 数据中心标识列表、 跨数据中心子网切分模式(模式 1 : 均分 IP 地址, 每个数据中心部署网关; 模式 2: 单网关单 IP地址池) 。

( 17 )所述网络控制器根据租户标识、 网络 ID、 子网名称参数为该租户 创建一个虚拟子网,生成唯一子网标识:子网 ID,申请全局唯一的 VxLAN ID, 设置子网属性为^ t中的子网 CIDR、 子网 IP地址版本号。 所述网络控制器 把虚拟子网的信息: 租户标识、 网络 ID、 子网名称、 子网 ID、 VxLAN ID、 子网 CIDR、 子网 IP地址版本号写入数据中心 1的分布式数据库中。 同时要 求分布式数据库同步虚拟子网信息到所有数据 中心。

( 18 )数据中心 1的分布式数据库向其他数据中心 (图 2中为数据中心 2和数据中心 3 )的分布式数据库更新新创建的虚拟子网信息, 括租户标识、 网络 ID、 子网名称、 子网 ID、 VxLAN ID、 子网 CIDR、 子网 IP地址版本号。

( 19 )数据中心 1 的分布式数据库向本数据中心的网络控制器返 回数据 库更新结果。

( 20 )数据中心 1 的网络控制器继续分析虚拟子网的数据中心标 识列表 和跨数据中心子网切分模式(模式 1 : 均分 IP地址,每个数据中心部署网关; 模式 2: 单网关单 IP地址池) 。 如果数据中心标识列表大于 1个数据中心且 参数要求为子网启动 DHCP分配 IP地址, 则对待分配的 DHCP IP地址池进 行按照跨数据中心子网切分模式(模式 1 : 均分 IP地址, 每个数据中心部署 网关; 模式 2: 单网关单 IP地址池)进行 IP地址切分和网关 IP地址设置。 在模式 1下平均分割 IP地址并设置不同的子网网关 IP地址:假如 CIDR 为 192.168.0.0/24JP地址版本号为 IPV4, DHCP IP地址池为 192.168.0.1 ~ 192.168.0.254, 同时数据中心标识列表包含数据中心 2和数据中心 3, 则该 子网在数据中心 2的 DHCP IP地址池是 192.168.0.2 - 192.168.0.127,网关 IP 地址是 192.168.0.1 ; 该子网在数据中心 3 的 DHCP IP 地址池是 192.168.0.129 - 192.168.0.254, 网关 IP地址是 192.168.0.128。 在模式 2 下单网关单 IP地址池, 不分割 IP地址, 但是对第一个数据中心设置子网网 关 IP地址: 假如 CIDR为 192.168.0.0/24JP地址版本号为 IPV4, DHCP IP 地址池为 192.168.0.1 - 192.168.0.254, 同时数据中心标识列表包含数据中 心 2 和数据中心 3 , 则该子网在数据中心 2 的 DHCP IP 地址池是 192.168.0.2 - 192.168.0.254, 网关 IP地址是 192.168.0.1; 该子网在数据中 心 3的 DHCP IP地址池是 192.168.0.2 ~ 192.168.0.254, 是否启动 DHCP 服务设置为否, 网关 IP为无效 IP地址。 向数据中心标识列表中的每一个数 据中心 (图 2中为数据中心 2和数据中心 3 ) 的网络总调度器发出创建虚拟 子网的请求, 请求中携带参数: 租户标识、 网络 ID、 子网名称、 子网 ID、 VxLAN ID、子网 CIDR、子网 IP地址版本号、是否启动 DHCP分配 IP地址、 分割后设置的子网网关 IP地址、 分割后的 DHCP IP地址池。 如果数据中心标识列表只包含一个数据中心标 识,则不进行 DHCP IP地 址池的分割和子网网关 IP地址的重新设置。

( 21 )数据中心 2和数据中心 3的网络总调度器分别向各自所在数据中 心的网络控制器发出创建虚拟子网的请求, 请求中携带参数: 租户标识、 网 络 ID、 子网名称、 子网 ID、 VxLAN ID、 子网 CIDR、 子网 IP地址版本号、 是否启动 DHCP分配 IP地址、 分割后设置的子网网关 IP地址、 分割后的 DHCP IP地址池。 需要说明的是: 由于在数据中心 2和数据中心 3中创建虚拟子网的过程 相同, 为了描述方便, 以下的步骤( 22 ) -步骤( 28 )仅以数据中心 2为例进 行阐述。

( 22 )数据中心 2的网络控制器判断创建虚拟子网请求参数中 拟子网 已经存在, 且无数据中心列表, 则在本数据中心内继续虚拟子网虚拟业务网 关创建工作。 如果子网网关 IP地址有效, 表明需要申请网关服务, 所述网络 控制器向本数据中心的 VSG管理器发送网关服务请求, 参数中携带子网 ID、 是否启动 DHCP分配 IP地址、 分割后 DHCP IP地址池、 VxLAN ID、 分割 后设置的子网网关 IP地址。

( 23 )所述 VSG管理器向其管理的软件业务网关增加网关服 务和 DHCP 服务。 增加网关服务和 DHCP服务有两种方式:

方式一:如果已经具备网关服务能力的 VSG虚拟机还有能力为新的虚拟 子网提供 VSG服务(如, Route服务、 DHCP Server服务、 VxLAN网关服 务、 NAT服务、 ACL服务、 VPN服务、 软件负载均衡服务中的一种服务或 者几种服务) , 则在该已有的 VSG虚拟机中增加网卡, 设置该网卡的 IP地 址为创建虚拟子网请求参数中的网关 IP地址, 并启动 DHCP服务, 配置分 割后 DHCP IP地址池;

方式二: 新创建 VSG虚拟机, 在该虚拟机中增加两块网卡, 一块网卡 用于连接外网, 从夕卜网获取 IP地址或者配置固定 IP地址, 另一块网卡用于 连接虚拟子网, 配置该网卡的 IP地址为创建虚拟子网请求参数中的网关 IP 地址, 并启动 DHCP服务, 配置分割后 DHCP IP地址池。

VSG管理器建立虚拟子网 ID和新增加 VSG虚拟机、 网关服务及网卡的 映射关系。 VSG 管理器向本数据中心的网络控制器返回网关服 务请求的结 果, 包括 VSG虚拟机标识、 新增加网卡的 MAC地址。 ( 24 )所述网络控制器收到 VSG 管理器返回的网关服务消息, 判断返 回的 VSG虚拟机是否已经加入虚拟子网。如果 VSG虚拟机未加入虚拟子网, 则在虚拟子网上创建一个端口:所述网络控制 器向 VSG虚拟机所在的主机下 发 VSG虚拟机绑定到虚拟子网的命令, 携带参数包括: 租户标识、虚拟网络 ID、 虚拟子网 ID、 VSG虚拟机的 MAC地址、 端口状态为激活态、 网关 IP 地址、 VSG虚拟机标识。 VSG虚拟机所在的主机部署了网络控制器的代理 , 该网络控制器的代理接收到命令后负责在该主 机上管理虚拟交换机( virtual Switch, 筒称为 vSwitch ) , 在 vSwitch上申请一个端口, 并绑定 VSG虚拟 机的 MAC地址, 打上虚拟子网 VxLAN的标识, 并对这个端口分配一个唯一 的端口标识: 端口 ID。 成功绑定虚拟机后, 所述网络控制器!巴端口信息写入 本地数据库中。

( 25 )所述网络控制器判断是否开启 DHCP 服务参数, 如果需要申请 DHCP服务, 则所述网络控制器向本数据中心的 VSG管理器发送 DHCP服 务请求, 参数中携带子网 ID、 分割后的 DHCP IP地址池。

( 26 )所述 VSG管理器根据子网 ID获取该子网对应的 VSG虚拟机。 如果不能够获得 VSG虚拟机, 表明需要为该虚拟子网分配 VSG虚拟机提供 DHCP服务。 申请 VSG虚拟机有如下两种方式:

方式一:如果已经存在的 VSG虚拟机还有能力为新的虚拟子网提供 VSG 月^务( 口, Route月^务、 DHCP Server月^务、 VxLAN 网关月 ^务、 NAT月^务、 ACL服务、 VPN服务、 软件负载均衡服务中的一种服务或者几种服务 ), 则 在该已有的 VSG虚拟机中增加网卡,设置该网卡的 IP地址为 IP地址池的第 一个 IP地址。 方式二: 新创建 VSG虚拟机, 在该虚拟机中增加一网卡, 该网卡用于 连接虚拟子网, 配置该网卡的 IP地址为 IP地址池的第一个 IP地址。

在该 VSG虚拟机下启动 DHCP服务, 设置该 DHCP服务可分配的 IP 地址为分割后的 DHCP IP地址池, DHCP服务绑定虚拟子网的网关 IP地址, 为该虚拟子网提供 DHCP服务。所述 VSG管理器启动 DHCP服务。所述 VSG 管理器向所述网络控制器返回 DHCP服务请求的结果, 包括 VSG虚拟机标 识、 新增加网卡的 MAC地址。 ( 27 )所述网络控制器收到返回结果, 并判断 VSG虚拟机是否已经加 入虚拟子网, 如果没有加入虚拟子网, 则进行第 (24 ) 步 VSG虚拟机加入 虚拟子网的操作。 之后, 所述网络控制器向本数据中心的网络总调度器 返回 虚拟子网信息。 ( 28 )所述网络总调度器向数据中心 1的网络控制器返回虚拟子网信息。 同理, 对于数据中心 3来说, 执行完上述第 (22 )步-第 (27 )步后, 数 据中心 3的网络总调度器也向数据中心 1 的网络控制器返回虚拟子网创建结 果。

( 29 )数据中心 1的网络控制器向数据中心 1的网络总调度器返回虚拟 子网信息。

( 30 )数据中心 1的网络总调度器向数据中心 1的跨数据中心调度器返 回虚拟子网信息, 包括:租户标识、 网络 ID、子网名称、子网 ID、子网 CIDR、 子网 IP地址版本号、 子网网关 IP地址、 是否启动 DHCP分配 IP地址、 IP 地址池、 VxLAN ID以及跨数据中心子网切分模式。 ( 31 )数据中心 1 的跨数据中心调度器检查数据中心列表中 { [网络资源 规格参数]、 [数据中心标识,虚拟机描述参数列表] }中的虚拟机信息, 向每一个 需要创建虚拟机的数据中心下发虚拟机创建任 务, 这些任务是并行下发的。 当有多个不同规格的虚拟机需要创建的时候, 所述跨数据中心调度器分别下 发多个创建虚拟机的任务。 当需要批量创建相同规格的虚拟机时, 调用批量 创建的接口, 带上需创建虚拟机的数量。 图 2中示例为向数据中心 2和数据 中心 3中的计算资源调度器下发单个虚拟机创建任 , 携带参数包括: 虚拟

CPU 主频、 CPU 个数、 内存大小、 磁盘个数、 每个磁盘的存储大小、 磁盘 访问 QoS等级 (用于选择磁盘存储类型: 固态硬盘、直连硬盘、外置存储等 )、 每个磁盘备份模式、 虚拟网卡个数、 每个虚拟网卡的带宽) 、 虚拟机镜像链 接、 物理计算资源还是虚拟计算资源、 CPU类型 (如果是物理计算资源, 指 定物理机的 CPU类型 ) 、 HyperVisor类型 CPU类型 (如果是请求虚拟计算 资源, 指定 HyperVisor类型)、是否启动 HA、是否启动 FT、是否需要容灾、 容灾类型 (同步容灾、 异步容灾) 、 容灾模式(双活、 主备模式) 、 虚拟机 启动参数、 虚拟机配置参数、 安全组、 指定主机集群、 待加入的虚拟子网标 识列表、 其他参数。 需要说明的是: 由于在数据中心 2和数据中心 3中创建虚拟机并加入虚 拟子网的过程相同, 为了描述方便, 以下的步骤(32 ) -步骤(49 )仅以数据 中心 2为例进行阐述。

( 32 )数据中心 2的计算资源调度器创建虚拟机逻辑对象, 为虚拟机创 建唯一标识, 记录虚拟机的参数信息。

( 33 )所述计算资源调度器把虚拟机信息写入数据 心 2的分布式数据 库, 不需要同步到其他数据中心。 ( 34 )所述分布式数据库向所述计算资源调度器返 数据库更新结果。

( 35 )所述计算资源调度器向数据中心 1的跨数据中心调度器返回虚拟 机标识。

( 36 )所述数据中心 1的跨数据中心调度器向数据中心 2的计算资源调 度器轮询虚拟机的创建状态, 携带参数为虚拟机标识, 直到虚拟机创建成功 后结束虚拟机创建任务。 需要说明的是, 所述跨数据中心调度器可以周期性的向数据中 心 2和 3 的计算资源调度器轮询虚拟机的创建状态, 直至本次资源发放事务结束。

( 37 )数据中心 2的计算资源调度器对计算资源进行调度: 根据虚拟机 规格标识获得虚拟机的规格: 虚拟机 CPU主频、 CPU个数、 内存大小、 磁 盘个数、 每个磁盘的存储大小, 判断虚拟机建立的资源条件: 磁盘访问 QoS 等级, 物理计算资源还是虚拟计算资源、 CPU类型 (如果是物理计算资源, 指定物理机的 CPU类型 )、 HyperVisor类型 CPU类型 (如果是请求虚拟计 算资源, 指定 HyperVisor类型) , 选定满足所有条件的主机。 如果参数中指 定主机集群, 则在指定的主机集群中选择一个主机。 在选中的主机上, 根据 参数的镜像链接, 从数据中心 2的镜 板库中获得镜像, 创建虚拟机。 虚拟机艮据虚拟机启动参数、虚拟机配置参数 进行虚拟机的启动和配置。 ( 38 )数据中心 2的计算资源调度器逐一从待加入的虚拟子网 识列表 中取出虚拟子网 ID, 向本数据中心的网络总调度器发出创建端口的 请求, 请 求中携带参数: 网络 ID、 子网 ID、 虚拟机标识、 加入该虚拟子网的虚拟机网 卡的 MAC地址及端口初始状态 (激活态) 。

( 39 )所述网络总调度器把创建端口的请求消息转 给数据中心 2的网 络控制器。

( 40 )所述网络控制器根据子网 ID获得虚拟子网的信息: 租户标识、 网 络 ID、 子网名称、 子网 ID、 VxLAN ID、 子网 CIDR、 子网 I P地址版本号。 然后向虚拟机所在的主机下发虚拟机绑定到虚 拟子网的命令,携带参数包括: 租户标识、 网络 ID、 子网 ID、 虚拟机标识、 虚拟机的 MAC地址、 端口状态。 虚拟机所在的主机上部署了网络的代理, 该网络的代理接收到命令后负责在 该主机上管理 vSwitch, 在 vSwitch上申请一个端口, 并绑定虚拟机的 MAC 地址, 打上虚拟子网 VxLAN的标识, 虚拟机加入到 VxLAN二层网络后, 从 该虚拟子网的 DHCP服务器中获得 IP地址。 所述网络控制器对这个端口分 配一个唯一的端口标识: 端口 | D 。 成功绑定虚拟机后, 所述网络控制器: I巴端 口信息写入数据库中。 所述网络控制器向本数据中心的网络总调度器 返回端 口信息: 端口 ID, 租户标识、 网络 ID、 子网 ID、虚拟机标识、虚拟机的 MAC 地址、 虚拟机 I P地址, 端口状态。

( 41 )所述网络总调度器向本数据中心的计算资源 度器返回虚拟机加 入到虚拟子网的端口信息: 端口 ID, 租户标识、 网络 ID、 子网 ID、 虚拟机 标识、 虚拟机的 MAC地址、 虚拟机 IP地址, 端口状态。

( 42 )所述计算资源调度器获得虚拟机加入到虚拟 网的端口信息, 判 断虚拟机成功加入到虚拟子网后, 4巴虚拟机 ID、 端口 ID之间的映射关系写 入数据中心 2的分布式数据库, 并同步到其他数据中心。

( 43 )数据中心 2的分布式数据库向本数据中心的计算资源调 器返回 数据库更新结果。

( 44 )所述计算资源调度器根据磁盘个数、 每个磁盘的存储大小、 磁盘 访问 QoS等级向数据中心 2的存储资源调度器发出创建存储资源的请求 请 求中携带参数: 虚拟机标识、 存储大小、 磁盘访问 QoS等级、 虚拟机所在的 主机集群。

( 45 )所述存储资源调度器根据参数: 虚拟机标识、 存储大小、 磁盘访 问 QoS等级及虚拟机所在的主机集群,选择具体的 磁盘存储类型:固态硬盘、 直连硬盘、 外置存储等。 在选定的磁盘上创建满足磁盘访问 QoS等级、 存储 大小的卷。 生成唯一的卷标识: 卷 ID。 向所述计算资源调度器返回卷标识。

( 46 )所述计算资源调度器把卷挂载到虚拟机标识 代表的虚拟机, 建 立卷标识和虚拟机之间的关联关系, 生成唯一的关联关系标识。

( 47 )如果成功挂载了卷, 所述计算资源调度器把虚拟机 ID、 卷标识和 关联关系标识写入数据中心 2的分布式数据库, 并同步到其他数据中心。 ( 48 )所述分布式数据库向所述计算资源调度器返 数据库更新结果。 如果还需要创建其他卷, 则重复第 (45 ) - ( 47 )步, 直到所有卷创建挂载成 功。

( 49 ) 当数据中心 1 的跨数据中心调度器通过轮询虚拟机创建任务 执行 结果, 获知数据中心 2和 3分别完成上述资源发放事务后, 数据中心 1的跨 数据中心调度器结束第一个数据中心列表的资 源发放事务, 如果在事务中任 何一步资源申请失败, 则释放本事务中所有分配的资源。 然后选取数据中心 列表集合中的次优数据中心列表, 重复资源发放事务, 重复次数以系统配置 为上限。

( 50 )数据中心 1 的跨数据中心调度器返回资源发放结果, 如果成功, 返回发放的计算资源、 存储资源和网络资源。

本发明实施例提供的资源发放方法, 通过部署在每个数据中心中的分布 式云操作系统之间的交互, 执行相应的资源发放步骤, 使所有数据中心的基 础设施资源成为一个统一的 "逻辑资源池" , 实现了资源的全局拉通, 可以 进行跨物理数据中心的资源弹性调度。 从而提高了数据中心的资源利用率、 筒化了管理维护运营、 降低了网络连接故障或流量拥塞发生的概率。

应理解, 在本发明实施例中, "与 A相应的 B" 表示 B与 A相关联, 根 据 A可以确定 B。但还应理解,根据 A确定 B并不意味着仅仅根据 A确定 B, 还可以根据 A和 /或其它信息确定 B。

本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的各 示例的单元及算法步骤, 能够以电子硬件、 计算机软件或者二者的结合来实 现, 为了清楚地说明硬件和软件的可互换性, 在上述说明中已经按照功能一 般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来执 行, 取决于技术方案的特定应用和设计约束条件。 专业技术人员可以对每个 特定的应用来使用不同方法来实现所描述的功 能, 但是这种实现不应认为超 出本发明的范围。

在本申请所提供的实施例中, 应该理解到, 所揭露的系统, 可以通过其 它的方式实现。 例如, 以上所描述的实施例仅仅是示意性的, 例如, 所述单 元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到 另一个系统, 或一些特征可以 忽略, 或不执行。 另外, 所显示或讨论的相互之间的耦合或直接耦合或 通信 连接可以是通过一些接口、 装置或单元的间接耦合或通信连接, 也可以是电 的, 机械的或其它的形式连接。 为单元显示的部;可以是或者也可 是 理单 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或 者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可 以集成在一个处理单元中, 也可以是各个单元单独物理存在, 也可以是两个或两个以上单元集成在一个 单元中。 上述集成的单元既可以采用硬件的形式实现, 也可以采用软件功能 单元的形式实现。

所述集成的单元如果以软件功能单元的形式实 现并作为独立的产品销售 或使用时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本 发明的技术方案本质上或者说对现有技术做出 贡献的部分, 或者该技术方案 的全部或部分可以以软件产品的形式体现出来 , 该计算机软件产品存储在一 个存储介质中, 包括若干指令用以使得一台计算机设备 (可以是个人计算机, 骤。而前 i的存储介质包括: U盘、移动 盘^:只读存储器(ROM, Read-Only Memory ) 、 随机存取存储器(RAM, Random Access Memory ) 、 磁碟或 者光盘等各种可以存储程序代码的介质。

以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露 的技术范围内, 可轻易 想到各种等效的修改或替换, 这些修改或替换都应涵盖在本发明的保护范围 之内。 因此, 本发明的保护范围应以权利要求的保护范围为 准。