ES2706186T3 - Método de migración en directo de máquina virtual, método de procesamiento de datos de memoria de máquina virtual, servidor y sistema de máquina virtual - Google Patents

Método de migración en directo de máquina virtual, método de procesamiento de datos de memoria de máquina virtual, servidor y sistema de máquina virtual Download PDF

Info

Publication number
ES2706186T3
ES2706186T3 ES14870652T ES14870652T ES2706186T3 ES 2706186 T3 ES2706186 T3 ES 2706186T3 ES 14870652 T ES14870652 T ES 14870652T ES 14870652 T ES14870652 T ES 14870652T ES 2706186 T3 ES2706186 T3 ES 2706186T3
Authority
ES
Spain
Prior art keywords
virtual machine
memory
network interface
interface card
source
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
ES14870652T
Other languages
English (en)
Inventor
Shengwen Lu
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 Technologies Co Ltd
Original Assignee
Huawei 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 Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2706186T3 publication Critical patent/ES2706186T3/es
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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/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
    • 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/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

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

Abstract

Un método de procesamiento de datos de memoria de máquina virtual, aplicado a un sistema de máquina virtual, en donde el sistema de máquina virtual comprende una unidad de gestión de migración de máquina virtual (30), un dispositivo anfitrión (10) y una tarjeta de interfaz de red física (20); al menos una máquina virtual (MV1, ..., MVn) se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física (20), cada máquina virtual (MV1, ..., MVn) corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física (20) lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria; y cuando cualquier máquina virtual en el sistema de máquina virtual se migra, el método comprende: recibir, por una máquina virtual de origen que se migrará, una notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física (20), en donde la tarjeta de interfaz de red física (20) envía la notificación de lectura de información de estado después de escribir, según un mensaje recibido para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual (30), información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen; y leer, por la máquina virtual de origen, la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado, y escribir la información de estado en la memoria de la máquina virtual de origen de modo que la unidad de gestión de migración de máquina virtual (30) de la máquina virtual de origen que se migrará puede identificar un cambio en los datos en la memoria de la máquina virtual de origen y migrar la información de estado a una máquina virtual de destino.

Description

