首页> 中国专利> 一种面向虚拟机群应用的虚拟节点配置方法

一种面向虚拟机群应用的虚拟节点配置方法

摘要

本发明提供一种面向虚拟机群应用的虚拟节点配置方法,包括下列步骤:1)定制虚拟MAC地址的编码方案,虚拟MAC地址包括虚拟机群标识符、虚拟网卡标识符和用于承载虚拟机群应用的应用层配置信息的字段;所述虚拟机群应用的应用层配置信息的项目包括a)、b)、c)中的任意一项或多项,其中a)为虚拟节点的角色,b)为网络访问控制策略,c)为单个节点中的多网卡、多IP协同策略;2)建立MAC地址与IP地址的映射关系;3)对于待配置的虚拟机群应用,根据所定制的编码方案为每个虚拟节点分配虚拟MAC地址。本发明能够支持虚拟机群应用即启即用;能够广泛地适用于各类虚拟机群应用。

著录项

  • 公开/公告号CN103475704A

    专利类型发明专利

  • 公开/公告日2013-12-25

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN201310403402.1

  • 申请日2013-09-06

  • 分类号H04L29/08(20060101);G06F9/455(20060101);

  • 代理机构11280 北京泛华伟业知识产权代理有限公司;

  • 代理人王勇

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2024-02-19 22:27:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-31

    专利实施许可合同备案的生效 IPC(主分类):H04L29/08 合同备案号:2018110000033 让与人:中国科学院计算技术研究所 受让人:中科天玑数据科技股份有限公司 发明名称:一种面向虚拟机群应用的虚拟节点配置方法 申请公布日:20131225 授权公告日:20160928 许可种类:普通许可 备案日期:20180807 申请日:20130906

    专利实施许可合同备案的生效、变更及注销

  • 2016-09-28

    授权

    授权

  • 2014-01-22

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20130906

    实质审查的生效

  • 2013-12-25

    公开

    公开

说明书

技术领域

本发明涉及虚拟化与云计算技术领域,具体地说,本发明涉及一种面 向虚拟机群应用的虚拟节点配置方法。

背景技术

云计算是信息服务的新兴运营模式。无论是直接对外提供基础设施租 赁的IaaS(Infrastructure as a Service)服务,还是受益于数据中心内部弹 性基础设施、对外提供共性平台或通用软件的PaaS(Platform as a Service) 和SaaS(Software as a Service)服务,都普遍依赖于虚拟化技术。虚拟化 技术涵盖的领域通常包括计算虚拟化、存储虚拟化和网络虚拟化等。在虚 拟化环境下,资源的弹性分配及其时分、空分复用是提高资源利用率、发 挥云计算集约化成本优势的主要手段。在云计算场景下,由多个分布式节 点协同执行的机群应用占有相当大的比重。典型的例子包括以Apache  Hadoop为代表的大规模数据处理平台、通过LVS(Linux Virtual Server) 配置而成的web服务器机群,以及由传统高性能计算领域迁移而来的MPI (Message Passing Interface)应用等。

在现有技术中,虚拟节点配置主要是指对网络层的配置,即为虚拟节 点分配网络层地址(即IP地址,包括IPv4和/或IPv6地址)。目前,虚拟 节点网络层的配置方式主要包括:(1)手工方式配置静态IP地址;(2) 基于DHCP(Dynamic Host Configuration Protocol)或DHCPv6的顺序租 约规则分配动态IP地址;(3)基于DHCP的MAC-IP映射规则或SLAAC (Stateless Address Auto-configuration)机制分配动态IP地址。上述三种方 式可以有效解决基于独立虚拟机的应用对IP地址的需求。然而,如前文 所述,在云计算场景下,由多个分布式节点协同执行的机群应用占有相当 大的比重。很多机群应用对网络地址空间高度依赖,例如很多机器应用需 要利用IP地址进行网络隔离,以保证其安全性和可靠性,应用对网络地 址空间的依赖同资源的弹性分配之间存在矛盾。具体来说,一方面,虚拟 化环境中,各种资源的分配是弹性的,启动虚拟机群应用前,往往要重新 分配该虚拟机群的各种资源(包括计算资源、存储资源和网络资源等), 这样有利于提高资源利用率、发挥云计算集约化成本优势。另一方面,由 于机群应用对地址空间十分依赖,因此,在重新分配资源后,还需要对虚 拟节点进行配置,建立虚拟节点与IP地址的固定对应关系。现有的配置 方式中,方式(1)的人工管理效率低下、出错概率高,不适合于大规模 服务场景。方式(2)的随意性强,不能建立虚拟节点与IP地址的固定对 应关系,不便于云计算平台对虚拟网络地址空间的统一管理。方式(3) 虽然能建立虚拟节点与IP地址的固定对应关系,但对于复杂性较强的虚 拟机群应用来说,这种配置无法做到虚拟机群应用的即启即用,往往还需 要在首次启动应用后人工读取各个虚拟节点所对应的磁盘映像或配置文 件并分别写入相应的配置文件,这样虚拟机群应用才能正常工作,显然这 种操作十分繁琐,这种繁琐的配置操作反过来阻碍了虚拟化环境中灵活地 弹性分配资源,不利于提高资源利用率。

