ES2632512T3 - Conversión de máquinas a máquinas virtuales - Google Patents

Conversión de máquinas a máquinas virtuales Download PDF

Info

Publication number
ES2632512T3
ES2632512T3 ES07752703.4T ES07752703T ES2632512T3 ES 2632512 T3 ES2632512 T3 ES 2632512T3 ES 07752703 T ES07752703 T ES 07752703T ES 2632512 T3 ES2632512 T3 ES 2632512T3
Authority
ES
Spain
Prior art keywords
virtual
virtual machine
machine
hard disk
host
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
ES07752703.4T
Other languages
English (en)
Inventor
Michael L. Michael
William L. Scheidel
Benjamin Alan Leis
Karan Mehra
Venkatasubrahmanyam Raman
Natalia V. Varava
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2632512T3 publication Critical patent/ES2632512T3/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/4401Bootstrapping
    • 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/445Program loading or initiating
    • 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
    • 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]
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Un procedimiento de creación de una máquina (175) virtual en un hospedador (110) de máquina virtual, estando dicho hospedador de máquina virtual incluido en un entorno informatizado en una máquina (105), incluyendo dicha máquina uno o más volúmenes (115), comprendiendo dicho procedimiento de creación de una máquina (175) virtual en dicho hospedador de máquina virtual las acciones siguientes: la identificación (200) de uno o más ajustes de configuración de hardware para uno o más volúmenes de la máquina, que incluyen identificar un registro (120) de arranque y datos (125) de volumen en uno o más volúmenes de máquina (115); la creación (210) de una o más instantáneas (117) consistentes correspondientes a los datos de volumen y al registro (125) de arranque en el uno o más volúmenes (115) de máquina, en el que dicha una o más instantáneas consistentes comprenden datos (127) de volumen y un registro de arranque, respectivamente, correspondientes a los datos de volumen y al registro de arranque en el uno o más volúmenes de máquina, y en el que el registro de arranque comprendido en la una o más instantáneas consistentes se puede modificar en el hospedador de máquina virtual; el envío de una o más instrucciones al hospedador de máquina virtual para crear un archivo (140) de disco duro virtual; el envío de una instrucción (150) al hospedador de máquina virtual para hacer que el archivo de disco duro virtual sea con permisos de escritura; el envío de una o más instrucciones (155) al hospedador de máquina virtual para montar el archivo de disco duro virtual creado; la transferencia (220) de la una o más instantáneas consistentes al archivo de disco duro virtual montado; y el envío de una instrucción (165) para modificar la información operacional para la una o más instantáneas consistentes, de manera que la una o más instantáneas consistentes sean de arranque en el hospedador de máquina virtual, en el que dicha modificación comprende modificar al menos el registro de arranque comprendido en la una o más instantáneas.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Conversion de maquinas a maquinas virtuales
Existen varias maneras de distribuir diferentes tipos de recursos (software, hardware o combinaciones de los mismos) en un entorno informatizado. Desde un punto de vista de software, por ejemplo, una empresa puede instalar multiples copias de un sistema operativo (o programa de aplicacion) en multiples ordenadores diferentes y con ello distribuir una copia entre muchos sistemas. Las maneras convencionales de compartir hardware incluyen la configuracion de sistemas informaticos en una red de manera que multiples sistemas informaticos diferentes puedan acceder a otro espacio de unidad del ordenador para diversas necesidades de almacenamiento o de intercambio de archivos.
Sin embargo, los avances recientes en las capacidades de hardware (es decir, el almacenamiento presente, memoria y capacidades de procesamiento) tienen el significado que proporcionar simplemente almacenamiento convencional y/o funciones de gestion de trafico de red tiende a utilizar menos una maquina ffsica determinada. Como tal, otras maneras de distribuir recursos desde un punto de vista de software y hardware combinados ahora incluyen la instalacion de multiples sistemas informaticos virtuales en un unico sistema ffsico. Generalmente, las maquinas virtuales se pueden instalar con un caso unico de un sistema operativo particular en una parte dedicada del almacenamiento de un hospedador y con una parte asignada de una memoria hospedadora y capacidad informatica.
Debido a estas y otras caractensticas, las maquinas virtuales pueden ser distinguidas facilmente de otras maquinas virtuales e incluso del servidor hospedador en el que estan instaladas. Para otros usuarios de la red, la maquina virtual aparecena simplemente como un sistema informatico dirigible por separado, tal como cualquier otro sistema informatico ffsico de la red. Las maquinas virtuales podnan utilizarse entonces para una amplia gama de fines, tal como para utilizarse como otro servidor (por ejemplo, servidor de correo electronico o base de datos) de una red, para fines de prueba de software o hardware, como el sistema informatico principal para un cliente ligero, y asf sucesivamente.
Ademas de esta funcionalidad, las maquinas virtuales tambien pueden proporcionar el beneficio adicional de poder ser instaladas y configuradas, asf como retiradas, con bastante facilidad y en algunos casos rapidamente. Por ejemplo, un administrador de un sistema informatico hospedador particular puede recibir una solicitud para una maquina virtual, asignar manualmente los recursos apropiados en el ordenador hospedador y entonces instalar la maquina virtual solicitada. Cuando la maquina virtual ya no es necesaria, el administrador puede seleccionar manualmente uno o mas comandos para cerrar o incluso eliminar la maquina virtual en el servidor hospedador. Por consiguiente, una organizacion puede desear reducir su numero de maquinas ffsicas (servidores, ordenadores personales, etc.) al tener uno o pocos servidores hospedadores que hospedan potencialmente cientos de maquinas virtuales. Se apreciara que tal consolidacion puede proporcionar una serie de ventajas, especialmente si la organizacion puede reducir el consumo de diversos recursos y el costo de gestion de maquina, incluyendo ahorros de energfa, ahorros de temperatura/enfriamiento, ahorros de espacio y otros ahorros disponibles debido a las utilizaciones de las maquinas ffsicas reducidas.
Desafortunadamente, no es una cuestion simple consolidar maquinas ffsicas convirtiendo un numero seleccionado de sistemas informaticos ffsicos existentes a maquinas virtuales. En particular, copiar simplemente el contenido de una unidad ffsica en la particion de un servidor hospedador no sena generalmente suficiente para crear una maquina virtual utilizable. Por ejemplo, realizar una copia basica de las unidades de una maquina ffsica, mientras que la maquina ffsica se esta ejecutando podna crear incoherencias en estado de archivo (es decir, los datos no son "consistentes con la aplicacion"). Como tal, las aplicaciones que acceden datos en la maquina ffsica pueden ser incapaces de utilizar copias de los datos cuando se mueven posteriormente a una maquina virtual. Ademas, transferir simplemente tal copia a un servidor hospedador puede resultar en otras inconsistencias en el registro de sistema, o inconsistencias con diversos controladores de disco y de red, inconsistencias en los archivos binarios del sistema operativo y asf sucesivamente. Aunque existen algunos mecanismos para superar tales dificultades, los mecanismos convencionales para hacer eso normalmente implican un considerable tiempo de inactividad y gastos de recursos (tanto desde una perspectiva humana como de software).
Por ejemplo, un procedimiento para convertir una maquina ffsica implica crear una maquina virtual en un hospedador de maquina virtual desde cero. En particular, un administrador puede instalar simplemente todas las aplicaciones en la maquina ffsica en la nueva maquina virtual, transferir el sistema de archivos y los datos de aplicacion a la maquina virtual y entonces reconstruir cualquier otra carga de trabajo en la maquina virtual desde cero y/o a traves de operaciones de restauracion de aplicacion. Desde luego, este procedimiento es indeseable desde una variedad de perspectivas, y puede crear un drenaje en los recursos de una organizacion, particularmente si intenta convertir cientos de maquinas ffsicas en maquinas virtuales.
Otro procedimiento para convertir una maquina ffsica implica el uso de componentes de infraestructura bastante complicados, tales como los Servicios de implementacion automatizados ("ADS") y/o el Entorno de ejecucion previo a la instalacion ("PXE") para crear una copia transferible de los contenidos de una maquina ffsica. Generalmente, los mecanismos que utilizan este tipo de infraestructura incluyen el cierre de la maquina ffsica y el reinicio de la maquina
5
10
15
20
25
30
35
40
45
50
55
ffsica con, por ejemplo, un PXE. Esto permite al administrador iniciar la maquina ffsica sin cargar el sistema operativo innato y, por tanto, prohibir escrituras a archivos durante los procesos de copia.
Despues de copiar el contenido de la unidad ffsica, el administrador puede entonces transferir el contenido a un hospedador de maquina virtual. Esto solo puede tomar una o mas horas para gigabytes de datos. Tras la transferencia de los datos, el administrador entonces tendra que realizar una serie de cambios relativamente complicados a los datos transferidos para hacer que el contenido copiado sea de arranque como una maquina virtual. Al menos en parte debido al tiempo de inactividad asociado con la toma de la maquina ffsica que se esta convirtiendo fuera de lmea y hace que los datos sean de arranque, este procedimiento se realiza normalmente cuando se reconstruye simplemente la maquina ffsica desde cero ya que una maquina virtual es demasiado diffcil.
Por consiguiente, hay una serie de cuestiones asociadas con la conversion de maquinas ffsicas a maquinas virtuales que pueden ser dirigidas.
El documento US 2003/126202 A1 se refiere a un sistema y procedimiento para la asignacion y aprovisionamiento dinamico de servidores. Un gestor de repositorio es responsable de aprovisionar y gestionar de manera segura y eficiente imagenes de servidor en un dispositivo de almacenamiento. Esto permite que un administrador instale el software una vez de manera que pueda ser compartido por todos los servidores. En particular, el administrador puede escoger y elegir entre una base de software instalada para crear una imagen de servidor maestro. Una vez definida, esta imagen de servidor se puede replicar y configurar rapidamente utilizando herramientas automatizadas para crear imagenes para un conjunto completo de servidores. Cada servidor tiene asociado con el mismo un gestor de servidores que es responsable de reiniciar o encender y apagar el servidor segun las indicaciones de un gestor de carga. El gestor de carga es responsable de asignar servidores e imagenes para cumplir los requisitos del centro de datos. El software que se va a ejecutar se instala solo una vez, independientemente de cuantos servidores ejecuten finalmente el software. Esta instalacion maestra se denomina instantanea. Las instantaneas de software se pueden combinar para crear una imagen de servidor maestra excelente denominada una clase de servidor. Cada clase de servidor es una lista de instantaneas que finalmente forman la imagen espedfica o "personalidad" de un servidor. Las imagenes de servidor son generadas de una manera automatizada a partir de una clase de servidor. Cuando arranca un servidor, monta un caso como su sistema de archivos rafz que le proporciona una personalidad. Un cargador de arranque primero se comunica con el gestor asignado del servidor para aprender la ID de servidor unico del servidor y otros detalles de configuracion. El cargador de arranque identifica entonces los recursos del sistema disponibles en el servidor, tales como el tipo y la velocidad de CPU, memoria disponible, etc. y envfa esta informacion al controlador de arranque del sistema DSAP. El cargador de arranque recibe la respuesta que identifica el caso y la configuracion de red apropiadas para el servidor, carga la imagen, monta el sistema de archivos rafz especificado y pasa el control al sistema operativo de la imagen. El cargador de arranque es un programa de software que es unico para la familia de procesadores del servidor, la interfaz de red y la interfaz de consola.
El documento US 2005/125513 A1 se refiere a una gestion de sistema basada en cache. Un Colectivo gestiona sistemas manipulando aparatos virtuales, encapsulando cada uno un estado de sistema. Los repositorios distribuidos almacenan por separado los VA y los datos de usuario. Un usuario enchufa un dispositivo de almacenamiento portatil que se pueda arrancar que implementa un transceptor de VA (VAT) en un ordenador hospedador. El VAT, que comprende un gestor, un cliente de cache y un monitor de maquina virtual (VMM), autentica al usuario, recupera una copia de la version mas reciente de un VA suscrito del repositorio de red apropiado, obtiene datos de usuario y hace una copia de seguridad de manera automatica de los datos de usuario a traves de la red en segundo plano mientras se ejecuta el VA suscrito.
El objetivo de la presente invencion consiste en proporcionar un procedimiento mejorado para crear una maquina virtual en un hospedador de maquina virtual, asf como un producto de programa informatico correspondiente. Este objetivo se resuelve con la materia objeto de las reivindicaciones independientes.
Las realizaciones preferentes estan definidas por las reivindicaciones dependientes.
Las implementaciones de la presente invencion resuelven uno o mas problemas con sistemas, procedimientos y productos de programas informaticos configurados para convertir eficientemente maquinas ffsicas a maquinas virtuales. En particular, las implementaciones de la presente invencion permiten que los datos de volumen de la maquina ffsica se copien rapidamente, se transfieran y se hagan de arranque, tal como en un hospedador de maquina virtual (u otro sistema informatico apropiado), sin necesariamente tener que dejar la maquina ffsica fuera de lmea. En una implementacion, por ejemplo, uno o mas escritores de aplicaciones (por ejemplo, a traves de un servicio de copia de sombra de volumen) pueden ser utilizados para crear una instantanea consistente con aplicacion (y/o sistema de archivos) de uno o mas volumenes de maquina ffsica mientras uno o mas volumenes permanecen en lmea. La(s) instantanea(s) puede(n) entonces transferirse utilizando medios de transferencia eficientes (por ejemplo, copia a nivel de bloque) a un archivo de disco duro virtual en un servidor hospedador. La informacion operativa (por ejemplo, datos de arranque, registros y archivos binarios del sistema, etc.) asociada con los datos de instantanea transferidos se puede modificar en el hospedador de maquina virtual para hacer, con ello, que los volumenes de instantanea transferidos sean de arranque.
Por ejemplo, un procedimiento ejemplar segun una implementacion de la presente invencion desde la perspectiva de
5
10
15
20
25
30
35
40
45
50
55
una maquina ffsica de convertir una maquina ffsica a una maquina virtual sin incurrir en un tiempo de inactividad considerable puede implicar la identificacion de uno o mas ajustes de configuracion de hardware para uno o mas volumenes de una maquina ffsica. El procedimiento tambien puede implicar la creacion de una o mas instantaneas consistentes que corresponden a uno o mas volumenes de maquinas ffsicas. Ademas, el procedimiento puede implicar el envfo de una o mas instantaneas a un archivo de disco duro virtual montado. Ademas, el procedimiento puede implicar el envfo de un registro de arranque para una o mas instantaneas consistentes al archivo de disco duro virtual montado. En tal caso, el registro de arranque puede formar parte de la informacion operativa para una o mas instantaneas consistentes que pueden modificarse (o crearse desde cero, segun sea necesario) en el hospedador de maquina virtual.
Ademas, otro procedimiento ejemplar segun una implementacion de la presente invencion desde la perspectiva de un hospedador de maquina virtual de convertir una maquina ffsica a una maquina virtual puede implicar crear un archivo de disco duro virtual que tenga un tamano de archivo. El procedimiento tambien puede implicar montar el archivo de disco duro virtual en un hospedador de maquina virtual. En tal caso, el archivo de disco duro virtual puede parecer como un disco ffsico accesible a un sistema operativo. Ademas, el procedimiento puede implicar recibir una o mas instantaneas consistentes correspondientes a uno o mas volumenes de maquina ffsica. Ademas, el procedimiento puede implicar la modificacion de informacion operativa para una o mas instantaneas consistentes. Como tal, la una o mas instantaneas consistentes pueden hacerse apropiadas para un sistema operativo en el hospedador de maquina virtual, tal como a traves de cambios en los registros de arranque, controladores, archivos binarios del sistema operativo, registros de sistema y/o preferencias de configuracion. Todavfa mas, el procedimiento puede implicar retirar el montaje del archivo de disco duro virtual. Por lo tanto, el archivo de disco duro virtual puede ser inaccesible como un disco ffsico, pero, por el contrario, puede arrancar como una maquina virtual.
Este Sumario esta proporcionado para introducir una seleccion de conceptos en una forma simplificada que esta descrita, ademas en la Descripcion detallada. Este Sumario no pretende identificar caracteffsticas clave o caracteffsticas esenciales de la materia objeto reivindicada, ni pretende utilizarse como ayuda para determinar el ambito de la materia objeto reivindicada.
Caracteffsticas y ventajas adicionales de implementaciones ejemplares de la invencion se expondran en la descripcion que sigue, y en parte seran evidentes a partir de la descripcion, o pueden ser aprendidas mediante la practica de tales implementaciones ejemplares. Las caracteffsticas y ventajas de tales implementaciones pueden realizarse y obtenerse mediante los instrumentos y las combinaciones particularmente senalados en las reivindicaciones adjuntas. Estas y otras caracteffsticas seran mas completamente evidentes a partir de la descripcion siguiente y de las reivindicaciones adjuntas, o pueden ser aprendidas mediante la practica de tales implementaciones ejemplares como se expone a continuacion en el presente documento.
Breve descripcion de los dibujos
Con el fin de describir la manera en que se pueden obtener las ventajas mencionadas anteriormente y otras ventajas y caracteffsticas de la invencion, se hara una descripcion mas particular de la invencion brevemente descrita anteriormente haciendo referencia a realizaciones espedficas de la misma que se ilustran en los dibujos adjuntos. Al entender que estos dibujos representan solo realizaciones ffpicas de la invencion y, por lo tanto, no deben considerarse limitativos de su ambito, la invencion se describira y explicara con especificidad y detalle adicionales a traves del uso de los dibujos adjuntos en los que:
la figura 1A ilustra un diagrama esquematico de vision de conjunto segun una implementacion de la presente invencion en la que se toman una o mas instantaneas de uno o mas volumenes de disco ffsico y se crean uno o mas archivos de disco duro virtual en un hospedador de maquina virtual;
la figura 1B ilustra el diagrama esquematico de vision de conjunto de la figura 1A, en el que los datos de una o mas instantaneas del volumen o volumenes de disco ffsico se transfieren al archivo de disco duro virtual creado utilizando mecanismos de transferencia eficaces;
la figura 1C ilustra los diagramas esquematicos de vision de conjunto de las figuras 1A-1B, en los que el archivo de disco duro virtual que contiene los datos de instantanea transferidos se modifica para crear una maquina virtual de arranque segun una implementacion de la presente invencion; y
la figura 2 ilustra diagramas de flujo de procedimientos desde la perspectiva de una maquina ffsica y de un hospedador de maquina virtual para convertir una o mas maquinas en una o mas maquinas virtuales correspondientes.
Descripcion detallada
La presente invencion se extiende a sistemas, procedimientos y productos de programas informaticos configurados para convertir eficientemente maquinas ffsicas a maquinas virtuales. En particular, las implementaciones de la presente invencion permiten que los datos de volumen de maquina ffsica se copien, se transfieran y se hagan de arranque rapidamente, tal como en un hospedador de maquina virtual (u otro sistema informatico apropiado), sin necesariamente tener que desconectar la maquina ffsica. En una implementacion, por ejemplo, se pueden utilizar uno o mas escritores de aplicaciones (por ejemplo, a traves de un servicio de copia de sombra de volumen) para
5
10
15
20
25
30
35
40
45
50
55
60
crear una instantanea consistente con aplicacion (y/o sistema de archivos) de uno o mas volumenes de maquina ffsica mientras uno o mas volumenes permanecen en lmea. La(s) instantanea(s) puede(n) entonces transferirse utilizando medios de transferencia eficaces (por ejemplo, copia a nivel de bloque) a un archivo de disco duro virtual en un servidor hospedador. La informacion operativa (por ejemplo, datos de arranque, registros y archivos binarios del sistema, etc.) asociados con los datos de instantanea transferidos se pueden modificar en el hospedador de maquina virtual para hacer que los volumenes de instantanea transferidos sean de arranque.
Por consiguiente, las implementaciones de la presente invencion pueden proporcionar ventajas tales como una conversion de maquina ffsica a virtual de “un toque”, relativamente rapida, de una manera que puede evitar el tiempo de inactividad de la maquina ffsica. Ademas, las implementaciones de la presente invencion permiten una conversion de maquina ffsica a virtual de “un toque” confiable, ya que la maquina convertida sera consistente con el hospedador de maquina virtual. Como se podra entender mas completamente a partir de la siguiente memoria descriptiva y reivindicaciones, tales conversiones pueden realizarse con cualquier numero de componentes y modulos adecuados. Por ejemplo, las implementaciones de la presente invencion pueden incluir el uso de componentes y mecanismos en un Servicio de copia de sombra de volumen ("VSS") para crear instantaneas consistentes con aplicacion (y/o sistema de archivos). Tales componentes pueden crear una o mas instantaneas consistentes (o imagenes de punto en el tiempo) de uno o mas volumenes de maquina ffsica que se ejecuta durante los procesos de instantanea.
Ademas, las implementaciones de la presente invencion pueden incluir el uso de un Servicio de disco de volumen ("VDS") y/o componentes relacionados. En general, un vDs (o componentes relacionados) incluye plataformas para crear y configurar volumenes en discos ffsicos. Ademas, las implementaciones de la presente invencion incluyen el uso de un "generador de imagenes de disco", y en algunos casos, el uso de un "montaje de imagen". Generalmente, un generador de imagenes de disco incluye componentes y/o modulos configurados para crear una copia basada en bloques (o bloques de bytes) de un disco ffsico o volumen dando una ubicacion de inicio y numero de bytes (o bloques de bytes) para copiar. Por el contrario, una herramienta de montaje de imagenes comprende uno o mas componentes y/o modulos configurados para tomar, por ejemplo, un archivo de disco duro virtual como entrada, y montar el archivo de disco duro virtual en el sistema de archivos para exponer el archivo como un disco ffsico. Este disco ffsico expuesto puede estar accesible como cualquier otro disco ffsico puede ser accesible para un sistema operativo, que incluye la capacidad de tener datos escritos en su volumen(s).
Las implementaciones de la presente invencion incluyen ademas el uso de un archivo de disco duro virtual (archivo de "VHD") en un hospedador de maquina virtual, donde el archivo de VHD comprende un disco ffsico y uno o mas volumenes de disco ffsico gestionados (y accesibles dentro) por una o mas Maquinas Virtuales ("VM"). Aunque los terminos "maquina virtual", "hospedador de maquina virtual" y "archivo de VHD" se usan en algunos entornos de MICROSOFT, se apreciara que la referencia en el presente documento a componentes de MICROSOFT (y/o componentes de SERVIDOR de WINDOWS) es solamente ejemplar. En particular, se apreciara despues de leer esta memoria descriptiva y reivindicaciones que los componentes, modulos y/o mecanismos descritos en el presente documento se pueden encontrar y practicar en una amplia gama de entornos operativos que implementan maquinas virtuales o tales entidades relacionadas.
Haciendo referencia ahora a la figura 1A, la figura ilustra un diagrama esquematico de vision de conjunto de un entorno 100 informatizado ejemplar en el que la maquina 105 ffsica (por ejemplo, un ordenador personal, un servidor ffsico, etc.) puede convertirse en una maquina virtual hospedada en un hospedador 110 de maquina virtual. A un nivel elemental, convertir una maquina ffsica (por ejemplo, 105) a una maquina virtual (por ejemplo, 175, la figura 1C) puede implicar tomar una instantanea de uno o mas volumenes de maquina ffsica (por ejemplo, 115), crear un/unos archivo(s) de disco duro de maquina virtual en un hospedador de maquina virtual, transferir la/las instantanea(s) al archivo de VHD y entonces hacer uno o mas de los volumenes de instantanea transferidos en el archivo de VHD de arranque como una maquina virtual (por ejemplo, 175). Por lo tanto, se puede apreciar que hay una serie de diferentes procesos de preparacion y pos-operacion que pueden implementarse para hacer que la conversion se produzca de manera eficiente.
En al menos una implementacion, por ejemplo, el proceso de conversion puede iniciarse mediante el uso del modulo 130 de conversion (es decir, que puede incluir uno o mas modulos en la maquina 105 y/o el hospedador 110), que inicia las operaciones de instantanea de uno o mas volumenes en el/los disco(s) ffsico(s) de la maquina ffsica 105 (por ejemplo, el volumen 115). En general, el modulo 130 de conversion puede comprender cualquiera de los escritores y solicitantes apropiados configurados para crear una copia de sombra consistente de un volumen de disco ffsico. Como se ha mencionado anteriormente, por ejemplo, tales escritores y solicitantes pueden proporcionarse en un servicio de copia de sombra de volumen. De este modo, por ejemplo, el modulo 130 de conversion puede comenzar el proceso de conversion enviando una senal a todos los escritores de aplicaciones en cada uno o mas volumenes de un disco ffsico (por ejemplo, el volumen 115) para iniciar las operaciones de instantanea de sus datos. Como se muestra, por ejemplo, el volumen 115 incluye al menos datos 125 de volumen, asf como el registro 120 de arranque.
Al recibir este mensaje desde el modulo 130 de conversion, cada escritor de aplicaciones en el volumen 115 puede vaciar sus datos en memoria a un disco ffsico, y/o congelar cualquier sistema de archivos o diario de volumen. Para las aplicaciones que no utilizan un escritor de aplicaciones, el modulo 130 de conversion puede instruir (por ejemplo,
5
10
15
20
25
30
35
40
45
50
55
60
de manera predeterminada o por un comando de un usuario o administrador) para cerrar la aplicacion y, de este modo, asegurar que no se hacen escrituras durante la instantanea. Por consiguiente, la figura 1A muestra que el modulo 130 de conversion puede crear entonces una unica instantanea de punto en el tiempo (es decir, copia) de todos los datos de volumen en el volumen 115. Por ejemplo, la figura 1A muestra que el modulo 130 de conversion ha creado una instantanea 117 de volumen 115 (es decir, el "volumen de instantanea"), donde la instantanea 117 en este caso comprende datos 127 de volumen y registro 120 de arranque.
Se apreciara que se pueda realizar una serie de optimizaciones cuando se toma la instantanea o se realizan operaciones de instantanea (y copiado) para asegurar que los datos se copian y se transfieren de manera eficiente. Por ejemplo, el modulo 130 de conversion puede identificar que partes del volumen 115 se estan utilizando (es decir, incluyen datos) y que partes estan libres. De esta manera, las operaciones de instantanea pueden estar configuradas unicamente para copiar las partes utilizadas del/de los volumen(es) o disco ffsico, en lugar del volumen completo o disco ffsico completo. Ademas, las operaciones de instantanea pueden estar configuradas ademas para evitar ciertos archivos que podnan ser menos utiles (o no utiles en absoluto) en un entorno virtualizado.
En particular, por ejemplo, las operaciones de instantanea pueden estar configuradas ademas para identificar archivos tales como los incluidos en un area diferencial de volumen, archivos de pagina, grupos defectuosos, archivos de hibernacion, y asf sucesivamente. De este modo, estos archivos pueden evitarse al crear una instantanea 117 o realizar la transferencia de bloque de bytes y reducir ademas la cantidad de datos que necesitan ser transferidos al hospedador 110 de maquina virtual. Se apreciara que estos tipos de archivos y optimizaciones puedan variar facilmente para otros tipos de archivos utilizados o calculos de espacio libre y similares en una amplia variedad de entornos operativos.
En cualquier caso, y a modo de explicacion, los datos 127 en la instantanea 117 difieren generalmente de los datos 125 originales en volumen 115 principalmente debido a cambios en tiempo durante (y/o despues de) operaciones de instantanea. Por ejemplo, puesto que la maquina 105 ffsica sigue ejecutandose durante las operaciones de instantanea, los datos 125 de volumen pueden seguir cambiando, como si un usuario continuara creando escrituras a ciertos datos de aplicacion. De este modo, los datos 127 de volumen (es decir, "datos 127 de volumen") representan un punto en el tiempo, consistente previamente a los datos 125 en el volumen 115, que es esencialmente el punto en el tiempo en el que el modulo 130 de conversion inicio procesos de instantanea.
Sin embargo, la figura 1A muestra tambien que el registro 120 de arranque es el mismo en la instantanea 117 como sucede con los datos de ejecucion del volumen 115. Es decir, se apreciara que los registros de arranque (por ejemplo, 120) probablemente no cambiaran durante el proceso de instantanea ya que las aplicaciones normalmente no tienen acceso al registro de arranque. En particular, los registros de arranque generalmente se cambian por el sistema operativo, y normalmente en una base no frecuente, en todo caso. Como tal, la figura 1A muestra que el registro 120 de arranque en este caso es el mismo que era antes de las operaciones de instantanea.
Antes, durante o poco despues de crear la instantanea 117, el modulo 130 de conversion tambien puede configurar uno o mas archivos 140 de disco duro virtual ("VHD") en el hospedador 110 de maquina virtual que corresponde al disco ffsico de la maquina 150 ffsica (no mostrado). Por ejemplo, la figura 1A muestra que el modulo 130 de conversion envfa el mensaje 150 para crear un archivo 140 de disco duro virtual con permisos de escritura. En una implementacion, esto tambien puede incluir enviar un mensaje primero para crear un archivo de VHD (por ejemplo, 140) de un tamano fijo particular y despues enviar un mensaje independiente para que el archivo de vHd se pueda escribir. (El modulo 130 de conversion tambien puede enviar un mensaje para crear (con permisos de escritura o sin permisos de escritura) un archivo de VHD de tamano dinamico, que crece en tamano con datos agregados).
Generalmente, cada archivo de VHD puede estar configurado para corresponder a un unico disco ffsico de un sistema informatico y cada volumen dentro de un disco ffsico puede estar representado en clase en el archivo de VHD creado recientemente. Un archivo de VHD, sin embargo, puede en algunos casos representar un volumen unico, en lugar de un disco ffsico completo. Sin embargo, en el ejemplo de disco ffsico en el que un disco ffsico tiene multiples volumenes (aunque solo se muestra un volumen 115 unico), el nuevo VHD tambien puede contener datos correspondientes a multiples volumenes. Desde luego, hay cierta flexibilidad a este respecto. Por ejemplo, si un usuario de la maquina 105 ffsica tuviera un volumen que se extendiera a traves de multiples particiones (y/o volumenes reflejados, etc.), el usuario podna decidir dedicar unicamente una particion a los datos de instantanea en el archivo de disco duro virtual de destino. De manera similar, el usuario puede decidir transferir unicamente un volumen de un disco ffsico que comprende multiples volumenes a un archivo de disco duro virtual.
De esta manera, el tamano del archivo de VHD sera generalmente un tamano que es al menos tan grande como sea necesario con respecto a los datos de fuente transferida (por ejemplo, disco ffsico, espedficamente volumen de disco ffsico, datos dentro del disco ffsico, etc.). Como tal, se apreciara que las tecnicas del presente documento tambien pueden utilizarse adicionalmente cuando se duplica una maquina virtual existente en un espacio de almacenamiento mas grande. Por ejemplo, un administrador, al identificar que las capacidades de almacenamiento de volumen de una maquina virtual estan disminuyendo, puede crear archivos de VHD adicionales, mas grandes, instantaneas de los datos de maquina virtual y esencialmente “revirtualizar” la maquina virtual transfiriendo (por ejemplo, copiando) sus datos de instantanea en el nuevo archivo de VHD utilizando los mismos procesos ya descritos.
5
10
15
20
25
30
35
40
45
50
55
60
De esta manera, las implementaciones de la presente invencion incluyen no solo conversiones de maquina "ffsica a virtual", sino tambien conversiones de maquina "virtual a virtual". En particular, y en algunas circunstancias, las implementaciones de la presente invencion tambien pueden denominarse mas generalmente como convertir una "maquina" a una "maquina virtual". Es decir, una "maquina" puede entenderse que incluye tanto sistemas informaticos “ffsicos” (por ejemplo, un ordenador de mesa con hardware y sistema(s) operativo(s) asociados) como sistemas informaticos "virtuales" (por ejemplo, un sistema informatico instalado en un hospedador de maquina virtual como un/unos sistema(s) informatico(s) unico(s)).
En cualquier caso, al crear un archivo 140 de disco duro virtual, un modulo 130 de conversion montara el archivo 140 como un disco ffsico, de manera que el archivo 140 pueda recibir los datos de la instantanea 117, por ejemplo, a traves de la comunicacion de red. (Se apreciara que, en algunas implementaciones descritas en el presente documento, el montaje puede incluso no ser necesario.) De este modo, la figura 1A tambien muestra que el modulo 130 de conversion envfa el mensaje 155 para montar el archivo 140 de disco duro virtual. En implementaciones adicionales o alternativas, el mensaje 155 puede incluir una instruccion para montar el archivo 140 de VHD en cualquier hospedador 110 de maquina virtual, en la maquina 105 ffsica que se convierte, o en cualquier lugar donde haya conectividad de red entre la maquina en la que esta montado el archivo 140 de VHD y la maquina ffsica que se convierte (es decir, 105 en este caso).
Parte del archivo 140 de montaje puede incluir asociar el archivo con uno o mas identificadores de dispositivo, tales como la ID de dispositivo de un disco ffsico. Por ejemplo, el hospedador 110 de maquina virtual podffa ser instruido para montar el archivo 140 de disco duro virtual de manera que sea identificable a traves de una ruta de unidad como "\\.\device\Harddisk145\." En particular, la figura 1B muestra que el VHD 140 es identificable como "unidad 145 de disco". A lo largo de lmeas similares, el modulo 130 de conversion tambien puede identificar un identificador de dispositivo (y/o puntos de montaje, por ejemplo) para cada instantanea (por ejemplo, 117). En ultima instancia, el modulo 130 de conversion puede utilizar los identificadores de dispositivo identificados para cualquier instantanea y para cualquier archivo de VHD correspondiente para transferir contenidos de instantanea.
Generalmente, el modulo 130 de conversion puede transferir los contenidos de instantanea 117 utilizando cualquier numero de mecanismos de transferencia de datos. En una implementacion, por ejemplo, el modulo 130 de conversion puede transferir la instantanea 117 byte por byte en el archivo 140 a traves de la unidad 145 de disco. Sin embargo, en implementaciones adicionales o alternativas, el modulo 130 de conversion puede transferir la instantanea 117 al archivo 140 identificando y transfiriendo "bloques de bytes". En general, los bloques de bytes comprenden una secuencia fija (de cualquier tamano arbitrario) de bytes individuales. En al menos una implementacion, la transferencia de bloques de bytes, en lugar de bytes individuales, puede aumentar drasticamente la velocidad mediante la cual la instantanea 117 puede ser transferida a traves de una red.
Por ejemplo, varios gigabytes de datos que normalmente pueden tomar varias horas para transferirse al hospedador 110 de maquina virtual en protocolos de transferencia de red convencional pueden ser transferidos en algunos casos en pocos minutos con mecanismos de transferencia de bloques de bytes. En cualquier caso, la figura 1B muestra que el modulo 130 de conversion transfiere en este caso bytes (o bloques de bytes) "1601", "1602", etc. y transfiere estos bytes/bloques de bytes directamente al archivo 140 de disco duro virtual con permisos de escritura a traves de la unidad 145 de disco. Como se muestra en la figura 1B, el archivo 140 de disco duro virtual puede tener todos los datos 120 de arranque, e incluira otros datos 127 de volumen capturados en la instantanea 117, una vez finalizada la transferencia de datos.
A pesar de la transferencia de datos, el archivo 140 de disco duro virtual puede no necesariamente ser de arranque en el hospedador 110 de maquina virtual, ya que los datos de arranque y controladores probablemente no sean utiles en el contexto del hospedador 110 de maquina virtual. Una de las razones es que el "hardware virtual" que existe en el entorno de maquina virtual (y/o dentro del hospedador 110 de maquina virtual) puede no ser el mismo que el hardware para la maquina 105 ffsica. Por ejemplo, tales componentes como el nucleo y la Capa de abstraccion de hardware ("HAL") en la maquina 105 ffsica puede basarse, por ejemplo, en un sistema de procesador doble. Ademas, el hospedador 110 de maquina virtual puede emular diferentes controladores de tarjeta de red, arquitectura del procesador, discos ffsicos (por ejemplo, almacenamiento unido a la maquina), identificadores de disco ffsico, controladores del sistema operativo y controladores de disco a las maquinas virtuales hospedadas, que pueden no encontrarse de otra manera en la maquina fuente que se convierte (por ejemplo, la maquina 105 ffsica). Tales diferencias probablemente tambien existan al convertir un volumen de disco ffsico desde dentro del hospedador virtual a una maquina virtual.
Como resultado, los datos 120 de arranque transferidos podffan basarse en caracteffsticas del sistema operativo en la maquina 105 ffsica que no se aplican necesariamente dentro del entorno virtualizado apropiado en el hospedador 110 de maquina virtual. Estas y otras razones significan que un administrador puede necesitar hacer una serie de modificaciones diferentes, dependiendo del/de los entorno(s) operativo(s) particulares. Por consiguiente, el modulo 130 de conversion tambien puede modificar el archivo 140 de disco duro virtual para que sea de arranque en el hospedador 110 de maquina virtual. Esto puede incluir, en algunos casos, instrucciones para actualizar el nucleo y la HAL (y otros controladores y configuraciones de registro) para que se cree la maquina virtual, basandose en los datos de instantanea.
5
10
15
20
25
30
35
40
45
50
55
60
De esta manera, por ejemplo, la figura 1C muestra que el modulo 130 de conversion envfa tambien la solicitud 165 y los argumentos correspondientes al hospedador 110 de maquina virtual para modificar la informacion operacional. (En algunos casos, estas modificaciones a la informacion operacional de la maquina virtual (por ejemplo, el sector de arranque y la informacion del registro) pueden incluso hacerse en la maquina ffsica (antes de ser transferidos dentro de un archivo de VHD)). En una implementacion, esto puede incluir el modulo 130 de conversion que examina el registro de arranque de la instantanea 117 de volumen y que sustituye los datos 120 de arranque previamente transferidos por nueva informacion de arranque (por ejemplo, informacion de arranque modificada o nueva informacion de arranque desde cero) basandose en la nueva configuracion de disco y volumen de la maquina virtual. En otra etapa, el modulo 130 de conversion tambien puede examinar la informacion de registro transferida (no mostrada) de la instantanea 117 de volumen, y actualizar la informacion de registro transferida de una manera apropiada para la maquina 110 virtual, basandose en el nuevo hardware y controladores que existen en el hospedador 110 de maquina virtual.
Tal actualizacion tambien puede incluir el cambio de los archivos binarios del sistema, tales como los controladores de nucleo y HAL, desde la configuracion de hardware de procesador multiple hasta un procesador unico. Ademas, dicha actualizacion puede incluir la adicion de informacion de identidad de ordenador y unidad unica para el hospedador 110 de maquina virtual, asf como cambiar la informacion de registro para alojar los controladores de red apropiados, controladores de almacenamiento y asf sucesivamente. Tal actualizacion puede incluir ademas la sustitucion de controladores para dispositivos ffsicos por controladores para dispositivos virtuales, que deshabilitan controladores para hardware en el que no existe un dispositivo virtual correspondiente en el entorno virtual y que deshabilitan servicios y aplicaciones que dependen de dispositivos en los que no hay ningun dispositivo virtual correspondiente en el entorno virtual.
Ademas, el modulo 130 de conversion puede crear ademas estos y/u otros valores de configuracion apropiados para la maquina virtual prevista (por ejemplo, 175), de manera que la maquina virtual resultante (por ejemplo, 175) opere con las mismas preferencias (por ejemplo, memoria, CPU, etc.) que la maquina 105 ffsica original. A lo largo de estas lmeas, un administrador del hospedador 110 de maquina virtual tambien puede (o alternativamente) modificar estas preferencias para la maquina virtual resultante. Ademas, el administrador puede incluso crear tal informacion operacional (es decir, valores de configuracion, preferencias, etc.) desde cero. En cualquier caso, se apreciara que una serie de entidades pueden hacer cualquier numero de cambios de configuracion apropiados para asegurar que la maquina virtual resultante sea de arranque y operara correctamente en la residencia de maquina virtual (por ejemplo, hospedador 110 de maquina virtual).
Despues de modificar/crear apropiadamente el registro de arranque apropiado (es decir, de 120 a 123), la informacion de registro del sistema, informacion del controlador y/u otra informacion de configuracion o preferencia, el modulo 130 de conversion entonces puede retirar (es decir, “desmontar") el montaje del archivo 140 de disco duro virtual, de manera que ya no sea accesible como una unidad. Por ejemplo, la figura 1C muestra que el modulo 130 de conversion envfa el mensaje 170 al hospedador 110 de maquina virtual, que instruye al hospedador 110 de maquina virtual para que retire el montaje del archivo 140 de disco duro virtual 140. Despues de retirar este montaje, el/los archivo(s) 140 de disco duro virtual puede utilizarse como maquina 175 virtual, cuyos datos son esencialmente identicos a los datos de volumen 115 en el momento en que se iniciaron las operaciones de instantanea.
En particular, los datos dentro del/de los volumen(es) gestionados por la nueva maquina 175 virtual son consistentes en todos los aspectos apropiados (por ejemplo, consistentes con la aplicacion, consistentes con el sistema de archivos y/o consistentes con el impacto, etc.). En consecuencia, un usuario anterior de la maquina 105 ffsica podra arrancar ahora la maquina 175 virtual en el hospedador 110 de maquina virtual y utilizar la maquina virtual (que incluye el acceso a los datos anteriores) como si (o mas optimamente que si) el usuario estuviera utilizando una maquina 105 ffsica. Ademas, se apreciara que los archivos de VHD pueden generalmente ser portatiles. Por ejemplo, el usuario final puede transferir la maquina 175 virtual a cualquier ubicacion deseada (es decir, otro hospedador de maquina virtual) en al menos una implementacion simplemente transfiriendo el/los archivo(s) de maquina virtual (por ejemplo, archivo(s) de VHD, etc.) asociado(s) con la maquina 175 virtual a la ubicacion deseada y realizar cualquier actualizacion de informacion operacional necesaria.
En otra implementacion, el uno o mas archivos de VHD (por ejemplo, 140) pueden incluso estar creados en la propia maquina 105 ffsica y luego enviados/transferidos al hospedador de maquina virtual apropiado (por ejemplo, 110). Por ejemplo, un usuario en la maquina 105 ffsica puede crear un archivo de VHD (por ejemplo, 140) en la maquina ffsica y transferir el contenido de instantanea al archivo de VHD para los datos de interes en la maquina ffsica. Esta es al menos una manera en la que el usuario puede evitar montar el archivo de VHD (es decir, en el hospedador 110 de maquina virtual), si se desea. En cualquier caso, el usuario puede entonces enviar/transferir el archivo de VHD y el contenido de instantanea correspondiente a un destino apropiado (por ejemplo, el hospedador 110 de maquina virtual) y cambiar la informacion operacional correspondiente en el destino. Alternativamente, el usuario puede incluso cambiar la informacion operacional para el archivo de VHD y el contenido de instantanea en la fuente (por ejemplo, la maquina 105 ffsica) antes de enviar el archivo de VHD y el contenido de instantanea hacia el nuevo destino.
En algunos casos, en lugar de crear un "archivo" de VHD como tal, un modulo (por ejemplo, el modulo 130 de conversion) podffa estar configurado para transmitir desde la memoria los datos de instantanea y metadatos de VHD
5
10
15
20
25
30
35
40
45
50
55
60
creados en la maquina 105 ffsica en partes (por ejemplo, bloque de bytes) efectivas para el transporte. Los datos que se transmitiran tambien pueden formatearse en un formato de VHD segun las especificaciones de formato/contenido de VHD apropiados. De este modo, despues de transferirse al destino (por ejemplo, el hospedador 110 de la maquina virtual), el flujo se puede guardar entonces como un archivo de VHD, ya que los datos transmitidos se generaron en formato de VHD. Esta es incluso otra manera de evitar el montaje del archivo de VHD.
Por consiguiente, las figuras 1A-1C ilustran una serie de esquemas y componentes de vision de conjunto que pueden utilizarse segun las implementaciones de la presente invencion para crear una instantanea de datos de volumen de maquina ffsica y crear una nueva maquina virtual a partir de esos datos. Ademas de lo anterior, las implementaciones de la presente invencion tambien se pueden describir en terminos de diagramas de flujo de procedimientos que comprenden una o mas acciones para lograr un resultado particular. Por ejemplo, la figura 2 ilustra diagramas de flujo de procedimientos desde la perspectiva de la maquina 105 ffsica y del hospedador 110 de maquina virtual para convertir una maquina, tal como una maquina ffsica o una maquina virtual diferente, a una maquina virtual. Los procedimientos de la figura 2 se describen a continuacion con respecto a los componentes en los mecanismos de las figuras 1A a 1C.
Por ejemplo, la figura 2 muestra que un procedimiento desde la perspectiva de la maquina 105 ffsica de convertir una maquina ffsica a una maquina virtual en un hospedador de maquina virtual sin incurrir en tiempo de parada considerable en uno o mas volumenes de maquinas ffsicas puede comprender la accion 200 de identificar configuraciones de hardware de la maquina ffsica. La accion 200 incluye identificar uno o mas ajustes de configuracion de hardware para uno o mas volumenes de una maquina. Por ejemplo, la figura 1A muestra el modulo 130 de conversion, que puede identificar ajustes de configuracion de hardware (y/o software) en el volumen 115 antes de iniciar los procesos de instantanea. Esto puede incluir identificar el registro 120 de arranque y los datos 125 de volumen tal como existen en la maquina 105 ffsica en el volumen 115 y puede incluir ademas identificar si los datos estan configurados para un entorno procesador multiple, incompatibilidades en archivos soportados por el sistema operativo, si existen controladores de almacenamiento y de red que necesitan tenerse en consideracion, y asf sucesivamente.
Ademas, la figura 2 muestra que el procedimiento desde la perspectiva de la maquina 105 ffsica puede comprender una accion 210 de crear una instantanea de uno o mas volumenes. La accion 210 incluye la creacion de una o mas instantaneas consistentes correspondientes a uno o mas volumenes de maquina. Por ejemplo, la figura 1A muestra que el modulo 130 de conversion crea la instantanea 117 del volumen 115, que incluye el mismo registro 120 de arranque como antes, asf como los datos 127 de volumen. En al menos una implementacion, el modulo 130 de conversion puede invocar procesos de instantanea envueltos en la escritura en el volumen 115 donde este disponible, o simplemente cerrar las aplicaciones (u otros procesos de escritura) donde tales escritores no esten disponibles. Como resultado, se puede asegurar que los datos dentro de la instantanea 117 sean consistentes (por ejemplo, consistentes con la aplicacion) para un caso unico en tiempo despues de los procesos de instantanea.
La figura 2 tambien muestra que el procedimiento desde la perspectiva de una maquina 105 ffsica puede comprender una accion 220 de enviar la/las instantanea(s) a un archivo de disco virtual montado. La accion 220 incluye enviar la una o mas instantaneas consistentes a un archivo de disco duro virtual montado. Por ejemplo, el modulo 130 de conversion recupera identificadores de dispositivo para cada instantanea tomada en una maquina 105 ffsica y recupera ademas cualquier identificador de dispositivo para cada archivo de disco duro virtual montado en el hospedador 110 de maquina virtual. Al recuperar los identificadores de dispositivo apropiados, la figura 1B muestra que el modulo 130 de conversion puede transferir datos 127 de volumen de la instantanea 117 al archivo 140 de disco duro virtual, tal como el uso de mecanismos de transferencia/copia de bytes (o bloque de bytes).
La figura 2 muestra ademas que el procedimiento desde la perspectiva de la maquina 105 ffsica puede comprender una accion 230 de envio del/de los registro(s) de arranque al archivo de disco virtual montado. La accion 230 incluye el envfo de un registro de arranque para la una o mas instantaneas consistentes al archivo de disco duro virtual montado, de manera que el registro de arranque para una o mas instantaneas consistentes pueda modificarse en el hospedador de maquina virtual. Por ejemplo, la figura 1B muestra que el modulo 130 de conversion tambien envfa datos 120 de arranque al archivo 140 de disco duro virtual. La figura 1C tambien muestra que el modulo 130 de conversion puede enviar el mensaje 165 para modificar el registro 120 de arranque al registro 123, de manera que el registro 123 de arranque sea consistente para el entorno operativo del hospedador 110 de maquina virtual. En una implementacion, el nuevo registro de arranque para la nueva maquina virtual puede simplemente crearse desde cero, en lugar de enviarse y modificarse solamente.
Ademas de lo anterior, la figura 2 muestra que un procedimiento desde la perspectiva del hospedador 110 de maquina virtual de convertir una maquina (es decir, una maquina ffsica o una maquina virtual anterior) a una maquina virtual en un hospedador de maquina virtual sin incurrir en tiempo de parada considerable en el uno o mas volumenes de maquina puede comprender una accion 240 de crear un archivo de disco duro virtual. La accion 240 incluye la creacion de un archivo de disco duro virtual que tiene un tamano de archivo. Por ejemplo, la figura 1A muestra que el hospedador 110 de la maquina virtual recibe el mensaje 150 que instruye al hospedador 110 de la maquina virtual para crear un archivo de disco duro virtual con permisos de escritura, asf como una instruccion para hacer que el nuevo archivo de disco duro virtual con permisos de escritura. En respuesta, el hospedador 110 de
5
10
15
20
25
30
35
40
45
50
55
60
maquina virtual crea el archivo 140 de disco duro virtual y lo hace con permisos de escritura. Como se ha mencionado anteriormente, en el presente documento, el tamano del archivo de disco duro virtual puede ser estatico o dinamico. Por ejemplo, el archivo 140 de disco duro virtual puede ajustarse a 100 gigabytes para alojar 50 gigabytes de datos de volumen 115. Alternativamente, el modulo 130 de conversion ajusta el archivo 140 de disco duro virtual para crecer dinamicamente con transferencias de datos adicionales.
La figura 2 tambien muestra que el procedimiento desde la perspectiva del hospedador 110 de maquina virtual puede comprender una accion 250 de montaje del fichero de disco duro virtual. La accion 250 incluye montar el archivo de disco duro virtual en un hospedador de maquina virtual, de manera que el archivo de disco duro virtual aparece como un disco ffsico accesible. Por ejemplo, la figura 1A muestra que el hospedador 110 de la maquina virtual recibe una solicitud 155 para montar el archivo 140 de disco duro virtual. En una implementacion, el hospedador 110 de maquina virtual puede ser instruido para asociar el archivo 140 con un identificador de dispositivo particular y luego montar ese identificador como un dispositivo ffsico. El archivo 140 de disco duro virtual puede entonces observarse y accederse como un dispositivo de disco 145.
Ademas, el procedimiento desde la perspectiva del hospedador 110 de maquina virtual puede comprender una accion 260 de recibir una o mas instantaneas. La accion 260 incluye la recepcion de datos de una o mas instantaneas consistentes correspondientes a uno o mas volumenes de maquina ffsica. Por ejemplo, como se muestra en la figura 1B, el hospedador 110 de maquina virtual recibe los datos 127 de volumen y los datos 120 de arranque al utilizar cualquier mecanismo de transferencia apropiado (es decir, ya sea byte por byte o bloque de bytes por bloque de bytes, etc. en cualquier protocolo de transferencia de red).
Ademas, la figura 2 muestra que el procedimiento desde la perspectiva del hospedador 110 de maquina virtual puede comprender una accion 270 de modificacion del registro de arranque. La accion 270 incluye la modificacion de la informacion operacional para la una o mas instantaneas consistentes, de manera que una o mas instantaneas consistentes sean apropiadas para un sistema operativo en el hospedador de maquina virtual. Como se muestra en la figura 1C, por ejemplo, el hospedador 110 de la maquina virtual recibe el mensaje 165 para modificar la informacion operacional. Por ejemplo, el mensaje 165 puede incluir una o mas solicitudes para identificar criterios de hospedador 110 de maquina virtual apropiados y cambiar datos 120 de arranque a datos 123 de inicio de una manera apropiada. El mensaje 165 (u otro mensaje no mostrado) tambien puede incluir una o mas solicitudes para cambiar informacion de registro y/o preferencia operativa.
Tales cambios de un caracter operacional pueden incluir, por ejemplo, cualquier numero de configuraciones de hardware y sistema operativo (por ejemplo, numero de procesadores, controladores de hardware, controladores/identificadores de disco y controladores/identificadores de almacenamiento, controladores de red, etc.). Tales cambios pueden ser necesarios que se tengan en consideracion para asegurar que el nuevo sistema operativo de la maquina virtual sea compatible y funcione apropiadamente para el entorno virtual. Los cambios de un caracter operacional pueden incluir ademas diversas manipulaciones de registro, tales como el uso de controladores y otro hardware, la identidad de los controladores que se sustituyen y/o se registran en los archivos binarios, las actualizaciones para el nucleo y/o la informacion hAl, y asf sucesivamente. Los cambios de caracter operacional pueden incluir ademas diversas preferencias de configuracion para la maquina virtual, tales como las de memoria y/o requisitos de CPU.
Ademas, la figura 2 muestra que el procedimiento desde la perspectiva del hospedador 110 de maquina virtual puede comprender una accion 280 de retirada del montaje de archivo de disco duro virtual. La accion 280 incluye retirar el montaje del archivo de disco duro, de manera que el archivo de disco duro virtual no esta accesible como un disco ffsico. Por ejemplo, el hospedador 110 de maquina virtual recibe el mensaje 170, que solicita que el hospedador 110 de maquina virtual retire el montaje del archivo 140 de disco duro virtual. El hospedador 110 de maquina virtual puede entonces desmontar el archivo de disco duro virtual, de manera que el archivo 140 ya no sea accesible localmente o en una red como una unidad de disco de nivel de hospedador. Como resultado, el archivo 140 de disco virtual puede arrancarse como maquina 175 virtual, que contiene datos que son consistentes para un caso unico en tiempo y listos para operar en el hospedador 110 de maquina virtual. En particular, y desde la perspectiva de un usuario final, la maquina 175 virtual es practicamente a todos los efectos una forma esencialmente identica (es decir, los mismos datos o subconjuntos de datos de los mismos) de maquina 105 ffsica antes de las operaciones de instantanea.
Por consiguiente, las figuras 1A-1C y 2 proporcionan una serie de componentes y mecanismos para convertir eficientemente una maquina (por ejemplo, una maquina ffsica o una maquina virtual anterior) a una maquina virtual. En particular, las figuras y el texto correspondiente describen el modo en que pueden realizarse las implementaciones de la presente invencion en al menos un aspecto sin reiniciar necesariamente una maquina que se convierte y/o sin necesariamente necesitar reiniciar en un entorno ADS o PXE. Como tal, los componentes y mecanismos anteriores permiten que las maquinas ffsicas se creen relativamente rapido, tal como a velocidades de transferencia de disco y de red convencionales.
Como se ha mencionado anteriormente en el presente documento, se apreciara que las implementaciones de la presente invencion pueden variar y modificarse para una amplia gama de optimizaciones y una amplia gama de entornos de hardware y sistemas operativos. Por ejemplo, las implementaciones de la presente invencion se pueden
5
10
15
20
25
30
35
40
45
aplicar facilmente a la conversion de cualquier tipo de maquina a una nueva maquina virtual. Con respecto a una maquina virtual anterior, por ejemplo, un usuario puede desear crear mas espacio de almacenamiento para una maquina virtual cuyos volumenes ya pueden estar agotados. Por consiguiente, el usuario puede crear uno o mas archivos de VHD que son mayores que los archivos de VHD anteriores de la maquina virtual anterior, capturar los datos de maquina virtual anterior y transferir los datos de instantanea de maquina virtual a los archivos de VHD mas grandes. Incluso ademas, los procesos de conversion descritos en el presente documento pueden dividirse ademas en multiples etapas independientes distintas de las descritas explfcitamente. Por ejemplo, si un usuario tiene una manera de transferir una imagen de volumen a una maquina de destino, el usuario puede simplemente invocar una operacion de reparacion para "virtualizar" la imagen, o similares de manera que la imagen sea arrancable en la maquina de destino.
Ademas de lo anterior, se apreciara facilmente que las implementaciones de la presente invencion tambien se puedan aplicar a una amplia gama de configuraciones de disco. Por ejemplo, el/los disco(s) ffsico(s) en los que se instala(n) el/los volumen(es) 115 de maquina pueden ser uno cualquiera o mas de un disco basico o dinamico en un sistema operativo y pueden tener ademas una variedad de particiones y/o volumenes. Sin embargo, los procedimientos, componentes y mecanismos descritos en el presente documento pueden aplicarse a tales variaciones en la maquina virtual tal como estaban en la maquina anterior (por ejemplo, una maquina ffsica o una maquina virtual anterior). En particular, las caractensticas asociadas con un disco dinamico o basico ffsico se pueden transferir al hospedador de maquina virtual para que la nueva maquina virtual se comporte como antes con las propiedades de disco basico o dinamico. Por consiguiente, los componentes, modulos y mecanismos descritos en el presente documento pueden aplicarse ampliamente para asegurar una transicion uniforme desde una maquina anterior a una forma recien virtualizada de la maquina anterior.
Las realizaciones de la presente invencion pueden comprender un ordenador de fin especial o de fin general que incluye diversos equipos informaticos, como se indica con mayor detalle a continuacion. Las realizaciones dentro del ambito de la presente invencion tambien incluyen medios legibles por ordenador para transportar o tener instrucciones ejecutables por ordenador o estructuras de datos almacenadas en el mismo. Tales medios legibles por ordenador pueden ser cualquier medio disponible que puede ser accedido por un ordenador de fin general o de fin especial.
A modo de ejemplo, y sin limitacion, tales medios legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento en disco optico, almacenamiento en disco magnetico u otros dispositivos de almacenamiento magnetico, o cualquier otro medio que pueda ser utilizado para transportar o almacenar medios de codigo de programa deseados en forma de instrucciones ejecutables por ordenador o estructuras de datos y que pueden ser accedidos por un ordenador de fin general o de fin especial. Cuando la informacion se transfiere o se proporciona a traves de una red u otra conexion de comunicaciones (ya sea por cable, de manera inalambrica o una combinacion de cableado o inalambrica) a un ordenador, el ordenador ve correctamente la conexion como un medio legible por ordenador. De este modo, cualquier conexion de este tipo se denomina correctamente un medio legible por ordenador. Las combinaciones de lo anterior tambien deben incluirse dentro del ambito de medios legibles por ordenador.
Las instrucciones ejecutables por ordenador comprenden, por ejemplo, instrucciones y datos que hacen que un ordenador de fin general, un ordenador de fin especial o un dispositivo de procesamiento de fin especial realicen una determinada funcion o grupo de funciones. Aunque la materia objeto se ha descrito en un lenguaje espedfico a caractensticas estructurales y/o acciones metodologicas, se debera entender que la materia objeto definida en las reivindicaciones adjuntas no esta necesariamente limitada a las caractensticas o acciones espedficas descritas anteriormente. Mas bien, las caractensticas y acciones espedficas descritas anteriormente se divulgan como formas ejemplares de implementacion de las reivindicaciones.

Claims (15)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    REIVINDICACIONES
    1. Un procedimiento de creacion de una maquina (175) virtual en un hospedador (110) de maquina virtual, estando dicho hospedador de maquina virtual incluido en un entorno informatizado en una maquina (105), incluyendo dicha maquina uno o mas volumenes (115), comprendiendo dicho procedimiento de creacion de una maquina (175) virtual en dicho hospedador de maquina virtual las acciones siguientes:
    la identificacion (200) de uno o mas ajustes de configuracion de hardware para uno o mas volumenes de la maquina, que incluyen identificar un registro (120) de arranque y datos (125) de volumen en uno o mas volumenes de maquina (115);
    la creacion (210) de una o mas instantaneas (117) consistentes correspondientes a los datos de volumen y al registro (125) de arranque en el uno o mas volumenes (115) de maquina, en el que dicha una o mas instantaneas consistentes comprenden datos (127) de volumen y un registro de arranque, respectivamente, correspondientes a los datos de volumen y al registro de arranque en el uno o mas volumenes de maquina, y en el que el registro de arranque comprendido en la una o mas instantaneas consistentes se puede modificar en el hospedador de maquina virtual;
    el envfo de una o mas instrucciones al hospedador de maquina virtual para crear un archivo (140) de disco duro virtual;
    el envfo de una instruccion (150) al hospedador de maquina virtual para hacer que el archivo de disco duro virtual sea con permisos de escritura;
    el envfo de una o mas instrucciones (155) al hospedador de maquina virtual para montar el archivo de disco duro virtual creado;
    la transferencia (220) de la una o mas instantaneas consistentes al archivo de disco duro virtual montado; y el envfo de una instruccion (165) para modificar la informacion operacional para la una o mas instantaneas consistentes, de manera que la una o mas instantaneas consistentes sean de arranque en el hospedador de maquina virtual, en el que dicha modificacion comprende modificar al menos el registro de arranque comprendido en la una o mas instantaneas.
  2. 2. El procedimiento segun la reivindicacion 1, en el que al menos una de la una o mas instantaneas consistentes se transfieren al hospedador de maquina virtual transfiriendo la al menos una instantanea como un conjunto de uno o mas bloques (160) de bytes.
  3. 3. El procedimiento segun la reivindicacion 1, en el que la maquina es una maquina ffsica, y la maquina ffsica y el hospedador de maquina virtual son el mismo sistema informatico, de manera que el uno o mas volumenes de la maquina ffsica se transfieren a un dispositivo de disco diferente de la maquina ffsica dentro del mismo sistema informatico, y/o
    en el que el uno o mas volumenes de maquina comprenden una pluralidad de volumenes de maquina instalados en un disco ffsico.
  4. 4. El procedimiento segun la reivindicacion 1, en el que la accion de crear la una o mas instantaneas consistentes comprende ademas las acciones siguientes:
    la identificacion de espacio utilizado y espacio libre en el uno o mas volumenes de maquina;
    la identificacion de uno o mas archivos en el espacio utilizado que se deben evitar durante las operaciones de
    instantanea o copiado, incluyendo el uno o mas archivos que se deben evitar uno cualquiera o mas de un archivo
    de area de diferencial, un archivo de pagina, un grupo defectuoso, un archivo de hibernacion; y
    el copiado de los datos del uno o mas volumenes de maquina a uno o mas archivos de disco duro virtual, de
    manera que los datos copiados incluyan unicamente uno de los siguientes:
    (i) el espacio utilizado identificado; o
    (ii) el espacio utilizado identificado sin el uno o mas archivos que se deben evitar.
  5. 5. El procedimiento segun la reivindicacion 1, en el que la accion de identificar uno o mas ajustes de configuracion de hardware comprende ademas la accion siguiente:
    la identificacion de una o mas aplicaciones en el uno o mas volumenes que estan configurados para procesos de instantanea relacionados con el escritor, y el envfo de una instruccion a cada aplicacion identificada para comenzar procesos de instantanea relacionados con el escritor; y
    la identificacion de una o mas aplicaciones que no estan configuradas para los procesos de instantanea relacionados con el escritor y el cierre de cada una de las una o mas aplicaciones identificadas que no estan configuradas para procesos relacionados con el escritor.
  6. 6. El procedimiento segun la reivindicacion 1, en el que el archivo de disco duro virtual creado es de tamano dinamico, de manera que el tamano del archivo de disco duro virtual pueda cambiar con el tiempo.
  7. 7. El procedimiento segun la reivindicacion 6, que comprende ademas las acciones siguientes:
    la identificacion de un identificador de dispositivo para el archivo de disco duro virtual montado; y
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    la identificacion de uno o mas identificadores de dispositivo para la una o mas instantaneas consistentes.
  8. 8. El procedimiento segun la reivindicacion 1, que comprende ademas las acciones siguientes:
    la identificacion de uno o mas valores de sistema del hospedador de maquina virtual, en el que el envfo de una instruccion para modificar informacion operacional para la una o mas instantaneas consistentes comprende enviar una instruccion para modificar informacion operacional segun el uno o mas valores de sistema identificados, y en el que la instruccion para modificar la informacion operacional incluye una instruccion para modificar uno cualquiera o mas de:
    (i) el registro de arranque;
    (ii) informacion de registro de sistema;
    (iii) uno o mas controladores;
    (iv) archivos binarios del sistema operativo;
    (v) archivos binarios del nucleo; o
    (vi) una o mas preferencias de configuracion de la maquina virtual.
  9. 9. El procedimiento segun la reivindicacion 8, en el que la instruccion para modificar informacion operacional incluye uno cualquiera o mas de:
    una o mas instrucciones para sustituir los controladores para uno o mas dispositivos ffsicos por controladores para uno o mas dispositivos virtuales;
    una o mas instrucciones para deshabilitar controladores de dispositivo para hardware en el que no hay ningun dispositivo virtual correspondiente en el entorno virtual; o
    una o mas instrucciones para deshabilitar uno o mas servicios que dependen de uno o mas dispositivos que no existen en el hospedador de maquina virtual.
  10. 10. El procedimiento segun la reivindicacion 8, que comprende ademas una accion de enviar una o mas instrucciones (170) al hospedador de maquina virtual para retirar el montaje del archivo de disco duro virtual, de manera que el archivo de disco duro virtual no pueda ser accesible como un disco ffsico.
  11. 11. Un procedimiento para crear una maquina virtual en un hospedador (110) de maquina virtual en un entorno informatizado, estando dicho hospedador de maquina virtual configurado para hospedar una o mas maquinas virtuales que incluyen uno o mas volumenes, comprendiendo dicho procedimiento de creacion de una maquina virtual en dicho hospedador de maquina virtual las acciones siguientes:
    la creacion (240) de un archivo de disco duro virtual que tiene un tamano (140) de archivo;
    el montaje (250) del archivo de disco duro virtual en el hospedador de maquina virtual, de manera que el archivo
    del disco duro virtual aparezca como un disco ffsico accesible;
    la recepcion (260) de una o mas instantaneas (117) consistentes correspondientes a uno o mas volumenes (115) de maquina ffsicos, en el que dichas una o mas instantaneas consistentes comprenden datos (127) de volumen y un registro de arranque respectivamente, correspondientes a datos de volumen y a un registro de arranque en el uno o mas volumenes de maquina ffsicos, y en el que el registro de arranque comprendido en la una o mas instantaneas consistentes se puede modificar en el hospedador de maquina virtual; guardar la una o mas instantaneas consistentes en el archivo de disco duro virtual;
    la modificacion (270) de informacion operacional para la una o mas instantaneas consistentes, de manera que la una o mas instantaneas consistentes se puedan arrancar en el hospedador de maquina virtual, en el que dicha modificacion comprende modificar al menos el registro de arranque.
  12. 12. El procedimiento segun la reivindicacion 11, que comprende ademas las acciones siguientes:
    la recepcion de datos para la una o mas instantaneas consistentes en un nivel de bloque de bytes; y
    la retirada (280) del montaje del archivo de disco duro virtual, de manera que el archivo de disco duro virtual no
    sea accesible como un disco ffsico.
  13. 13. El procedimiento segun la reivindicacion 11, que comprende ademas las acciones siguientes:
    la recepcion de una instruccion para hacer que el archivo de disco duro virtual creado sea con permisos de escritura; y
    el envfo de un identificador de dispositivo para el archivo de disco duro virtual montado a un sistema informatico ffsico.
  14. 14. El procedimiento segun la reivindicacion 11, que comprende ademas una accion de notificar uno o mas valores de sistema a un sistema informatico ffsico, en el que el uno o mas valores de sistema son utilizados para modificar la informacion operacional para la una o mas instantaneas consistentes y en el que la modificacion de la informacion operacional comprende modificar uno cualquiera o mas de los registros de arranque; informacion de registro del sistema; uno o mas controladores; archivos binarios del sistema operativo; archivos binarios del nucleo o una o mas preferencias de configuracion de la maquina virtual.
  15. 15. Un producto de programa informatico que tiene un codigo ejecutable por ordenador almacenado en el mismo que, cuando se ejecuta, provoca que uno o mas procesadores en una maquina de un entorno informatizado que incluye un hospedador de maquina virtual configurado para hospedar una o mas maquinas virtuales, en el que la maquina incluye uno o mas volumenes, realicen el procedimiento de cualquiera de las reivindicaciones 1 a 10.
ES07752703.4T 2006-05-08 2007-03-08 Conversión de máquinas a máquinas virtuales Active ES2632512T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US430676 1982-09-30
US11/430,676 US7653794B2 (en) 2006-05-08 2006-05-08 Converting physical machines to virtual machines
PCT/US2007/006021 WO2007130209A1 (en) 2006-05-08 2007-03-08 Converting machines to virtual machines

Publications (1)

Publication Number Publication Date
ES2632512T3 true ES2632512T3 (es) 2017-09-13

Family

ID=38662463

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07752703.4T Active ES2632512T3 (es) 2006-05-08 2007-03-08 Conversión de máquinas a máquinas virtuales

Country Status (18)

Country Link
US (1) US7653794B2 (es)
EP (1) EP2021939B1 (es)
JP (2) JP5026509B2 (es)
KR (2) KR101465928B1 (es)
CN (2) CN102541658B (es)
AU (1) AU2007248886B2 (es)
BR (1) BRPI0711336A8 (es)
CA (1) CA2648761C (es)
ES (1) ES2632512T3 (es)
HK (1) HK1172718A1 (es)
IL (2) IL194679A (es)
MX (1) MX2008014244A (es)
MY (1) MY149997A (es)
NO (1) NO342885B1 (es)
RU (2) RU2446450C2 (es)
TW (2) TWI547875B (es)
WO (1) WO2007130209A1 (es)
ZA (1) ZA200808579B (es)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617501B2 (en) 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
US8347063B2 (en) * 2005-08-19 2013-01-01 Intel Corporation Method and system for device address translation for virtualization
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US8087075B2 (en) * 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
US8577940B2 (en) * 2006-03-20 2013-11-05 Parallels IP Holdings GmbH Managing computer file system using file system trees
US8321377B2 (en) 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US7617373B2 (en) * 2006-05-23 2009-11-10 International Business Machines Corporation Apparatus, system, and method for presenting a storage volume as a virtual volume
US8429712B2 (en) * 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US8086710B2 (en) 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US7689859B2 (en) * 2006-12-20 2010-03-30 Symantec Operating Corporation Backup system and method
US8656386B1 (en) * 2007-03-13 2014-02-18 Parallels IP Holdings GmbH Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file
EP2137629A4 (en) * 2007-03-20 2010-12-29 Sanggyu Lee MOBILE VIRTUAL MACHINE IMAGE
US20080235361A1 (en) * 2007-03-21 2008-09-25 David Crosbie Management layer method and apparatus for dynamic assignment of users to computer resources
US8566502B2 (en) * 2008-05-29 2013-10-22 Vmware, Inc. Offloading storage operations to storage hardware using a switch
US8239646B2 (en) 2007-07-31 2012-08-07 Vmware, Inc. Online virtual machine disk migration
US8245217B2 (en) 2007-10-12 2012-08-14 Microsoft Corporation Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US8407688B2 (en) * 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US7865711B2 (en) * 2007-12-03 2011-01-04 Microsoft Corporation Efficient method for operating system deployment
US8181174B2 (en) * 2007-12-28 2012-05-15 Accenture Global Services Limited Virtual machine configuration system
US20090217296A1 (en) * 2008-02-26 2009-08-27 Alexander Gebhart Benefit analysis of implementing virtual machines
US8560593B2 (en) 2008-03-27 2013-10-15 Dell Software Inc. System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment
US8365167B2 (en) * 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
US8364983B2 (en) * 2008-05-08 2013-01-29 Microsoft Corporation Corralling virtual machines with encryption keys
US8266099B2 (en) * 2008-05-29 2012-09-11 Vmware, Inc. Offloading storage operations to storage hardware using a third party server
US8745336B2 (en) * 2008-05-29 2014-06-03 Vmware, Inc. Offloading storage operations to storage hardware
US20090328030A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Installing a management agent with a virtual machine
US20100042719A1 (en) * 2008-08-12 2010-02-18 Junji Kinoshita Content access to virtual machine resource
US8150801B2 (en) * 2008-08-20 2012-04-03 Microsoft Corporation Recovery of a computer that includes virtual disks
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8572608B2 (en) * 2008-10-22 2013-10-29 Vmware, Inc. Methods and systems for converting a related group of physical machines to virtual machines
CN101408856A (zh) * 2008-11-21 2009-04-15 清华大学 一种用于容灾备份的系统和方法
US9454368B2 (en) 2009-01-21 2016-09-27 Vmware, Inc. Data mover permitting data transfer without transferring data between application and operating system
JP5166307B2 (ja) * 2009-01-30 2013-03-21 株式会社立花エレテック 接続機器利用システムおよびその方法
US9134922B2 (en) 2009-03-12 2015-09-15 Vmware, Inc. System and method for allocating datastores for virtual machines
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
US20110010710A1 (en) * 2009-07-10 2011-01-13 Microsoft Corporation Image Transfer Between Processing Devices
US9778946B2 (en) * 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
US9043454B2 (en) * 2009-08-26 2015-05-26 Red Hat Israel, Ltd. Auto suspense of virtual machine on client disconnection
US8589913B2 (en) * 2009-10-14 2013-11-19 Vmware, Inc. Tracking block-level writes
US8161077B2 (en) * 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8856080B2 (en) 2009-10-30 2014-10-07 Microsoft Corporation Backup using metadata virtual hard drive and differential virtual hard drive
US9106591B2 (en) 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US9262306B2 (en) * 2010-01-27 2016-02-16 Hewlett Packard Enterprise Development Lp Software application testing
US8751780B2 (en) 2010-02-08 2014-06-10 Microsoft Corporation Fast machine booting through streaming storage
US8751738B2 (en) 2010-02-08 2014-06-10 Microsoft Corporation Background migration of virtual storage
US8204860B1 (en) * 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
JP5636695B2 (ja) * 2010-03-02 2014-12-10 日本電気株式会社 フォールトトレラントシステム及び仮想マシン構築方法
KR20110106716A (ko) 2010-03-23 2011-09-29 삼성전자주식회사 프로그램 컴파일러, 설치 장치, 및 설치 방법
US8775781B2 (en) 2010-03-25 2014-07-08 Microsoft Corporation Intelligent boot device selection and recovery
CN102214126A (zh) * 2010-04-02 2011-10-12 英业达股份有限公司 卷影复制服务的供应程序的对象的创建方法
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
US9767274B2 (en) * 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US8548944B2 (en) 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
US20120054742A1 (en) * 2010-09-01 2012-03-01 Microsoft Corporation State Separation Of User Data From Operating System In A Pooled VM Environment
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
US8694745B2 (en) 2010-09-15 2014-04-08 Symantec Corporation Physical to virtual disks creation (P2V) method, by harvesting data from critical sectors
JP2012068790A (ja) 2010-09-22 2012-04-05 Internatl Business Mach Corp <Ibm> Osのイメージの選択装置、選択方法、及び選択プログラム
JP5492731B2 (ja) 2010-10-06 2014-05-14 株式会社日立製作所 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
US9069620B2 (en) 2010-10-20 2015-06-30 Microsoft Technology Licensing, Llc Creating and deploying service-ready virtual hard disks
US9092149B2 (en) 2010-11-03 2015-07-28 Microsoft Technology Licensing, Llc Virtualization and offload reads and writes
WO2012063311A1 (ja) * 2010-11-08 2012-05-18 株式会社日立製作所 計算機の制御方法、計算機システム及び記憶媒体
GB2499956B (en) 2010-11-23 2018-02-14 Servicenow Inc Direct migration of software images with streaming technique
US8468174B1 (en) 2010-11-30 2013-06-18 Jedidiah Yueh Interfacing with a virtual database system
US8495352B2 (en) 2010-12-08 2013-07-23 International Business Machines Corporation System and method for instantiation of distributed applications from disk snapshots
CN103250163B (zh) 2010-12-09 2016-08-10 国际商业机器公司 用于加密和解密虚拟盘的计算机可读存储介质
CN103250134B (zh) 2010-12-13 2016-09-07 国际商业机器公司 基于流技术的软件映像更新
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
JP5672075B2 (ja) * 2011-03-03 2015-02-18 日本電気株式会社 計算機システム、仮想環境マイグレーション方法および仮想環境マイグレーションプログラム
US9146765B2 (en) 2011-03-11 2015-09-29 Microsoft Technology Licensing, Llc Virtual disk storage techniques
US8725782B2 (en) 2011-04-25 2014-05-13 Microsoft Corporation Virtual disk storage techniques
US9519496B2 (en) 2011-04-26 2016-12-13 Microsoft Technology Licensing, Llc Detecting and preventing virtual disk storage linkage faults
US9069467B2 (en) * 2011-06-01 2015-06-30 Microsoft Technology Licensing, Llc Isolation of virtual machine I/O in multi-disk hosts
US20130007726A1 (en) 2011-06-30 2013-01-03 Indrajit Poddar Virtual machine disk image installation
KR101493827B1 (ko) * 2011-07-04 2015-02-17 주식회사 케이티 물리서버를 가상 서버로 마이그레이션하는 장치 및 그 방법
DE102011107169A1 (de) * 2011-07-13 2013-01-17 Kuka Roboter Gmbh Steuerung eines Roboter
US9158561B2 (en) * 2011-08-18 2015-10-13 Vmware, Inc. Systems and methods for modifying an operating system for a virtual machine
US8595460B2 (en) 2011-08-26 2013-11-26 Vmware, Inc. Configuring object storage system for input/output operations
CN102323943A (zh) * 2011-09-02 2012-01-18 北京天地云箱科技有限公司 基于虚拟机的数据存储方法及系统
US20130066838A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Efficient data recovery
EP2570920A1 (en) * 2011-09-16 2013-03-20 France Télécom System and method for cross-platform application execution and display
US9461881B2 (en) * 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US9009318B2 (en) * 2011-11-03 2015-04-14 Microsoft Corporation Offline resource allocation algorithms
US9817582B2 (en) 2012-01-09 2017-11-14 Microsoft Technology Licensing, Llc Offload read and write offload provider
JP5684170B2 (ja) * 2012-02-28 2015-03-11 株式会社東芝 情報処理装置、クライアント管理システムおよびクライアント管理方法
US9055067B1 (en) 2012-03-26 2015-06-09 Amazon Technologies, Inc. Flexible-location reservations and pricing for network-accessible resource capacity
TWI456944B (zh) * 2012-05-02 2014-10-11 Quanta Comp Inc 管理方法及其系統
US9952879B2 (en) 2012-08-30 2018-04-24 Microsoft Technology Licensing, Llc Application pre-layout in byte-addressable persistent random access memory
US9740500B2 (en) 2012-08-30 2017-08-22 Microsoft Technology Licensing, Llc Layout system for operating systems using BPRAM
US9778860B2 (en) 2012-09-12 2017-10-03 Microsoft Technology Licensing, Llc Re-TRIM of free space within VHDX
US8788461B2 (en) 2012-10-04 2014-07-22 Delphix Corp. Creating validated database snapshots for provisioning virtual databases
US9071585B2 (en) 2012-12-12 2015-06-30 Microsoft Technology Licensing, Llc Copy offload for disparate offload providers
US9251201B2 (en) 2012-12-14 2016-02-02 Microsoft Technology Licensing, Llc Compatibly extending offload token size
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US9378035B2 (en) 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US20140196039A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US10025674B2 (en) * 2013-06-07 2018-07-17 Microsoft Technology Licensing, Llc Framework for running untrusted code
US9383986B2 (en) 2013-06-18 2016-07-05 Disney Enterprises, Inc. Safe low cost web services software deployments
US9841983B2 (en) * 2013-06-28 2017-12-12 Vmware, Inc. Single click host maintenance
US9262448B2 (en) * 2013-08-12 2016-02-16 International Business Machines Corporation Data backup across physical and virtualized storage volumes
US9639384B2 (en) * 2013-08-20 2017-05-02 Vmware, Inc. Method and system for fast provisioning of virtual desktop
US10359951B1 (en) * 2013-08-23 2019-07-23 Acronis International Gmbh Snapshotless backup
US9594583B2 (en) 2013-11-12 2017-03-14 Red Hat, Inc. Lightweight snapshots for virtual disks
CN104809020B (zh) * 2013-11-20 2018-05-11 华为技术有限公司 一种生成快照的方法、系统和装置
WO2015074200A1 (zh) 2013-11-20 2015-05-28 华为技术有限公司 一种生成快照的方法、系统和装置
CN103761168B (zh) * 2014-01-26 2017-06-13 上海爱数信息技术股份有限公司 一种基于nfs卷挂载备份虚拟机的方法
US20150269029A1 (en) * 2014-03-20 2015-09-24 Unitrends, Inc. Immediate Recovery of an Application from File Based Backups
US9454439B2 (en) 2014-05-28 2016-09-27 Unitrends, Inc. Disaster recovery validation
US9448834B2 (en) 2014-06-27 2016-09-20 Unitrends, Inc. Automated testing of physical servers using a virtual machine
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9684567B2 (en) * 2014-09-04 2017-06-20 International Business Machines Corporation Hypervisor agnostic interchangeable backup recovery and file level recovery from virtual disks
CN104298559B (zh) * 2014-09-30 2018-03-02 深信服科技股份有限公司 物理主机系统虚拟化的方法及装置
TWI608420B (zh) * 2014-10-20 2017-12-11 緯創資通股份有限公司 虛擬機器監控方法及其系統
CN104331375B (zh) * 2014-10-29 2018-08-07 中国建设银行股份有限公司 共享虚拟化资源池环境下的共享虚拟资源管理方法和装置
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
US20160162302A1 (en) * 2014-12-07 2016-06-09 Strato Scale Ltd. Fast initiation of workloads using memory-resident post-boot snapshots
WO2016197069A1 (en) 2015-06-05 2016-12-08 Nutanix, Inc. Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines
CN105573791A (zh) * 2015-12-15 2016-05-11 国云科技股份有限公司 一种linux虚拟机实现网卡热插拔的方法
CN105740042B (zh) * 2016-01-15 2019-07-02 北京京东尚科信息技术有限公司 虚拟机内存的管理方法和管理系统
US10922116B2 (en) 2016-02-12 2021-02-16 Hewlett Packard Enterprise Development Lp Creating operating system volumes
US10133593B1 (en) * 2016-03-31 2018-11-20 Amazon Technologies, Inc. Virtual machine migration
CN107800730B (zh) * 2016-08-30 2021-01-29 阿里巴巴集团控股有限公司 一种虚拟磁盘的扩容方法以及装置
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10649679B2 (en) * 2016-11-23 2020-05-12 Nutanix, Inc. Containerized application extensions in distributed storage systems
CN106708603B (zh) * 2016-12-28 2019-04-26 平安科技(深圳)有限公司 虚拟机快速恢复方法及装置
JP6897136B2 (ja) 2017-02-10 2021-06-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10761911B2 (en) 2017-02-13 2020-09-01 Nutanix, Inc. Asynchronous application interactions in distributed systems
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US20180276085A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Virtual machine recovery point generation
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10853195B2 (en) 2017-03-31 2020-12-01 Commvault Systems, Inc. Granular restoration of virtual machine application data
US10754829B2 (en) * 2017-04-04 2020-08-25 Oracle International Corporation Virtual configuration systems and methods
CN107463404A (zh) * 2017-08-03 2017-12-12 浪潮(北京)电子信息产业有限公司 一种向虚拟机文件系统中增加配置文件的方法和系统
US10860242B1 (en) * 2017-10-06 2020-12-08 EMC IP Holding Company LLC Method for automatic instant access mount point cleanup
KR102003721B1 (ko) * 2018-01-10 2019-07-26 성균관대학교산학협력단 Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치
CN110347483B (zh) 2018-04-08 2021-05-11 中兴通讯股份有限公司 物理机到虚拟机迁移方法、装置及存储介质
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US10887382B2 (en) * 2018-12-18 2021-01-05 Storage Engine, Inc. Methods, apparatuses and systems for cloud-based disaster recovery
US11080082B2 (en) 2019-08-02 2021-08-03 Red Hat, Inc. Cross-hypervisor virtual machine conversion
CN110515697A (zh) * 2019-08-16 2019-11-29 济南浪潮数据技术有限公司 一种虚拟机迁移方法、装置、存储介质及计算机设备
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
CN113609075A (zh) * 2021-08-18 2021-11-05 济南浪潮数据技术有限公司 一种创建快照的方法、系统、存储介质及设备
US20230305854A1 (en) * 2022-03-25 2023-09-28 Sap Se Reducing downtime during operating system patching

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475156A (en) * 1982-09-21 1984-10-02 Xerox Corporation Virtual machine control
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
US4835685A (en) * 1985-05-06 1989-05-30 Computer X, Inc. Virtual single machine with message-like hardware interrupts and processor exceptions
US4787026A (en) * 1986-01-17 1988-11-22 International Business Machines Corporation Method to manage coprocessor in a virtual memory virtual machine data processing system
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5996026A (en) * 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
US6052781A (en) 1997-02-21 2000-04-18 Savvy Frontiers Property Trust Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation
US6445704B1 (en) * 1997-05-02 2002-09-03 Cisco Technology, Inc. Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager
US6256637B1 (en) * 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6496847B1 (en) 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
KR100846530B1 (ko) * 2000-07-05 2008-07-15 언스트 앤 영 엘엘피 컴퓨터 서비스를 제공하는 방법 및 장치
CN1224914C (zh) * 2000-08-25 2005-10-26 四国电力株式会社 远程控制服务器、中央服务器以及由它们构筑的系统
US6789156B1 (en) 2001-05-22 2004-09-07 Vmware, Inc. Content-based, transparent sharing of memory units
US6880002B2 (en) * 2001-09-05 2005-04-12 Surgient, Inc. Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources
US7213065B2 (en) 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US6938250B2 (en) * 2002-06-12 2005-08-30 Microsoft Corporation Image-based software installation
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7448034B2 (en) * 2003-07-30 2008-11-04 International Business Machines Corporation Build time determination and installation of drivers on cloned systems
US7373451B2 (en) * 2003-12-08 2008-05-13 The Board Of Trustees Of The Leland Stanford Junior University Cache-based system management architecture with virtual appliances, network repositories, and virtual appliance transceivers
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7577959B2 (en) * 2004-06-24 2009-08-18 International Business Machines Corporation Providing on-demand capabilities using virtual machines and clustering processes
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
US7441092B2 (en) * 2006-04-20 2008-10-21 Microsoft Corporation Multi-client cluster-based backup and restore

Also Published As

Publication number Publication date
MX2008014244A (es) 2008-11-18
WO2007130209A1 (en) 2007-11-15
JP2009536762A (ja) 2009-10-15
CA2648761A1 (en) 2007-11-15
TW201415371A (zh) 2014-04-16
TW200813839A (en) 2008-03-16
JP5026509B2 (ja) 2012-09-12
IL194679A (en) 2014-08-31
RU2008144202A (ru) 2010-05-20
JP5496254B2 (ja) 2014-05-21
CN102541658A (zh) 2012-07-04
CN101443748B (zh) 2012-02-08
JP2012155768A (ja) 2012-08-16
EP2021939A4 (en) 2010-11-24
RU2011147372A (ru) 2013-05-27
EP2021939B1 (en) 2017-04-19
MY149997A (en) 2013-11-15
BRPI0711336A2 (pt) 2011-08-30
BRPI0711336A8 (pt) 2017-01-17
EP2021939A1 (en) 2009-02-11
IL223026A (en) 2014-12-31
KR20090025204A (ko) 2009-03-10
IL223026A0 (en) 2012-12-31
KR101465928B1 (ko) 2014-11-26
NO342885B1 (no) 2018-08-20
US7653794B2 (en) 2010-01-26
CA2648761C (en) 2015-06-02
NO20084228L (no) 2008-10-22
ZA200808579B (en) 2011-11-30
RU2446450C2 (ru) 2012-03-27
AU2007248886A1 (en) 2007-11-15
HK1172718A1 (en) 2013-04-26
AU2007248886B2 (en) 2011-11-03
TWI428830B (zh) 2014-03-01
US20070260831A1 (en) 2007-11-08
TWI547875B (zh) 2016-09-01
KR101376952B1 (ko) 2014-03-20
KR20140000720A (ko) 2014-01-03
CN101443748A (zh) 2009-05-27
CN102541658B (zh) 2014-09-24

Similar Documents

Publication Publication Date Title
ES2632512T3 (es) Conversión de máquinas a máquinas virtuales
US9697130B2 (en) Systems and methods for storage service automation
US9286098B1 (en) Using master file template area to increase density of virtual machines in a computer system
JP6050262B2 (ja) 仮想ディスクストレージ技術
US8904136B2 (en) Optimized shrinking of virtual disks
US8677111B2 (en) Booting devices using virtual storage arrays over wide-area networks
US8458697B2 (en) Method and device for eliminating patch duplication
US20130198748A1 (en) Storage optimization selection within a virtualization environment
US20110264776A1 (en) Deploying an operating system
US20080120403A1 (en) Systems and Methods for Provisioning Homogeneous Servers
US20140082275A1 (en) Server, host and method for reading base image through storage area network
US8954435B2 (en) Method and system for reclaiming storage on a shared storage device or independent of the mount state of a file system
US8838768B2 (en) Computer system and disk sharing method used thereby
US8924442B2 (en) Method and system for implementing high availability storage on thinly provisioned arrays
AU2012200600B2 (en) &#34;Converting machines to virtual machines&#34;
Shaw et al. Linux Installation and Configuration