DESCRIPCIÓN
Método de migración en directo de máquina virtual, método de procesamiento de datos de memoria de máquina virtual, servidor y sistema de máquina virtual.
Campo técnico
La presente invención se refiere al campo de las tecnologías de la información y, en particular, a un método de migración en directo de máquina virtual, a un método de procesamiento de datos de memoria de máquina virtual, a un servidor y a un sistema de máquina virtual.
Antecedentes
SR-IOV (Virtualización de E/S de Raíz Única, Virtualización ES de raíz única) es una tecnología de virtualización ES y la presente tecnología puede crear, por medio de la virtualización, múltiples dispositivos PCIE virtuales en un dispositivo PCIE (Interconexión de Componentes Periféricos Exprés) físico. Un dispositivo PCIE virtual puede configurarse y gestionarse solamente mediante el uso de un dispositivo PCIE físico original, y cada dispositivo PCIE virtual puede tener una interrupción y DMA (Acceso Directo a Memoria) independientes. Por lo tanto, una máquina virtual puede directamente acceder a un dispositivo PCIE físico mediante el uso de un dispositivo PCIE virtual, sin requerir la interferencia de un VMM (Monitor de Máquina Virtual). Una tarjeta de interfaz de red que soporta SR-IOV se usa como un ejemplo. Cada dispositivo PCIE virtual corresponde a una tarjeta de interfaz de red virtual. El intercambio de paquetes se lleva a cabo directamente entre un dispositivo PCIE virtual y una tarjeta de interfaz de red virtual correspondiente, sin requerir la participación de un VMM. Por lo tanto, una sobrecarga del VMM puede reducirse y el rendimiento del intercambio virtual se mejora.
Después de que un servidor implementa la virtualización, la migración en directo de una máquina virtual puede implementarse de manera conveniente y una clave de la migración en directo de una máquina virtual es la migración de una memoria. En general, la migración de una memoria de una máquina virtual puede dividirse en tres etapas: Etapa de precopia iterativa: Después de que se haya iniciado un proceso de migración de una máquina virtual, la máquina virtual aún se ejecuta en un servidor de origen y un servicio de la máquina virtual no se interrumpe. Primero, todas las memorias de la máquina virtual se copian en un servidor de destino y luego los datos de memoria cambiados en la máquina virtual se copian constantemente en una manera iterativa en el servidor de destino. Después de que la iteración se lleva a cabo hasta que una memoria que necesita copiarse sea lo suficientemente pequeña para alcanzar un umbral especificado, el proceso de migración entra en una etapa de copia de apagado. Etapa de copia de apagado: La máquina virtual se apaga, el servicio se interrumpe y los datos de memoria residuales de la máquina virtual se copian.
Etapa de restablecimiento: Una máquina virtual de destino completa el procesamiento de restablecimiento antes de la ejecución, la máquina virtual de destino se inicia y todo el proceso de migración se completa.
En un escenario en el cual se usa una tecnología SR-IOV, un proceso de transmisión de datos no requiere la participación de un VMM, cuando un dispositivo usa una interfaz PCIE para transmitir datos, el VMM no puede controlar un comportamiento de transmisión de datos. Por lo tanto, durante un proceso de migración en directo de máquina virtual, los datos del dispositivo no se pueden migrar durante el proceso de migración en directo de máquina virtual y la migración en directo de una máquina virtual no puede implementarse.
ZHENHAO PAN y otros: ""CompSC: Live Migration with Pass-through Devices", páginas 109-120 se refiere a una solución de migración de estado de hardware que permitirá el soporte de migración en directo de dispositivos de traspaso. En particular, describe que el hipervisor explora la lista de registros en el dispositivo de red y los guarda en el área de memoria compartida.
Compendio
Es el objeto de la presente invención resolver un problema en la técnica anterior en la cual los datos no se pueden migrar completamente durante la migración en directo de una máquina virtual. El presente objeto se resuelve por el objeto de las reivindicaciones independientes. Las realizaciones preferidas están definidas por las reivindicaciones dependientes.
Una realización de la presente invención además provee un método de procesamiento de datos de memoria de máquina virtual, que se aplica a un sistema de máquina virtual, donde el sistema de máquina virtual incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria; y
cuando cualquier máquina virtual en el sistema de máquina virtual se migra, el método incluye:
recibir, por una máquina virtual de origen que se migrará, una notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física, donde la tarjeta de interfaz de red física envía la notificación de lectura de información de estado después de la escritura, según un mensaje recibido para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen; y
leer, por la máquina virtual de origen, la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado, y escribir la información de estado en la memoria de la máquina virtual de origen nuevamente de modo que la unidad de gestión de migración de máquina virtual de la máquina virtual de origen que se migrará puede identificar un cambio en los datos en la memoria de la máquina virtual de origen y migrar la información de estado a una máquina virtual de destino.
De manera opcional, antes de recibir la notificación de lectura de información de estado, el método además incluye: recibir, por la máquina virtual de origen, un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual;
establecer, por la máquina virtual de origen, una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual; y
cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen y la bandera de escritura sucia se ha establecido, leer, por la máquina virtual de origen, los datos nuevos de la memoria de la máquina virtual de origen, y escribir, por la máquina virtual de origen, los datos nuevos en la memoria de la máquina virtual de origen nuevamente.
De manera opcional, la lectura, por la máquina virtual de origen, de los datos nuevos de la memoria de la máquina virtual de origen, y la escritura, por la máquina virtual de origen, de los datos nuevos en la memoria de la máquina virtual de origen nuevamente comprende:
determinar, por la máquina virtual de origen, una página de memoria que está ocupada por los datos nuevos y está en la memoria de la máquina virtual de origen, leer datos en la página de memoria y escribir, por la máquina virtual de origen, los datos leídos en la página de memoria nuevamente.
De manera opcional, el método además incluye:
limpiar, por la máquina virtual de origen, la bandera de escritura sucia.
Una realización de la presente invención además provee un sistema de máquina virtual, en donde el sistema de máquina virtual comprende una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual, y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria; la unidad de gestión de migración de máquina virtual se configura para enviar un mensaje para apagar una máquina virtual de origen a la tarjeta de interfaz de red física, en donde la máquina virtual de origen es una máquina virtual que se migrará; y la tarjeta de interfaz de red física se configura para: escribir, según el mensaje recibido para apagar la máquina virtual de origen, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen, y enviar una notificación de lectura de información de estado a la máquina virtual de origen; y la máquina virtual de origen se configura para: recibir la notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física, leer la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado, y escribir la información de estado en la memoria de la máquina virtual de origen nuevamente de modo que la unidad de gestión de migración de máquina virtual de la máquina virtual de origen que se migrará puede identificar un cambio en los datos en la memoria de la máquina virtual de origen y migrar la información de estado a una máquina virtual de destino.
De manera opcional, la máquina virtual de origen se configura además para: recibir un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual, establecer una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual, y cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen y la bandera de escritura sucia se ha establecido, leer los datos nuevos de la memoria de la máquina virtual de origen y escribir los datos nuevos en la memoria de la máquina virtual de origen nuevamente.
De manera opcional, la máquina virtual de origen se configura además para limpiar la bandera de escritura sucia. Breve descripción de los dibujos
Con el fin de describir las soluciones técnicas en las realizaciones de la presente invención o en la técnica anterior de forma más clara, a continuación se introducen brevemente los dibujos anexos requeridos para describir las realizaciones o la técnica anterior. De manera aparente, los dibujos anexos en la siguiente descripción muestran simplemente algunas realizaciones de la presente invención, y una persona con experiencia ordinaria en la técnica puede incluso derivar otros dibujos a partir de dichos dibujos anexos sin esfuerzos creativos.
La Figura 1 es un diagrama de flujo esquemático de un método de migración en directo de máquina virtual según una realización de la presente invención;
la Figura 2 es un diagrama estructural esquemático de un servidor 200 según una realización de la presente invención;
la Figura 3 es un diagrama estructural esquemático de otra manera de implementación de un servidor 200 según una realización de la presente invención;
la Figura 4 es un diagrama estructural de un sistema de máquina virtual según una realización de la presente invención; y
la Figura 5 es un diagrama de flujo esquemático de un método de migración de máquina virtual según una realización de la presente invención.
Descripción de las realizaciones
A continuación se describen de forma clara y completa las soluciones técnicas en las realizaciones de la presente invención con referencia a los dibujos anexos en las realizaciones de la presente invención. De manera aparente, las realizaciones descritas son algunas pero no todas las realizaciones de la presente invención. Todas las otras realizaciones obtenidas por una persona con experiencia ordinaria en la técnica a partir de las realizaciones de la presente invención sin esfuerzos creativos caerán dentro del alcance de protección de la presente invención.
Con el fin de resolver un problema en la técnica anterior en la cual la migración en directo de una máquina virtual no puede implementarse en un escenario de tecnología SR-IOV, una realización de la presente invención describe un método de migración en directo de máquina virtual.
Con referencia a la Figura 1, la Figura 1 es un diagrama de flujo esquemático de un método de migración en directo de máquina virtual según una realización de la presente invención, donde el método incluye:
Etapa 100: Un dispositivo PCIE virtual recibe un primer mensaje para iniciar la migración en directo de una máquina virtual; donde los datos procesados por la máquina virtual se transmiten mediante el uso de un dispositivo PCIE físico, el dispositivo PCIE virtual es un dispositivo virtual que se ejecuta en el dispositivo PCIE físico, y la máquina virtual accede al dispositivo PCIE físico mediante el uso del dispositivo PCIE virtual.
Etapa 102: El dispositivo PCIE virtual establece una bandera de escritura sucia según el primer mensaje; donde la bandera de escritura sucia se usa para llevar a cabo al menos una función de lectura y escritura en los datos que atraviesa el dispositivo PCIE virtual.
Etapa 104: Cuando recibe un segundo mensaje que indica que la migración en directo de la máquina virtual está completa, el dispositivo PCIE virtual cancela la bandera de escritura sucia según el segundo mensaje.
Mediante el establecimiento de una bandera de escritura sucia en lo anterior, un dispositivo PCIE virtual de una máquina virtual que se migrará lleva a cabo al menos una función de lectura y escritura en los datos recibidos, un gestor de máquina virtual de la máquina virtual que se migrará puede identificar un cambio en los datos y migrar datos cambiados a una máquina virtual de destino y, de esta manera, resolver el problema de la técnica anterior en la cual los datos no se pueden migrar durante un proceso de migración en directo de máquina virtual dado que los datos atraviesan el dispositivo PCIE virtual pero el gestor de máquina virtual no puede percibir los datos.
Como una manera de implementación opcional, antes de la etapa 100, el método de migración en directo de máquina virtual en la presente realización de la presente invención además incluye:
establecer un canal de mensaje entre el dispositivo PCIE virtual y el dispositivo PCIE físico, para recibir el primer mensaje para iniciar la migración en directo de una máquina virtual.
El canal de mensaje entre el dispositivo PCIE virtual y el dispositivo PCIE físico puede establecerse de la siguiente manera:
establecer un canal de mensaje entre un controlador del dispositivo PCIE virtual y un controlador del dispositivo PCIE físico, es decir, reservar, de forma separada, un segmento de espacio de datos en el controlador del dispositivo PCIE virtual y el controlador del dispositivo PCIE físico, e implementar la transferencia de mensaje mediante el uso del espacio de datos reservado.
Que un mensaje se transfiera entre el dispositivo PCIE virtual y el dispositivo PCIE físico mediante el uso del espacio de datos reservado puede implementarse de las siguientes dos maneras:
transferir, por una tarjeta de interfaz de red de la máquina virtual, un mensaje dentro del espacio de datos reservado en una manera DMA, para implementar la comunicación del mensaje entre el dispositivo PCIE virtual y el dispositivo PCIE físico; o
reservar, en una tarjeta de interfaz de red de la máquina virtual, el espacio de datos usado para la comunicación y compartir, de manera separada, el espacio de datos reservado con el dispositivo PCIE virtual y el dispositivo PCIE físico.
La tarjeta de interfaz de red de la máquina virtual es una tarjeta de interfaz de red física usada por la máquina virtual. De manera específica, la transferencia del mensaje entre el dispositivo PCIE físico y el dispositivo PCIE virtual puede implementarse de la siguiente manera:
El dispositivo PCIE físico escribe un mensaje que se enviará al dispositivo PCIE virtual en el espacio de datos del dispositivo PCIE físico, donde el mensaje lleva una dirección de un dispositivo PCIE físico de origen y una dirección de un dispositivo PCIE virtual de destino; y cuando detecta un nuevo mensaje en el espacio de datos, la tarjeta de interfaz de red migra el mensaje al espacio de datos de un dispositivo PCIE virtual correspondiente según la dirección del dispositivo PCIE virtual de destino y ordena al dispositivo PCIE virtual que adquiera el mensaje. El dispositivo PCIE virtual correspondiente adquiere el mensaje del espacio de datos del dispositivo PCIE virtual correspondiente.
De manera opcional, el canal de mensaje establecido entre el dispositivo PCIE virtual y el dispositivo PCIE físico se crea por el gestor de máquina virtual de la máquina virtual o un módulo de gestión de migración de máquina virtual. En la etapa 100 anterior, puede ser que el módulo de gestión de migración de máquina virtual entrega el primer mensaje para iniciar la migración en directo de una máquina virtual al dispositivo PCIE físico, y el dispositivo PCIE físico envía el primer mensaje al dispositivo PCIE virtual a través del canal de mensaje establecido anterior. En la etapa 102 de la presente realización de la presente invención, la bandera de escritura sucia establecida por el dispositivo PCIE virtual puede establecerse dentro del espacio de datos reservado en el controlador del dispositivo PCIE virtual, o una variable independiente puede establecerse como la bandera de escritura sucia. De manera específica, la bandera de escritura sucia puede establecerse por el controlador del dispositivo PCIE virtual.
Después de que el dispositivo PCIE virtual establece la bandera de escritura sucia, el dispositivo PCIE virtual lleva a cabo al menos una función de lectura y escritura en los datos recibidos, por ejemplo, una función de lectura y escritura de un byte. De esta manera, el gestor de máquina virtual de la máquina virtual puede identificar que los datos se han modificado y los datos se pueden migrar durante la migración en directo de la máquina virtual.
El módulo de gestión de migración de máquina virtual inicia la copia iterativa de memoria de migración en directo de máquina virtual, y para logar un mejor efecto de migración en directo de máquina virtual, otro segmento de espacio de datos puede además reservarse en los controladores del dispositivo PCIE virtual y del dispositivo PCIE físico de manera separada, y dicha otra porción de espacio de datos se usa para almacenar datos de estado entre la tarjeta de interfaz de red y un dispositivo PCIE virtual correspondiente, donde los datos de estado se usan para restablecer los datos de estado en una máquina virtual de destino después de que la máquina virtual se migra e implementar la conmutación sin fisuras de un estado de máquina virtual.
Antes de la etapa 104 anterior, el método de migración en directo de máquina virtual en la presente realización de la presente invención además incluye:
cuando una última ronda de copia iterativa de migración en directo de máquina virtual está completa, entregar, por el módulo de gestión de migración de máquina virtual, un mensaje a la tarjeta de interfaz de red y al dispositivo PCIE virtual correspondiente mediante el uso del dispositivo PCIE físico, y detener la recepción y el envío de datos; después de recibir el mensaje, detener, por la tarjeta de interfaz de red, la recepción y el envío de datos para el dispositivo PCIE virtual; y
escribir, por el dispositivo PCIE virtual, una página sucia según la bandera de escritura sucia establecida, donde todos los datos recibidos por la tarjeta de interfaz de red antes de detener la recepción de datos se ubican en la página. De esta manera, la migración de todos los datos puede implementarse y la exactitud de la migración en directo de máquina virtual se mejora. De manera opcional, si hay datos de otra variable que se modifican por medio de DMA, una página en la cual los datos se ubican también se escribe sucia según la bandera de escritura sucia. Cuando la migración de máquina virtual está completa y la máquina virtual de destino se inicia, el módulo de gestión de migración de máquina virtual entrega, mediante el uso de un dispositivo PCIE físico de un servidor de destino, un mensaje de inicio para iniciar la máquina virtual de destino a la tarjeta de interfaz de red, de modo que la tarjeta de interfaz de red envía los anteriores datos de estado almacenados entre la tarjeta de interfaz de red y el dispositivo PCIE virtual correspondiente a un dispositivo PCIE virtual correspondiente a la máquina virtual de destino en una manera DMA, para implementar la conmutación del estado de máquina virtual de una máquina virtual de origen a una máquina virtual de destino.
Después de que la migración de máquina virtual está completa, el módulo de gestión de migración de máquina virtual envía un segundo mensaje que indica que la migración está completa al dispositivo PCIE virtual de la máquina virtual, para cancelar la bandera de escritura sucia.
Una realización de la presente invención además provee un servidor y una tecnología SR-IOV se usa para implementar la virtualización en una máquina virtual que se ejecuta en el servidor. Con referencia a la Figura 2, la Figura 2 es un diagrama estructural esquemático de un servidor 200 según una realización de la presente invención. Al menos una máquina virtual se ejecuta en el servidor 200, los datos procesados por la al menos una máquina virtual se transmiten mediante el uso de un dispositivo PCIE físico, al menos un dispositivo PCIE virtual se ejecuta en el dispositivo PCIE físico y cada máquina virtual corresponde a un dispositivo PCIE virtual; donde un primer dispositivo PCIE virtual en el al menos un dispositivo PCIE virtual incluye:
una unidad de recepción 201, configurada para recibir un primer mensaje de migración inicial en directo de máquina virtual correspondiente al primer dispositivo PCIE virtual; y
una unidad de establecimiento 202, configurada para: establecer una bandera de escritura sucia según el primer mensaje, donde la bandera de escritura sucia se usa para llevar a cabo al menos una función de lectura y escritura en datos que atraviesan el primer dispositivo PCIE virtual; y cuando recibe un segundo mensaje que indica que la migración en directo de la máquina virtual correspondiente al primer dispositivo PCIE virtual está completa, cancelar la bandera de escritura sucia según el segundo mensaje.
Mediante el establecimiento de la bandera de escritura sucia por la unidad de establecimiento 202 en lo anterior, un primer dispositivo PCIE virtual de una máquina virtual que se migrará lleva a cabo al menos una función de lectura y escritura en los datos recibidos, un gestor de máquina virtual de la máquina virtual que se migrará puede identificar un cambio en los datos y migrar datos cambiados a una máquina virtual de destino y, de esta manera, resolver el problema de la técnica anterior en la cual los datos no se pueden migrar durante un proceso de migración en directo de máquina virtual dado que los datos atraviesan el dispositivo PCIE virtual pero el gestor de máquina virtual no puede percibir los datos.
Que la unidad de establecimiento 202 establece la bandera de escritura sucia según el primer mensaje puede incluir: establecer, por la unidad de establecimiento, la bandera de escritura sucia según el primer mensaje mediante el uso de un controlador del primer dispositivo PCIE virtual; o establecer, por la unidad de establecimiento, una variable independiente como la bandera de escritura sucia.
El establecimiento, por la unidad de establecimiento 202, de la bandera de escritura sucia mediante el uso de un controlador puede incluir:
establecer, por la unidad de establecimiento, la bandera de escritura sucia dentro del espacio de datos reservado en el controlador del primer dispositivo PCIE virtual.
Como una manera de implementación opcional, el primer dispositivo PCIE virtual además incluye una unidad de establecimiento de canal de mensaje 203. Con referencia a la Figura 3, la Figura 3 es un diagrama estructural esquemático de otra manera de implementación de un servidor según una realización de la presente invención. La unidad de establecimiento de canal de mensaje 203 se configura para establecer un canal de mensaje entre el primer dispositivo PCIE virtual y el dispositivo PCIE físico, de modo que la unidad de recepción 201 recibe, a través del canal de mensaje establecido, el primer mensaje para iniciar la migración en directo de una máquina virtual correspondiente al primer dispositivo PCIE virtual.
Como una manera de implementación opcional, que la unidad de establecimiento de canal de mensaje 203 establece el canal de mensaje entre el primer dispositivo PCIE virtual y el dispositivo PCIE físico incluye: reservar, de manera separada, por la unidad de establecimiento de canal de mensaje 203, un segmento de espacio de datos en el controlador del primer dispositivo PCIE virtual y un controlador del dispositivo PCIE físico, e implementar la transferencia de mensaje entre el primer dispositivo PCIE virtual y el dispositivo PCIE físico mediante el uso del espacio de datos reservado.
Por consiguiente, que el primer dispositivo PCIE virtual y el dispositivo PCIE físico implementan la transferencia de mensaje mediante el uso del espacio de datos reservado incluye:
transferir, por una tarjeta de interfaz de red de la máquina virtual, un mensaje dentro del espacio de datos reservado en una manera de acceso directo a la memoria DMA, para implementar la comunicación del mensaje entre el primer dispositivo PCIE virtual y el dispositivo PCIE físico; o
reservar, por la unidad de establecimiento de canal de mensaje en una tarjeta de interfaz de red de la máquina virtual, el espacio de datos usado para la comunicación y compartir, de manera separada, el espacio de datos reservado con el dispositivo PCIE virtual y el dispositivo PCIE físico.
Para una manera de implementación del dispositivo PCIE virtual en el servidor 200 anterior en la presente realización de la presente invención, es preciso remitirse a una manera de implementación del método en la Figura 1 para la implementación, y los detalles no se describen nuevamente.
Según el anterior método para implementar la migración en directo de máquina virtual en la presente realización de la presente invención, una realización de la presente invención además provee un método de procesamiento de datos de memoria de máquina virtual y un método de migración de máquina virtual que se basan en el método anterior. Una introducción adicional se provee a continuación.
Antes de que se introduzca el método en la presente realización de la presente invención, una arquitectura de sistema de la presente realización de la presente invención se describe además de la siguiente manera:
Con referencia a la Figura 4, la Figura 4 es un diagrama estructural esquemático de un sistema de máquina virtual según una realización de la presente invención. El sistema de máquina virtual incluye un dispositivo anfitrión 10, una tarjeta de interfaz de red física 20 y una unidad de gestión de migración de máquina virtual 30, donde el dispositivo anfitrión 10 y la tarjeta de interfaz de red física 20 se conectan mediante el uso de una interfaz, n máquinas virtuales (n es mayor que o igual a 1) se ejecutan en el dispositivo anfitrión 10, n tarjetas de interfaz de red virtual se crean, por medio de la virtualización, en la tarjeta de interfaz de red física 20, cada tarjeta de interfaz de red virtual corresponde a una máquina virtual, un controlador de tarjeta de interfaz de red virtual correspondiente a una tarjeta de interfaz de red virtual se ejecuta en cada máquina virtual, un controlador de tarjeta de interfaz de red virtual de cada máquina virtual se usa para: adquirir una dirección de memoria de cada máquina virtual y notificar a la tarjeta de interfaz de red física 20 sobre la dirección de memoria de cada máquina virtual mediante el uso de una tarjeta de interfaz de red virtual correspondiente a cada máquina virtual, y la tarjeta de interfaz de red física 20 guarda la dirección de memoria de cada máquina virtual. Por ejemplo, un controlador de tarjeta de interfaz de red virtual 1 de una máquina virtual MV1 se conecta a una tarjeta de interfaz de red virtual 1, el controlador de tarjeta de interfaz de red virtual de la máquina virtual MV1 adquiere una dirección de memoria de la máquina virtual MV1, y notifica a la tarjeta de interfaz de red física 20 sobre la dirección de memoria de la máquina virtual MV1 mediante el uso de la tarjeta de interfaz de red virtual 1, y la tarjeta de interfaz de red física 20 guarda la dirección de memoria de la máquina virtual MV1. La implementación específica de la anterior tarjeta de interfaz de red física 20 puede ser el dispositivo PCIE físico en la realización anterior de la presente invención, y la anterior tarjeta de interfaz de red virtual puede corresponder, de manera específica, al dispositivo PCIE virtual en la realización anterior de la presente invención. (En la presente realización, una tarjeta de interfaz de red virtual y un controlador de la tarjeta de interfaz de red virtual se enumeran de manera separada, la tarjeta de interfaz de red virtual se provee por la tarjeta de interfaz de red física 20, y el controlador correspondiente a la tarjeta de interfaz de red virtual se carga, por consiguiente, en la máquina virtual, y el dispositivo PCIE virtual en la realización anterior es un concepto relativamente amplio e incluye el dispositivo PCIE virtual y un controlador correspondiente al dispositivo PCIE virtual. Una persona con experiencia en la técnica debe comprender que en la solución de la presente realización de la presente invención, las anteriores diferencias son solo diferencias en la descripción).
Después de que la tarjeta de interfaz de red virtual de cada máquina virtual recibe un paquete, la tarjeta de interfaz de red física 20 lee y escribe datos en una memoria de cada máquina virtual según la dirección de memoria de cada máquina virtual, mediante el uso de la interfaz entre el dispositivo anfitrión y la tarjeta de interfaz de red física, y en una manera de acceso directo a la memoria DMA. Es decir, la tarjeta de interfaz de red física 20 directamente lee los datos en la memoria de cada máquina virtual del dispositivo anfitrión 10, o directamente escribe datos en la memoria de cada máquina virtual mediante la escritura de datos en el dispositivo anfitrión 10. Por ejemplo, después de que la tarjeta de interfaz de red virtual 1 recibe un paquete enviado o recibido por la máquina virtual MV1, la tarjeta de interfaz de red física 20 lee datos en una memoria de la MV1 según la dirección de memoria guardada de la máquina virtual MV1, mediante el uso de la interfaz entre el dispositivo anfitrión 10 y la tarjeta de interfaz de red física 20, y en una manera DMA, o escribe, en una manera DMA, datos de paquete recibidos por la tarjeta de interfaz de red virtual 1 en una memoria de la máquina virtual MV1.
Como una manera de implementación opcional, una máquina virtual (como, por ejemplo, MV1 o MV2) que se muestra en la Figura 4 puede incluir un sistema operativo que se ejecuta en la máquina virtual, una aplicación que se ejecuta en la máquina virtual, un controlador de tarjeta de interfaz de red virtual que se ejecuta en la máquina virtual y similares.
En la Figura 4, el dispositivo anfitrión 10 es un dispositivo que incluye una unidad de procesamiento central CPU, por sus siglas en inglés, una memoria, un disco duro, y similares, y la máquina virtual es un dispositivo virtual creado, por medio de la virtualización, a partir del dispositivo anfitrión 10. Como se muestra en la Figura 4, el dispositivo anfitrión 10 se separa de la máquina virtual (MV1 o MV2) y similares, para mostrar, de forma clara, una relación de conexión entre la máquina virtual, una tarjeta de interfaz de red y el dispositivo anfitrión, y no indica que el dispositivo anfitrión 10 está separado de la máquina virtual.
El sistema de máquina virtual en la presente realización de la presente invención incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física. Por ejemplo, en la Figura 4, el sistema de máquina virtual incluye la unidad de gestión de migración de máquina virtual 30, el dispositivo anfitrión 10 y la tarjeta de interfaz de red física 20.
En la Figura 14, la unidad de gestión de migración de máquina virtual 30 se ejecuta en el dispositivo anfitrión y se implementa como un módulo de software. Sin embargo, en otra implementación específica de la presente realización de la presente invención, la unidad de gestión de migración de máquina virtual 30 también puede implementarse directamente por un servidor que tiene una función de gestión. Una persona con experiencia en la técnica puede también usar otra manera de implementación, por ejemplo, usar una máquina virtual para implementar la unidad de gestión de migración de máquina virtual, que no se encuentra limitada en la presente realización de la presente invención.
Cuando una máquina virtual en un sistema de máquina virtual se migra a otra máquina virtual que, por ejemplo, se muestra en la Figura 5 (en un sistema de máquina virtual en el cual un método que se muestra en la Figura 5 se ejecuta, puede haber múltiples unidades de gestión de migración de máquina virtual, y una unidad de gestión de migración de máquina virtual de una máquina virtual de origen que se migrará y una unidad de gestión de migración de máquina virtual de una máquina virtual de destino son unidades diferentes y, en otra realización, una máquina virtual de origen y una máquina virtual de destino pueden tener una misma unidad de gestión de migración de máquina virtual), cuando se necesita que una primera máquina virtual (la máquina virtual de origen) se migre a una segunda máquina virtual (la máquina virtual de destino), una tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria, y la primera máquina virtual o un gestor de la primera máquina virtual no se requiere para leer y escribir datos en una memoria de la primera máquina virtual. Por lo tanto, cuando la migración en directo de la primera máquina virtual se inicia, los datos en los datos de memoria de la primera máquina virtual que se cambia después de que la primera máquina virtual se migra no se pueden migrar a la segunda máquina virtual en una manera iterativa de memoria. Con el fin de resolver el presente problema, una realización de la presente invención provee un método de migración de máquina virtual. Como se muestra en la Figura 5, el método incluye las siguientes etapas:
Etapa 501: Cuando una primera máquina virtual se migra, una unidad de gestión de migración de la primera máquina virtual entrega un mensaje para iniciar la migración de la primera máquina virtual a la primera máquina virtual, para iniciar la migración de la primera máquina virtual.
Que una unidad de gestión de migración de la primera máquina virtual entrega un mensaje para iniciar la migración de la primera máquina virtual a la primera máquina virtual puede implementarse de las siguientes maneras:
Manera 1: Una memoria intermedia de recepción y envío de mensajes se configura para un controlador de una primera tarjeta de interfaz de red virtual de la primera máquina virtual y un controlador de una primera tarjeta de interfaz de red física de forma separada, y la unidad de gestión de migración de la primera máquina virtual envía un mensaje de paquete a una memoria intermedia del controlador de la primera tarjeta de interfaz de red física, donde el mensaje de paquete tiene una dirección de origen y una dirección de destino, la dirección de destino es una dirección de la primera tarjeta de interfaz de red virtual, el controlador de la primera tarjeta de interfaz de red física lee datos de una memoria intermedia de envío por medio de DMA y escribe el mensaje en la memoria intermedia del controlador de la primera tarjeta de interfaz de red virtual por medio de DMA según la dirección de destino del mensaje de paquete y ordena, mediante el uso de una interrupción, al controlador de la primera tarjeta de interfaz de red virtual que lleve a cabo el procesamiento del mensaje.
Manera 2: Un registro de recepción y envío de mensajes se configura para un controlador de una primera tarjeta de interfaz de red física y un controlador de una primera tarjeta de interfaz de red virtual de la primera máquina virtual de forma separada, y cuando envía un mensaje, la unidad de gestión de migración de la primera máquina virtual escribe un mensaje de paquete en un registro de mensajes del controlador de la primera tarjeta de interfaz de red física, donde el mensaje de paquete tiene una dirección de origen y una dirección de destino, la dirección de destino es la primera tarjeta de interfaz de red virtual, después de detectar que el mensaje se ha escrito, el controlador de la primera tarjeta de interfaz de red física migra el mensaje a un registro de mensajes del controlador de la primera tarjeta de interfaz de red virtual según la dirección de destino del mensaje y ordena, mediante el uso de una interrupción, al controlador de la primera tarjeta de interfaz de red virtual que lleve a cabo el procesamiento del mensaje.
Etapa 502: La primera máquina virtual establece una bandera de escritura sucia según el mensaje recibido para iniciar la migración de la primera máquina virtual.
En la presente realización de la presente invención, el establecimiento de la bandera de escritura sucia puede implementarse de múltiples maneras. Por ejemplo, la bandera de escritura sucia se establece dentro del espacio reservado en el controlador de la primera tarjeta de interfaz de red virtual, o se establece en un chip correspondiente a la primera tarjeta de interfaz de red virtual, o se establece mediante el uso de una variable independiente, o similares. En la presente realización de la presente invención, una ubicación de almacenamiento de la bandera de escritura sucia no se encuentra limitada, siempre que la primera máquina virtual pueda adquirir la bandera de escritura sucia. También puede hacerse referencia a la bandera de escritura sucia como un identificador de escritura sucia, y se usa para indicar que se necesita llevar a cabo el reprocesamiento por la primera máquina virtual en algunos datos en la memoria de la primera máquina virtual, de modo que la primera máquina virtual puede aprender la presente parte de datos, donde el reprocesamiento puede ser una función en la que la primera máquina virtual lee la presente parte de datos de la memoria y luego escribe la presente parte de datos en la memoria nuevamente. Etapa 503: Cuando se determina que la primera tarjeta de interfaz de red física escribe datos nuevos en la memoria de la primera máquina virtual, la primera máquina virtual lee los datos nuevos de la memoria de la primera máquina virtual según la bandera de escritura sucia y escribe los datos nuevos en la memoria de la primera máquina virtual nuevamente según la bandera de escritura sucia.
En la presente realización de la presente invención, puede haber múltiples maneras para que la primera máquina virtual determine que la primera tarjeta de interfaz de red física escribe datos nuevos en la memoria de la primera máquina virtual, por ejemplo, mediante el uso de una notificación de interrupción recibida enviada por la primera tarjeta de interfaz de red física.
En la presente realización de la presente invención, que la primera máquina virtual lee los datos nuevos de la memoria de la primera máquina virtual y escribe los datos nuevos en la memoria de la primera máquina virtual nuevamente incluye: llevar a cabo, por la primera máquina virtual, al menos una función de lectura y escritura en la memoria de la primera máquina virtual por página; o llevar a cabo, por la primera máquina virtual, al menos una función de lectura y escritura en la memoria de la primera máquina virtual por bloque. La al menos una función de lectura y escritura puede ser llevar a cabo al menos una función de lectura y escritura en datos de un bit.
Etapa 504: La unidad de gestión de migración de la primera máquina virtual o una unidad de gestión de migración de una segunda máquina virtual inicia la copia iterativa de memoria de migración en directo de la primera máquina virtual.
Es decir, los datos en la memoria de la primera máquina virtual se migran a la segunda máquina virtual.
Etapa 505: Cuando una última ronda de copia iterativa de memoria de la primera máquina virtual está completa, la unidad de gestión de migración de la primera máquina virtual o la unidad de gestión de migración de la segunda máquina virtual envía un mensaje para apagar la primera máquina virtual, donde el mensaje para apagar la primera máquina virtual se envía a la primera máquina virtual o a la primera tarjeta de interfaz de red física; si el mensaje para apagar la primera máquina virtual se envía a la primera máquina virtual, se ejecuta la etapa 506A; si el mensaje para apagar la primera máquina virtual se envía a la primera tarjeta de interfaz de red física, se ejecuta la etapa 506B.
En la presente realización de la presente invención, el mensaje para apagar la primera máquina virtual se activa solamente cuando la última ronda de copia iterativa de memoria de la primera máquina virtual está completa. En otra realización, cuando el presente mensaje para apagar la primera máquina virtual se activa puede también determinarse de manera flexible.
El mensaje para apagar la primera máquina virtual es un mensaje nuevo, se usa principalmente para ordenar a la primera tarjeta de interfaz de red virtual que deje de funcionar o deje de recibir y enviar un paquete, e indica que la migración de la primera máquina virtual entra en otra etapa, que puede implementarse por una persona con experiencia en la técnica de varias maneras en las cuales un nombre de mensaje es solo un ejemplo.
Etapa 506A: La primera máquina virtual escribe información de estado de la primera tarjeta de interfaz de red virtual en una memoria de la primera máquina virtual según el mensaje para apagar la primera máquina virtual.
La información de estado de la primera tarjeta de interfaz de red virtual incluye, pero sin limitación a ello, un contador de restablecimiento, un registro, un puntero de memoria intermedia, contexto, un estado DMA y similares, y la información de estado se almacena en la primera tarjeta de interfaz de red física.
En la presente realización de la presente invención, dado que la primera tarjeta de interfaz de red virtual se ejecuta en la primera tarjeta de interfaz de red física, y la información de estado de la primera tarjeta de interfaz de red virtual también se guarda en un medio de almacenamiento de la primera tarjeta de interfaz de red física, para implementar la migración exitosa de la primera máquina virtual, la información de estado de la primera tarjeta de interfaz de red virtual también necesita migrar a un lado de la segunda máquina virtual, de modo que una segunda tarjeta de interfaz de red virtual reanuda el trabajo. Por lo tanto, en la presente realización de la presente invención, después de que el mensaje para apagar la primera máquina virtual se envía, la información de estado de la primera tarjeta de interfaz de red virtual se escribe en la memoria de la primera máquina virtual, de modo que la información de estado se puede migrar al lado de la segunda máquina virtual junto con otros datos de memoria de la primera máquina virtual, para finalmente asegurar la migración exitosa de la primera máquina virtual.
Etapa 506B: La primera tarjeta de interfaz de red física escribe información de estado de la primera tarjeta de interfaz de red virtual en la memoria de la primera máquina virtual según el mensaje recibido para apagar la primera máquina virtual que se envía por la unidad de gestión de migración de la primera o segunda máquina virtual, o envía una notificación de lectura de información de estado a la primera máquina virtual; la primera máquina virtual lee la información de estado de la primera tarjeta de interfaz de red virtual de la memoria de la primera máquina virtual según la notificación de lectura de información de estado y escribe la información de estado de la primera tarjeta de interfaz de red virtual en la memoria de la máquina virtual de origen nuevamente.
Etapa 507: La unidad de gestión de migración de la segunda máquina virtual activa el restablecimiento de un estado de la segunda tarjeta de interfaz de red virtual e inicia la segunda máquina virtual.
Un estado al cual la segunda tarjeta de interfaz de red virtual se restablecerá es un estado de la primera tarjeta de interfaz de red virtual antes de que la primera máquina virtual se migre. Dado que el estado de la primera tarjeta de interfaz de red virtual se guarda en la memoria de la primera máquina virtual después de que la primera máquina virtual deja de recibir y enviar datos, y se migra a una memoria de la segunda máquina virtual, el restablecimiento de un estado de la segunda tarjeta de interfaz de red virtual correspondiente a la segunda máquina virtual puede implementarse.
Como una manera de implementación opcional, en la presente realización de la presente invención, que la unidad de gestión de migración de la segunda máquina virtual activa el restablecimiento de un estado de la segunda tarjeta de interfaz de red virtual puede incluir:
enviar, por la unidad de gestión de migración de la primera máquina virtual, una ubicación que se encuentra en la memoria de la primera máquina virtual y es de la información de estado de la primera tarjeta de interfaz de red virtual a la segunda máquina virtual, y adquirir, por la segunda máquina virtual, la información de estado de la memoria de la segunda máquina virtual según una dirección de memoria ocupada por la información de estado; o
enviar, por la unidad de gestión de migración de la primera máquina virtual, una ubicación que se encuentra en la memoria de la primera máquina virtual y es de la información de estado de la primera tarjeta de interfaz de red virtual a un controlador de la segunda tarjeta de interfaz de red virtual, de modo que el controlador de la segunda tarjeta de interfaz de red virtual adquiere la información de estado que se encuentra en la memoria de la segunda máquina virtual y es de la primera tarjeta de interfaz de red virtual, y lleva a cabo el restablecimiento de estado, donde el controlador de la segunda tarjeta de interfaz de red virtual es una interfaz entre la primera máquina virtual y la segunda tarjeta de interfaz de red virtual; u
ordenar, por la unidad de gestión de migración de la segunda máquina virtual, a la segunda máquina virtual que restablezca la información de estado de la primera tarjeta de interfaz de red virtual a un chip de la segunda tarjeta de interfaz de red física, y ordenar al controlador de la segunda tarjeta de interfaz de red virtual que adquiera el estado de la primera tarjeta de interfaz de red virtual del chip, para restablecer el estado de la segunda tarjeta de interfaz de red virtual.
Como una manera de implementación opcional, la segunda máquina virtual puede iniciarse después de que el estado de la segunda tarjeta de interfaz de red virtual se haya restablecido, o puede iniciarse primero y luego el estado de la segunda tarjeta de interfaz de red virtual se restablece, y una secuencia no se encuentra limitada en la presente realización de la presente invención.
Debe notarse que, en la presente realización de la presente invención, la bandera de escritura sucia se usa para llevar a cabo al menos una función de lectura y escritura en los datos de memoria de máquina virtual que se necesita migrar, para implementar la migración eficaz de los datos de memoria de máquina virtual durante un proceso de migración de máquina virtual. Después de que la migración de la primera máquina virtual está completa, la bandera de escritura sucia puede cancelarse. Por ejemplo, la primera máquina virtual puede limpiar la bandera de escritura sucia después de que la etapa 505 esté completa; o en etapa 507, la segunda máquina virtual limpia la bandera de escritura sucia cuando la primera máquina virtual se migra a la segunda máquina virtual.
En el anterior método de migración de máquina virtual, el procesamiento de los datos de memoria de máquina virtual es una implementación clave en la presente realización de la presente invención, y la presente realización de la presente invención también provee métodos de procesamiento de datos de memoria de máquina virtual correspondientes.
Un primer método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención es como se describe a continuación:
El método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención se aplica a un sistema de máquina virtual, donde el sistema de máquina virtual incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria.
Cuando cualquier máquina virtual en el sistema de máquina virtual se migra, el método incluye:
E1: Una máquina virtual de origen que se migrará recibe un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual.
E2: La máquina virtual de origen establece una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual.
E3: Cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en una memoria de la máquina virtual de origen, la máquina virtual de origen lee los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia, y escribe los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
En el método anterior, mediante el establecimiento de una bandera de escritura sucia, cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen, los datos nuevos se leen de la memoria de la máquina virtual de origen, y los datos nuevos se escriben en la memoria de la máquina virtual de origen nuevamente, de modo que una unidad de gestión de migración de máquina virtual de la máquina virtual de origen que se migrará puede identificar un cambio en los datos y migrar datos cambiados a una máquina virtual de destino y, de esta manera, resolver un problema de la técnica anterior en la que los datos no se pueden migrar durante un proceso de migración de máquina virtual dado que la unidad de gestión de migración de máquina virtual no puede percibir los datos.
Durante un proceso de implementación específico, el primer método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención puede además incluir:
E4A: La máquina virtual de origen recibe un mensaje para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual.
La máquina virtual de origen escribe, según el mensaje para apagar la máquina virtual de origen, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen.
De manera alternativa, el primer método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención puede además incluir:
E4B: La máquina virtual de origen recibe una notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física, donde la tarjeta de interfaz de red física envía la notificación de lectura de información de estado después de escribir, según un mensaje recibido para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen.
La máquina virtual de origen lee la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado y escribe la información de estado en la memoria de la máquina virtual de origen nuevamente.
E4A o la etapa E4B en el método anterior depende de si la unidad de gestión de migración de máquina virtual notifica a la máquina virtual o a la tarjeta de interfaz de red física sobre el mensaje para apagar la máquina virtual. Ambas maneras de implementación pueden permitir que la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen se escriba en la memoria de la máquina virtual de origen, de modo que la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen se puede también migrar a la máquina virtual de destino junto con la máquina virtual de origen y, de esta manera, se implementa la migración de un estado de una tarjeta de interfaz de red virtual de una máquina virtual.
E5: La máquina virtual de origen limpia la bandera de escritura sucia.
De manera opcional, en la etapa E3 anterior, que la máquina virtual de origen lee los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia, y escribe los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia puede incluir:
determinar, por la máquina virtual de origen, una página de memoria que está ocupada por los datos nuevos y se encuentra en la memoria de la máquina virtual de origen, leer datos en la página de memoria según la bandera de escritura sucia y escribir los datos leídos en la página de memoria nuevamente según la bandera de escritura sucia. De manera opcional, en la etapa E1 anterior, que una máquina virtual de origen recibe un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual puede incluir: leer, por un controlador de la tarjeta de interfaz de red virtual en la máquina virtual de origen, una memoria intermedia o un registro en la tarjeta de interfaz de red virtual de la máquina virtual de origen, y adquirir el mensaje para iniciar la migración de máquina virtual que se escribe directamente en la memoria intermedia o en el registro por la unidad de gestión de migración de máquina virtual.
Un segundo método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención es como se describe a continuación:
El segundo método de procesamiento de datos de memoria de máquina virtual se aplica a un sistema de máquina virtual, donde el sistema de máquina virtual incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria.
Cuando cualquier máquina virtual en el sistema de máquina virtual se migra, el método incluye:
E1: Una máquina virtual de origen que se migrará recibe un mensaje para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual.
E2: La máquina virtual de origen escribe, según el mensaje para apagar la máquina virtual de origen, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen.
Mediante el uso del método anterior, la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen puede escribirse en la memoria de la máquina virtual de origen, de modo que la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen se puede también migrar a una máquina virtual de destino junto con la máquina virtual de origen y, de esta manera, se implementa la migración de un estado de una tarjeta de interfaz de red virtual de una máquina virtual.
Durante un proceso de implementación específico, antes de recibir un mensaje para apagar la máquina virtual de origen, el segundo método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención puede además incluir:
E0: La máquina virtual de origen recibe un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual.
La máquina virtual de origen establece una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual.
Cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen, la máquina virtual de origen lee los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia, y escribe los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
Mediante el establecimiento de una bandera de escritura sucia en lo anterior, cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen, los datos nuevos se leen de la memoria de la máquina virtual de origen, y los datos nuevos se escriben en la memoria de la máquina virtual de origen nuevamente, de modo que una unidad de gestión de migración de máquina virtual de la máquina virtual de origen que se migrará puede identificar un cambio en los datos y migrar datos cambiados a una máquina virtual de destino y, de esta manera, resolver un problema de la técnica anterior en la que los datos no se pueden migrar durante un proceso de migración de máquina virtual dado que la unidad de gestión de migración de máquina virtual no puede percibir los datos.
E3: La máquina virtual de origen limpia la bandera de escritura sucia.
Una manera de implementación específica y una secuencia de implementación de E0 o E3 pueden ser flexibles y pueden determinarse, de manera flexible, por una persona con experiencia en la técnica según las otras realizaciones anteriores de la presente invención.
Como una manera de implementación opcional, en la etapa E0 anterior, que la máquina virtual de origen lee los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia, y escribe los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia incluye: determinar, por la máquina virtual de origen, una página de memoria que está ocupada por los datos nuevos y se encuentra en la memoria de la máquina virtual de origen, leer datos en la página de memoria según la bandera de escritura sucia y escribir los datos leídos en la página de memoria nuevamente según la bandera de escritura sucia. Un tercer método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención es como se describe a continuación: el tercer método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención se aplica a un sistema de máquina virtual, donde el sistema de máquina virtual incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria.
Cuando cualquier máquina virtual en el sistema de máquina virtual se migra, el método incluye:
E1: Una máquina virtual de origen que se migrará recibe una notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física, donde la tarjeta de interfaz de red física envía la notificación de lectura de información de estado después de escribir, según un mensaje recibido para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen. E2: La máquina virtual de origen lee la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado y escribe la información de estado en la memoria de la máquina virtual de origen nuevamente.
Mediante el uso del método anterior, la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen puede escribirse en la memoria de la máquina virtual de origen, de modo que la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen se puede también migrar a una máquina virtual de destino junto con la máquina virtual de origen y, de esta manera, se implementa la migración de un estado de una tarjeta de interfaz de red virtual de una máquina virtual.
Durante un proceso de implementación específico, el tercer método de procesamiento de memoria de máquina virtual en la presente realización de la presente invención puede además incluir:
E0: La máquina virtual de origen recibe un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual; la máquina virtual de origen establece una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual; y cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen, la máquina virtual de origen lee los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia y escribe los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
E3: La máquina virtual de origen limpia la bandera de escritura sucia.
Una manera de implementación específica y una secuencia de implementación de E0 o E3 pueden ser flexibles y pueden determinarse, de manera flexible, por una persona con experiencia en la técnica según las otras realizaciones anteriores de la presente invención.
Como una manera de implementación opcional, en la etapa E0 anterior, que la máquina virtual de origen lee los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia, y escribe los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia incluye: determinar, por la máquina virtual de origen, una página de memoria que está ocupada por los datos nuevos y se encuentra en la memoria de la máquina virtual de origen, leer datos en la página de memoria según la bandera de escritura sucia y escribir los datos leídos en la página de memoria nuevamente según la bandera de escritura sucia. Según el anterior método de procesamiento de datos de memoria de máquina virtual, una realización de la presente invención además provee dos métodos de migración de máquina virtual. Los métodos de migración de máquina virtual en la presente realización de la presente invención se aplican a un sistema de máquina virtual, donde el sistema de máquina virtual incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria.
El método incluye:
E1: Una máquina virtual de origen que se migrará recibe un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual.
E2: La máquina virtual de origen establece una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual.
E3: Cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en una memoria de la máquina virtual de origen, la máquina virtual de origen lee los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia, y escribe los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
E4: La máquina virtual de origen recibe un mensaje para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual.
E5: La máquina virtual de origen escribe, según el mensaje para apagar la máquina virtual de origen, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen.
E6: La unidad de gestión de migración de máquina virtual activa una función de iteración de memoria, donde la función de iteración de memoria se usa para migrar datos en la memoria de la máquina virtual de origen a una máquina virtual de destino.
En el método anterior, mediante el establecimiento de una bandera de escritura sucia, cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen, los datos nuevos se leen de la memoria de la máquina virtual de origen, y los datos nuevos se escriben en la memoria de la máquina virtual de origen nuevamente, de modo que una unidad de gestión de migración de máquina virtual de la máquina virtual de origen que se migrará puede identificar un cambio en los datos y migrar datos cambiados a una máquina virtual de destino y, de esta manera, se resuelve un problema de la técnica anterior en la que los datos no se pueden migrar durante un proceso de migración de máquina virtual dado que la unidad de gestión de migración de máquina virtual no puede percibir los datos. Además, la máquina virtual de origen escribe, según el mensaje para apagar la máquina virtual de origen, la información de estado de la tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen, lo cual puede permitir que la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen pueda escribirse en la memoria de la máquina virtual de origen, de modo que la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen se puede también migrar a la máquina virtual de destino junto con la máquina virtual de origen y, de esta manera, se implementa la migración de un estado de una tarjeta de interfaz de red virtual de una máquina virtual.
Durante un proceso de implementación específico, el método en la presente realización de la presente invención puede además incluir:
E7: La máquina virtual de origen notifica a la unidad de gestión de migración de máquina virtual sobre una dirección de memoria ocupada por la información de estado, de modo que la unidad de gestión de migración de máquina virtual notifica a la máquina virtual de destino sobre la dirección de memoria ocupada por la información de estado. E8: La máquina virtual de destino adquiere la información de estado de datos de memoria migrados según la dirección de memoria ocupada por la información de estado.
La máquina virtual de destino restablece, según la información de estado, una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de destino.
Otro método de migración de máquina virtual en la presente realización de la presente invención se aplica a un sistema de máquina virtual, donde el sistema de máquina virtual incluye una unidad de gestión de migración de máquina virtual, un dispositivo físico y una tarjeta de interfaz de red; al menos una máquina virtual se ejecuta en el dispositivo físico, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red, cada máquina virtual corresponde a una tarjeta de interfaz de red virtual y cada máquina virtual recibe y envía un paquete mediante el uso de una tarjeta de interfaz de red virtual correspondiente.
El método incluye:
E1: Una máquina virtual de origen que se migrará recibe un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual.
E2: La máquina virtual de origen establece una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual.
E3: Cuando se determina que datos nuevos se escriben en una memoria de la máquina virtual de origen, la máquina virtual de origen lee los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia, y escribe los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
E4: La máquina virtual de origen recibe una notificación de lectura de información de estado enviada por la tarjeta de interfaz de red, donde la notificación de lectura de información de estado se envía después de que la tarjeta de interfaz de red haya escrito información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen; y la tarjeta de interfaz de red activa, después de recibir un mensaje para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual, una etapa de escritura de la información de estado en la memoria de la máquina virtual de origen.
E5: La máquina virtual de origen lee la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado y escribe la información de estado en la memoria de la máquina virtual de origen nuevamente.
E6: La unidad de gestión de migración de máquina virtual activa una función de iteración de memoria, donde la función de iteración de memoria se usa para migrar datos en la memoria de la máquina virtual de origen a una máquina virtual de destino.
En el método anterior, mediante el establecimiento de una bandera de escritura sucia, cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen, los datos nuevos se leen de la memoria de la máquina virtual de origen, y los datos nuevos se escriben en la memoria de la máquina virtual de origen nuevamente, de modo que una unidad de gestión de migración de máquina virtual de la máquina virtual de origen que se migrará puede identificar un cambio en los datos y migrar datos cambiados a una máquina virtual de destino y, de esta manera, se resuelve un problema de la técnica anterior en la que los datos no se pueden migrar durante un proceso de migración de máquina virtual dado que la unidad de gestión de migración de máquina virtual no puede percibir los datos. Además, la máquina virtual de origen escribe, según el mensaje para apagar la máquina virtual de origen, la información de estado de la tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen, lo cual puede permitir que la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen se escriba en la memoria de la máquina virtual de origen, de modo que la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen también se puede migrar a la máquina virtual de destino junto con la máquina virtual de origen y, de esta manera, se implementa la migración de un estado de una tarjeta de interfaz de red virtual de una máquina virtual. Durante un proceso de implementación específico, el método puede además incluir:
Etapa E7: La máquina virtual de origen notifica a la unidad de gestión de migración de máquina virtual sobre información sobre una página de memoria ocupada por la información de estado, de modo que la unidad de gestión de migración de máquina virtual notifica a la máquina virtual de destino sobre la información sobre la página de memoria ocupada por la información de estado.
Etapa E8: La máquina virtual de destino adquiere la información de estado de los datos de memoria migrados según la información sobre la página de memoria ocupada por la información de estado; y la máquina virtual de destino restablece, según la información de estado, una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de destino.
Según los anteriores métodos de procesamiento de datos de memoria de máquina virtual y los métodos de migración de máquina virtual, y con referencia al diagrama estructural del sistema de máquina virtual provisto en la Figura 4, la presente realización de la presente invención además provee cinco sistemas de máquina virtual, los cuales son como se describe a continuación:
Un primer sistema de máquina virtual es:
Un sistema de máquina virtual, que incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; donde al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria.
La unidad de gestión de migración de máquina virtual se configura para enviar un mensaje para iniciar la migración de máquina virtual a una máquina virtual de origen, donde la máquina virtual de origen es una máquina virtual que se migrará.
La máquina virtual de origen se configura para: recibir el mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual, establecer una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual y, cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en una memoria de la máquina virtual de origen, leer los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia y escribir los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
Además, la unidad de gestión de migración de máquina virtual se configura además para enviar un mensaje para apagar la máquina virtual de origen a la máquina virtual de origen; y la máquina virtual de origen se configura además para: recibir el mensaje para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual, y escribir información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen según el mensaje para apagar la máquina virtual de origen.
Asimismo, la unidad de gestión de migración de máquina virtual se configura además para enviar el mensaje para apagar la máquina virtual de origen a la tarjeta de interfaz de red física.
La tarjeta de interfaz de red física se configura para: escribir, según el mensaje recibido para apagar la máquina virtual de origen, la información de estado de la tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen y enviar una notificación de lectura de información de estado a la máquina virtual de origen.
La máquina virtual de origen se configura además para: recibir la notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física, leer la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado y escribir la información de estado en la memoria de la máquina virtual de origen nuevamente. Preferiblemente, la máquina virtual de origen se configura, de forma específica, para: determinar una página de memoria que está ocupada por los datos nuevos y se encuentra en la memoria de la máquina virtual de origen, leer datos en la página de memoria según la bandera de escritura sucia y escribir los datos leídos en la página de memoria nuevamente según la bandera de escritura sucia.
Asimismo, la máquina virtual de origen se configura además para limpiar la bandera de escritura sucia.
Un segundo sistema de máquina virtual es:
Un sistema de máquina virtual, que incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; donde al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria.
La unidad de gestión de migración de máquina virtual se configura para enviar un mensaje para apagar una máquina virtual de origen a la máquina virtual de origen, donde la máquina virtual de origen es una máquina virtual que se migrará; y la máquina virtual de origen se configura para: recibir el mensaje para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual, y escribir, según el mensaje para apagar la máquina virtual de origen, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen.
Asimismo, la máquina virtual de origen se configura además para recibir un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual, y se configura para: establecer una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual y, cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen, leer los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia y escribir los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
Asimismo, la máquina virtual de origen se configura además para limpiar la bandera de escritura sucia.
Un tercer sistema de máquina virtual es:
Un sistema de máquina virtual, que incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; donde al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria.
La unidad de gestión de migración de máquina virtual se configura para enviar un mensaje para apagar una máquina virtual de origen a la tarjeta de interfaz de red física, donde la máquina virtual de origen es una máquina virtual que se migrará; y la tarjeta de interfaz de red física se configura para: escribir, según el mensaje recibido para apagar la máquina virtual de origen, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen y enviar una notificación de lectura de información de estado a la máquina virtual de origen.
La máquina virtual de origen se configura además para: recibir la notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física, leer la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado y escribir la información de estado en la memoria de la máquina virtual de origen nuevamente. Asimismo, la máquina virtual de origen se configura además para: recibir un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual, establecer una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual y, cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en la memoria de la máquina virtual de origen, leer los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia y escribir los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
Asimismo, la máquina virtual de origen se configura además para limpiar la bandera de escritura sucia.
Un cuarto sistema de máquina virtual es:
Un sistema de máquina virtual, que incluye una unidad de gestión de migración de máquina virtual, un dispositivo anfitrión y una tarjeta de interfaz de red física; donde al menos una máquina virtual se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física, cada máquina virtual corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria.
La unidad de gestión de migración de máquina virtual se configura para enviar un mensaje para iniciar la migración de máquina virtual a una máquina virtual de origen.
La máquina virtual de origen se configura para: recibir el mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual, establecer una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual y, cuando se determina que la tarjeta de interfaz de red física escribe datos nuevos en una memoria de la máquina virtual de origen, leer los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia, escribir los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia, recibir un mensaje para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual y escribir, según el mensaje para apagar la máquina virtual de origen, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen.
La unidad de gestión de migración de máquina virtual se configura además para activar una función de iteración de memoria, donde la función de iteración de memoria se usa para migrar datos en la memoria de la máquina virtual de origen a una máquina virtual de destino.
Un quinto sistema de máquina virtual es:
Un sistema de máquina virtual, que incluye una unidad de gestión de migración de máquina virtual, un dispositivo físico y una tarjeta de interfaz de red; donde al menos una máquina virtual se ejecuta en el dispositivo físico, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red, cada máquina virtual corresponde a una tarjeta de interfaz de red virtual y cada máquina virtual recibe y envía un paquete mediante el uso de una tarjeta de interfaz de red virtual correspondiente; y la unidad de gestión de migración de máquina virtual se configura para enviar un mensaje para iniciar la migración de máquina virtual a una máquina virtual de origen.
La máquina virtual de origen se configura para: recibir el mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual, establecer una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual y, cuando se determina que la tarjeta de interfaz de red escribe datos nuevos en una memoria de la máquina virtual de origen, leer los datos nuevos de la memoria de la máquina virtual de origen según la bandera de escritura sucia y escribir los datos nuevos en la memoria de la máquina virtual de origen nuevamente según la bandera de escritura sucia.
La unidad de gestión de migración de máquina virtual se configura además para enviar un mensaje para apagar la máquina virtual de origen a la tarjeta de interfaz de red física.
La tarjeta de interfaz de red física se configura para: escribir, según el mensaje recibido para apagar la máquina virtual de origen, la información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en la memoria de la máquina virtual de origen y enviar una notificación de lectura de información de estado a la máquina virtual de origen.
La máquina virtual de origen se configura además para: recibir la notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física, leer la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado y escribir la información de estado en la memoria de la máquina virtual de origen nuevamente. La unidad de gestión de migración de máquina virtual se configura además para activar una función de iteración de memoria, donde la función de iteración de memoria se usa para migrar datos en la memoria de la máquina virtual de origen a una máquina virtual de destino.
En el cuarto o quinto sistema de máquina virtual anterior, la máquina virtual de origen se configura además para notificar a la unidad de gestión de migración de máquina virtual sobre una dirección de memoria ocupada por la información de estado, de modo que la unidad de gestión de migración de máquina virtual notifica a la máquina virtual de destino sobre la dirección de memoria ocupada por la información de estado.
Además, la máquina virtual de destino adquiere la información de estado de los datos de memoria migrados según la dirección de memoria ocupada por la información de estado y restablece, según la información de estado, una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de destino.
Una persona con experiencia ordinaria en la técnica puede darse cuenta de que, en combinación con los ejemplos descritos en las realizaciones descritas en la presente memoria descriptiva, las etapas de las unidades y algoritmos se pueden implementar por hardware electrónico, software del ordenador o una combinación de ellos. Con el fin de describir, de manera clara, la intercambiabilidad entre hardware y software, lo anterior ha descrito, de forma general, las etapas y composiciones de cada ejemplo según las funciones. Si las funciones se llevan a cabo por hardware o software depende de las aplicaciones particulares y de las condiciones de limitaciones de diseño de las soluciones técnicas. Una persona con experiencia en la técnica puede usar diferentes métodos para implementar las funciones descritas para cada aplicación particular, pero no se considerará que la implementación va más allá del alcance de la presente invención.
Una persona con experiencia en la técnica podrá comprender de forma clara que, en aras de una descripción conveniente y breve, para un proceso de trabajo detallado del sistema, aparato y unidad anteriores, es preciso remitirse a un proceso correspondiente en las realizaciones anteriores del método y los detalles no se describen nuevamente en la presente memoria.
En las diversas realizaciones provistas en la presente solicitud, se debe comprender que el sistema, aparato y método descritos pueden implementarse de otras maneras. Por ejemplo, la realización del aparato descrita es meramente a modo de ejemplo. Por ejemplo, la división de unidad es meramente una división de función lógica y en la implementación real la división puede ser otra. Por ejemplo, se pueden combinar o integrar en otro sistema múltiples unidades o componentes, o algunas características se pueden ignorar o no llevar a cabo. Además, los acoplamientos mutuos representados o descritos o los acoplamientos directos o conexiones de comunicaciones se pueden implementar a través de algunas interfaces. Los acoplamientos indirectos o conexiones de comunicación entre los aparatos o unidades se pueden implementar de forma electrónica, mecánica u otras.
Las unidades descritas como partes separadas pueden o pueden no estar físicamente separadas, y las partes que se muestran como unidades pueden o pueden no ser unidades físicas, pueden estar ubicadas en una posición, o pueden distribuirse en múltiples unidades de red. Una parte de o todas las unidades se pueden seleccionar según los requisitos reales para lograr los propósitos de las soluciones de las realizaciones de la presente invención. Además, las unidades funcionales en las realizaciones de la presente invención se pueden integrar en una unidad de procesamiento, o cada una de las unidades puede existir sola físicamente, o dos o más unidades se integran en una unidad. La unidad integrada se puede implementar en forma de hardware o se puede implementar en forma de una unidad funcional de software.
Cuando la unidad integrada se implementa en la forma de una unidad funcional de software o se vende o usa como un producto independiente, la unidad integrada se puede almacenar en un medio de almacenamiento legible por ordenador. Según dicho entendimiento, las soluciones técnicas de la presente invención esencialmente, o la parte que contribuye a la técnica anterior, o todas o una parte de las soluciones técnicas se pueden implementar en forma de un producto de software. El producto de software se almacena en un medio de almacenamiento, e incluye varias instrucciones para indicar a un dispositivo de ordenador (que puede ser un ordenador personal, un servidor o un dispositivo de red) que realice alguna o todas las etapas de los métodos descritos en las realizaciones de la presente invención. El medio de almacenamiento anterior incluye: cualquier medio que pueda almacenar un código de programa como, por ejemplo, una memoria flash USB, un disco duro extraíble, una memoria de solo lectura (ROM, por sus siglas en inglés), una memoria de acceso aleatorio (RAM, por sus siglas en inglés), un disco magnético, o un disco óptico.
Las anteriores descripciones son meramente realizaciones específicas de la presente invención, pero no pretenden limitar el alcance de protección de la presente invención. Cualquier modificación o reemplazo descubierto inmediatamente por una persona con experiencia en la técnica dentro del alcance técnico descrito en la presente invención recaerá dentro del alcance de protección de la presente invención. Por lo tanto, el alcance de protección de la presente invención estará sujeto al alcance de protección de las reivindicaciones.

