ES2945218T3 - Método y aparato de creación de máquina virtual - Google Patents

Método y aparato de creación de máquina virtual Download PDF

Info

Publication number
ES2945218T3
ES2945218T3 ES19771706T ES19771706T ES2945218T3 ES 2945218 T3 ES2945218 T3 ES 2945218T3 ES 19771706 T ES19771706 T ES 19771706T ES 19771706 T ES19771706 T ES 19771706T ES 2945218 T3 ES2945218 T3 ES 2945218T3
Authority
ES
Spain
Prior art keywords
virtual machine
computing node
network interface
virtual
nic
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
ES19771706T
Other languages
English (en)
Inventor
Tiesheng Liu
Yanjie Guan
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Application granted granted Critical
Publication of ES2945218T3 publication Critical patent/ES2945218T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/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/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/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/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Conveying And Assembling Of Building Elements In Situ (AREA)

Abstract

La presente descripción se refiere al campo técnico de la computación en la nube, y por ello se proporciona un método y un aparato de creación de máquinas virtuales. El método se aplica a una plataforma en la nube, cada nodo informático de la plataforma en la nube comprende un grupo de recursos de tarjetas de red, y cada grupo de recursos de tarjetas de red comprende tarjetas de red físicas configuradas en el nodo informático. El método comprende: recibir una solicitud de creación de máquina virtual, comprendiendo la solicitud de creación de máquina virtual información de parámetros de una tarjeta de red virtual ocupada por una máquina virtual a crear; adquirir información de ocupación de recursos actual del grupo de recursos de tarjetas de red de cada nodo informático en la plataforma de nube; determinar, de acuerdo con la información de parámetros y la información de ocupación de recursos actual de cada grupo de recursos de tarjeta de red, un nodo informático de destino para realizar la creación de una máquina virtual en al menos un nodo informático de la plataforma en la nube; y llamar al nodo informático de destino para crear la máquina virtual. De acuerdo con la presente descripción, los recursos de red de todas las tarjetas de red físicas en cada nodo informático se agrupan y los requisitos de rendimiento de diferentes máquinas virtuales pueden tenerse en cuenta durante la creación de la máquina virtual; y los recursos de los nodos informáticos se utilizan total y razonablemente. y los requisitos de rendimiento de diferentes máquinas virtuales pueden tenerse en cuenta durante la creación de la máquina virtual; y los recursos de los nodos informáticos se utilizan total y razonablemente. y los requisitos de rendimiento de diferentes máquinas virtuales pueden tenerse en cuenta durante la creación de la máquina virtual; y los recursos de los nodos informáticos se utilizan total y razonablemente. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método y aparato de creación de máquina virtual
Campo técnico
Esta invención se refiere al campo de las tecnologías informáticas en la nube y, en particular, a un método y un aparato para crear una máquina virtual.
Antecedentes
Una tecnología de virtualización de entrada/salida de raíz única (SR-IOV) también se conoce como tecnología de paso de hardware. En esta tecnología, un único dispositivo de interconexión rápida de componentes periféricos (PCIe) puede aparecer virtualmente en una pluralidad de dispositivos PCIe independientes para un servicio de capa superior. Actualmente, en el campo de las tecnologías informáticas en la nube, la tecnología SR-IOV se aplica ampliamente a una plataforma en la nube. Por ejemplo, una tarjeta de interfaz de red física que soporte la tecnología SR-IOV se configura en un nodo informático en la plataforma en la nube. De esta forma, al crear una máquina virtual, la plataforma en la nube puede generar una función virtual (VF) utilizando la tarjeta de interfaz de red física que soporta la tecnología SR-IOV, y utiliza la VF generada como una tarjeta de interfaz de red virtual de la máquina virtual en el nodo informático. Una tarjeta de interfaz de red física que soporta la tecnología SR-IOV generalmente se puede virtualizar en una pluralidad de VF.
En una tecnología relacionada, cuando el servicio de capa superior requiere que la plataforma en la nube proporcione una máquina virtual, un usuario necesita además seleccionar un nodo informático apropiado de una pluralidad de nodos informáticos administrados por la plataforma en la nube para crear la máquina virtual. Diferentes máquinas virtuales tienen diferentes requisitos de rendimiento. Por ejemplo, algunas máquinas virtuales tienen altos requisitos de ancho de banda y latencia. Cuando estas máquinas virtuales se ejecutan en un mismo nodo informático, un recurso de nodo informático puede ser insuficiente. La compleja planificación de recursos requerida para diversas situaciones aumenta en gran medida la complejidad del suministro del servicio y degrada el rendimiento del sistema.
La patente US 2016/0306647 A1 describe un método para vincular por afinidad la interrupción de una tarjeta de interfaz de red virtual y un dispositivo informático. El método incluye: recibir un mensaje de solicitud enviado por un sistema de gestión de recursos IaaS, donde el mensaje de solicitud lleva un parámetro de política de afinidad de interrupción de una tarjeta de interfaz de red virtual; realizar un enlace por afinidad de correspondencia uno a uno entre múltiples unidades centrales de procesamiento virtuales VCPU y múltiples unidades centrales de procesamiento físicas PCPU; realizar un enlace por afinidad entre una interrupción virtual de la tarjeta de interfaz de red virtual y una VCPU; y realizar un enlace por afinidad entre una interrupción física de la tarjeta de interfaz de red virtual y una PCPU correspondiente de acuerdo con el parámetro de política de afinidad. Este enlace por afinidad puede usarse en respuesta a una solicitud de recurso de máquina virtual, para crear una máquina virtual.
Compendio
Las realizaciones de esta invención dan a conocer un método y un aparato para crear una máquina virtual, para resolver problemas de alta complejidad y bajo rendimiento del sistema durante la creación de una máquina virtual en una tecnología relacionada. Las soluciones técnicas son las siguientes. Según un primer aspecto, se da a conocer un método para crear una máquina virtual como se expone en la reivindicación 1.
De acuerdo con el método dado a conocer en las realizaciones de esta invención, un recurso de red en cada nodo informático en la plataforma en la nube se incluye en un conjunto, y se configura un conjunto de recursos de tarjeta de interfaz de red para cada nodo informático. Por lo tanto, los recursos de todas las tarjetas de interfaz de red físicas configuradas en cada nodo informático se planifican centralmente para su uso por un servicio de capa superior. Por lo tanto, la plataforma en la nube puede planificar automáticamente la creación de la máquina virtual a crear en un nodo informático adecuado, en función de la información de parámetros de la tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear y la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático.
Por lo tanto, en las realizaciones de esta invención, un usuario no necesita seleccionar independientemente un nodo informático apropiado, se consideran diferentes requisitos de rendimiento de diferentes máquinas virtuales, y no se produce una situación en la que un recurso de nodo informático es insuficiente debido a que una pluralidad de máquinas virtuales que tienen altos requisitos de ancho de banda y latencia están configuradas en un mismo nodo informático. Esto utiliza completa y apropiadamente un recurso de red del nodo informático. Además, en las realizaciones de esta invención, debido a que el usuario no necesita realizar una planificación de recursos compleja en diversas situaciones, la complejidad del suministro del servicio es baja y se mejora el rendimiento del sistema.
La información de parámetros incluye información de afinidad de la tarjeta de interfaz de red virtual ocupada por la máquina virtual.
La información de afinidad se utiliza para indicar si diferentes tarjetas de interfaz de red virtuales ocupadas por una misma máquina virtual proceden de una misma tarjeta de interfaz de red física. Cuando la información de afinidad indica mantener la afinidad, las diferentes tarjetas de interfaz de red virtuales ocupadas por la misma máquina virtual proceden de la misma tarjeta de interfaz de red física. Cuando la información de afinidad indica mantener la antiafinidad, las diferentes tarjetas de interfaz de red virtuales ocupadas por la misma máquina virtual proceden de diferentes tarjetas de interfaz de red físicas.
En las realizaciones de esta invención, se especifica la información de afinidad. Por ejemplo, se especifica que diferentes tarjetas de interfaz de red virtuales proceden de una misma tarjeta de interfaz de red física. Esto puede mejorar la eficiencia de reenvío. Si se especifica que diferentes tarjetas de interfaz de red virtuales proceden de diferentes tarjetas de interfaz de red físicas, incluso si una tarjeta de interfaz de red física está en fallo, otra tarjeta de interfaz de red virtual de la máquina virtual no se verá afectada. Esto puede mejorar la fiabilidad de la máquina virtual.
Haciendo referencia al primer aspecto, en una posible implementación del primer aspecto, el método incluye además:
obtener información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red de cada nodo informático;
para cada conjunto de recursos de tarjeta de interfaz de red, determinar una cantidad de tarjetas de interfaz de red virtuales disponibles y un ancho de banda de tarjeta de interfaz de red virtual disponible que son de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red en función de la información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red;
usar la cantidad de tarjetas de interfaz de red virtuales disponibles y el ancho de banda de tarjeta de interfaz de red virtual disponible que son de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red como la información de uso de recursos del conjunto de recursos de tarjeta de interfaz de red;
almacenar la información de uso de recursos del conjunto de recursos de tarjeta de interfaz de red en una base de datos de la plataforma en la nube; y
la obtención de la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático en la plataforma en la nube incluye:
obtener la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático de la base de datos de la plataforma en la nube.
Haciendo referencia al primer aspecto, en una posible implementación del primer aspecto, el método incluye además:
después de que se determine el nodo informático objetivo, volver a calcular la información de uso de recursos de un conjunto de recursos de tarjeta de interfaz de red del nodo informático objetivo en base a la información de parámetros; y
almacenar información actualizada de uso de recursos del nodo informático objetivo en la base de datos de la plataforma en la nube.
Haciendo referencia al primer aspecto, en una posible implementación del primer aspecto, la determinación, en al menos un nodo informático en la plataforma en la nube, en función de la información de parámetros y la información actual de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red, de un nodo informático objetivo utilizado para crear una máquina virtual, incluye:
obtener un recurso de unidad central de procesamiento (CPU) actualmente disponible y un recurso de memoria actualmente disponible de cada nodo informático en la plataforma en la nube;
determinar un nodo informático candidato en el al menos un nodo informático en la plataforma en la nube en base al recurso de CPU actualmente disponible y el recurso de memoria actualmente disponible de cada nodo informático; y
determinar el nodo informático objetivo en el nodo informático candidato en base a la información de parámetros y la información actual de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red.
Haciendo referencia al primer aspecto, en una posible implementación del primer aspecto, el método incluye además:
después de que se cree la máquina virtual, si el ancho de banda actual de cualquier tarjeta de interfaz de red virtual ocupada por la máquina virtual es mayor que el ancho de banda objetivo especificado en la información de parámetros, limitar el ancho de banda ocupado por dicha cualquier tarjeta de interfaz de red virtual dentro del ancho de banda objetivo.
En las realizaciones de esta invención, sobre la base de la construcción del conjunto de recursos de tarjeta de interfaz de red, la calidad de servicio (QoS) de un ancho de banda se puede además establecer para una tarjeta de interfaz de red virtual ocupada por una máquina virtual creada. Esto garantiza que el ancho de banda se utilice adecuadamente entre máquinas virtuales y entre tarjetas de interfaz de red en la máquina virtual, y evita la prioridad mutua de un recurso de ancho de banda y que afecta al servicio de capa superior.
De acuerdo con un segundo aspecto, se da a conocer un aparato para crear una máquina virtual, donde el aparato está configurado para realizar el método para crear una máquina virtual de acuerdo con el primer aspecto.
De acuerdo con un tercer aspecto, se da a conocer un medio de almacenamiento, donde el medio de almacenamiento almacena al menos una instrucción, al menos un programa, un conjunto de códigos o un conjunto de instrucciones, y la al menos una instrucción, el al menos un programa, el conjunto de códigos, o el conjunto de instrucciones es cargado y ejecutado por un procesador para implementar el método para crear una máquina virtual de acuerdo con el primer aspecto.
De acuerdo con un cuarto aspecto, se da a conocer un producto de programa informático que incluye una instrucción, donde cuando la instrucción se ejecuta en un ordenador, el ordenador se habilita para realizar el método para crear una máquina virtual de acuerdo con el primer aspecto.
Según un quinto aspecto, se da a conocer una plataforma en la nube, donde la plataforma en la nube incluye el aparato para crear una máquina virtual, y el aparato para crear una máquina virtual está configurado para realizar el método para crear una máquina virtual según el primer aspecto.
Breve descripción de los dibujos
La figura 1A es un diagrama arquitectónico de una plataforma en la nube relacionado con un método para crear una máquina virtual según una realización de esta invención;
la figura 1B-1 y la figura 1B-2 son una descripción general del proceso de un método para crear una máquina virtual de acuerdo con una realización de esta invención;
la figura 2 es un diagrama de flujo de un método para construir un conjunto de recursos de tarjeta de interfaz de red de acuerdo con una realización de esta invención;
la figura 3 es un diagrama de flujo de un método para crear una máquina virtual según una realización de esta invención;
la figura 4 es un diagrama arquitectónico de una plataforma en la nube utilizando un OpenStack de código abierto como ejemplo de acuerdo con una realización de esta invención;
la figura 5 es un diagrama estructural esquemático de un aparato para crear una máquina virtual según una realización de esta invención;
la figura 6 es un diagrama estructural esquemático de un aparato para crear una máquina virtual según una realización de esta invención.
Descripción de realizaciones
Para hacer más claros los objetivos, las soluciones técnicas y las ventajas de esta invención, a continuación se describen adicionalmente las implementaciones de esta invención en detalle haciendo referencia a los dibujos adjuntos.
Antes de que se describan en detalle las realizaciones de esta invención, primero se describen los términos relacionados con las realizaciones de esta invención.
SR-IOV también se conoce como tecnología de paso de hardware. En esta tecnología, un solo dispositivo PCIe puede aparecer virtualmente en una pluralidad de dispositivos PCIe independientes para un servicio de capa superior. La tecnología de paso de hardware es principalmente para cumplir un requisito de alto ancho de banda y baja latencia de una aplicación. Por ejemplo, con el rápido desarrollo de las tecnologías informáticas en la nube, se despliegan más aplicaciones en una plataforma en la nube, y algunas aplicaciones tienen requisitos relativamente altos en cuanto a ancho de banda y latencia. Por lo tanto, para cumplir los requisitos de alto ancho de banda y baja latencia de estas aplicaciones, se introduce una tecnología SR-IOV en la plataforma en la nube.
Los canales virtualizados mediante el uso de SR-IOV se dividen en dos tipos: una función física (PF) y una función virtual (VF). La PF es un dispositivo PCIe completo que proporciona funciones integrales de administración y configuración. Después de que un hipervisor de un nodo informático en la plataforma en la nube identifica una tarjeta de interfaz de red física que soporta SR-IOV, el hipervisor administra y configura todos los recursos de entrada/salida (E/S) de la tarjeta de interfaz de red física utilizando la PF. El hipervisor es un núcleo de una tecnología de virtualización y es una capa de software intermedia entre un dispositivo físico básico y un sistema operativo, y permite que una pluralidad de sistemas operativos y aplicaciones compartan hardware.
La VF es un dispositivo PCIe simplificado que solo proporciona una función de E/S. Por lo tanto, la VF no se puede usar para administrar la tarjeta de interfaz de red física que soporta SR-IOV. Todas las VF se derivan de la PF. Una tarjeta de interfaz de red física que soporta la SR-IOV puede generar una pluralidad de VF, por ejemplo, puede generar 256 VF. En las realizaciones de esta invención, la VF generada por la tarjeta de interfaz de red física se usa como una tarjeta de interfaz de red virtual de una máquina virtual creada en el nodo informático.
La figura 1A es un diagrama arquitectónico de una plataforma en la nube relacionada con un método para crear una máquina virtual según una realización de esta invención.
Haciendo referencia a la figura 1 A, esta realización de esta invención implementa el paso a la nube recursos SR-IOV, para ser específicos, una pluralidad de tarjetas de interfaz de red físicas de cada nodo informático en la plataforma en la nube forman un conjunto de recursos SR-IOV para uso de un servicio de capa superior. En esta memoria, el conjunto de recursos de SR-IOV también se denomina conjunto de recursos de tarjeta de interfaz de red. En esta realización de esta invención, el conjunto de recursos de tarjeta de interfaz de red está configurado para gestionar de forma centralizada una pluralidad de tarjetas de interfaz de red físicas en cada nodo informático y planificar de forma centralizada una cantidad de tarjetas de interfaz de red virtuales disponibles y anchos de banda de tarjeta de interfaz de red virtual disponibles de la pluralidad de tarjetas de interfaz de red físicas. Por ejemplo, en la figura 1A, una tarjeta de interfaz de red física 1, una tarjeta de interfaz de red física 2, una tarjeta de interfaz de red física 3 y una tarjeta de interfaz de red física 4 forman un conjunto de recursos de tarjeta de interfaz de red.
Cabe señalar que puede haber una pluralidad de nodos informáticos en la plataforma en la nube, y solo se enumera un nodo informático en la figura 1A para la descripción. Para otro nodo informático que no sea el nodo informático mostrado en la figura 1 A, se da a conocer una configuración similar a la del nodo informático mostrado en la figura 1 A.
Además, una pluralidad de tarjetas de interfaz de red físicas que soportan SR-IOV se puede configurar en cada nodo informático en la plataforma en la nube. Cada tarjeta de interfaz de red física está conectada a un plano de red física diferente, una tarjeta de interfaz de red física puede virtualizarse en una pluralidad de VF y las tarjetas de interfaz de red físicas son independientes entre sí. Además, se pueden configurar una o más tarjetas de interfaz de red físicas en un nodo informático. En la figura 1A, que solo se configuren cuatro tarjetas de interfaz de red físicas se usa como ejemplo para la descripción. La cantidad de tarjetas de interfaz de red físicas configuradas en un nodo informático no está específicamente limitada en esta realización de esta invención.
A continuación se describe, haciendo referencia a la figura 1 A, etapas para construir un conjunto de recursos de tarjeta de interfaz de red en cualquier nodo informático en la plataforma en la nube.
Etapa A: como se muestra en la figura 1A, se dispone un módulo de configuración en la plataforma en la nube, y el módulo de configuración se configura para configurar el conjunto de recursos de tarjeta de interfaz de red en el nodo informático.
El módulo de configuración está configurado específicamente para invocar un módulo de agente en la nube de cada nodo informático, y el módulo de agente en la nube de cada nodo informático recopila información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física configurada en el nodo informático.
En esta realización de esta invención, la información de tarjeta de interfaz de red incluye, entre otros, un modelo de tarjeta de interfaz de red, un modelo de chip de tarjeta de interfaz de red, un ancho de banda de tarjeta de interfaz de red y similares. Esto no está limitado específicamente en esta realización de esta invención.
Etapa B: después de obtener la información de tarjeta de interfaz de red de la tarjeta de interfaz de red física de cada nodo informático, el módulo de configuración determina un recurso disponible en un conjunto de recursos de tarjeta de interfaz de red de cada nodo informático en función de la información de tarjeta de interfaz de red de la tarjeta de interfaz de red física de cada nodo informático y almacena el recurso disponible en cada conjunto de recursos de tarjeta de interfaz de red en una base de datos de la plataforma en la nube.
El módulo de configuración puede determinar, en función de un modelo de tarjeta de interfaz de red y un modelo de chip de tarjeta de interfaz de red de una tarjeta de interfaz de red física, una cantidad de tarjetas de interfaz de red virtuales que puede generar la tarjeta de interfaz de red física y puede determinar, en función de un ancho de banda de tarjeta de interfaz de red, un ancho de banda de tarjeta de interfaz de red virtual disponible de la tarjeta de interfaz de red física.
En esta realización de esta invención, un recurso disponible en un conjunto de recursos de tarjeta de interfaz de red incluye, entre otros, una cantidad de tarjetas de interfaz de red virtuales disponibles y un ancho de banda de tarjeta de interfaz de red virtual disponible que son de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red, y similares. Esto no está limitado específicamente en esta realización de esta invención. Además, en esta realización de esta invención, el recurso disponible en cada conjunto de recursos de tarjeta de interfaz de red se almacena en la base de datos de la plataforma en la nube y se usa como datos proporcionados por cada nodo informático para pasar a la nube recursos SR-IOV, para soportar la planificación de máquinas virtuales.
Un primer punto que debe tenerse en cuenta es el siguiente: la información de tarjeta de interfaz de red que es de la tarjeta de interfaz de red física y que es obtenida por el módulo de configuración puede almacenarse en la base de datos de la plataforma en la nube en esta realización de esta invención. Después de que se despliegue cualquier conjunto de recursos de tarjeta de interfaz de red en la plataforma en la nube, si se requiere expansión de capacidad, reducción de capacidad o un cambio de hardware para el conjunto de recursos de tarjeta de interfaz de red, la configuración tiene que actualizarse en el módulo de configuración para actualizar la información relacionada con un recurso disponible en el conjunto de recursos de tarjeta de interfaz de red almacenado en la base de datos de la plataforma en la nube.
Un segundo punto que debe tenerse en cuenta es el siguiente: después de seleccionar un nodo informático óptimo utilizado para crear la máquina virtual, un módulo de planificación actualiza además un recurso actualmente disponible en un conjunto de recursos de tarjeta de interfaz de red del nodo informático en función de información de parámetros de una tarjeta de interfaz de red virtual ocupada por la máquina virtual creada y almacena los datos actualizados en la base de datos de la plataforma en la nube, para usar en la siguiente planificación de recursos SR-IOV.
La información de parámetros incluye, entre otros, una cantidad de tarjetas de interfaz de red virtuales y un ancho de banda de tarjeta de interfaz de red virtual que están ocupados por una máquina virtual a crear, e información de afinidad de la tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear.
Para aplicar cualquier conjunto de recursos de tarjeta de interfaz de red en la plataforma en la nube, se pueden realizar las siguientes etapas.
Etapa C: como se muestra en la figura 1A, el módulo de planificación dado a conocer en esta realización de esta invención incluye un primer módulo de planificación y un segundo módulo de planificación, para planificar un recurso SR-IOV.
Para ser específicos, en esta realización de esta invención, el primer módulo de planificación y el segundo módulo de planificación en la figura 1A están configurados para seleccionar exhaustivamente, de una pluralidad de nodos informáticos proporcionados por la plataforma en la nube, un nodo informático óptimo para crear la máquina virtual.
Etapa D: como se muestra en la figura 1A, un usuario especifica, en una pantalla de entrada, información de parámetros de la tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear.
La pantalla de entrada puede ser una interfaz de línea de comandos (CLI), una interfaz gráfica de usuario (GUI) o similar. Esto no está limitado específicamente en esta realización de esta invención. En esta realización de esta invención, la cantidad de tarjetas de interfaz de red virtuales se usa para indicar una cantidad de tarjetas de interfaz de red que tienen que ser ocupadas por la máquina virtual a crear. El ancho de banda de tarjeta de interfaz de red virtual se utiliza para indicar el tamaño del ancho de banda de cada tarjeta de interfaz de red virtual. La información de afinidad de la tarjeta de interfaz de red virtual se utiliza para indicar si diferentes tarjetas de interfaz de red virtuales ocupadas por una misma máquina virtual proceden de una misma tarjeta de interfaz de red física. Por lo tanto, esta realización de esta invención proporciona conceptos de afinidad y antiafinidad de la tarjeta de interfaz de red virtual. La afinidad indica que las diferentes tarjetas de interfaz de red virtuales ocupadas por la misma máquina virtual proceden de la misma tarjeta de interfaz de red física. La antiafinidad indica que las diferentes tarjetas de interfaz de red virtuales ocupadas por la misma máquina virtual proceden de diferentes tarjetas de interfaz de red físicas.
Haciendo referencia a la figura 1B-1 y la figura 1B-2, lo siguiente describe las etapas para crear una máquina virtual basada en un conjunto de recursos de tarjeta de interfaz de red que está configurado en un nodo informático y que se muestra en la figura 1A.
Etapa 101: un lado del usuario inicia una solicitud de autenticación en una pantalla de entrada para obtener información de autenticación válida y envía una solicitud de creación de máquina virtual a un módulo de interfaz de programación de aplicaciones (API) en la pantalla de entrada, para especificar información de parámetros de una tarjeta de interfaz de red virtual ocupada por una máquina virtual a crear.
En esta realización de esta invención, además de la información de parámetros, se puede especificar además información de recursos de CPU, información de recursos de memoria y similares de la máquina virtual a crear. Esto no está limitado específicamente en esta realización de esta invención.
Etapa 102: después de recibir la solicitud de creación de máquina virtual, el módulo API inicializa información detallada correspondiente de la máquina virtual en una base de datos de la plataforma en la nube.
La información detallada de la máquina virtual incluye la información de parámetros. Además, la información detallada de la máquina virtual puede incluir también la información de recursos de CPU, la información de recursos de memoria y similares de la máquina virtual a crear. Esto no está limitado específicamente en esta realización de esta invención.
Etapa 103: un módulo de planificación selecciona un nodo informático óptimo en base a la información de parámetros y al estado de uso actual de cada conjunto de recursos de tarjeta de interfaz de red, para crear la máquina virtual.
Etapa 104: invocar un módulo de agente en la nube en el nodo informático para crear la máquina virtual.
Etapa 105: el módulo de agente en la nube en el nodo informático invoca un módulo de ejecución para obtener de la base de datos de la plataforma en la nube información detallada de la máquina virtual para la máquina virtual a crear.
Etapa 106: el módulo de agente en la nube obtiene, de un módulo de imagen en base a la información detallada de la máquina virtual, información de imagen requerida para crear la máquina virtual.
Etapa 107: el módulo de agente en la nube obtiene, de un módulo de red en base a la información detallada de la máquina virtual, información de red requerida para crear la máquina virtual.
Cabe señalar que un usuario puede especificar además, en la solicitud de creación de máquina virtual, una tarjeta de interfaz de red física para crear una VF, que se utiliza como tarjeta de interfaz de red virtual de la máquina virtual a crear. Además, en esta realización de esta invención, la calidad de servicio (QoS) de la tarjeta de interfaz de red virtual puede limitarse aún más. Para obtener descripciones detalladas, se hace referencia a lo siguiente.
Etapa 108: el módulo de agente en la nube obtiene, de un módulo de almacenamiento en base a la información detallada de la máquina virtual, información de almacenamiento requerida para crear la máquina virtual.
Etapa 109: después de preparar varios recursos para crear la máquina virtual, el módulo de agente en la nube invoca un hipervisor en el nodo informático para crear la máquina virtual.
Etapa 1010: el módulo de agente en la nube devuelve al lado del usuario un resultado de creación de máquina virtual.
A continuación se describe en detalle, mediante el uso de una realización, un proceso de construcción de un conjunto de recursos de tarjeta de interfaz de red dado a conocer en esta realización de esta invención.
La figura 2 es un diagrama de flujo de un método para construir un conjunto de recursos de tarjeta de interfaz de red de acuerdo con una realización de esta invención. El método se aplica a una plataforma en la nube. Cada nodo informático en la plataforma en la nube incluye un conjunto de recursos de tarjeta de interfaz de red, y el conjunto de recursos de tarjeta de interfaz de red incluye todas las tarjetas de interfaz de red físicas configuradas en el nodo informático. Haciendo referencia a la figura 2, un procedimiento del método dado a conocer en esta realización de esta invención incluye las siguientes etapas.
201: para cualquier nodo informático en la plataforma en la nube, un módulo de configuración envía una solicitud de invocación a un módulo de agente en la nube del nodo informático.
La solicitud de invocación se utiliza para invocar un nodo informático para recopilar información de tarjeta de interfaz de red del nodo informático, y la información de tarjeta de interfaz de red es específicamente información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física en un conjunto de recursos de tarjeta de interfaz de red del nodo informático.
202: después de que el módulo de agente en la nube reciba la solicitud de invocación del módulo de configuración, el nodo informático obtiene de un sistema operativo la información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red del nodo informático.
203: el módulo de agente en la nube devuelve la información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red del nodo informático al módulo de configuración.
204: realizar repetidamente las etapas anteriores, después de obtener información de tarjeta de interfaz de red del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático, el módulo de configuración determina un recurso disponible en cada conjunto de recursos de tarjeta de interfaz de red en función de información de tarjeta de interfaz de red de una tarjeta de interfaz de red física de cada nodo informático y almacena el recurso disponible en cada conjunto de recursos de tarjeta de interfaz de red, en la base de datos de la plataforma en la nube, como información de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red.
La información de tarjeta de interfaz de red obtenida por el módulo de configuración se puede almacenar en la base de datos de la plataforma en la nube en esta realización de esta invención.
De acuerdo con el método dado a conocer en las realizaciones de esta invención, un recurso de red en cada nodo informático en la plataforma en la nube se incluye en un conjunto, y se configura un conjunto de recursos de tarjeta de interfaz de red para cada nodo informático. Por lo tanto, los recursos de todas las tarjetas de interfaz de red físicas configuradas en cada nodo informático se planifican centralmente para su uso por un servicio de capa superior. Por lo tanto, la plataforma en la nube puede planificar automáticamente la creación de la máquina virtual a crear en un nodo informático adecuado, en función de la información de parámetros de la tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear y la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático. Por lo tanto, en las realizaciones de esta invención, un usuario no necesita seleccionar independientemente un nodo informático apropiado, se consideran diferentes requisitos de rendimiento de diferentes máquinas virtuales, y no se produce una situación en la que un recurso de nodo informático es insuficiente debido a que una pluralidad de máquinas virtuales que tienen altos requisitos de ancho de banda y latencia están configuradas en un mismo nodo informático. Esto utiliza completa y apropiadamente un recurso de red del nodo informático. Además, en las realizaciones de esta invención, debido a que el usuario no necesita realizar una planificación de recursos compleja en diversas situaciones, la complejidad del suministro del servicio es baja y se mejora el rendimiento del sistema.
A continuación se describe en detalle, mediante el uso de una realización, un proceso de creación de una máquina virtual proporcionada en esta realización de esta invención.
La figura 3 es un diagrama de flujo de un método para crear una máquina virtual según una realización de esta invención. El método se aplica a una plataforma en la nube. Cada nodo informático en la plataforma en la nube incluye un conjunto de recursos de tarjeta de interfaz de red, y el conjunto de recursos de tarjeta de interfaz de red incluye todas las tarjetas de interfaz de red físicas configuradas en el nodo informático. Haciendo referencia a la figura 3, un procedimiento del método dado a conocer en esta realización de esta invención incluye las siguientes etapas.
301: un módulo API de la plataforma en la nube recibe una solicitud de creación de máquina virtual, donde la solicitud de creación de máquina virtual incluye información de parámetros de una tarjeta de interfaz de red virtual ocupada por una máquina virtual a crear.
Como se describió anteriormente, la solicitud de creación de máquina virtual recibida por el módulo API es iniciada por un usuario en una pantalla de entrada, tal como una CLI/GUI. La solicitud de creación de máquina virtual lleva la información de parámetros de la tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear, por ejemplo, una cantidad de tarjetas de interfaz de red virtuales, un ancho de banda de tarjeta de interfaz de red virtual e información de afinidad de la tarjeta de interfaz de red virtual. Esto no está limitado específicamente en esta realización de esta invención.
Cabe señalar que, como se describe en la etapa 204, después de recibir la solicitud de creación de máquina virtual, el módulo API almacena además la información de parámetros anterior en una base de datos de la plataforma en la nube. Los detalles no se describen aquí de nuevo.
302: el módulo API invoca un módulo de planificación de la plataforma en la nube, y el módulo de planificación obtiene información actual de uso de recursos de un conjunto de recursos de tarjeta de interfaz de red de cada nodo informático en la plataforma en la nube.
En esta realización de esta invención, el módulo de planificación puede obtener la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático de la base de datos de la plataforma en la nube. Para el conjunto de recursos de tarjeta de interfaz de red, la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red incluye, entre otros, una cantidad de tarjetas de interfaz de red virtuales disponibles actualmente y un ancho de banda de tarjeta de interfaz de red virtual disponible que son de cada tarjeta de interfaz de red física en el conjunto de recursos.
303: el módulo de planificación determina, en al menos un nodo informático en la plataforma en la nube, en base a la información de parámetros anterior y la información de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red, un nodo informático objetivo utilizado para crear la máquina virtual.
El módulo de planificación dado a conocer en esta realización de esta invención se divide en un primer módulo de planificación y un segundo módulo de planificación. El primer módulo de planificación y el segundo módulo de planificación pueden seleccionar un nodo informático en dos capas diferentes. Para el primer módulo de planificación, además de obtener la información de parámetros anterior, el primer módulo de planificación puede obtener adicionalmente un recurso de CPU actualmente disponible y un recurso de memoria actualmente disponible que son de cada nodo informático en la plataforma en la nube, y además seleccionar preliminarmente, en el al menos un nodo informático en la plataforma en la nube en función del recurso de CPU actualmente disponible y el recurso de memoria actualmente disponible que son de cada nodo informático, un nodo informático candidato.
Para el segundo módulo de planificación, el segundo módulo de planificación puede seleccionar además, en base al nodo informático candidato y a la información de parámetros anterior, un nodo informático óptimo para crear la máquina virtual. En otras palabras, el segundo módulo de planificación determina, a partir del nodo informático candidato en base a la información de parámetros y la información actual de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red, el nodo informático objetivo para crear la máquina virtual. Por ejemplo, si la información actual de uso de recursos de un conjunto de recursos de tarjeta de interfaz de red puede cumplir un requisito de la información de parámetros anterior, el conjunto de recursos de tarjeta de interfaz de red puede usarse como el nodo informático objetivo. Cuando se selecciona el nodo informático óptimo del nodo informático candidato, se puede realizar una clasificación ponderada en cada nodo informático en base a la información actual de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red. Por ejemplo, un nodo informático con más recursos disponibles tiene un valor de peso mayor. Además, el nodo informático óptimo se selecciona en función de la información de parámetros de la máquina virtual a crear. Por ejemplo, una cantidad de tarjetas de interfaz de red virtuales y un ancho de banda de tarjeta de interfaz de red virtual que son de un conjunto de recursos de tarjeta de interfaz de red cumplen un requisito. Sin embargo, en esta realización de esta invención, se comprueba adicionalmente si el conjunto de recursos de tarjeta de interfaz de red cumple un requisito de información de afinidad de una tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear.
Por ejemplo, se supone que la información de parámetros anterior indica que hay tres tarjetas de interfaz de red virtuales, un ancho de banda de cada tarjeta de interfaz de red virtual es de 10 M y se cumple la afinidad entre las tarjetas de interfaz de red virtuales. En este caso, si la cantidad de tarjetas de interfaz de red virtuales actualmente disponibles de una tarjeta de interfaz de red física en un conjunto de recursos de tarjeta de interfaz de red es cuatro, y el ancho de banda de tarjeta de interfaz de red virtual disponible es de 40 M, el conjunto de recursos de tarjeta de interfaz de red puede ser determinado como el nodo informático objetivo.
En otra realización, después de determinar el nodo informático objetivo, el módulo de planificación puede volver a calcular la información de uso de recursos del conjunto de recursos de tarjeta de interfaz de red del nodo informático objetivo en función de la información de parámetros de la tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear y almacenar información actualizada de uso de recursos del nodo informático objetivo en la base de datos de la plataforma en la nube.
Se sigue usando el ejemplo anterior. Una vez que se determina el nodo informático objetivo, la máquina virtual a crear ocupa tres tarjetas de interfaz de red virtuales y un ancho de banda de 30 M del conjunto de recursos de tarjeta de interfaz de red del nodo informático objetivo. Por lo tanto, para el conjunto de recursos de tarjeta de interfaz de red, un recurso restante actual es solo una tarjeta de interfaz de red virtual y un ancho de banda de 10 M que son de una tarjeta de interfaz de red física.
304: el módulo de planificación invoca el nodo informático objetivo, y el nodo informático objetivo crea la máquina virtual.
En esta realización de esta invención, después de que se determine el nodo informático objetivo, se puede invocar un módulo de agente en la nube en el nodo informático objetivo para crear la máquina virtual. Para el módulo de agente en la nube en el nodo informático objetivo, el módulo de agente en la nube primero obtiene otro recurso necesario para crear la máquina virtual. Específicamente, el módulo de agente en la nube invoca un módulo de ejecución para obtener información detallada de la máquina virtual de la máquina virtual a crear de la base de datos de la plataforma en la nube, y a continuación el módulo de ejecución obtiene de la base de datos de la plataforma en la nube la información detallada de la máquina virtual de la máquina virtual a crear, y proporciona la información detallada de la máquina virtual de la máquina virtual a crear al módulo de agente en la nube. Entonces, el módulo de agente en la nube puede obtener, de un módulo de imagen en base a la información detallada de la máquina virtual, información de imagen requerida para crear la máquina virtual, obtener, de un módulo de red, información de red requerida para crear la máquina virtual, y obtener, de un módulo de almacenamiento, información de almacenamiento requerida para crear la máquina virtual. Después de preparar varios recursos para crear la máquina virtual, el módulo de agente en la nube invoca un hipervisor en el nodo informático objetivo para crear la máquina virtual.
En otra realización, después de que se cree la máquina virtual, en esta realización de esta invención, la QoS del ancho de banda se establece adicionalmente para una tarjeta de interfaz de red virtual de la máquina virtual creada. Específicamente, si un ancho de banda actual de cualquier tarjeta de interfaz de red virtual ocupada por la máquina virtual creada es mayor que un ancho de banda especificado inicialmente por el usuario, en esta realización de esta invención, el ancho de banda ocupado por la tarjeta de interfaz de red virtual está limitado dentro del ancho de banda especificado inicialmente, a fin de garantizar que el ancho de banda se use adecuadamente entre máquinas virtuales y entre tarjetas de interfaz de red en la máquina virtual, y de evitar la prioridad mutua de un recurso de ancho de banda y que afecta a un servicio de capa superior.
En conclusión, las realizaciones de esta invención traen los siguientes efectos beneficiosos:
A. De acuerdo con las realizaciones de esta invención, un recurso de red en cada nodo informático en la plataforma en la nube se incluye en un conjunto, y se configura un conjunto de recursos de tarjeta de interfaz de red para cada nodo informático. Por lo tanto, los recursos de todas las tarjetas de interfaz de red físicas configuradas en cada nodo informático se planifican centralmente para su uso por un servicio de capa superior. Por lo tanto, la plataforma en la nube puede planificar automáticamente la creación de la máquina virtual a crear en un nodo informático adecuado, en función de la información de parámetros de la tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear y la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático. Por lo tanto, en las realizaciones de esta invención, un usuario no necesita seleccionar independientemente un nodo informático apropiado, se consideran diferentes requisitos de rendimiento de diferentes máquinas virtuales, y no se produce una situación en la que un recurso de nodo informático es insuficiente debido a que una pluralidad de máquinas virtuales que tienen altos requisitos de ancho de banda y latencia están configuradas en un mismo nodo informático. Esto utiliza completa y apropiadamente un recurso de red del nodo informático. Además, en las realizaciones de esta invención, debido a que el usuario no necesita realizar una planificación de recursos compleja en diversas situaciones, la complejidad del suministro del servicio es baja y se mejora el rendimiento del sistema.
B. En las realizaciones de esta invención, sobre la base de la construcción del conjunto de recursos de tarjeta de interfaz de red, la QoS del ancho de banda se puede configurar adicionalmente para una tarjeta de interfaz de red virtual ocupada por una máquina virtual creada. Esto garantiza que el ancho de banda se utiliza adecuadamente entre máquinas virtuales y entre tarjetas de interfaz de red en la máquina virtual, y evita la prioridad mutua de un recurso de ancho de banda y que afecta al servicio de capa superior.
C. En las realizaciones de esta invención, sobre la base de la construcción del conjunto de recursos de tarjeta de interfaz de red, se introducen la afinidad y la antiafinidad de la tarjeta de interfaz de red virtual. Se especifica la información de afinidad. Por ejemplo, se especifica que diferentes tarjetas de interfaz de red virtuales proceden de una misma tarjeta de interfaz de red física.
Esto puede mejorar la eficiencia de reenvío. Si se especifica que diferentes tarjetas de interfaz de red virtuales proceden de diferentes tarjetas de interfaz de red físicas, incluso si una tarjeta de interfaz de red física está en fallo, otra tarjeta de interfaz de red virtual de la máquina virtual no se verá afectada. Esto puede mejorar la fiabilidad de la máquina virtual.
En otra realización, se utiliza como ejemplo un OpenStack de código abierto. Los módulos en el diagrama de arquitectura del sistema mostrada en la figura 1 pueden instanciarse en componentes del OpenStack mostrados en la figura 4.
Keystone es similar al módulo de autenticación de la figura 1. En OpenStack, Keystone es un nombre de proyecto de OpenStack Identity y autentica todos los demás proyectos de OpenStack. El servicio proporciona un testigo de autenticación, una política y un directorio mediante una API de OpenStack.
Glance es similar al módulo de imágenes de la figura 1 y proporciona servicios de consulta, carga y descarga de imágenes de máquina virtual.
The Glance proporciona una API tranquila para consultar metadatos de la imagen de la máquina virtual y obtener el contenido de la imagen. La imagen de la máquina virtual se puede almacenar en una pluralidad de almacenamientos utilizando Glance, como almacenamiento de archivos simple o almacenamiento de objetos.
Neutron es similar al módulo de red de la figura 1 y proporciona soporte de red para un entorno OpenStack completo, incluida la conmutación de capa 2, el enrutamiento de capa 3, el equilibrio de cargas, un cortafuegos, una VPN y similares.
Cinder es similar al módulo de almacenamiento de la figura 1. Una función principal de Cinder es administrar un volumen, incluido el procesamiento del volumen, un tipo de volumen, una instantánea del volumen y una copia de seguridad del volumen. Cinder proporciona interfaces unificadas para diferentes dispositivos de almacenamiento de back-end. Diferentes proveedores de servicios de dispositivos de bloques implementan su soporte de controladores en Cinder para integrarse con OpenStack.
Nova es un proyecto de gestión de recursos informáticos en OpenStack. Es responsable de la gestión del ciclo de vida de las máquinas virtuales y de otros recursos informáticos, incluidos varios componentes importantes, como Nova-api, Nova-conductor, Nova-planificador y Nova-computación. Nova-api realiza operaciones tales como extracción de parámetros, verificación de parámetros y operación sobre objetos de datos, y es similar al módulo API de la figura 1.
El Nova-conductor implementa una operación compleja y es un agente de acceso a la base de datos de la novacomputación.
El Nova-planificador planifica la ubicación de una máquina virtual y es similar al módulo de planificación de la figura 1.
Nova-computación administra un nodo informático e implementa localmente la administración del ciclo de vida de la máquina virtual, y es similar al módulo de agente en la nube en la figura 1.
La figura 5 es un diagrama estructural esquemático de un aparato para crear una máquina virtual según una realización de esta invención. El aparato se aplica a una plataforma en la nube. Cada nodo informático en la plataforma en la nube incluye un conjunto de recursos de tarjeta de interfaz de red, y un conjunto de recursos de tarjeta de interfaz de red incluye cada tarjeta de interfaz de red física configurada en el nodo informático. Haciendo referencia a la figura 5, el aparato incluye:
un módulo de recepción 501, configurado para recibir una solicitud de creación de máquina virtual, donde la solicitud de creación de máquina virtual incluye información de parámetros de una tarjeta de interfaz de red virtual ocupada por una máquina virtual a crear;
un primer módulo de obtención 502, configurado para obtener información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático en la plataforma en la nube;
un primer módulo de determinación 503, configurado para determinar, en al menos un nodo informático en la plataforma en la nube en función de la información de parámetros y la información actual de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red, un nodo informático objetivo utilizado para crear una máquina virtual; y
un módulo de creación 504, configurado para invocar el nodo informático objetivo para crear la máquina virtual.
De acuerdo con el aparato dado a conocer en las realizaciones de esta invención, un recurso de red en cada nodo informático en la plataforma en la nube se incluye en un conjunto, y se configura un conjunto de recursos de tarjeta de interfaz de red para cada nodo informático. Por lo tanto, los recursos de todas las tarjetas de interfaz de red físicas configuradas en cada nodo informático se planifican centralmente para su uso por un servicio de capa superior. Por lo tanto, la plataforma en la nube puede planificar automáticamente la creación de la máquina virtual a crear en un nodo informático adecuado en función de la información de parámetros de la tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear y la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático. Por lo tanto, en las realizaciones de esta invención, un usuario no necesita seleccionar independientemente un nodo informático apropiado, se consideran diferentes requisitos de rendimiento de diferentes máquinas virtuales, y no se produce una situación en la que un recurso de nodo informático es insuficiente debido a que una pluralidad de máquinas virtuales que tienen altos requisitos de ancho de banda y latencia están configuradas en un mismo nodo informático. Esto utiliza completa y apropiadamente un recurso de red del nodo informático. Además, en las realizaciones de esta invención, debido a que el usuario no necesita realizar una planificación de recursos compleja en diversas situaciones, la complejidad del suministro del servicio es baja y se mejora el rendimiento del sistema.
En otra realización, la información de parámetros incluye una cantidad de tarjetas de interfaz de red virtuales y un ancho de banda de tarjeta de interfaz de red virtual que están ocupados por la máquina virtual a crear, e información de afinidad de la tarjeta de interfaz de red virtual ocupada por la máquina virtual.
La información de afinidad se utiliza para indicar si diferentes tarjetas de interfaz de red virtuales ocupadas por una misma máquina virtual proceden de una misma tarjeta de interfaz de red física.
Cuando la información de afinidad indica mantener la afinidad, las diferentes tarjetas de interfaz de red virtuales ocupadas por la misma máquina virtual proceden de la misma tarjeta de interfaz de red física.
Cuando la información de afinidad indica mantener la antiafinidad, las diferentes tarjetas de interfaz de red virtuales ocupadas por la misma máquina virtual proceden de diferentes tarjetas de interfaz de red físicas.
En otra realización, el aparato incluye además:
un segundo módulo de obtención, configurado para obtener información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red de cada nodo informático;
un segundo módulo de determinación, configurado para: para cada conjunto de recursos de tarjeta de interfaz de red, determinar una cantidad de tarjetas de interfaz de red virtuales disponibles y un ancho de banda de tarjeta de interfaz de red virtual disponible que son de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red en función de la información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red; y utilizar la cantidad de tarjetas de interfaz de red virtuales disponibles y el ancho de banda de tarjeta de interfaz de red virtual disponible que son de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red como la información de uso de recursos del conjunto de recursos de tarjeta de interfaz de red; y
un módulo de almacenamiento, configurado para almacenar la información de uso de recursos del conjunto de recursos de tarjeta de interfaz de red en una base de datos de la plataforma en la nube, donde
el segundo módulo de obtención está configurado para obtener la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático de la base de datos de la plataforma en la nube.
En otra realización, donde
el segundo módulo de determinación está configurado además para: después de que se determine el nodo informático objetivo, volver a calcular la información de uso de recursos de un conjunto de recursos de tarjeta de interfaz de red del nodo informático objetivo en base a la información de parámetros; y
el módulo de almacenamiento está además configurado para almacenar información actualizada de uso de recursos del nodo informático objetivo en la base de datos de la plataforma en la nube.
En otra realización, el primer módulo de determinación está configurado además para: obtener un recurso de CPU actualmente disponible y un recurso de memoria actualmente disponible de cada nodo informático en la plataforma en la nube; determinar un nodo informático candidato en el al menos un nodo informático en la plataforma en la nube en base al recurso de CPU actualmente disponible y el recurso de memoria actualmente disponible de cada nodo informático; y determinar el nodo informático objetivo en el nodo informático candidato en base a la información de parámetros y la información actual de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red.
En otra realización, el aparato incluye además:
un módulo de procesamiento, configurado para: después de que se cree la máquina virtual, si el ancho de banda actual de cualquier tarjeta de interfaz de red virtual ocupada por la máquina virtual es mayor que el ancho de banda objetivo especificado en la información de parámetros, limitar el ancho de banda ocupado por dicha cualquier tarjeta de interfaz de red virtual dentro del ancho de banda objetivo.
Todas las soluciones técnicas opcionales anteriores pueden combinarse aleatoriamente para formar realizaciones opcionales de esta invención. Los detalles no se describen aquí.
Cabe señalar que cuando el aparato para crear una máquina virtual según la realización anterior crea la máquina virtual, la división de los módulos de funciones anteriores es simplemente un ejemplo. En una implementación real, las funciones anteriores pueden asignarse a diferentes módulos e implementarse según sea necesario. En otras palabras, una estructura interna del aparato se divide en diferentes módulos de funciones para implementar todas o parte de las funciones descritas anteriormente. Además, el aparato para crear una máquina virtual dado a conocer en la realización anterior y la realización del método para crear una máquina virtual pertenecen al mismo concepto. Para un proceso de implementación específico del aparato, se hace referencia a la realización del método. Los detalles no se describen aquí de nuevo.
La figura 6 es un diagrama estructural esquemático de un aparato para crear una máquina virtual según una realización de esta invención. El aparato 600 puede tener una diferencia relativamente grande debido a diferentes configuraciones o rendimiento, y puede incluir uno o más procesadores (CPU) 601 y una o más memorias 602. La memoria 602 almacena al menos una instrucción, y la al menos una instrucción es cargada y ejecutada por el procesador 601 para implementar el método para crear una máquina virtual dado a conocer en las realizaciones del método anteriores. Ciertamente, el aparato puede incluir además componentes tales como una interfaz de red alámbrica o inalámbrica, un teclado y una interfaz de entrada/salida, para realizar la entrada/salida. El aparato puede incluir además otro componente configurado para implementar una función del aparato. Los detalles no se describen aquí.
En una realización de ejemplo, se da a conocer además un medio de almacenamiento legible por ordenador, por ejemplo, una memoria que incluye una instrucción. La instrucción puede ser ejecutada por un procesador en un terminal para completar el método para crear una máquina virtual en la realización anterior. Por ejemplo, el medio de almacenamiento legible por ordenador puede ser una ROM, una memoria de acceso aleatorio (RAM), un CD-ROM, una cinta magnética, un disquete, un aparato óptico de almacenamiento de datos o similar.
Un experto en la materia puede comprender que todas o algunas de las etapas de las realizaciones pueden implementarse mediante hardware o un programa que instruye hardware relacionado. El programa puede almacenarse en un medio de almacenamiento legible por ordenador. El medio de almacenamiento puede incluir: una memoria de solo lectura, un disco magnético o un disco óptico. Las descripciones anteriores son simplemente realizaciones alternativas de esta invención, pero no pretenden limitar esta invención.

