[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109656674B - 一种计算机设备、虚拟化芯片及数据传输方法 - Google Patents

一种计算机设备、虚拟化芯片及数据传输方法 Download PDF

Info

Publication number
CN109656674B
CN109656674B CN201710943591.XA CN201710943591A CN109656674B CN 109656674 B CN109656674 B CN 109656674B CN 201710943591 A CN201710943591 A CN 201710943591A CN 109656674 B CN109656674 B CN 109656674B
Authority
CN
China
Prior art keywords
physical machine
data
chip
processing
virtualization
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
CN201710943591.XA
Other languages
English (en)
Other versions
CN109656674A (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710943591.XA priority Critical patent/CN109656674B/zh
Publication of CN109656674A publication Critical patent/CN109656674A/zh
Application granted granted Critical
Publication of CN109656674B publication Critical patent/CN109656674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种计算机设备、虚拟化芯片及数据传输方法,所述计算机设备包括物理机和虚拟化芯片,所述虚拟化芯片通过高速串行总线与所述物理机连接;其中:所述虚拟化芯片,用于根据所述物理机与目标设备交互的数据进行处理。通过本申请的技术方案,可以保证物理机的性能和高隔离性,并保持虚拟机的弹性云化部署,使得物理机具备虚拟机的弹性,可以支持物理机的快速部署、快速迁移、支持云盘启动、挂接云盘、自动化运维。

Description

一种计算机设备、虚拟化芯片及数据传输方法
技术领域
本申请涉及互联网技术领域,尤其涉及一种计算机设备、虚拟化芯片及数据传输方法。
背景技术
在运维、数据可靠性、资源弹性等方面,物理机无法满足云化部署的需求,使得虚拟机(Virtual Machine)得到了迅速发展,虚拟机是通过软件模拟的具有完整硬件系统功能的、运行在完全隔离环境中的完整计算机系统,所有的操作都是在虚拟机中进行,可以独立安装运行软件,保存数据,拥有独立桌面。
但是,在物理机上创建多个虚拟机后,这多个虚拟机会共用物理机的CPU(CentralProcessing Unit,中央处理器)资源、内存资源、存储资源等,虚拟机存在性能损失、资源争抢等问题,如虚拟机只能使用物理机的部分CPU资源、内存资源、存储资源,各个虚拟机会争抢CPU资源、内存资源、存储资源。
发明内容
本申请提供一种计算机设备,所述计算机设备包括:
物理机;
虚拟化芯片,通过高速串行总线与所述物理机连接;用于实现管理程序业务,并包括用于实现所述管理程序业务的管理程序模块;
其中,所述管理程序模块,用于根据所述物理机与目标设备交互的数据进行处理。
本申请提供一种虚拟化芯片,所述虚拟化芯片,通过高速串行总线与物理机连接;用于实现管理程序业务,并包括用于实现所述管理程序业务的管理程序模块;
其中,所述管理程序模块,用于根据物理机与目标设备交互的数据进行处理。
本申请提供一种数据传输方法,所述方法包括:若虚拟化芯片接收到目标设备发送的第一类数据,则根据所述第一类数据进行处理;
若虚拟化芯片通过虚拟化芯片与物理机之间的高速串行总线,接收到与虚拟化芯片连接的物理机发送的第二类数据,则将所述第二类数据发送给所述第二类数据对应的目标设备,以使所述目标设备根据所述第二类数据进行处理。
基于上述技术方案,本申请实施例中,通过部署物理机与虚拟化芯片,可以分离物理机和Hypervisor业务(如网络虚拟化业务、存储虚拟化业务、物理机管理业务等),从而可以保证物理机的性能和高隔离性,并保持虚拟机的弹性云化部署,使得物理机具备虚拟机的弹性,可以支持物理机的快速部署、快速迁移、支持云盘启动、挂接云盘、自动化运维。在上述方式中,不是在物理机上创建多个虚拟机,而是只部署物理机,因此,不涉及多个虚拟机共用物理机的CPU资源、内存资源、存储资源,避免存在性能损失、资源争抢等问题。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1A-图1D是本申请一种实施方式中的计算机设备的硬件结构图;
图2是本申请一种实施方式中的数据传输方法的流程图;
图3A是本申请一种实施方式中的针对网络虚拟化业务的应用场景示意图;
图3B是本申请另一种实施方式中的数据传输方法的流程图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或“当……时”,或“响应于确定”。
本申请实施例中提出一种计算机设备,所述计算机设备可以包括但不限于物理机和虚拟化芯片,所述虚拟化芯片通过高速串行总线与该物理机连接。
其中,该物理机可以包括但不限于第一处理器(即CPU)、内存、主板,且物理机上运行有操作系统。此外,该物理机可以不包括硬盘等存储资源,当然,该物理机也可以包括本地磁盘等存储资源,对此不做限制。在一个例子中,后续以所述物理机可以不包括硬盘等存储资源为例进行说明。
在传统方式中,在物理机上创建多个虚拟机,这多个虚拟机共用物理机的CPU资源、内存资源、存储资源等,导致虚拟机存在性能损失、资源争抢等问题,与上述方式不同的是,本申请实施例中,不在物理机创建多个虚拟机,而是使用第一处理器、内存、主板、操作系统组成物理机,这个物理机不再划分多个虚拟机,因此,这个物理机可以独自使用CPU资源(即第一处理器提供的资源)、内存资源(即内存提供的资源),不存在多个虚拟机共用资源的问题。
与传统物理机不同的是,本申请实施例中的物理机,可以没有本地的存储资源,即没有在本地为这个物理机部署硬盘等存储资源,而是使用云存储设备为物理机提供存储资源,该云存储设备可以包括但不限于云盘、NAS(Network Attached Storage:网络附属存储)设备等,对此云存储设备的类型不做限制。
因此,这个物理机的所有数据的读写操作,均可以访问云存储设备来实现,即在写入数据时,是将数据写入到云存储设备,在读取数据时,是从云存储设备读取数据。综上所述,本申请实施例中的物理机,如果没有部署本地硬盘等存储资源,那么这个物理机是一个无状态的物理机,也就是说,物理机本身并没有存储相关数据,所有数据均存储到云存储设备。这样,当物理机发生故障时,就可以迁移到另一个物理机,继续为租户服务,但是,不用迁移租户的数据,从而可以实现物理机的快速迁移,这个迁移过程对租户来说是不感知的,从而可以具有虚拟机的迁移优势,保持虚拟机的业务体验。
本申请实施例中,还可以将Hypervisor(管理程序)业务(如网络虚拟化业务、存储虚拟化业务和物理机管理业务)转移到虚拟化芯片实现,即可以在虚拟化芯片实现Hypervisor业务,而不是在物理机实现Hypervisor业务,这种Hypervisor业务和物理机分离的架构,使得物理机不实现Hypervisor业务,也就不需要在本地存储与Hypervisor业务有关的数据。当物理机发生故障时,与Hypervisor业务有关的数据不会发生丢失,在迁移到另一个物理机时,可以将虚拟化芯片中与Hypervisor业务有关的数据迁移到另一个物理机的虚拟化芯片,在迁移后的虚拟化芯片实现Hypervisor业务,实现Hypervisor业务的快速迁移,可以具有虚拟机的迁移优势,保持虚拟机的业务体验,具备虚拟机的弹性。
其中,Hypervisor业务是一种运行在物理机和操作系统之间的中间软件层,可以允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,Hypervisor业务是所有虚拟化技术的核心。
在一个例子中,该虚拟化芯片可以包括但不限于:FPGA(Field ProgrammableGate Array,现场可编程门阵列)芯片和第二处理器;或者,ASIC(Application SpecificIntegrated Circuit,专用集成电路)芯片和第二处理器;或者,SOC(System on Chip,系统级芯片)。为了区分方便,可以将物理机中的处理器称为第一处理器,并将虚拟化芯片中的处理器称为第二处理器。当然,上述三种实现方式,只是实现虚拟化芯片的几个示例,对此虚拟化芯片的实现方式不做限制,只要在虚拟化芯片能够实现上述Hypervisor业务,且能够与物理机互联即可。
其中,若虚拟化芯片由FPGA芯片和第二处理器组成,则FPGA芯片用于完成物理机与第二处理器之间的互联,且第二处理器用于实现上述Hypervisor业务(如网络虚拟化业务、存储虚拟化业务和物理机管理业务等)。若虚拟化芯片由ASIC芯片和第二处理器组成,则ASIC芯片用于完成物理机与第二处理器之间的互联,且第二处理器用于实现上述Hypervisor业务。若虚拟化芯片由SOC组成,则SOC用于与物理机互联,且SOC用于实现上述Hypervisor业务。
在一个例子中,虚拟化芯片与物理机的连接方式可以为:虚拟化芯片通过高速串行总线与物理机连接,当然,虚拟化芯片也可以通过其它方式与物理机连接,对此不做限制。其中,高速串行总线可以包括但不限于:PCIE(Peripheral Component InterconnectExpress外设部件快速互连标准)总线。高速串行总线也可以为其它类型的串行总线,如基于光纤的高速串行总线等,对此不做限制。
综上所述,由于上述方式实现的物理机,可以独自使用CPU资源(即第一处理器提供的资源)、内存资源(即内存提供的资源),不存在多个物理机共用资源的问题,因此具有物理机的性能和高隔离性,而且,这个物理机还可以快速迁移,具有虚拟机的迁移优势,保持虚拟机的弹性云化部署价值。因此,可以将上述物理机与虚拟化芯片组成的计算机设备,称为弹性物理机,这个弹性物理机可以支持快速交付、兼容虚拟机镜像、云存储设备启动、挂接云存储设备、物理机故障的迁移恢复、自动化运维等优势,具有很高的应用价值。
在一个例子中,虚拟化芯片,用于实现管理程序业务(即Hypervisor业务),并包括用于实现所述管理程序业务的管理程序模块;其中,所述管理程序模块,用于根据所述物理机与目标设备交互的数据进行处理。
在一个例子中,管理程序业务可以包括但不限于以下业务之一或者任意组合:网络虚拟化业务、存储虚拟化业务和物理机管理业务。而且,管理程序模块可以包括但不限于以下之一或者任意组合:用于实现所述网络虚拟化业务的网络虚拟化模块、用于实现所述存储虚拟化业务的存储虚拟化模块、用于实现所述物理机管理业务的物理机管理模块。
在一个例子中,虚拟化芯片的管理程序模块,用于根据所述物理机与目标设备交互的数据进行处理;具体的,管理程序模块在根据所述物理机与目标设备交互的数据进行处理的过程中,可以接收目标设备发送的第一类数据,根据所述第一类数据进行处理;接收所述物理机发送的第二类数据,将所述第二类数据发送给所述第二类数据对应的目标设备,以使所述目标设备根据所述第二类数据进行处理。
其中,若目标设备为VPC(Virtual Private Cloud,虚拟私有云)网络内的主机;则:网络虚拟化模块,用于接收主机发送给物理机的第一网络数据,并将所述第一网络数据发送给所述物理机,以使物理机根据所述第一网络数据进行处理;以及,接收物理机发送给主机的第二网络数据,并将所述第二网络数据发送给所述主机,以使所述主机根据所述第二网络数据进行处理。
其中,若目标设备为管理设备,则:物理机管理模块,用于接收管理设备发送的管理数据,并根据所述管理数据对物理机进行特定类型的处理。所述特定类型的处理包括但不限于以下之一或者任意组合:开机处理、关机处理、重启处理、生命周期管理、迁移处理、版本升级处理、应用程序管理。
其中,若目标设备为云存储设备,则:存储虚拟化模块,用于接收物理机发送给所述云存储设备的IO操作请求,并将所述IO操作请求发送给所述云存储设备,以使所述云存储设备根据所述IO操作请求进行处理;其中,所述IO操作请求用于使所述云存储设备进行数据读处理或者进行数据写处理。
参见图1A所示,为计算机设备的硬件结构图,物理机包括第一处理器、内存、主板、操作系统,虚拟化芯片包括用于实现网络虚拟化业务的网络虚拟化模块、用于实现存储虚拟化业务的存储虚拟化模块、用于实现物理机管理业务的物理机管理模块。当然,上述是以Hypervisor业务包括网络虚拟化业务、存储虚拟化业务和物理机管理业务为例进行说明的,当Hypervisor业务包括其它业务时,虚拟化芯片还可以包括与其它业务匹配的模块,对此不做限制。
参见图1B所示,当虚拟化芯片由FPGA芯片和第二处理器组成时,第二处理器包括网络虚拟化模块、存储虚拟化模块、物理机管理模块。参见图1C所示,当虚拟化芯片由ASIC芯片和第二处理器组成时,第二处理器包括网络虚拟化模块、存储虚拟化模块、物理机管理模块。参见图1D所示,当虚拟化芯片由SOC组成时,SOC包括网络虚拟化模块、存储虚拟化模块、物理机管理模块。
基于与上述计算机设备同样的申请构思,本申请实施例中还提出一种虚拟化芯片,所述虚拟化芯片通过高速串行总线与物理机连接;所述虚拟化芯片用于实现管理程序业务,并包括用于实现所述管理程序业务的管理程序模块;其中,所述管理程序模块,用于根据物理机与目标设备交互的数据进行处理。
其中,所述虚拟化芯片可以包括但不限于:FPGA芯片和第二处理器;或者,ASIC芯片和第二处理器;或者,SOC。
基于与上述计算机设备同样的申请构思,本申请实施例中还提出一种数据传输方法,参见图2所示,为本申请实施例中的数据传输方法的流程图,该方法可以应用于计算机设备,其包括物理机和虚拟化芯片,该方法可以包括:
步骤201,若虚拟化芯片接收到目标设备发送的第一类数据,则根据该第一类数据进行处理。为了区分方便,可以将目标设备发送的数据称为第一类数据。
步骤202,若虚拟化芯片通过虚拟化芯片与物理机之间的高速串行总线,接收到与虚拟化芯片连接的物理机发送的第二类数据,则将第二类数据发送给所述第二类数据对应的目标设备,以使所述目标设备根据所述第二类数据进行处理。为了区分方便,可以将物理机发送给目标设备的数据称为第二类数据。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
以下结合几个具体的应用场景,对上述技术方案进行详细说明。
应用场景1,通过虚拟化芯片实现网络虚拟化业务,例如,虚拟化芯片可以通过网络虚拟化模块实现网络虚拟化业务。在此应用场景下,目标设备为VPC网络内的主机,第一类数据可以是VPC网络内的主机发送给物理机的网络数据,第二类数据可以是物理机发送给VPC网络内的主机的网络数据。
其中,在步骤201中,针对“虚拟化芯片根据该第一类数据进行处理”的过程,可以包括但不限于:虚拟化芯片可以从该第一类数据中解析出目的地址(如目的IP地址),并可以根据该目的地址将该第一类数据发送给物理机,以使物理机根据该第一类数据进行处理,对此物理机的处理方式不做限制。
在一个例子中,针对“从该第一类数据中解析出目的地址”的过程,可以包括但不限于:若该第一类数据是经过指定隧道封装的网络数据,则虚拟化芯片采用指定隧道的解封装方式对该第一类数据进行解封装,得到解封装后的第一类数据;然后,从解封装后的第一类数据中解析出目的地址,即目的IP地址。
在一个例子中,针对“根据该目的地址将该第一类数据发送给物理机”的过程,可以包括但不限于:虚拟化芯片可以通过该目的地址查询转发表,以得到与该目的地址对应的出接口;然后,可以通过该出接口将该第一类数据发送给物理机;其中,所述转发表用于记录目的地址与出接口的对应关系。
其中,在步骤202中,针对“虚拟化芯片将该第二类数据发送给目标设备”的过程,可以包括但不限于:虚拟化芯片可以从该第二类数据中解析出目的地址(即目的IP地址),并可以根据该目的地址将该第二类数据发送给VPC网络内的目标设备,以使该目标设备根据该第二类数据进行处理。
在一个例子中,针对“根据该目的地址将该第二类数据发送给VPC网络内的目标设备”的过程,可以包括但不限于:虚拟化芯片可以确定与该目的地址对应的指定隧道,并采用该指定隧道的封装方式对该第二类数据进行封装,得到封装后的第二类数据;然后,虚拟化芯片可以通过该指定隧道对应的出接口,将封装后的第二类数据发送给VPC网络内的目标设备(即主机)。
在上述的实施例中,指定隧道可以包括但不限于:VXLAN(Virtual ExtensibleLocal Area Network虚拟扩展局域网)隧道,对此指定隧道不做限制。
参见图3A所示,为针对网络虚拟化业务的应用场景示意图,以指定隧道是VXLAN隧道为例进行说明,参见图3B所示,为上述数据传输方法的流程图。
步骤301、主机1向物理机发送网络数据1,该网络数据1的源IP地址为主机1的IP地址1,该网络数据1的目的IP地址为物理机的IP地址2。
步骤302、VTEP设备接收到网络数据1后,确定与网络数据1对应的VXLAN隧道A,通过VXLAN隧道A为网络数据1封装VXLAN隧道头,得到网络数据2,并通过VXLAN隧道A对应的接口C将网络数据2发送给虚拟化芯片。
在本步骤302之前,VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)设备与虚拟化芯片之间可以建立VXLAN隧道A,对此VXLAN隧道A的建立方式不做详加限制,该VXLAN隧道A的VXLAN标识可以为VXLAN1000。
在一个例子中,在VTEP设备上,VXLAN隧道A的源IP地址为VTEP设备的IP地址3,源MAC(Media Access Control,介质访问控制)地址为VTEP设备的MAC地址1,目的IP地址为虚拟化芯片的IP地址4,目的MAC地址为虚拟化芯片的MAC地址2,VXLAN隧道A对应的出接口为接口C。在虚拟化芯片上,VXLAN隧道A的源IP地址为虚拟化芯片的IP地址4,源MAC地址为虚拟化芯片的MAC地址2,目的IP地址为VTEP设备的IP地址3,目的MAC地址为VTEP设备的MAC地址1,VXLAN隧道A对应的出接口为接口B。
其中,针对VTEP设备的每个接口,可以配置VLAN(Virtual Local Area Network,虚拟局域网)标识,并配置VLAN标识与VXLAN标识的对应关系,如接口D的VLAN标识是VLAN1,并配置VLAN1与VXLAN1000的对应关系。
基于此,VTEP设备在通过接口D接收到网络数据1后,可以确定与接口D对应的VLAN标识为VLAN1,并通过VLAN1查询VLAN标识与VXLAN标识的对应关系,得到与VLAN1对应的VXLAN标识为VXLAN1000,VXLAN1000对应的VXLAN隧道A,也就是与所述网络数据1对应的VXLAN隧道。
其中,针对“通过VXLAN隧道A为网络数据1封装VXLAN隧道头,得到网络数据2”的过程,网络数据2包括VXLAN隧道头,且VXLAN隧道头携带的VXLAN标识为VXLAN1000,源IP地址为VTEP设备的IP地址3,源MAC地址为VTEP设备的MAC地址1,目的IP地址为虚拟化芯片的IP地址4,目的MAC地址为虚拟化芯片的MAC地址2,对此VXLAN隧道头不做限制。
步骤303、虚拟化芯片在接收到网络数据2后,对该网络数据2进行解封装(如去除该网络数据2的VXLAN隧道头),得到解封装后的网络数据1。
步骤304、虚拟化芯片从所述网络数据1中解析出目的IP地址,即物理机的IP地址2,并可以根据物理机的IP地址2,将网络数据1发送给物理机。
在本步骤304之前,虚拟化芯片可以生成转发表,对此转发表的生成方式不做限制。例如,物理机可以发送免费ARP(Address Resolution Protocol,地址解析协议)报文,该免费ARP报文可以携带物理机的IP地址2、MAC地址3,虚拟化芯片在通过接口A接收到该免费ARP报文后,可以在转发表中添加一个转发表项,这个转发表项可以记录IP地址2、MAC地址3和接口A的对应关系。
基于此,针对“虚拟化芯片根据物理机的IP地址2,将网络数据1发送给物理机”的过程,可以包括:虚拟化芯片通过IP地址2查询转发表,得到与IP地址2对应的出接口是接口A,因此通过接口A将网络数据1发送给物理机。
步骤305、物理机根据网络数据1进行处理,对此处理方式不做限制。
步骤306、物理机向主机1发送网络数据3,该网络数据3的源IP地址为物理机的IP地址2,该网络数据3的目的IP地址为主机1的IP地址1。
步骤307、虚拟化芯片收到网络数据3后,确定与网络数据3对应的VXLAN隧道A,通过VXLAN隧道A为网络数据3封装VXLAN隧道头,得到网络数据4,并通过VXLAN隧道A对应的接口B将网络数据4发送给VTEP设备。
在一个例子中,虚拟化芯片可以记录主机的IP地址与该主机所属VXLAN隧道的VXLAN标识的对应关系,对此对应关系的获得方式不做限制。例如,虚拟化芯片在接收到网络数据1时,可以记录网络数据1的源IP地址(即主机1的IP地址1)与VXLAN隧道头携带的VXLAN1000的对应关系。
基于此,虚拟化芯片在接收到网络数据3之后,可以从该网络数据3中解析出目的IP地址,即主机1的IP地址1。然后,虚拟化芯片可以确定与IP地址1对应的VXLAN标识是VXLAN1000,而VXLAN1000对应的VXLAN隧道A,也就是与IP地址1对应的VXLAN隧道。进一步的,在该虚拟化芯片上,VXLAN隧道A的源IP地址为虚拟化芯片的IP地址4,源MAC地址为虚拟化芯片的MAC地址2,目的IP地址为VTEP设备的IP地址3,目的MAC地址为VTEP设备的MAC地址1,且VXLAN隧道A对应的出接口可以为接口B。
其中,针对“通过VXLAN隧道A为网络数据3封装VXLAN隧道头,得到网络数据4”的过程,网络数据4包括VXLAN隧道头,且VXLAN隧道头携带的VXLAN标识为VXLAN1000,源IP地址为虚拟化芯片的IP地址4,源MAC地址为虚拟化芯片的MAC地址2,目的IP地址为VTEP设备的IP地址3,目的MAC地址为VTEP设备的MAC地址1,对此VXLAN隧道头不做限制。
步骤308、VTEP设备在接收到网络数据4后,对该网络数据4进行解封装(如去除该网络数据4的VXLAN隧道头),得到解封装后的网络数据3。
步骤309、VTEP设备从网络数据3中解析出目的IP地址,即主机1的IP地址1,并根据主机1的IP地址1,将网络数据3发送给主机1。
步骤310、主机1根据网络数据3进行处理,对此处理方式不做限制。
至此,成功在主机1与物理机之间完成网络数据的传输,并进行处理。
应用场景2,通过虚拟化芯片实现存储虚拟化业务,例如,虚拟化芯片可以通过存储虚拟化模块实现存储虚拟化业务。在此应用场景下,目标设备为云存储设备,第二类数据可以是物理机发送给云存储设备的IO操作请求,这个IO操作请求用于使云存储设备进行数据读处理(即物理机从云存储设备中读取数据),或者,IO操作请求用于使云存储设备进行数据写处理(即物理机在云存储设备中写入数据)。
其中,在步骤202中,针对“虚拟化芯片将该第二类数据发送给目标设备”的过程,可以包括但不限于:虚拟化芯片将该第二类数据发送给云存储设备,以使云存储设备基于该第二类数据的操作类型,根据该第二类数据进行处理。进一步的,该第二类数据的操作类型可以是读操作或者写操作,若该操作类型是读操作,则该第二类数据用于使云存储设备进行数据读处理;若该操作类型是写操作,则该第二类数据用于使云存储设备进行数据写处理。
具体的,当物理机需要向云存储设备中写入数据A时,则可以发送IO操作请求1,该IO操作请求1中携带的操作类型是写操作,且该IO操作请求1携带数据A以及数据A的存储地址A。虚拟化芯片在接收到IO操作请求1后,由于该IO操作请求1的操作类型是写操作,因此,虚拟化芯片确定目标设备是云存储设备,并将该IO操作请求1发送给云存储设备。云存储设备在接收到IO操作请求1后,由于该IO操作请求1的操作类型是写操作,因此,将该IO操作请求1中携带的数据A写入到与存储地址A对应的存储空间。
此外,当物理机需要从云存储设备中读取数据B时,则可以发送IO操作请求2,该IO操作请求2中携带的操作类型是读操作,且该IO操作请求2携带数据B对应的存储地址B。虚拟化芯片在接收到IO操作请求2后,由于该IO操作请求2的操作类型是读操作,因此,虚拟化芯片确定目标设备是云存储设备,并将该IO操作请求2发送给云存储设备。云存储设备在接收到IO操作请求2后,由于该IO操作请求2的操作类型是读操作,因此,从存储地址B对应的存储空间读取数据B,并通过虚拟化芯片将数据B返回给物理机。
至此,物理机成功在云存储设备中进行数据的写入,或者,数据的读取。
应用场景3,通过虚拟化芯片实现物理机管理业务,例如,虚拟化芯片可以通过物理机管理模块实现物理机管理业务。在此应用场景下,目标设备为管理设备,第一类数据可以是管理设备发送给虚拟机芯片的管理数据,该管理数据用于实现物理机的管理,虚拟化芯片可以根据该管理数据对物理机进行管理。
其中,在步骤201中,针对“虚拟化芯片根据该第一类数据进行处理”的过程,可以包括但不限于:虚拟化芯片根据该第一类数据对该物理机进行特定类型的处理。特定类型的处理包括但不限于以下之一或者任意组合:开机处理、关机处理、重启处理、生命周期管理、迁移处理、版本升级处理、应用程序管理。当然,上述过程只是给出了特定类型的处理方式的几个示例,对此特定类型的处理方式不做限制。
例如,当第一类数据用于指示虚拟化芯片对物理机进行开机处理时,则虚拟化芯片可以根据该第一类数据对物理机进行开机处理,对此开机处理方式不做限制。或者,当第一类数据用于指示虚拟化芯片对物理机进行关机处理时,则虚拟化芯片可以根据该第一类数据对物理机进行关机处理,对此关机处理方式不做限制。或者,当第一类数据用于指示虚拟化芯片对物理机进行重启处理时,则虚拟化芯片可以根据该第一类数据对物理机进行重启处理,对此重启处理方式不做限制。或者,当第一类数据用于指示虚拟化芯片对物理机进行生命周期管理时,则虚拟化芯片可以根据该第一类数据对物理机进行生命周期管理,对此生命周期管理方式不做限制。或者,当第一类数据用于指示虚拟化芯片对物理机进行迁移处理时,则虚拟化芯片可以根据该第一类数据对物理机进行迁移处理,对此迁移处理方式不做限制。或者,当第一类数据用于指示虚拟化芯片对物理机进行版本升级处理时,则虚拟化芯片可以根据该第一类数据对物理机进行版本升级处理,对此版本升级处理方式不做限制。或者,当第一类数据用于指示虚拟化芯片对物理机进行应用程序管理时,则虚拟化芯片可以根据该第一类数据对物理机进行应用程序管理,对此应用程序管理方式不做限制。
基于上述技术方案,本申请实施例中,通过部署物理机与虚拟化芯片,可以分离物理机和Hypervisor业务(如网络虚拟化业务、存储虚拟化业务、物理机管理业务等),从而可以保证物理机的性能和高隔离性,并保持虚拟机的弹性云化部署,使得物理机具备虚拟机的弹性,可以支持物理机的快速部署、快速迁移、支持云盘启动、挂接云盘、自动化运维。在上述方式中,不是在物理机上创建多个虚拟机,而是只部署物理机,因此,不涉及多个虚拟机共用物理机的CPU资源、内存资源、存储资源,避免存在性能损失、资源争抢等问题。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:若接收到目标设备发送的第一类数据,则根据所述第一类数据进行处理;若通过虚拟化芯片与物理机之间的高速串行总线,接收到与虚拟化芯片连接的物理机发送的第二类数据,则将所述第二类数据发送给所述第二类数据对应的目标设备,以使所述目标设备根据所述第二类数据进行处理。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是服务器、个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备的任意设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种计算机设备,其特征在于,所述计算机设备包括:
物理机;所述物理机包括第一处理器、内存、主板,所述物理机运行有操作系统,物理机未包括硬盘,使用云存储设备为物理机提供存储资源;
虚拟化芯片,通过高速串行总线与所述物理机连接;用于实现管理程序业务,并包括用于实现所述管理程序业务的管理程序模块;
其中,所述管理程序模块,用于根据所述物理机与目标设备交互的数据进行处理;
其中,所述管理程序业务包括以下业务之一或者任意组合:网络虚拟化业务、存储虚拟化业务和物理机管理业务;
所述管理程序模块包括以下之一或者任意组合:用于实现所述网络虚拟化业务的网络虚拟化模块、用于实现所述存储虚拟化业务的存储虚拟化模块、用于实现所述物理机管理业务的物理机管理模块。
2.根据权利要求1所述的计算机设备,其特征在于,所述虚拟化芯片包括:
现场可编程门阵列FPGA芯片和第二处理器;或者,
专用集成电路ASIC芯片和第二处理器;或者,
系统级芯片SOC。
3.根据权利要求1所述的计算机设备,其特征在于,
所述高速串行总线包括:外设部件快速互连标准PCIE总线。
4.根据权利要求1所述的计算机设备,其特征在于,
所述管理程序模块,具体用于在根据所述物理机与目标设备交互的数据进行处理的过程中,接收所述目标设备发送的第一类数据,根据所述第一类数据进行处理;接收所述物理机发送的第二类数据,将所述第二类数据发送给所述第二类数据对应的目标设备,以使所述目标设备根据所述第二类数据进行处理。
5.根据权利要求1所述的计算机设备,其特征在于,所述目标设备为虚拟私有云VPC网络内的主机;所述网络虚拟化模块,用于接收主机发送给物理机的第一网络数据,将所述第一网络数据发送给所述物理机,以使物理机根据所述第一网络数据进行处理;接收物理机发送给主机的第二网络数据,将所述第二网络数据发送给所述主机,以使所述主机根据所述第二网络数据进行处理。
6.根据权利要求1所述的计算机设备,其特征在于,所述目标设备为管理设备,所述物理机管理模块,用于接收所述管理设备发送的管理数据,并根据所述管理数据对所述物理机进行特定类型的处理。
7.根据权利要求6所述的计算机设备,其特征在于,
所述特定类型的处理包括以下之一或者任意组合:开机处理、关机处理、重启处理、生命周期管理、迁移处理、版本升级处理、应用程序管理。
8.根据权利要求1所述的计算机设备,其特征在于,所述目标设备为云存储设备,所述存储虚拟化模块,用于接收所述物理机发送给所述云存储设备的IO操作请求,并将所述IO操作请求发送给所述云存储设备,以使所述云存储设备根据所述IO操作请求进行处理;其中,所述IO操作请求用于使所述云存储设备进行数据读处理或者进行数据写处理。
9.一种虚拟化芯片,其特征在于,
虚拟化芯片,通过高速串行总线与物理机连接;用于实现管理程序业务,并包括用于实现所述管理程序业务的管理程序模块;其中,所述物理机包括第一处理器、内存、主板,所述物理机运行有操作系统,物理机未包括硬盘,使用云存储设备为物理机提供存储资源;
其中,所述管理程序模块,用于根据物理机与目标设备交互的数据进行处理;
其中,所述管理程序业务包括以下业务之一或者任意组合:网络虚拟化业务、存储虚拟化业务和物理机管理业务;
所述管理程序模块包括以下之一或者任意组合:用于实现所述网络虚拟化业务的网络虚拟化模块、用于实现所述存储虚拟化业务的存储虚拟化模块、用于实现所述物理机管理业务的物理机管理模块。
10.根据权利要求9所述的虚拟化芯片,其特征在于,
所述虚拟化芯片包括:现场可编程门阵列FPGA芯片和第二处理器;或者,专用集成电路ASIC芯片和第二处理器;或者,系统级芯片SOC。
11.根据权利要求9所述的虚拟化芯片,其特征在于,
所述管理程序模块,具体用于在根据所述物理机与目标设备交互的数据进行处理的过程中,接收所述目标设备发送的第一类数据,根据所述第一类数据进行处理;接收所述物理机发送的第二类数据,将所述第二类数据发送给所述第二类数据对应的目标设备,以使所述目标设备根据所述第二类数据进行处理。
12.根据权利要求9所述的虚拟化芯片,其特征在于,
所述目标设备为虚拟私有云VPC网络内的主机;所述网络虚拟化模块,用于接收所述主机发送给所述物理机的第一网络数据,并将所述第一网络数据发送给所述物理机,以使所述物理机根据所述第一网络数据进行处理;以及,接收所述物理机发送给所述主机的第二网络数据,并将所述第二网络数据发送给所述主机,以使所述主机根据所述第二网络数据进行处理;
所述目标设备为管理设备,所述物理机管理模块,用于接收所述管理设备发送的管理数据,并根据所述管理数据对所述物理机进行特定类型的处理;所述特定类型的处理包括以下之一或者任意组合:开机处理、关机处理、重启处理、生命周期管理、迁移处理、版本升级处理、应用程序管理;
所述目标设备为云存储设备,所述存储虚拟化模块,用于接收所述物理机发送给所述云存储设备的IO操作请求,并将所述IO操作请求发送给所述云存储设备,以使所述云存储设备根据所述IO操作请求进行处理;其中,所述IO操作请求用于使所述云存储设备进行数据读处理或者进行数据写处理。
13.一种数据传输方法,其特征在于,所述方法包括:
若虚拟化芯片接收到目标设备发送的第一类数据,则根据所述第一类数据进行处理;
若虚拟化芯片通过虚拟化芯片与物理机之间的高速串行总线,接收到与虚拟化芯片连接的物理机发送的第二类数据,则将所述第二类数据发送给所述第二类数据对应的目标设备,以使所述目标设备根据所述第二类数据进行处理;
其中,所述物理机包括第一处理器、内存、主板,所述物理机运行有操作系统,物理机未包括硬盘,使用云存储设备为物理机提供存储资源。
14.根据权利要求13所述的方法,其特征在于,所述目标设备为虚拟私有云VPC网络内的主机,所述第一类数据是所述主机发送给所述物理机的网络数据,所述第二类数据是所述物理机发送给所述主机的网络数据;
所述根据所述第一类数据进行处理的过程,具体包括:
从所述第一类数据中解析出目的地址,并根据所述目的地址将所述第一类数据发送给所述物理机,以使所述物理机根据所述第一类数据进行处理;
所述将所述第二类数据发送给所述目标设备的过程,具体包括:
从所述第二类数据中解析出目的地址,并根据所述目的地址将所述第二类数据发送给所述目标设备,以使所述目标设备根据所述第二类数据进行处理。
15.根据权利要求13所述的方法,其特征在于,所述目标设备为管理设备,所述第一类数据是所述管理设备发送给所述虚拟化芯片的管理数据;
所述根据所述第一类数据进行处理的过程,具体包括:
根据所述第一类数据对所述物理机进行特定类型的处理;其中,所述特定类型的处理包括以下之一或者任意组合:开机处理、关机处理、重启处理、生命周期管理、迁移处理、版本升级处理、应用程序管理。
16.根据权利要求13所述的方法,其特征在于,所述目标设备为云存储设备,所述第二类数据是所述物理机发送给所述云存储设备的IO操作请求;所述将所述第二类数据发送给所述第二类数据对应的目标设备的过程,具体包括:
将所述第二类数据发送给所述云存储设备,以使所述云存储设备基于所述第二类数据的操作类型,根据所述第二类数据进行处理;其中,若所述操作类型是读操作,所述第二类数据用于使所述云存储设备进行数据读处理;若所述操作类型是写操作,所述第二类数据用于使所述云存储设备进行数据写处理。
CN201710943591.XA 2017-10-11 2017-10-11 一种计算机设备、虚拟化芯片及数据传输方法 Active CN109656674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710943591.XA CN109656674B (zh) 2017-10-11 2017-10-11 一种计算机设备、虚拟化芯片及数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710943591.XA CN109656674B (zh) 2017-10-11 2017-10-11 一种计算机设备、虚拟化芯片及数据传输方法

Publications (2)

Publication Number Publication Date
CN109656674A CN109656674A (zh) 2019-04-19
CN109656674B true CN109656674B (zh) 2023-09-12

Family

ID=66109699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710943591.XA Active CN109656674B (zh) 2017-10-11 2017-10-11 一种计算机设备、虚拟化芯片及数据传输方法

Country Status (1)

Country Link
CN (1) CN109656674B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112216333B (zh) * 2020-09-30 2024-02-06 深圳市宏旺微电子有限公司 芯片测试方法及装置
CN112765084B (zh) * 2021-04-06 2021-09-14 阿里云计算有限公司 计算机设备、虚拟化加速设备、数据传输方法及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290594A (zh) * 2007-04-19 2008-10-22 国际商业机器公司 从虚拟踪迹创建物理踪迹的方法和系统
CN201765585U (zh) * 2010-07-26 2011-03-16 四川九洲电器集团有限责任公司 一种处理器应用程序动态加载系统
US8027354B1 (en) * 2009-04-29 2011-09-27 Cisco Technology, Inc. Network consolidation for virtualized servers
CN102821158A (zh) * 2012-08-20 2012-12-12 广州杰赛科技股份有限公司 一种实现虚拟机迁移的方法和云系统
CN105389199A (zh) * 2015-10-21 2016-03-09 同济大学 一种基于Xen的FPGA加速器虚拟化平台及应用

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396012B2 (en) * 2013-03-14 2016-07-19 Qualcomm Incorporated Systems and methods of using a hypervisor with guest operating systems and virtual processors
US20150325078A1 (en) * 2014-05-08 2015-11-12 Bruce Alsip Gaming machine, apparatus and methods
CN104298559B (zh) * 2014-09-30 2018-03-02 深信服科技股份有限公司 物理主机系统虚拟化的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101290594A (zh) * 2007-04-19 2008-10-22 国际商业机器公司 从虚拟踪迹创建物理踪迹的方法和系统
US8027354B1 (en) * 2009-04-29 2011-09-27 Cisco Technology, Inc. Network consolidation for virtualized servers
CN201765585U (zh) * 2010-07-26 2011-03-16 四川九洲电器集团有限责任公司 一种处理器应用程序动态加载系统
CN102821158A (zh) * 2012-08-20 2012-12-12 广州杰赛科技股份有限公司 一种实现虚拟机迁移的方法和云系统
CN105389199A (zh) * 2015-10-21 2016-03-09 同济大学 一种基于Xen的FPGA加速器虚拟化平台及应用

Also Published As

Publication number Publication date
CN109656674A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
US20210232528A1 (en) Configurable device interface
CN107506258B (zh) 用于数据备份的方法和设备
US9842075B1 (en) Presenting multiple endpoints from an enhanced PCI express endpoint device
US9996484B1 (en) Hardware acceleration for software emulation of PCI express compliant devices
US10686755B2 (en) Assigning IP addresses and configuration parameters in hyper-converged infrastructure
US10684880B2 (en) Allocating and initializing I/O devices at virtual
US20140032753A1 (en) Computer system and node search method
US20180189084A1 (en) Data flow affinity for heterogenous virtual machines
CN110673941B (zh) 多机房中微服务的迁移方法、电子设备及存储介质
WO2013049991A1 (en) Network adapter hardware state migration discovery in a stateful environment
CN111988230B (zh) 虚拟机通信方法、装置、系统及电子设备
CN106873970B (zh) 一种操作系统的安装方法和装置
CN108073423B (zh) 一种加速器加载方法、系统和加速器加载装置
US10621124B2 (en) Method, device and computer program product for enabling SR-IOV functions in endpoint device
US9858096B2 (en) Communication device migration method of extension function and communication system
CN111124286A (zh) 一种基于Libcloud的多云管理实现方法
CN115858103B (zh) 用于开放堆栈架构虚拟机热迁移的方法、设备及介质
CN109656646B (zh) 一种远程桌面控制方法、装置、设备及虚拟化芯片
CN110990110A (zh) 一种基于Sriov网卡的虚拟机创建方法及装置
US11467998B1 (en) Low-latency packet processing for network device
CN109656674B (zh) 一种计算机设备、虚拟化芯片及数据传输方法
CN111092828B (zh) 网络操作方法、装置、设备和存储介质
CN108062239B (zh) 一种加速器加载方法、系统和加速器加载装置
CN104917800A (zh) 建立用于虚拟机的冗余连接的方法及装置
CN111600833B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240514

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Country or region after: China

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

Country or region before: Britain