Claims (7)

REIVINDICACIONES
1. Un método de procesamiento de datos de memoria de máquina virtual, aplicado a un sistema de máquina virtual, en donde el sistema de máquina virtual comprende una unidad de gestión de migración de máquina virtual (30), un dispositivo anfitrión (10) y una tarjeta de interfaz de red física (20); al menos una máquina virtual (MV1, ..., MVn) se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red virtual se ejecuta en la tarjeta de interfaz de red física (20), cada máquina virtual (MV1, ..., MVn) corresponde a al menos una tarjeta de interfaz de red virtual y la tarjeta de interfaz de red física (20) lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria; y
cuando cualquier máquina virtual en el sistema de máquina virtual se migra, el método comprende:
recibir, por una máquina virtual de origen que se migrará, una notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física (20), en donde la tarjeta de interfaz de red física (20) envía la notificación de lectura de información de estado después de escribir, según un mensaje recibido para apagar la máquina virtual de origen que se envía por la unidad de gestión de migración de máquina virtual (30), información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen; y
leer, por la máquina virtual de origen, la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado, y escribir la información de estado en la memoria de la máquina virtual de origen de modo que la unidad de gestión de migración de máquina virtual (30) de la máquina virtual de origen que se migrará puede identificar un cambio en los datos en la memoria de la máquina virtual de origen y migrar la información de estado a una máquina virtual de destino.
2. El método según la reivindicación 1, en donde antes de recibir la notificación de lectura de información de estado, el método además comprende:
recibir, por la máquina virtual de origen, un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual (30);
establecer, por la máquina virtual de origen, una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual; y
cuando se determina que la tarjeta de interfaz de red física (20) escribe datos nuevos en la memoria de la máquina virtual de origen y la bandera de escritura sucia se ha establecido, leer, por la máquina virtual de origen, los datos nuevos de la memoria de la máquina virtual de origen, y escribir, por la máquina virtual de origen, los datos nuevos en la memoria de la máquina virtual de origen nuevamente.
3. El método según la reivindicación 2, en donde la lectura, por la máquina virtual de origen, de los datos nuevos de la memoria de la máquina virtual de origen, y la escritura, por la máquina virtual de origen, de los datos nuevos en la memoria de la máquina virtual de origen nuevamente comprende:
determinar, por la máquina virtual de origen, una página de memoria que está ocupada por los datos nuevos y se encuentra en la memoria de la máquina virtual de origen, leer datos en la página de memoria y escribir, por la máquina virtual de origen, los datos leídos en la página de memoria nuevamente.
4. El método según la reivindicación 2 o 3, en donde el método además comprende:
limpiar, por la máquina virtual de origen, la bandera de escritura sucia.
5. Un sistema de máquina virtual, en donde el sistema de máquina virtual comprende una unidad de gestión de migración de máquina virtual (30), un dispositivo anfitrión (10) y una tarjeta de interfaz de red física (20); al menos una máquina virtual (MV1, ..., MVn) se ejecuta en el dispositivo anfitrión, al menos una tarjeta de interfaz de red física se ejecuta en la tarjeta de interfaz de red virtual (20), cada máquina virtual (MV1, ..., MVn) corresponde a al menos una tarjeta de interfaz de red virtual, y la tarjeta de interfaz de red física (20) lee y escribe datos en una memoria de cada máquina virtual en una manera de acceso directo a la memoria; la unidad de gestión de migración de máquina virtual (30) se configura para enviar un mensaje para apagar una máquina virtual de origen a la tarjeta de interfaz de red física (20), en donde la máquina virtual de origen es una máquina virtual que se migrará; y la tarjeta de interfaz de red física (20) se configura para: escribir, según el mensaje recibido para apagar la máquina virtual de origen, información de estado de una tarjeta de interfaz de red virtual correspondiente a la máquina virtual de origen en una memoria de la máquina virtual de origen, y enviar una notificación de lectura de información de estado a la máquina virtual de origen; y
la máquina virtual de origen se configura para: recibir la notificación de lectura de información de estado enviada por la tarjeta de interfaz de red física (20), leer la información de estado de la tarjeta de interfaz de red virtual de la máquina virtual de origen de la memoria de la máquina virtual de origen según la notificación de lectura de información de estado y escribir la información de estado en la memoria de la máquina virtual de origen nuevamente de modo que la unidad de gestión de migración de máquina virtual (30) de la máquina virtual de origen que se migrará puede identificar un cambio en los datos en la memoria de la máquina virtual de origen y migrar la información de estado a una máquina virtual de destino.
6. El sistema de máquina virtual según la reivindicación 5, en donde:
la máquina virtual de origen se configura además para: recibir un mensaje para iniciar la migración de máquina virtual que se envía por la unidad de gestión de migración de máquina virtual (30), establecer una bandera de escritura sucia según el mensaje para iniciar la migración de máquina virtual y, cuando se determina que la tarjeta de interfaz de red física (20) escribe datos nuevos en la memoria de la máquina virtual de origen y la bandera de escritura sucia se ha establecido, leer los datos nuevos de la memoria de la máquina virtual de origen y escribir los datos nuevos en la memoria de la máquina virtual de origen nuevamente.
7. El sistema de máquina virtual según la reivindicación 6, en donde la máquina virtual de origen se configura además para limpiar la bandera de escritura sucia.
ES14870652T 2013-12-31 2014-12-04 Método de migración en directo de máquina virtual, método de procesamiento de datos de memoria de máquina virtual, servidor y sistema de máquina virtual Active ES2706186T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/CN2013/091131 WO2015100622A1 (zh) 2013-12-31 2013-12-31 虚拟机热迁移的方法和服务器
PCT/CN2014/093034 WO2015101128A1 (zh) 2013-12-31 2014-12-04 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统