Claims (8)

REIVINDICACIONES
1. Un método para crear una máquina virtual, que comprende:
recibir (301) una solicitud de creación de máquina virtual para crear una máquina virtual, donde la solicitud de creación de máquina virtual comprende información de parámetros de una tarjeta de interfaz de red virtual ocupada por la máquina virtual a crear;
obtener (302) información actual de uso de recursos de un conjunto de recursos de tarjeta de interfaz de red de al menos un nodo informático en una plataforma en la nube, donde cada nodo informático comprende un conjunto de recursos de tarjeta de interfaz de red que comprende cada tarjeta de interfaz de red física configurada en el nodo informático;
determinar (303), en el al menos un nodo informático en base a la información de parámetros y la información actual de uso de recursos de cada conjunto de recursos de tarjeta de interfaz de red, un nodo informático objetivo utilizado para crear la máquina virtual cuya creación se solicita mediante la solicitud de creación de máquina virtual; y
invocar (304) el nodo informático objetivo para crear la máquina virtual,
caracterizado por que la información de parámetros comprende información de afinidad de la tarjeta de interfaz de red virtual, donde la información de afinidad indica si diferentes tarjetas de interfaz de red virtuales ocupadas por una misma máquina virtual proceden de una misma tarjeta de interfaz de red física.
2. El método según la reivindicación 1, donde el método comprende además:
para cada conjunto de recursos de tarjeta de interfaz de red, determinar una cantidad de tarjetas de interfaz de red virtuales disponibles y un ancho de banda de tarjeta de interfaz de red virtual disponible que son de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red en función de la información de tarjeta de interfaz de red de cada tarjeta de interfaz de red física de cada nodo informático;
usar la cantidad de tarjetas de interfaz de red virtuales disponibles y el ancho de banda de tarjeta de interfaz de red virtual disponible que son de cada tarjeta de interfaz de red física en el conjunto de recursos de tarjeta de interfaz de red como la información de uso de recursos del conjunto de recursos de tarjeta de interfaz de red; almacenar la información de uso de recursos del conjunto de recursos de tarjeta de interfaz de red en una base de datos de la plataforma en la nube; y
la obtención de la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático en la plataforma en la nube comprende:
obtener la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red de cada nodo informático de la base de datos de la plataforma en la nube.
3. El método según la reivindicación 1, donde el método comprende además:
después de que se determine el nodo informático objetivo, volver a calcular la información de uso de recursos de un conjunto de recursos de tarjeta de interfaz de red del nodo informático objetivo en base a la información de parámetros; y
almacenar información actualizada de uso de recursos del nodo informático objetivo en una base de datos de la plataforma en la nube.
4. El método según la reivindicación 1, donde la determinación, en el al menos un nodo informático en base a la información de parámetros y la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red, de un nodo informático objetivo utilizado para crear una máquina virtual, comprende:
obtener un recurso de unidad central de procesamiento, CPU, actualmente disponible y un recurso de memoria actualmente disponible de cada nodo informático;
determinar un nodo informático candidato en el al menos un nodo informático en base al recurso de CPU actualmente disponible y el recurso de memoria actualmente disponible de cada nodo informático; y determinar el nodo informático objetivo en el nodo informático candidato en base a la información de parámetros y la información actual de uso de recursos del conjunto de recursos de tarjeta de interfaz de red.
5. El método según la reivindicación 1, donde el método comprende además:
después de que se cree la máquina virtual, si el ancho de banda actual de cualquier tarjeta de interfaz de red virtual ocupada por la máquina virtual es mayor que el ancho de banda objetivo especificado en la información de parámetros, limitar el ancho de banda ocupado por dicha cualquier tarjeta de interfaz de red virtual dentro del ancho de banda objetivo.
6. Un medio de almacenamiento, donde el medio de almacenamiento almacena al menos una instrucción, y la al menos una instrucción es cargada y ejecutada por un procesador para implementar el método para crear una máquina virtual según cualquiera de las reivindicaciones 1 a 5.
7. Un aparato para crear una máquina virtual, que comprende:
una memoria que almacena al menos una instrucción;
un procesador, al ejecutar la al menos una instrucción en la memoria, está configurado para realizar el método para crear una máquina virtual según cualquiera de las reivindicaciones 1 a 5.
8. Una plataforma en la nube, donde la plataforma en la nube comprende el aparato para crear una máquina virtual según la reivindicación 7.
ES19771706T 2018-03-22 2019-03-20 Método y aparato de creación de máquina virtual Active ES2945218T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810241274.8A CN108614726B (zh) 2018-03-22 2018-03-22 虚拟机创建方法及装置
PCT/CN2019/078813 WO2019179453A1 (zh) 2018-03-22 2019-03-20 虚拟机创建方法及装置