因此,当前迫切需要一种操作简便能够支持虚拟机群应用即启即用的 对虚拟节点进行配置的解决方案。

发明内容

本发明的目的是提供一种操作简便能够支持虚拟机群应用即启即用 的对虚拟节点进行配置的解决方案。

为实现上述发明目的,本发明提供了一种面向虚拟机群应用的虚拟节 点配置方法,包括下列步骤:

1)提供虚拟MAC地址的编码方案,其中,在所述编码方案中,虚拟 MAC地址至少包括虚拟机群标识符、虚拟网卡标识符和用于承载虚拟机 群应用的应用层配置信息的字段;所述虚拟机群应用的应用层配置信息的 项目包括a)、b)、c)中的任意一项或多项,其中a)为虚拟节点的角色, b)为网络访问控制策略,c)为单个节点中的多网卡、多IP协同策略;

2)建立虚拟MAC地址与IP地址的映射关系;

3)对于待配置的虚拟机群应用,根据所提供的编码方案为每个虚拟 节点分配虚拟MAC地址,再根据步骤2)中虚拟MAC地址与IP地址的 映射关系,为每个虚拟MAC地址分配相应的IP地址。

其中,所述步骤1)中,提供用户接口,提示用户选择待配置的虚拟 机群应用所需要配置的项目,然后接收用户的选择,

当接收到项目a)时,所述用于承载虚拟机群应用的应用层配置信息 的字段包括:用于标识虚拟节点角色的标志位组;

当接收到项目b)时,所述用于承载虚拟机群应用的应用层配置信息 的字段包括:用于标识虚拟节点所处网络的网络访问控制策略的标志位 组;

当接收到项目c)时,所述用于承载虚拟机群应用的应用层配置信息 的字段包括:用于指示一个虚拟网卡在其所属的虚拟节点的序号的序列 号;

当同时接收到上述a)、b)、c)中的多项时,所述用于承载虚拟机群 应用的应用层配置信息的字段包括所有所接收项目所对应的标志位组或 序列号。

其中,所述步骤1)中,用于标识虚拟节点所处网络的网络访问控制 策略的标志位组包括用于标识虚拟节点所处网络的网络类型和输入、输出 可访问性的标志位组。

其中,所述步骤1)中,所述虚拟MAC地址中使用虚拟机群标识符 和虚拟网卡标识符标识虚拟机群和虚拟节点,实现MAC-IP地址映射。

其中,所述步骤1)中,所述虚拟MAC地址中使用标志位组表示角 色,实现角色配置。

其中,所述角色配置包括服务进程的组合配置,所述标志位组包括代 表服务进程的多个标志位,代表服务进程的标志位的数值表示是否需要启 动该标志位所对应的服务进程。

其中,所述步骤1)中,所述虚拟MAC地址中使用虚拟机群标识符 标识虚拟网络,使用标志位组表示虚拟网络的可访问性,完成网络访问策 略配置。

其中,所述步骤1)中,所述虚拟MAC地址中使用序列号标识不同 的虚拟网卡,使用标志位组表示虚拟网卡的属性,完成多网卡、多IP协 同配置。

其中,所述虚拟网卡属性包括:该虚拟网卡处于外网还是内网。

其中,所述虚拟网卡属性还包括:所处网络所属的运营商。

与现有技术相比,本发明具有下列技术效果:

1、能够支持虚拟机群应用即启即用。

2、能够广泛地适用于各类虚拟机群应用。