Publications (1)

Publication Number Publication Date
ES2706186T3 true ES2706186T3 (es) 2019-03-27

Family

ID=50957869

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14870652T Active ES2706186T3 (es) 2013-12-31 2014-12-04 Método de migración en directo de máquina virtual, método de procesamiento de datos de memoria de máquina virtual, servidor y sistema de máquina virtual

Country Status (6)

Country Link
US (1) US10802870B2 (es)
EP (2) EP3540599B1 (es)
JP (1) JP6140303B2 (es)
CN (1) CN103890728B (es)
ES (1) ES2706186T3 (es)
WO (2) WO2015100622A1 (es)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
WO2015100622A1 (zh) 2013-12-31 2015-07-09 华为技术有限公司 虚拟机热迁移的方法和服务器
CN108205506B (zh) * 2013-12-31 2021-11-19 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
CN106301859B (zh) * 2015-06-09 2020-02-14 华为技术有限公司 一种管理网卡的方法、装置及系统
US10970110B1 (en) 2015-06-25 2021-04-06 Amazon Technologies, Inc. Managed orchestration of virtual machine instance migration
US10228969B1 (en) * 2015-06-25 2019-03-12 Amazon Technologies, Inc. Optimistic locking in virtual machine instance migration
CN106572047A (zh) * 2015-10-09 2017-04-19 东软集团股份有限公司 物理网络安全设备及其控制方法
US10768959B2 (en) * 2015-11-24 2020-09-08 Red Hat Israel, Ltd. Virtual machine migration using memory page hints
US9936019B2 (en) * 2016-03-16 2018-04-03 Google Llc Efficient live-migration of remotely accessed data
US10133593B1 (en) 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
US10127066B1 (en) 2016-03-31 2018-11-13 Amazon Technologies, Inc. Server synchronization using continuous block migration in provider network environments
CN108139982B (zh) 2016-05-31 2022-04-08 安华高科技股份有限公司 多信道输入/输出虚拟化
CN107465626A (zh) 2016-06-03 2017-12-12 阿里巴巴集团控股有限公司 一种虚拟机热迁移方法及装置
CN107544841B (zh) * 2016-06-29 2022-12-02 中兴通讯股份有限公司 虚拟机热迁移方法和系统
WO2018083724A1 (ja) * 2016-11-01 2018-05-11 株式会社日立製作所 仮想計算機システム及び仮想計算機のマイグレーション方法
DE102017210671A1 (de) * 2017-06-23 2018-12-27 Continental Automotive Gmbh Verfahren zum Verlagern von Datenverarbeitungsanwendungen von einer ersten Recheneinheit zu einer zweiten Recheneinheit
CN109426547B (zh) * 2017-09-04 2022-05-17 华为技术有限公司 一种虚拟机的热迁移方法、装置和系统
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
CN109388477A (zh) * 2018-10-18 2019-02-26 郑州云海信息技术有限公司 一种虚拟机动态迁移方法
CN109753346B (zh) * 2018-12-25 2021-01-01 新华三云计算技术有限公司 一种虚拟机热迁移方法及装置
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
LU101361B1 (en) * 2019-08-26 2021-03-11 Microsoft Technology Licensing Llc Computer device including nested network interface controller switches
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration
US11561821B1 (en) * 2020-05-07 2023-01-24 Amazon Technologies, Inc. Controlling placement of virtualized resources based on desirability index for host pools
US20220171645A1 (en) * 2020-11-30 2022-06-02 Red Hat, Inc. Efficient out of order request completion
US11182221B1 (en) 2020-12-18 2021-11-23 SambaNova Systems, Inc. Inter-node buffer-based streaming for reconfigurable processor-as-a-service (RPaaS)
US11782760B2 (en) 2021-02-25 2023-10-10 SambaNova Systems, Inc. Time-multiplexed use of reconfigurable hardware
US11200096B1 (en) 2021-03-26 2021-12-14 SambaNova Systems, Inc. Resource allocation for reconfigurable processors

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4756603B2 (ja) * 2006-10-10 2011-08-24 ルネサスエレクトロニクス株式会社 データプロセッサ
US7813366B2 (en) * 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
CN100489787C (zh) 2007-07-10 2009-05-20 北京大学 一种虚拟机的外存在线迁移方法
JP5028304B2 (ja) * 2008-03-11 2012-09-19 株式会社日立製作所 仮想計算機システム及びその制御方法
JP4934642B2 (ja) * 2008-06-11 2012-05-16 株式会社日立製作所 計算機システム
US8667187B2 (en) * 2008-09-15 2014-03-04 Vmware, Inc. System and method for reducing communication overhead between network interface controllers and virtual machines
US7996484B2 (en) * 2008-12-11 2011-08-09 Microsoft Corporation Non-disruptive, reliable live migration of virtual machines with network data reception directly into virtual machines' memory
CN101645832B (zh) 2009-05-07 2011-09-28 曙光信息产业(北京)有限公司 一种基于fpga的虚拟机网络数据包处理方法
US8689211B2 (en) * 2009-05-25 2014-04-01 International Business Machines Corporation Live migration of virtual machines in a computing environment
US8386731B2 (en) * 2009-09-14 2013-02-26 Vmware, Inc. Method and system for optimizing live migration of persistent data of virtual machine using disk I/O heuristics
WO2012053031A1 (en) * 2010-10-19 2012-04-26 Hitachi, Ltd. Storage apparatus and virtual port migration method for storage apparatus
CN102073462B (zh) 2010-11-29 2013-04-17 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
JP5573649B2 (ja) 2010-12-17 2014-08-20 富士通株式会社 情報処理装置
US9104459B2 (en) * 2011-01-07 2015-08-11 Red Hat Israel, Ltd. Memory change tracking during migration of virtual machine (VM) with VM-controlled assigned peripherals
US8356120B2 (en) * 2011-01-07 2013-01-15 Red Hat Israel, Ltd. Mechanism for memory state restoration of virtual machine (VM)-controlled peripherals at a destination host machine during migration of the VM
US8407182B1 (en) * 2011-01-21 2013-03-26 Symantec Corporation Systems and methods for facilitating long-distance live migrations of virtual machines
WO2012112095A1 (en) * 2011-02-18 2012-08-23 Telefonaktiebolaget Lm Ericsson (Publ) Virtual machine supervision
CN102118458A (zh) * 2011-03-10 2011-07-06 浪潮(北京)电子信息产业有限公司 一种虚拟机热迁移的方法及系统
US8533713B2 (en) * 2011-03-29 2013-09-10 Intel Corporation Efficent migration of virtual functions to enable high availability and resource rebalance
CN103064733A (zh) * 2011-10-20 2013-04-24 电子科技大学 云计算虚拟机热迁移技术
CN102457439B (zh) 2011-12-07 2014-05-28 中标软件有限公司 一种云计算系统的虚拟交换系统及其虚拟交换方法
CN102681913A (zh) * 2011-12-21 2012-09-19 中兴通讯股份有限公司 一种虚拟机到虚拟机热迁移的方法及装置
US9197489B1 (en) * 2012-03-30 2015-11-24 Amazon Technologies, Inc. Live migration of virtual machines in a hybrid network environment
CN102662751B (zh) * 2012-03-30 2016-05-11 浪潮电子信息产业股份有限公司 一种提高基于热迁移虚拟机系统可用性的方法
JP5658197B2 (ja) 2012-06-04 2015-01-21 株式会社日立製作所 計算機システム、仮想化機構、及び計算機システムの制御方法
US20140047183A1 (en) * 2012-08-07 2014-02-13 Dell Products L.P. System and Method for Utilizing a Cache with a Virtual Machine
WO2014032233A1 (zh) * 2012-08-29 2014-03-06 华为技术有限公司 虚拟机热迁移的系统和方法
CN103414769B (zh) * 2013-07-31 2017-03-01 华为技术有限公司 虚拟机热迁移的方法及物理机
US9454400B2 (en) * 2013-08-16 2016-09-27 Red Hat Israel, Ltd. Memory duplication by origin host in virtual machine live migration
WO2015100622A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 虚拟机热迁移的方法和服务器