Publications (1)

Publication Number Publication Date
ES2945218T3 true ES2945218T3 (es) 2023-06-29

Family

ID=63658755

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19771706T Active ES2945218T3 (es) 2018-03-22 2019-03-20 Método y aparato de creación de máquina virtual

Country Status (5)

Country Link
US (2) US11960915B2 (es)
EP (1) EP3761170B1 (es)
CN (1) CN108614726B (es)
ES (1) ES2945218T3 (es)
WO (1) WO2019179453A1 (es)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614726B (zh) 2018-03-22 2022-06-10 华为云计算技术有限公司 虚拟机创建方法及装置
CN111124593B (zh) * 2018-10-31 2023-07-21 中国移动通信有限公司研究院 信息处理方法及装置、网元及存储介质
CN109445801A (zh) * 2018-11-05 2019-03-08 郑州云海信息技术有限公司 一种探测裸机网卡信息的方法和装置
CN109379699B (zh) * 2018-11-12 2020-08-25 中国联合网络通信集团有限公司 创建虚拟化转发面网元的方法及装置
CN110704167B (zh) * 2019-10-09 2023-09-19 腾讯科技(深圳)有限公司 一种创建虚拟机的方法、装置、设备和存储介质
CN111124683A (zh) * 2019-12-25 2020-05-08 泰康保险集团股份有限公司 虚拟资源创建方法、装置及系统
CN113535319A (zh) * 2020-04-09 2021-10-22 深圳致星科技有限公司 一种实现多rdma网卡虚拟化的方法、设备及存储介质
CN111580935A (zh) * 2020-05-13 2020-08-25 深信服科技股份有限公司 一种网络通信方法、装置、设备及存储介质
CN112433823A (zh) * 2020-12-08 2021-03-02 上海寒武纪信息科技有限公司 动态虚拟化物理卡的设备及方法
CN113010263A (zh) * 2021-02-26 2021-06-22 山东英信计算机技术有限公司 云平台中的虚拟机的创建方法、系统、设备及存储介质
CN113032107B (zh) * 2021-05-24 2022-05-10 北京金山云网络技术有限公司 一种云数据库的资源管理方法、装置及系统
CN113645057B (zh) * 2021-06-25 2023-04-07 济南浪潮数据技术有限公司 一种云平台支持添加网卡模型的方法、装置
US20210326221A1 (en) * 2021-06-26 2021-10-21 Intel Corporation Network interface device management of service execution failover
CN113608833A (zh) * 2021-07-19 2021-11-05 曙光信息产业(北京)有限公司 虚拟机创建方法、装置、计算机设备和存储介质
CN113766005B (zh) * 2021-07-29 2023-04-28 苏州浪潮智能科技有限公司 一种基于rdma的批量创建云主机的方法、系统
CN113760452B (zh) * 2021-08-02 2023-09-26 阿里巴巴新加坡控股有限公司 一种容器调度方法、系统、设备及存储介质
CN114697242A (zh) * 2022-03-21 2022-07-01 浪潮云信息技术股份公司 一种政务云场景下客户虚拟网卡流量管理方法及系统
CN114741190A (zh) * 2022-03-30 2022-07-12 中国农业银行股份有限公司 一种云计算资源的调度方法及装置
CN115269126B (zh) * 2022-09-28 2022-12-27 中国人寿保险股份有限公司上海数据中心 一种基于余弦相似度的云平台反亲和调度系统
CN115328666B (zh) * 2022-10-14 2023-07-14 浪潮电子信息产业股份有限公司 设备调度方法、系统、电子设备及计算机可读存储介质
US11968251B1 (en) * 2022-12-12 2024-04-23 Juniper Networks, Inc. Self-learning service scheduler for smart NICs

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473947B2 (en) * 2010-01-18 2013-06-25 Vmware, Inc. Method for configuring a physical adapter with virtual function (VF) and physical function (PF) for controlling address translation between virtual disks and physical storage regions
WO2012090573A1 (en) * 2010-12-28 2012-07-05 Nec Corporation Network virtualization system, physical node, and virtual interface identification method in virtual machine
CN102932174B (zh) * 2012-10-25 2015-07-29 华为技术有限公司 一种物理网卡管理方法、装置及物理主机
CN103810015A (zh) * 2012-11-09 2014-05-21 华为技术有限公司 虚拟机创建方法和设备
CN103699428A (zh) * 2013-12-20 2014-04-02 华为技术有限公司 一种虚拟网卡中断亲和性绑定的方法和计算机设备
CN103778443B (zh) 2014-02-20 2017-05-03 公安部第三研究所 基于主题模型方法和领域规则库实现场景分析描述的方法
US10481932B2 (en) * 2014-03-31 2019-11-19 Vmware, Inc. Auto-scaling virtual switches
US9473365B2 (en) * 2014-05-08 2016-10-18 Cisco Technology, Inc. Collaborative inter-service scheduling of logical resources in cloud platforms
CN104168135B (zh) * 2014-08-06 2018-11-02 中国船舶重工集团公司第七0九研究所 网卡资源池化管理方法及系统
TWI522921B (zh) * 2014-11-14 2016-02-21 廣達電腦股份有限公司 虛擬機器建立系統以及方法
CN105656969A (zh) * 2014-11-24 2016-06-08 中兴通讯股份有限公司 一种虚拟机迁移决策方法及装置
US10693806B2 (en) * 2015-03-11 2020-06-23 Vmware, Inc. Network bandwidth reservations for system traffic and virtual computing instances
CN105224392B (zh) * 2015-10-13 2018-07-27 中国联合网络通信集团有限公司 一种虚拟计算资源配额管理方法及平台
CN107181679A (zh) * 2016-03-09 2017-09-19 中兴通讯股份有限公司 一种端口绑定实现方法及装置
CN107346264A (zh) * 2016-05-05 2017-11-14 北京金山云网络技术有限公司 一种虚拟机负载均衡调度的方法、装置和服务器设备
US10782992B2 (en) * 2016-11-01 2020-09-22 Nutanix, Inc. Hypervisor conversion
US11140020B1 (en) * 2018-03-01 2021-10-05 Amazon Technologies, Inc. Availability-enhancing gateways for network traffic in virtualized computing environments
CN108614726B (zh) * 2018-03-22 2022-06-10 华为云计算技术有限公司 虚拟机创建方法及装置