3、显著地简化了虚拟节点的配置操作,避免了人工操作过多所带来 的出错概率升高等问题。

附图说明

以下,结合附图来详细说明本发明的实施例,其中:

图1示出了本发明一个实施例的面向虚拟机群应用的虚拟节点配置 方法的流程图;

图2示出了本发明一个实施例中的一个具体的编码方案示例;

图3示出了本发明一个实施例中的另一个具体的编码方案示例。

具体实施方式

相比于独立虚拟机的应用,虚拟机群应用在虚拟网络配置方面具有更 高的复杂性。发明人对大量虚拟机群应用进行了研究,发现机群应用的虚 拟网络配置存在以下需求:

a)在云计算场景下,机群应用中各个虚拟节点所起的作用是不同的, 即机群中的不同虚拟节点可能分别扮演不同的角色,因此需要对虚拟节点 的角色进行配置。

b)多个机群应用共存的环境下,有必要管理机群之间的可访问性, 此时,在对虚拟机群进行配置时,需要有效表达机群和网络地址段之间的 映射关系,以及机群之间的可访问性。

c)多个虚拟网卡、多个网络覆盖、外网IP地址与内网IP地址共存的 情况在虚拟机群应用中普遍存在。特别对于中国这种电信、联通双路网络 共存,外网IP稀缺的环境,网络地址配置有各种特殊需求,在对虚拟机 群进行配置时,这些特殊需求需要被有效表达。

另一方面,MAC(Media Access Control)地址是标识和定位网络设备 的唯一地址,该地址固化在硬件中,具有特定的数据结构,在物理网络中 具有标识设备制造商和标识包交换方法(单播、多播)等语义。但在虚拟 化环境中,虚拟网络地址空间通常可以受控规划与构建,因此虚拟MAC 地址不需要考虑物理MAC地址的诸多限制因素。虚拟MAC地址可以作 为一种信息载体,重新定义其数据结构,并结合特定的MAC-IP映射规则 来有效地满足前述虚拟网络配置的共性需求。这样,对于绝大部分的机群 应用,通过解析其虚拟MAC的编码信息和MAC-IP映射,即可得到机群 应用正常工作所需的配置信息,不需要额外地修改磁盘映像或配置文件中 的配置信息,从而实现机群应用的即启即用。

下面,结合附图和实施例对本发明做进一步地描述。

根据本发明的一个实施例,提供了一种面向虚拟机群应用的虚拟节点 配置方法,图1示出了该方法的流程,包括下列步骤:

步骤1:确定虚拟MAC地址的编码方案,所述虚拟MAC地址由以下 顺序无关的字段组成:

(A1.1)序列号(SN),可选字段,指示一个虚拟网卡在其所属的虚 拟节点的顺序。该字段可以是简单的顺序编号,也可以是具有特定语义的 数据结构(例如但不限于嵌套层次拓扑结构)。该字段的长度取决于一个 虚拟节点计划拥有的虚拟网卡数量。

(A1.2)标志位组(FLAGS),可选字段,指示一个虚拟网卡的属性 (例如但不限于标记虚拟网卡为外网网卡或是内网网卡),或者其所属的 虚拟节点的应用角色、虚拟机群或虚拟化环境全局的属性(例如但不限于 标记虚拟节点为机群应用的头节点或从节点)。该字段的长度取决于需要 表示的虚拟网卡属性的数量,或虚拟节点应用角色的数量。

(A1.3)虚拟机群标识符(VCID),必选字段,指示一个虚拟网卡的 所在的虚拟机群。该字段可以是简单的顺序编号,也可以是具有特定语义 的数据结构(例如但不限于嵌套层次拓扑结构)。该字段的长度取决于整 个虚拟化环境中计划容纳的虚拟机群数量。

(A1.4)虚拟网卡标识符(VNID),必选字段,通过该标识符生成虚 拟网卡的IP地址。该字段可以是IP地址本身(例如但不限于完整的IPv4 地址),也可以是IP地址的一部分(例如但不限于私有IPv4地址的主机号 部分),还可以是具有特定语义的数据结构,能够通过特定的算法生成IP 地址(例如但不限于使用EUI-64变种算法生成IPv6地址)。该字段的长 度取决于每个虚拟机群中计划容纳的虚拟节点或虚拟网卡数量。