Also Published As

Publication number Publication date
WO2015100622A1 (zh) 2015-07-09
EP3540599B1 (en) 2022-04-06
CN103890728B (zh) 2015-12-30
JP2016513308A (ja) 2016-05-12
EP3540599A1 (en) 2019-09-18
EP2942709A1 (en) 2015-11-11
WO2015101128A1 (zh) 2015-07-09
US20150309839A1 (en) 2015-10-29
US10802870B2 (en) 2020-10-13
EP2942709B1 (en) 2018-10-31
EP2942709A4 (en) 2016-06-15
JP6140303B2 (ja) 2017-05-31
CN103890728A (zh) 2014-06-25

Similar Documents

Publication Publication Date Title
ES2706186T3 (es) Método de migración en directo de máquina virtual, método de procesamiento de datos de memoria de máquina virtual, servidor y sistema de máquina virtual
US11200079B2 (en) System and method for virtual machine live migration
CN108205506B (zh) 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
US10503607B2 (en) Method and apparatus for generating virtual machine snapshot
EP3173936B1 (en) Computer system, method for accessing peripheral component interconnect express endpoint device, and apparatus
US11113089B2 (en) Sharing data via virtual machine to host device bridging
CN108139982B (zh) 多信道输入/输出虚拟化
CN104871493A (zh) 高性能计算(hpc)网络中的通信信道故障切换
US8949499B2 (en) Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
KR101983208B1 (ko) 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템
AU2012355701A1 (en) Systems and methods for safely migrating to virtualized platforms
CN103154920A (zh) 统一i/o适配器
CN109983741B (zh) 经由直接存储器访问设备在虚拟机之间传送分组
US9430399B2 (en) Multi-core online patching method and apparatus
WO2017101080A1 (zh) 处理写请求的方法、处理器和计算机
CN111988230A (zh) 虚拟机通信方法、装置、系统及电子设备
CN116185553A (zh) 数据迁移方法、装置及电子设备
KR20150081497A (ko) 네트워크 인터페이스 가상화 장치 및 방법
WO2018000195A1 (zh) 一种报文传输方法、虚拟交换机及服务器
US10437754B1 (en) Diagnostic fault management controller for distributed computing
CN104170307A (zh) 失效切换方法、装置和系统
US8655978B2 (en) Diskless PC network communication agent system
JP2007280236A (ja) バックアップ方法およびバックアッププログラム
CN104135393A (zh) 一种分布式系统拓扑维护方法和装置