Also Published As

Publication number Publication date
EP3761170B1 (en) 2023-03-01
US20240272930A1 (en) 2024-08-15
EP3761170A1 (en) 2021-01-06
EP3761170A4 (en) 2021-04-07
CN108614726A (zh) 2018-10-02
CN108614726B (zh) 2022-06-10
US11960915B2 (en) 2024-04-16
US20210004258A1 (en) 2021-01-07
WO2019179453A1 (zh) 2019-09-26

Similar Documents

Publication Publication Date Title
ES2945218T3 (es) Método y aparato de creación de máquina virtual
ES2764442T3 (es) Método y dispositivo de gestión del ciclo de vida del servicio de red
US20220078078A1 (en) Fpga-enabled compute instances
CN110476402B (zh) 网络切片创建的方法、装置以及通信系统
JP6658882B2 (ja) 制御装置、vnf配置先選択方法及びプログラム
US20200183724A1 (en) Computing service with configurable virtualization control levels and accelerated launches
WO2017152633A1 (zh) 一种端口绑定实现方法及装置
US20210406088A1 (en) Federated operator for edge computing network
US8769532B2 (en) Thin client system, management server, virtual machine creation management method and virtual machine creation management program
US8874457B2 (en) Concurrent scheduling of plan operations in a virtualized computing environment
JP7377965B2 (ja) ネットワークリソース管理方法、システム、ネットワーク機器と可読記憶媒体
EP3481007A1 (en) Method, device, and equipment for processing resource pool
JP6832291B2 (ja) アプリケーションサーバを並列起動するためのシステムおよび方法
Mandal et al. Provisioning and evaluating multi-domain networked clouds for hadoop-based applications
EP3442201B1 (en) Cloud platform construction method and cloud platform
US20200412837A1 (en) Efficient and extensive function groups with multi-instance function support for cloud based processing
US11805102B2 (en) Remote management of software on private networks
CN111988160A (zh) 一种虚拟化网络功能的部署方法和装置
JP2017215884A (ja) 仮想マシン配置装置およびリソース管理方法
WO2022027169A1 (en) Method and apparatus for fine-grained isolation in cn nss domain of e2e network slice
US11765236B2 (en) Efficient and extensive function groups with multi-instance function support for cloud based processing
WO2017070963A1 (zh) 一种虚拟资源的部署方法、装置及系统
US10587725B2 (en) Enabling a traditional language platform to participate in a Java enterprise computing environment
WO2021233152A1 (zh) 虚拟化网络功能部署方法、管理与编排平台和介质
CN109257201B (zh) 一种License的发送方法和装置