步骤2:建立虚拟网络地址空间,该虚拟网络地址空间中具有确定的 MAC-IP地址映射关系。具体地,根据虚拟MAC地址编码方案,并考虑 虚拟化环境的机群规模、使用模式及其他各项需求,规划虚拟网络中的IP 地址范围,MAC地址和IP地址的分配、回收与更新规则,并规划MAC-IP 地址映射关系,保证每个虚拟节点的每个虚拟网卡具有可预期的IP地址。

步骤3:对机群应用的每个虚拟节点,基于步骤1中的虚拟MAC地 址的编码方案,根据其角色、网络访问策略配置以及多网卡、多IP协同 需求,为每个虚拟网卡配置MAC地址,再根据MAC-IP地址映射关系, 在所建立的虚拟网络地址空间中为每个虚拟网卡分配IP地址。

对于各种虚拟机群应用,需要同时为一组虚拟节点分配IP地址,且 应用需要获知机群网络地址空间才能正常工作。另外,许多虚拟机群应用 具有以下需求:a)应用角色配置;b)网络访问策略配置;c)多网卡、 多IP协同配置。本步骤中,利用虚拟MAC地址作为信息载体,把上述信 息编码到虚拟MAC地址中,从而完成对虚拟网络的自动配置(包括IP地 址分配与配置,应用角色、网络访问策略、多网卡和多IP协同配置)。

具体地,使用VCID和VNID字段标识虚拟机群和虚拟节点,实现 MAC-IP地址映射。使用FLAGS字段表示角色,从而完成应用角色配置; 使用VCID字段标识虚拟网络(虚拟网络与虚拟机群一一对应),使用 FLAGS字段表示网络可访问性,从而完成网络访问策略配置;使用SN字 段标识不同的虚拟网卡,使用FLAGS字段表示虚拟网卡属性(外网或内 网、所属运营商等),从而完成多网卡、多IP协同配置。

完成上述配置后,云计算平台和虚拟节点在运行时,解析虚拟MAC 地址中的信息即可获得机群应用运行时所需的各种配置信息,不需要额外 地修改磁盘映像或配置文件中的配置信息,从而做到机群应用的即启即 用。

为了帮助理解,下面结合两个具体的机群应用,对上述实施例的虚拟 MAC地址编码方案做进一步地说明。

首先,以基于虚拟化环境的Apache Hadoop大规模数据处理机群应用 (简称Hadoop)为例进行说明,它代表了互联网公司内部对大规模数据 进行分析处理的应用需求。

(B1)图2是一种Hadoop对应的虚拟MAC地址编码方案与虚拟网 络地址空间规划的示例图。虚拟MAC地址的第0-1字节保留不用,置为 固定值,例如全“0”。由于Hadoop中,每个虚拟节点只有唯一一个虚拟 网卡,故不设置SN字段。虚拟MAC地址的第2字节为FLAGS字段,其 第7-5比特保留不用,置为固定值,例如全“0”;第4-0比特分别命名为 FLAG_JT、FLAG_TT、FLAG_NN、FLAG_SNN、FLAG_DN,表示是否 在该虚拟节点上启动Apache Hadoop的JobTracker、TaskTracker、 NameNode、SecondaryNameNode、DataNode服务进程。虚拟MAC地址第 3字节连同第4字节的第7-4比特为VCID字段,可容纳2^12=4096个虚 拟机群。虚拟MAC地址第4字节的第3-0比特连同第5字节为VNID字 段,可容纳2^12=4096个虚拟网卡(即4096个虚拟节点)。

(B2.1)IPv4地址空间规划使用10.0.0.0/8私有网段。将VCID字段 赋予IPv4地址第1字节连同第2字节的第7-4比特,作为网络号部分,指 示虚拟机群。将VNID字段赋予IPv4地址第2字节的第3-0比特连同第3 字节,作为主机号部分,指示虚拟网卡(即虚拟节点)。

(B2.2)IPv6地址空间规划如下:IPv6地址第0-5字节连同第6字节 的第7-4比特作为路由前缀部分,由运营商指定,将VCID字段赋予IPv6 地址第6字节的第7-4比特连同第7字节,作为网络号部分,指示虚拟机 群,IPv6地址第8-13字节连同第14字节的第7-4比特全用“0”填充。将 VNID字段赋予IPv6地址第14字节的第3-0比特连同第15字节,作为主 机号部分,指示虚拟网卡(即虚拟节点)。

(B3.1)IPv4地址分配使用带有MAC-IP映射规则DHCP服务器实现。

(B3.2)IPv6地址分配使用带有MAC-IP映射规则DHCPv6服务器实 现。

(B4)应用角色配置机制在虚拟节点内部实现。Apache Hadoop的 MapReduce与HDFS(Hadoop Distributed File System)服务需要在不同角 色的节点上执行不同类型的服务进程,故在虚拟节点启动后,通过程序解 析虚拟MAC地址中的FLAGS字段,启动指定的服务进程。

(B5)网络访问策略配置机制通过虚拟节点外部方式实现。数据分析 应用对数据机密性与网络隔离性有一定的要求,故在虚拟网络创建时,通 过Open vSwitch虚拟交换和路由服务配置网络访问策略,Open vSwitch工 作时,流经它的所有链路层数据包头都带有通信源和目标的虚拟MAC地 址,Open vSwitch会根据配置文件,决定特定MAC地址的包是通过还是 阻止,从而确保每个虚拟机群的虚拟网络相互隔离。

(B6)Hadoop的例子中无需进行多网卡、多IP协同配置。

下面,以基于虚拟化环境的双路网络web服务器机群应用进行说明, 这一例子代表了互联网公司对外提供大规模web服务的应用需求。

(C1)图3是该例子中虚拟MAC地址编码方案与虚拟网络地址空间 规划的示例图。虚拟MAC地址第0字节的第7-4比特为SN字段,以顺序 编号方式表示一个虚拟网卡在其所属的虚拟节点中的顺序。虚拟MAC地 址第0字节的第3-0比特为FLAGS字段,第3比特命名为FLAG_IP,表 示本MAC地址映射的IP地址类型(0=内网,1=外网);第2比特命名为 FLAG_OP,表示本MAC地址映射的IP地址所属的运营商(限于外网IP, 0=电信,1=联通);第1比特命名为FLAG_IAC,表示虚拟网卡的输入可 访问性(限于内网IP,0=虚拟机群内,1=虚拟机群间);第0比特命名为 FLAG_OAC,表示虚拟网卡的输出可访问性(限于内网IP,0=虚拟机群 内,1=虚拟机群间)。虚拟MAC地址第1字节为VCID字段,可容纳2^8=256 个虚拟机群。虚拟MAC地址第2-5字节为VNID字段,可容纳 2^32=4294967296个虚拟网卡。

(C2.1)IPv4地址空间规划:将整个VNID字段作为IPv4地址,指 示虚拟网卡。不通过IPv4地址指示虚拟机群。

(C2.2)IPv6地址空间规划:IPv6地址第0-6字节作为路由前缀部分, 由运营商指定。将VCID字段赋予IPv6地址第7字节,作为网络号部分, 指示虚拟机群。将整个虚拟MAC地址使用EUI-64变种算法处理后赋予 IPv6地址第8-15字节,作为主机号部分,指示虚拟网卡。

(C3.1)IPv4地址分配使用带有MAC-IP映射规则DHCP服务器实现。

(C3.2)IPv6地址分配使用SLAAC机制在网关服务器和虚拟节点内 部实现。

(C4)应用角色配置机制在本例中无须实现。

(C5)网络访问策略配置机制通过虚拟节点内部方式实现。不同的 web服务对虚拟网络的可访问性有不同的要求,故在虚拟节点启动后,通 过程序解析虚拟MAC地址中的FLAGS和VCID字段,调用iptables服务 配置网络访问策略,确保每个虚拟机群的网络可访问性与FLAG_IAC、 FLAG_OAC标志位声明的一致。

(C6)多网卡、多IP协同配置机制通过虚拟节点外部方式实现。每 个虚拟节点至少具有一个带有内网IP的虚拟网卡,部分虚拟节点具有一 个(单路网络)或两个(双路网络)带有外网IP的虚拟网卡,故在虚拟 网络创建时,通过网关服务器,实现同一虚拟节点、不同网段IP之间的 映射或路由。

进一步地,表1给出了基于实施例1的大量机群应用的编码方案示例。

表1

应用需求说明:

a)应用角色配置;

b)网络访问策略配置;

c)多网卡、多IP协同配置。

最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对 本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应 用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本 发明的精神和教导范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号