KR101432463B1 - 가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법 - Google Patents
가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법 Download PDFInfo
- Publication number
- KR101432463B1 KR101432463B1 KR1020137025294A KR20137025294A KR101432463B1 KR 101432463 B1 KR101432463 B1 KR 101432463B1 KR 1020137025294 A KR1020137025294 A KR 1020137025294A KR 20137025294 A KR20137025294 A KR 20137025294A KR 101432463 B1 KR101432463 B1 KR 101432463B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- backup
- host
- snapshot
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1466—Management of the backup or restore process to make the backup process non-disruptive
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
하나 이상의 가상 기계들을 호스팅하는 호스트 서버는 호스트 볼륨과 애플리케이션-일관성 방식으로 그 상에 설치되는 하나 이상의 가상 기계들을 백업할 수 있다. 일 구현에서, 호스트 요청자는 호스트-레벨 라이터에게 어떠한 가상 기계들이 애플리케이션-일관성 백업들에 적합한지를 식별할 것을 지시한다. 그 후에, 호스트-레벨 요청자는 호스트-레벨 라이터에게 각각의 적절히 구성된 가상 기계에서 게스트 레벨 요청자들을 통해 가상 기계 백업을 개시할 것을 지시하며, 가상 기계들은 가상 기계 볼륨들 내에 애플리케이션-일관성 백업을 생성한다. 그 후에, 호스트-레벨 요청자는 호스트-레벨 상에서 서버 볼륨들의 스냅숏들을 개시한다. 따라서, 가상 기계-레벨 스냅숏들은 서버 볼륨들의 호스트-레벨 스냅숏들 내로부터 검색될 수 있다.
Description
1. 배경기술 및 관련 기술
컴퓨터화된 시스템들의 대중성이 확대됨에 따라, 사용자들이 작성한 전자 파일들 및 기타 통신들, 및 이들에 연관된 애플리케이션들을 저장하고 백업할 필요가 생겼다. 일반적으로, 컴퓨터 시스템들 및 관련 디바이스들은, 작업 환경에서 워드 프로세싱 문서를 생성하는 일반적인 경우 뿐만 아니라, 보다 정교한 데이터베이스용으로 사용되는 파일을 생성하는 경우 등과 같이, 다양한 이유로 파일들을 생성한다. 또한, 이러한 문서들 중 다수는 소중한 작업 결과물 또는 보호되어야 하는 민감한 정보를 포함할 수 있다. 따라서, 조직체에서 정기적으로 전자 파일들을 백업하기를 원하며, 이로써 필요할 때 최초 생성되었던 파일의 신뢰할만한 복구를 만들어내기를 원하는지에 대한 많은 이유들이 있음을 이해할 것이다.
컴퓨터화된 시스템들이 더욱 복잡한 소프트웨어 및 하드웨어 구성으로 계속 발전함에 따라, 이러한 구성을 백업하는 것과 연관된 복잡성 또한 증가하였다. 가장 단순한 양식으로 컴퓨터를 백업하는 것에는 컴퓨터 디스크 또는 볼륨(volume)으로부터 단지 정보를 복사하는 것과 그 정보를 백업 장소로 전달하는 것이 포함된다. 그러나, 디스크로부터 단지 데이터를 복사하는 것은, 네트워크 상의 복수의 서버들에 대규모 데이터 세트들을 백업할 때, 특히 백업 프로세스 중에 데이터 세트들이 계속하여 변경될 때 한층 더 복잡하게 된다. 예를 들어, 데이터를 단지 백업하는 것과 함께, 대규모 조직체에서의 몇몇 관심사는, 데이터가 또한 신속하게 복구될 수 있도록 데이터를 신속하고 신뢰성 있고 비교적 연속적인 방식으로 저장할 필요성을 포함할 수 있다. 특히, 각각의 서버는 그 서버를 다른 서버보다 소정의 백업 프로그램에 대해 더욱 잘 액세스하게 하거나 보다 덜 액세스할 수 있게 하는 상이한 기능들을 가질 수 있으므로, 추가적인 관심사는 우선 첫째로 각종 서버 데이터로의 액세스 방법을 포함한다.
서버 데이터를 백업하는데 있어서의 이러한 유형의 복잡성은 가상화된 서버 환경에서 특히 곤란할 수 있다. 일반적으로, 가상 서버 환경은, 하나 이상의 "가상 기계들"이 설치될 수 있는 호스트 서버의 사용을 포함한다. 이러한 가상 기계들은 호스트 서버 디스크 공간 또는 리소스(예컨대, 호스트 메모리)의 할당된 부분에 설치되는 운영 체제의 고유 인스턴스들을 포함하며, 따라서 분명한 기계 경계를 포함한다. 따라서, 각각의 가상 기계는 고유의 네트워크 식별자에 의해 표현될 수 있으며, 따라서 네트워크 상에서 호스트 서버 자체와는 구별되고 별개로 보인다. 또한, 각각의 가상 기계도 그 가상 기계에 대해 할당된 호스트 공간에 만들어진 추가적인 저장 파티션을 가질 수 있다. 또한, 호스트 서버와는 별개인 기계로 보이는 것 외에, 가상 기계는 호스트 서버의 물리적 디스크(들) 상에 존재함에도 불구하고 복수의 드라이브들 또는 볼륨들을 호스팅하는 것으로도 보일 수 있다. 따라서, 조직체 내에서 하드웨어 리소스들을 보다 효율적으로 분배하기 위해서 가상 기계들은 많은 중요한 방식들로 사용될 수 있음을 이해할 수 있다.
이러한 이점에도 불구하고, 가상 기계들이 설치되어 있는 호스트 볼륨들을 단순히 복사하고 그 데이터를 필요에 따라 유용하게(예컨대, 일관적이고 유효하게) 하는 것은 간단한 일은 아니다. 이러한 곤란성의 이유들 중 하나는 가상 기계들 자체의 속성으로부터 생기는데, 이로써 가상 기계들은 다른 가상 기계들 및 대응하는 호스트 서버(들)에 대해 별개의 아이덴티티(예컨대, 별개의 운영 체제들을 포함함)를 포함하는 것으로 여겨진다. 예를 들어, 호스트 서버는 가상 기계 내부에 있는 애플리케이션들에게 애플리케이션들의 데이터의 "애플리케이션-일관성" 스냅숏을 생성하라고 단순히 지시할 수 없는데, 이는 이러한 애플리케이션들이 일반적으로 가상 기계의 제어 하에 있기 때문이다. 따라서, 호스트가, 가상 기계가 설치되어 있는 볼륨(또는 볼륨들)의 스냅숏 또는 백업 사본을 생성할 때, 가상 기계 내부의 프로세스들은 계속하여 실행할 수 있고, 이로써 가상 기계의 사본은 아마도 상이한 시간대에서 유효한 데이터 및 파일 상태를 포함할 수 있을 것이다. 즉, 가상 기계 데이터의 사본은 "애플리케이션-일관성"이 아닐 것이다. 이러한 가상 기계를 복구하려고 한다면, 전혀 동작이 안 되는 것은 아니지만 적절히 동작하지 않을 수도 있다.
일반적으로, "애플리케이션-일관성" 백업은, 애플리케이션들이 백업 준비 프로세스에 참여하고, 물리적 디스크 상에 있는 것 뿐만 아니라 메모리에 있는 것에 기초하여 백업될 애플리케이션 파일들을 생성하는 것을 의미한다. 그래서, 백업될 이러한 파일들 또는 스냅숏들은 애플리케이션의 현재 상태와 일관적이고, 장래의 시점에서 그 애플리케이션에 의해 복구될 수 있다. 반대로, "크래쉬-일관성(crash-consistent)" 데이터란 우선 첫번째로 데이터를 생성하는 데 이용되는 애플리케이션들의 수반 없이 일반적으로 백업되는 데이터를 말한다. 따라서, 크래쉬-일관성 백업 동안의 1차 생성물(primary production)은 메모리 내에 있는 것에 대한 고려 없이, 그리고 애플리케이션 상태에 대한 고려 없이 백업 프로세스 동안 물리적 디스크 상에 있는 것과 동일한 데이터 세트이다. 이는 전력 손실 또는 재부팅 동안에서와 같이, 전체 시스템 크래쉬 동안 파일 데이터가 존속할 수 있는 방식과 유사하므로, 예컨대 애플리케이션-일관성을 보장하지 않는다. 특히, 특정의 복잡한 운영 환경에서, 그 중에서도 백업 후에 가능한 단절없는(seamless) 이행(transition)을 보장하는 것이 중요한 경우에, 일관적인(즉, 애플리케이션 및/또는 파일 시스템) 일관성 백업 접근법이 바람직하다.
볼륨 데이터의 일관성 백업을 생성하기 위한 다양한 방식들이 있다. 그러나, 불행하게도, 가상 기계들(및 그에 의해 관리되는 대응 볼륨들)의 애플리케이션-일관성 백업들을 생성하려는 종래의 시스템들은 일반적으로 가상 기계를 우선 중지하거나 턴 오프하지 않고서는 애플리케이션-일관성 백업을 효과적으로 생성할 수 없다. 이는 통상적으로 소정의 원하지 않는 휴지기간(downtime)으로 이어지며, 이 휴지기간은 특정의 "미션-크리티컬(mission-critical)" 소프트웨어를 갖는 몇몇 케이스에서 관리자에게 특수한 곤란함을 일으킬 수 있다. 이것에 대한 한가지 이유는 대상 볼륨을 추가적인 쓰기가 그 볼륨에 대해 이루어지지 않는 동안 복사될 수 있어, 애플리케이션을 통해 생성된 데이터는 동일한 시간대에 대해 모두 일관성이 있기 때문이다. 물론, 즉각적이고 연속적이고 효율적인 데이터 액세스가 중요한 환경에서는, 백업 사본을 만들기 위해 가상 기계를 중지시키거나 턴 오프하는 것은 덜 바람직하고, 이는 조직체의 리소스들에 대한 소모를 발생시킬 수 있다.
조직체가 가상 기계의 애플리케이션-일관성 백업을 생성하려고 시도할 수 있는 다른 방식은 소정의 가상 기계의 각각의 인스턴스 내에서 특정 백업 에이전트를 설치하는 것이다. 일반적으로, 백업 에이전트는 운영 체제 내에서 애플리케이션 라이터(application writer)와 상호작용하도록 구성되어, 마치 통상적으로 호스트 서버의 메인 볼륨의 호스트-레벨로 이루어질 수 있는 것처럼, 애플리케이션-일관성 백업을 생성한다. 불행하게도, 각각의 가상 기계에 대해 새로운 백업 에이전트를 단지 설치하는 것은 단순한 일이 아니다. 예를 들어, 조직체는 통상적으로 각각의 가상 기계에 대해 새로운 별도의 백업 에이전트(또는 라이센스(license))를 구매할 필요가 있을 것이며, 가상 기계 내에 각각의 백업 에이전트를 설치할 것이다. 이는 수십개, 수백개 또는 심지어 수천개의 가상 기계들을 실행할 수 있는 대규모 조직체에 대해, 비용과 리소스 소모(예컨대, 관리 오버헤드(overhead)를 포함함)의 관점에서 상당한 곤란함을 제공할 수 있다는 것을 이해할 것이다.
따라서, 어드레싱될 수 있는 가상 기계들을 백업하는 것과 관련된 많은 곤란함이 있다.
<개요>
본 발명의 구현은 하나 이상의 가상 기계들의 일관적인 호스트-레벨 백업을 생성하도록 구성된 시스템, 방법 및 컴퓨터 프로그램 제품을 제공한다. 특히, 본 발명의 구현은, 하나 이상의 가상 기계들의 동작에 중대한 중단을 필연적으로 발생시키지 않고도, 기존의 백업 요청자들와 라이터들을 이용하여 일관적인 방식으로 호스트 서버와 대응하는 하나 이상의 가상 기계들을 백업하는 기능을 제공한다. 일 구현에서, 예컨대 호스트 서버 라이터(예컨대 가상 서버 VSS 라이터)는 각각의 가상 기계들로 하여금 그 자신의 가상 기계-레벨 볼륨 데이터의 하나 이상의 애플리케이션-일관성 스냅숏들을 생성하도록 지시한다. 또한, 호스트 서버 상의 백업 애플리케이션은 하나 이상의 가상 기계들(예컨대 그 Virtual Hard Disk 파일)이 설치되는 호스트-레벨 볼륨의 스냅숏들을 생성한다. 그러면, 호스트 서버는 호스트-레벨 스냅숏들 내로부터 이전에 생성된 가상 기계-레벨 스냅숏들을 검색할 수 있고 백업 프로세스를 종료할 수 있다.
예를 들어, 하나 이상의 가상 기계들을 필연적으로 중단 또는 재부팅하는 것을 요구하지 않고서도, 가상 기계 볼륨 데이터의 일관성 백업을 생성하는 호스트 서버의 관점에서의 방법은 라이터-관여된 백업 프로세스들을 위한 하나 이상의 컴포넌트들을 갖는 적어도 하나의 가상 기계를 식별하는 것을 포함할 수 있다. 또한, 본 방법은 가상 기계-레벨의 애플리케이션-일관성 스냅숏을 준비하라는 지시를 하나 이상의 가상 기계들 각각에 전송하는 것을 포함할 수 있다. 또한, 본 방법은 적어도 하나의 가상 기계에서의 스냅숏 동작들이 완료되었음을 식별하는 것을 포함할 수 있다. 또한, 본 방법은 식별된 하나 이상의 가상 기계들이 설치되는 하나 이상의 호스트 볼륨들의 하나 이상의 호스트-레벨 스냅숏들을 생성하는 것을 포함할 수 있다. 또한, 본 방법은 적어도 하나의 가상 기계에 의해 만들어진 가상 기계 볼륨들의 애플리케이션-일관성 스냅숏을 검색하는 것을 더 포함할 수 있다.
반대로, 호스트 서버의 호스트 라이터로부터의 지시들에 응답하여 하나 이상의 가상 기계 볼륨들의 일관성 백업을 생성하는 가상 기계의 관점에서의 방법은 이용가능한 소프트웨어 컴포넌트들을 식별하라는 요청을 호스트 라이터로부터 수신하는 것을 포함할 수 있다. 또한, 본 방법은 적어도 하나의 이용가능한 소프트웨어 컴포넌트들을 이용하여 가상 기계에 의해 호스팅된 하나 이상의 볼륨들의 스냅숏을 취하라는 요청을 호스트 라이터로부터 수신하는 것을 포함할 수 있다. 또한, 본 방법은 백업을 위해 대응하는 하나 이상의 가상 기계 애플리케이션들을 준비하라는 지시들을 가상 기계 상의 하나 이상의 애플리케이션 라이터들에게 전송하는 것을 포함할 수 있다. 또한, 본 방법은 가상 기계 내부에 호스팅된 하나 이상의 볼륨들의 각각에 대한 스냅숏 준비가 완료되었다는 신호를 호스트 라이터에 전송하는 것을 포함할 수 있다.
본 개요는 상세한 설명에 더욱 자세히 설명될 개념들의 선택을 단순화된 양식으로 소개하고자 제공된다. 본 개요는 청구되는 청구물의 핵심 특징 또는 본질적인 특징을 식별하려는 것도 아니며 청구된 청구물의 범위를 결정하는 데 도움으로서 이용되고자 한 것도 아니다.
본 발명의 추가적인 특징 및 이점들은, 이하의 설명에서 제시될 것이며, 부분적으로는 그 설명으로부터 자명할 것이고, 또는 본 발명의 구현에 의해 알게 될 것이다. 본 발명의 특징 및 이점은 특히 첨부된 청구항에서 지적된 수단 및 조합에 의해 실현되고 달성될 수 있다. 본 발명의 이러한 특징 및 기타 특징은 상세한 설명 및 첨부된 청구항으로부터 더욱 충분히 자명해질 것이며, 이하 제시될 본 발명의 구현에 의해 알 수 있을 것이다.
본 발명의 상술한 이점 및 특징, 그리고 기타 이점 및 특징이 달성될 수 있는 방식을 설명하기 위해, 간략하게 설명된 본 발명의 보다 구체적인 설명이 첨부된 도면에서 예시된 그 구체적인 실시예들을 참조하여 주어질 것이다. 이러한 도면들은 본 발명의 단지 통상적인 실시예들을 도시하며, 따라서 그 범위를 제한하는 것으로 고려되어서는 않됨을 이해하여야 하며, 본 발명은 첨부된 도면을 사용하여 추가적인 구체사항 및 상세사항으로 서술되고 설명될 것이다.
도 1a는 호스트-레벨 백업 애플리케이션이 어떠한 하나 이상의 가상 기계들이 일관적인 방식으로 백업될 수 있는지를 식별하는 본 발명의 구현에 따른 전반적인 개략도를 도시한다.
도 1b는 호스트 서버가 본 발명의 구현에 따라, 가상 기계에서의 가상 기계-레벨 게스트 요청자와 함께 백업 프로세스를 개시하는, 도 1a의 컴포넌트들을 도시한다.
도 1c는 호스트 서버 요청자가 하나 이상의 가상 기계들이 설치되는 호스트 볼륨들의 스냅숏들을 생성하는 도 1a-1b의 컴포넌트들을 도시하며, 호스트-레벨 스냅숏들은 가상 기계 볼륨 데이터를 또한 포함하고, 가상 기계 볼륨 데이터는 가상 기계들에 의해 이전에 수행된 가상 기계-레벨 스냅숏들을 포함한다.
도 1d는 도 1a-1c에 도시된 백업 애플리케이션이 가상 기계-레벨 스냅숏 데이터가 포함된 호스트-레벨 스냅숏 데이터를 검색하는, 본 발명의 구현에 따른 전반적인 개략도를 도시한다.
도 2는 하나 이상의 호스트 서버 볼륨들 상에 설치된 가상 기계들의 애플리케이션-일관성 백업들을 제공하기 위해 호스트 서버 및 가상 기계의 관점에서 본 발명의 구현에 따른 일련의 단계들을 포함하는 방법의 흐름도를 도시한다.
도 1b는 호스트 서버가 본 발명의 구현에 따라, 가상 기계에서의 가상 기계-레벨 게스트 요청자와 함께 백업 프로세스를 개시하는, 도 1a의 컴포넌트들을 도시한다.
도 1c는 호스트 서버 요청자가 하나 이상의 가상 기계들이 설치되는 호스트 볼륨들의 스냅숏들을 생성하는 도 1a-1b의 컴포넌트들을 도시하며, 호스트-레벨 스냅숏들은 가상 기계 볼륨 데이터를 또한 포함하고, 가상 기계 볼륨 데이터는 가상 기계들에 의해 이전에 수행된 가상 기계-레벨 스냅숏들을 포함한다.
도 1d는 도 1a-1c에 도시된 백업 애플리케이션이 가상 기계-레벨 스냅숏 데이터가 포함된 호스트-레벨 스냅숏 데이터를 검색하는, 본 발명의 구현에 따른 전반적인 개략도를 도시한다.
도 2는 하나 이상의 호스트 서버 볼륨들 상에 설치된 가상 기계들의 애플리케이션-일관성 백업들을 제공하기 위해 호스트 서버 및 가상 기계의 관점에서 본 발명의 구현에 따른 일련의 단계들을 포함하는 방법의 흐름도를 도시한다.
본 발명의 구현은 하나 이상의 가상 기계들의 일관적인 호스트-레벨 백업들을 생성하도록 구성된 시스템, 방법 및 컴퓨터 프로그램 제품으로 확장된다. 특히, 본 발명의 구현은 하나 이상의 가상 기계들의 동작에 대해 중대한 중단을 필연적으로 발생시키지 않고도, 기존의 백업 요청자 및 라이터들을 일관적인 방식으로 이용하여 호스트 서버 및 대응하는 하나 이상의 가상 기계들을 백업하는 기능을 제공한다. 일 구현에서, 예컨대 호스트 서버 라이터(예컨대, 가상 서버 VSS 라이터)는 각각의 가상 기계에게 그 자신의 가상 기계-레벨 볼륨 데이터의 하나 이상의 애플리케이션-일관성 스냅숏들을 생성하도록 지시한다. 또한, 호스트 서버 상의 백업 애플리케이션은 하나 이상의 기계들(예컨대, 그 Virtual Hard Disk 파일)이 설치되는 호스트-레벨 볼륨들의 스냅숏들을 생성한다. 그러면, 호스트 서버는 호스트-레벨 스냅숏들 내로부터 이전에 생성된 가상 기계-레벨 스냅숏들을 검색할 수 있고 백업 프로세스를 종료할 수 있다.
본 상세한 설명 및 청구항을 읽은 후에는, 호스트 서버가 일관적인(예컨대, 애플리케이션 및/또는 파일 시스템)-일관성 백업 프로세스를 위해 구성된 것으로 쉽사리 확인될 수 없다고 하더라도, 그럼에도 호스트 서버가 (예컨대 가상 서버 라이터를 통해) 가상 기계들의 일관성 백업들을 또한 생성할 수 있음을 이해할 것이다. 예를 들어, 가상 기계들은 턴 오프되거나 아니면 실행되지 않을 수 있으며, 또는 가상 기계들은 적절한 소프트웨어 또는 하드웨어 컴포넌트들과 함께 설치되지 않을 수 있다. 그럼에도 불구하고, 호스트 서버는 여러 상이한 컴포넌트를 사용하여 호스트 볼륨들 및 대응하는 가상 기계들을, 상태를 보존하고, 적어도 순간적으로는 가상 기계들을 중지하거나 중단하는 방식으로 복사할 수 있다. 그러면, 호스트 서버 라이터는, 호스트 볼륨(들)의 스냅숏이 만들어진 후에 가상 기계가 재개하게 할 수 있다.
본 상세한 설명 및 청구항을 읽은 후에는, 본 발명의 구현은 새로운 백업 에이전트들의 구입 및 설치를 요구하지 않고서도, 휴지기간을 최소화하는 방식으로 가상 기계들의 일관성 백업들을 제공할 수 있다. 그래서, 가상 기계 솔루션을 구현하는 조직체는, 조직체의 리소스 소비를 최소화하는 방식으로 네트워크 시스템 내에서 보다 나은 호스트 서버, 가상 기계 및 데이터 가용성을 제공할 수 있다.
따라서, 도 1a는 볼륨들(110, 115)을 관리하도록 구성된 예시적인 호스트 서버(100)를 도시한다. 가상 기계들(120, 130)은 볼륨들(110, 115) 상에 각각 설치된다. 예시로써, 각각의 가상 기계(120, 130)는 한 레벨로 별개의 컴퓨터화된 시스템으로서 고려될 수 있지만, 각각의 가상 기계(120, 130)는 호스트(100) 레벨에서 바라보았을 때 "파일들"(예컨대, Virtual Machine Configuration, 또는 "VMC", 파일 및 하나 이상의 가상 하드 디스크-"VHD"-파일들)의 집합으로서 또한 고려될 수 있다. 어쨌든, 도 1a는 볼륨당 하나의 가상 기계를 도시하고 있지만, 이는 반드시 요구되는 것은 아니며, 임의의 주어진 호스트 서버(100) 볼륨 상에 몇 개의 가상 기계들이 설치될 수도 있다. 마찬가지로, 각각의 가상 기계가 하나 이상의 호스트 서버들 상에서 복수의 볼륨들에 거쳐 존재할 수 있다.
또한, 각각의 가상 기계는 추가의 드라이브들을 관리할 수 있으며, 이러한 드라이브들은 소정의 가상 기계가 설치되는 볼륨 할당(들) 내의 유효하게 추가되는 볼륨 할당들이다. 예를 들어, 도 1a는, 가상 기계(120)가 역시 호스트 볼륨(100)의 일부인 하나 이상의 가상 물리적 디스크들을 또한 관리하는 것을 도시한다. 일반적으로, 각각의 가상의 물리적인 디스크는 Virtual Hard Disk 파일(즉, VHD(123, 127 등))과 같은 파일에 의해 또한 표현될 수 있다. 특히, VHD 파일은 추가적인 하나 이상의 볼륨들(도시 생략)을 추가적으로 포함할 수 있는 가상 기계 내부에서 물리적인 디스크로서 노출되며, 각각의 볼륨은 그 자신의 "GUID(Global Unique Identifier)"를 갖는다. 따라서, VHD 파일(123)(본 도면에서는 단순함을 위해 하나의 볼륨만을 포함함)은 드라이브 "m:\" -또는 소정의 운영 시스템에 대해 적절한 소정의 기타 고유 식별자로서 보임- 으로서 보이는 볼륨을 가질 수 있으며, VHD(127)(이 또한 이 경우에는 하나의 볼륨만을 포함함)는 네트워크 상에서 드라이브 "n:\" 등으로서 보이는 볼륨을 가질 수 있다.
또한, 도 1a는, 호스트(100)가 "호스트 요청자" 또는 "호스트-레벨 요청자"로 칭해질 수도 있는 백업 애플리케이션(105)를 포함하는 것을 도시한다. 일반적으로, 백업 애플리케이션(105)은 호스트(100)에서 백업 이벤트들을 지시하도록 구성된 일련의 컴퓨터 실행가능 명령어들을 포함한다. 예컨대 MICROSOFT 운영 환경과 같은 일 구현에서, 백업 애플리케이션(105)은 "VSS(Volume Shadow Copy Service)" 요청자를 포함한다. 또한, 도 1a는, 백업 애플리케이션(105)이 다음에는 "호스트 라이터", "호스트-레벨 라이터" 또는 "호스트-레벨 가상 서버 VSS 라이터"로도 칭해질 수 있는 호스트 라이터(125)를 통해 그 백업 명령어들을 지시하도록 구성될 수 있는 것을 도시한다.
일반적으로, 호스트 라이터(125)는 백업 애플리케이션(105)으로부터 수신된 백업 명령어들을 구현하도록 구성된 일련의 컴퓨터 실행가능 명령어들을 포함한다. 예컨대 MICROSOFT 환경에서와 같은 일 구현에서, 호스트 라이터(125)는 MICROSOFT VIRTUAL SERVER에서 사용되는 VSS 라이터와 같은 VSS 라이터를 포함할 수 있다. 설명으로써, 본 명세서에서의 MICROSOFT 컴포넌트들에 대한 참조는 단지 예시적인 것이다. 특히, 본 상세한 설명 및 청구항을 읽은 후에는, 본 명세서에 설명된 컴포넌트들, 모듈들, 시스템들 및 기능들은 다른 운영 환경에서 사용되는 광범위하게 다양한 컴포넌트들, 모듈들 및 기능들에 적용될 수 있음을 이해할 것이다.
가상 기계들의 일관성 백업을 수행하기 위하여, 일반적으로 호스트(100)는 호스팅된 가상 기계들 중 어느 것이 무엇보다도 일관성 백업들을 가능하게 만들도록 구성되는 적절한 컴포넌트들을 보고할 수 있는지를 결정할 필요가 있을 것이다. 준비 사항으로서, 본 명세서에서 연속되는 참조번호가 "애플리케이션-일관성" 백업 또는 스냅숏 프로세스들에 부여된다. 그러나, 애플리케이션-일관성 백업 프로세스들은 본 발명의 구현에 따른 단지 하나의 예시적인 "일관적인" 백업 동작들이라는 것을 이해할 것이다. 일관성 백업 프로세스들의 다른 예들은 파일 시스템 및/또는 크래쉬-일관성 백업 프로세스들을 포함한다.
어쨌든, 예를 들어 애플리케이션-일관성 백업들에 관련하여, 소정의 가상 기계들은 애플리케이션-일관성 백업들을 만들기 위해 적절한 라이터들 및 요청자들과 함께 설치될 수 있으며, 다른 가상 기계들은 적절한 라이터들 및 요청자들 없이도 설치될 수 있다. 이러한 적절한 컴포넌트들 없이도 실행되는 가상 기계들에 대해, 호스트(100)는 여전히 이러한 가상 기계들을 백업할 수 있지만, 반드시 적절한 컴포넌트들을 갖는 것과 동일한 방식으로 백업할 필요는 없을 것이다. 특히, 호스트(100)는 휴지기간 또는 중단 없이(또는 사실상 없이) 적절한 컴포넌트들을 보고하는 이러한 가상 기계들을 백업하도록 구성될 수 있으며, 대안적으로는 적어도 소정의 휴지기간 또는 중단을 갖고 적절한 컴포넌트들을 보고하지 않는(즉, 없거나 동작하지 않는) 가상 기계들을 백업하도록 구성될 수 있다.
따라서, 도 1a는, 백업 애플리케이션(105)(즉, "호스트 요청자")이 요청(103)을 호스트 라이터(125)에 전송함으로써 백업 서비스를 적어도 일부 시작하는 것을 도시한다. 이 경우에, 요청(103)은, 호스트 라이터(125)에게 어느 가상 기계들이 "휴지기간 없이" 백업될 수 있는지를 식별하도록 지시한다. 예를 들어, 요청(103)은, 호스트 라이터(125)에게 어느 가상 기계들(120, 130 등)이 내부 애플리케이션-일관성 백업을 수행하기 위해 적절한 게스트 라이터들 및/또는 요청자들을 포함하는지를 확인하도록 지시한다. 예컨대 MICROSOFT 환경에서의 일 구현에서, 이러한 컴포넌트들은 MICROSOFT VIRTUAL SERVER 기반구조 내에서 사용되는 "VM Additions"과 호환가능한 것들을 포함할 수 있다.
이러한 가상 기계 컴포넌트들 및 기타 마찬가지로 구성된 가상 기계 컴포넌트들은 예컨대 호스트-레벨 가상 서버 VSS 라이터와 가상 기계 내로부터 상호작용하도록(그리고, 이로부터의 명령에 응답하여) 구성된다. 또한, 도 1a는, 호스트 라이터(125)가 요청(103)을 수신하면, 가상 기계(120)와 메시지(111)(이는 예컨대 개인 Application Program Interface - "개인 API")를 통해 가상 기계(120)와 통신할 수 있고, 가상 기계(120)가 "버전 x"에 따른 컴포넌트들을 보고하는 것을 확인한다. 예를 들어, 도 1a는, 가상 기계(120)가 "게스트 요청자(140)"를 포함한다는 것을 도시한다.
또한, 도 1a는, 호스트 라이터(125)가 가상 기계(130)와 (예컨대 메시지(111)를 통해) 추가적으로 통신하고, 호스트 라이터(125)가 가상 기계(130)가 "버전 y"에 따른 컴포넌트들을 보고함을 확인하는 것을 도시한다. 이 구체적인 경우에, "버전 y"는, 가상 기계(130)가 일관성 백업 프로세스를 위한 적절한 컴포넌트들을 갖지 않음을 나타낸다. 가상 기계들(예컨대 120, 130 등)과의 통신에 응답하여, 호스트 라이터(125)는 백업 애플리케이션(105)에 수집된 응답의 하나 이상의 메시지들을 다시 전송할 수 있다. 예를 들어, 라이터는 메시지(113)를 전송하는데, 이 메시지는 가상 기계(120)가 버전 "x"이고 적절한 컴포넌트들을 보고함을 나타내고, 또한 가상 기계(130)가 버전 "y"이지만 적절한 컴포넌트들을 보고하지 않는 것을 나타낸다.
도 1a는, 백업 애플리케이션(105)이 메시지(113)를 수신함에 의해 메시지(113)를 취할 수 있고, 어느 가상 기계들이 백업될지, 그리고 어느 가상 기계들이 백업되지 않을지에 대한 그 자신의 결정을 할 수 있다는 것을 도시한다. 예를 들어, 도 1a는, 결정 모듈(107)이 메시지(113)의 정보를 파싱(parsing)하고, 가상 기계(120)를 "휴지기간 없이 백업하는 VM들" 범주로 위치시키고, 가상 기계(130)를 "소정의 휴지기간을 갖고 백업하는 VM들"(또는 백업하지 않는 VM들) 범주로 위치시킨다는 것을 도시한다. 대안적인 구현에서, 호스트 라이터(125)는 어느 것이 백업되고 또는 어느 것이 백업되지 않아야 하는지(또는, 소정의 휴지기간으로 백업되어야 하는지)에 대한 그 자신의 결정만을 행하고, 백업 애플리케이션(105)에 이러한 범주화를 다시 보고한다. 어쨋든, 도시된 범주화는, 그 중에서도 특히 가상 기계(130)가 백업되지 않을 것이라는 것을 반드시 의미하지는 않는다. 대부분의 경우에, 이는 가상 기계(120)가 적절하게 일관적인 형식으로 백업될 수 없다는 것, 그리고 가상 기계(130)가 소정의 휴지기간을 갖고 일관적인 형식으로 백업되도록만 구성될 수 있다는 것을 단순히 의미한다. 각각의 가상 기계를 범주화한 후에, 백업 애플리케이션(105)은 백업 프로세스 구현을 개시한다.
예를 들어, 도 1b에 도시된 바와 같이, 백업 애플리케이션(105)은 명령어들(117a)을 호스트 라이터(125)에 전송한다. 그러면, 명령어들(117a)은 다음에 호스트 라이터(125)에게 적어도 가상 기계(120)에 대하여 애플리케이션-일관성 백업 프로세스를 개시하라고 알린다. 그 후에, 호스트 라이터(125)는 그 자신의 통신(117b)을 준비하는데, 이 통신은 가상 기계에게 "라이터-관여된" 백업 프로세스를 개시하도록 알린다. 그 후, 호스트 라이터(125)는 백업 애플리케이션(105)에 의해 표시된 각각의 가상 기계(예컨대 120)에게 메시지(117b)를 전송하고, 각각의 표시된 가상 기계는 그 후에 그 대응하는 인-게스트(in-guest) 요청자를 통해 메시지(117b)를 수신한다.
예를 들어, 도 1b는, 가상 기계(120)의 게스트 요청자(140)가 메시지(117b)를 수신한다는 것을 도시한다. 일 구현에서, 호스트 라이터(125)는 하나 이상의 개인 API들을 통해, "RPC(Remote Procedure Call)" 등을 통해 게스트 요청자(140)와 통신할 수 있는데(예컨대, 메시지(111, 117b 등)), 이를 통하는 것은 모든 구현에서 요구되지는 않는다. 호스트 라이터(125) 및 게스트 요청자(140)가 별개의 네트워크 위치(또는 심지어 다른 도메인)에 위치되는 경우와 같은 다른 구현에서, 호스트 라이터(125)는 다른 적절한 통신 인터페이스 및/또는 컴포넌트와 통신할 수 있다. 특히, 본 발명의 구현은 WAN(Wide Area Network)을 통해 원격지로부터의 가상 기계를 백업할 필요가 있을 때도 또한 구현될 수 있다는 것을 이해할 것이다.
어쨌든, 일단 트리거링되면, 게스트 요청자(140)는 백업 애플리케이션(105)의 초기 명령에 따라 그 볼륨들의 백업 프로세스를 시작한다. 예를 들어 도 1b에 도시된 바와 같이, 게스트 요청자(140)는 가상 기계(120)에 의해 관리되는 임의의 볼륨들 상에 설치되는 애플리케이션들에게 가상 기계-내부 메시지(117c)를 전송한다. 메시지(117c)는 그 물리적인 디스크들(즉, VHD 파일들(123, 127)로 표현됨)에 포함된 볼륨들 내에서 관리된 각 볼륨의 애플리케이션-일관성 백업 프로세스를 준비하라는 명령어들 각각의 애플리케이션 라이터(예컨대, VSS 라이터이며 도시하지는 않았음)마다 포함할 수 있다. 일반적으로, 각각의 애플리케이션 라이터는 가상 기계 내의 애플리케이션들 및 서비스들에 포함될 수 있고 애플리케이션 데이터의 애플리케이션-일관성 백업들을 제공하는 것을 돕는 컴퓨터 실행가능 명령어들을 포함할 수 있다.
요청(117c)을 받았을 때 실행하는 애플리케이션들의 경우, 애플리케이션 라이터는 예컨대 그 데이터 저장소를 준비하고, 스냅숏이 생성되는 동안 볼륨(예컨대 123, 127) 상에 어떠한 쓰기도 발생하지 않는다는 것을 보장함으로써 응답할 수 있다. 디스크 상의 데이터를 일관적으로 만들기 위해, 애플리케이션 라이터는 또한 그 버퍼들을 디스크로 플러싱(flushing)할 수 있거나, 인-메모리(in-memory) 데이터를 디스크에 기록할 수 있다(write out). 또한, 애플리케이션 라이터는 포함 또는 배제할 애플리케이션 이름, 아이콘들, 파일들에 대한 정보를 제공할 수 있으며, 파일들을 복구할 정책을 제공할 수 있다. 실행하고 있지 않은 애플리케이션들의 경우, 대응하는 애플리케이션 라이터는 메시지(117c)에 응답하지 않을 수 있으며, 이에 따라, 게스트 요청자(140)는, 애플리케이션 라이터들에 의해 다루어지는 볼륨 상의 모든 데이터가 일관적이며, 데이터베이스는 폐쇄되어 있고, 백업을 수행하기 위해 추가적인 노력이 요구되지 않는다고 가정할 수 있다.
일반적으로, 본 발명의 하나 이상의 구현에 따른 애플리케이션 라이터는 하나 이상의 컴포넌트들과 연관될 수 있다. 그 후, 각각의 컴포넌트는 전체로서 복사될 파일들의 그룹을(예컨대, 데이터베이스 및 로그 파일들의 세트) 포함할 수 있다. 따라서, 각각의 애플리케이션 라이터는 각각의 컴포넌트 및 각각의 대응하는 컴포넌트의 파일의 데이터를 적절한 백업 서비스(예컨대, 가상 기계 요청자 - 예컨대 게스트 요청자(140))에 제공할 필요가 있을 것이다. 각각의 애플리케이션 라이터는 컴포넌트 별로(및, 이로써 컴포넌트-파일 별로) 데이터를 복구하는 것에 대한 정보를 추가적으로 제공할 수 있다. 예컨대 일 구현에서, 호스트 라이터(125)는 관리되는 가상 기계들(예컨대, 120, 130 등)에 대한 지속적인 정보를 유지하는 데 이용되는 파일들의 리스트를 제공할 수 있다. 예컨대 호스트 라이터(125)는 각각의 가상 기계에 대하여 특정의 가상 기계 구성 파일의 경로, 가상 하드 디스크 파일의 임의의 경로 등을 보고할 수 있다.
어쨌든, 그리고 명령(117c)에 응답하여, 도 1b는 볼륨들(123 및 127) 내의 대응하는 애플리케이션 라이터들이 내부에서 볼륨 데이터의 애플리케이션-일관성 상태를 생성하는 것을 도시한다. 대응하는 물리적인 디스크 파일(예컨대, VHD들(123, 127)) 내의 볼륨에 대해 관련된 애플리케이션들에 의해 보고된 볼륨 데이터는 볼륨 스냅숏들에 포함된다. 예를 들어, 도 1b는, VHD(123) 내의 볼륨 데이터(145)가 "데이터의 클린(clean) 사본"(155)으로서 복사되고, VHD(127) 내의 데이터(150)는 "데이터의 클린 사본"(160)으로서 복사된다는 것을 도시한다. 일반적으로, 이러한 데이터의 "클린" 사본들(155, 160)은 게스트 볼륨 스냅숏 내의 데이터의 일관적인 사본들(예컨대, 볼륨 섀도우(volume shadow) 사본)이며, 일반적으로 스냅숏 자체와 별개의 사본들을 구성하지는 않는다. 특히, "클린 사본들"(155, 160)은 Virtual Hard files(VHD들)(123, 127)(도 1a)에 각각 포함된 스냅숏들 내의 볼륨 데이터의 본질적으로 애플리케이션-일관적인 사본들이다.
일단 각각의 적절하게 구성된 가상 기계(예컨대 120)가 그 자신의 내부의 그 물리적 디스크 볼륨들의 애플리케이션-일관성(또는 "클린") 사본(예컨대 데이터(145)의 사본(155))을 만들면, 호스트 라이터(125)는 백업 애플리케이션(105)으로 하여금 적절하게 구성된 가상 기계들(예컨대 120)이 설치되는 호스트 볼륨들(예컨대 110)의 스냅숏들을 만들기를 진행할 수 있게 한다. 그러나, 이러한 호스트-레벨 스냅숏들의 내부에 있는 가상 기계 볼륨 데이터는 반드시 애플리케이션-일관성일 필요는 없다(즉, "더티(dirty)" 또는 "크래쉬 일관성").
일반적으로, "더티" 사본들은 가상 기계 볼륨 데이터에 대해 애플리케이션-일관적으로 보장될 수 없는 것들인데, 적어도 부분적으로 이들은 가상 기계들 내의 애플리케이션 라이터-관여된 스냅숏 프로세스들을 호출하지 않기 때문이다. 예를 들어, 호스트(100)는 라이터-관여된 프로세스들로 볼륨(110)을 백업하기 위하여 호스트-레벨 애플리케이션 라이터들(예컨대 호스트 라이터(125))을 사용할 수 있지만, 상술한 바와 같이 이러한 호스트-레벨 애플리케이션 라이터들은 이들이 호스트에 의해 보이므로 전체 가상 기계 파일들만을 복사할 것이다. 따라서, 호스트-레벨 볼륨 데이터의 애플리케이션-일관성 사본들을 생성하기 위하여 호스트-레벨 애플리케이션 라이터들을 이용한다고 할지라도, 각각의 하부의(underlying) 가상 기계는 볼륨(110)의 호스트-레벨 백업을 만들 시에 다양한 데이터 변화를 경험할 것이다.
예를 들어, 도 1c는, 호스트 라이터(125)가 메시지(157)를 백업 애플리케이션(105)에 전송하는 것을 도시하며, 메시지(157)는 가상 기계(예컨대 120)의 백업이 완료되었음을 나타낸다. 그래서, 백업 애플리케이션(105)은 호스트 볼륨(110)(또한 적절하다면 볼륨(115) 등)의 호스트-레벨 스냅숏들을 만드는 것을 진행할 수 있다. 도 1c는 이 예에서의 응답에서, 백업 애플리케이션(105)이 볼륨(110, 115 등)에서 백업 프로세스를 개시하는 것(예컨대 신호(135))을 도시한다. 일 구현에서, 예를 들어, 호스트 요청자(105)는 라이터-관여된 백업 프로세스를 개시하고, 호스트-레벨 VSS 컴포넌트(도시 생략)를 통해 (즉, 가상 기계 파일들을 제외하고 애플리케이션 일관적인) 호스트-레벨 볼륨들(110, 115) 상의 데이터의 애플리케이션-일관성 스냅숏을 생성한다.
예를 들어, 도 1c는, 호스트(100)가 호스트 볼륨들(110, 115)의 스냅숏(167, 173)을 생성하는 것을 도시한다. 또한, 스냅숏들(167, 173)은 내부에 가상 기계 VHD 파일들(즉, 볼륨(110) 내부의 VHD 파일(123) 등)의 사본들을 포함한다. 호스트-레벨 스냅숏 중에, 가상 기계들(120, 130)은 스냅숏 프로세스와 관련된 그 대응 라이터를 가지지 않았으므로, 더 새로운 호스트-레벨 스냅숏들은 애플리케이션-일관성이 없는 가상 기계-레벨 볼륨들에 대한 VHD 볼륨 데이터(예컨대 156, 161)를 포함한다. 그럼에도 불구하고, 관련 가상 기계가 그 볼륨들의 애플리케이션-일관성 사본을 이미 만들었으므로, 호스트-레벨 스냅숏(167) 내의 VHD 데이터(156)는 이전에 생성된(즉, 가상 기계가 생성한) 애플리케이션-일관성 스냅숏(155)를 포함한다. 마찬가지로, 호스트-레벨 스냅숏(167) 내의 VHD 데이터(161)는 이전에 생성된(즉, 가상 기계가 생성한) 애플리케이션-일관성 스냅숏(160)을 포함한다. 상술한 바와 같이, VHD 파일들(123, 127)의 호스트-레벨 스냅숏들(167)(또한 173) 내의 VHD 데이터(156, 161)는 일반적으로는 전체적으로 크래쉬 일관적이다.
호스트-레벨 볼륨들의 호스트-레벨 스냅숏들(167, 173)을 생성하면, 호스트(100)는 호스트-레벨 볼륨 스냅숏들(167, 173) 내로부터 가상 기계-레벨 스냅숏을 검색할 필요가 있을 것이다. 일 구현에서, 이는 호스트-레벨 VHD 스냅숏 데이터(156, 161)를 대응하는 가상 기계-레벨 스냅숏 데이터(155, 160)로 다시 복구하는 것을 포함한다. 이렇게 하기 위해서, 호스트 라이터(125)는 하부의 데이터를 노출하기 위해 임의의 개수의 적절한 컴포넌트들을 이용하여 파일 시스템 내에 이러한 호스트-레벨 및 가상 기계-레벨 스냅숏들을 우선 설치할 수 있다. 예를 들어, 백업 애플리케이션(105)은 호스트 스냅숏들(167, 173 등)(그리고 하부의 VHD 파일들 스냅숏들)을 (읽기 전용이 아니라) 쓰기 가능하게 만들도록 호스트 라이터(125)를 구성할 수 있다. 또한, 호스트 라이터(125)는 호스트-레벨 스냅숏들에 대한 이러한 디바이스 ID들을 획득할 수 있고 캡슐화된 VHD 파일들(예컨대, 123, 127)에 대응하는 상이한 "디바이스 ID들"을 식별하기 위해 이들을 이용할 수 있다.
쓰기 가능한 호스트-레벨 스냅숏들(167, 173) 내로부터 가상 기계 VHD 파일들을 노출시키면, 호스트 서버(100)는 VHD 파일에 대응하는 각각의 디바이스 ID를 탑재할 수 있으므로, 각각의 VHD 파일은 호스트-레벨에서 물리적인 디스크로서 보인다. 특히, 호스트 라이터(125)는 VHD 파일들(123, 127) 내의 각각의 볼륨을 식별하기 위해 이미지 마운터 컴포넌트(image mounter component)와 함께 호스트 스냅숏 내의 VHD 파일들(123, 127)에 대한 디바이스 ID들을 사용할 수 있다. 예를 들어, 도 1c는, 호스트 서버가 (예컨대, 호스트 라이터(125)를 통해) 인수(argument)로서 VHD 파일(123) 및 VHD 파일(127)에 대한 디바이스 ID를 포함하는 마운트 디바이스 ID를 탑재하라는 명령(175)을 전송한다. 예컨대 특히 MICROSOFT 운영 환경에 대한 일 구현에서, 호스트(100)는 탑재 명령(175)을 수신하고 실행하기 위하여 "VHDImageMounter" 컴포넌트를 사용할 수 있다.
호스트 스냅숏(167) 내로부터 VHD 파일들(123, 127)을 탑재하는 것은 이러한 VHD 파일들 내에 운영 시스템을 노출시킬 수 있으며, 이는 차례로 가상 기계-레벨 스냅숏들(155, 160)이 호스트 서버(100) 상에 노출되게 한다. 특히, 이 경우에 볼륨(110)의 호스트 스냅숏(167) 내로부터 VHD 파일들(123, 127)을 탑재하는 것은 호스트 스냅숏(167)의 다른 VHD 데이터(156, 161) 내부에 가상 기계-레벨 스냅숏들(155, 160)을 노출시킨다. 따라서, 또한 도 1c는, 호스트(100)가 드라이브 "x:\"로서 호스트 스냅숏(167) 내부에 VHD 파일(123)을 탑재하는 것을 도시하며(이는 VHD 데이터(156)를 노출시키고, 이전에 그 내부에 생성된 가상 기계-레벨 스냅숏 데이터(155)를 추가적으로 노출시킴), 드라이브 "y:\"로서 호스트 스냅숏(167) 내로부터 VHD 파일(127)을 추가적으로 탑재하는 것을 도시한다(호스트 스냅숏(167)은 또한 VHD 데이터(161)를 포함하고, 이 데이터에는 이전에 생성된 가상 기계-레벨 스냅숏 데이터(160)가 노출됨).
이제 백업 애플리케이션(105)이 호스트 스냅숏(167) 내로부터 VHD 파일들(123, 127)을 탑재하였으므로, 백업 애플리케이션(105)은 호스트-레벨 스냅숏(167)의 VHD 데이터(156, 161)를 가상 기계-레벨 볼륨 스냅숏들의 VHD 데이터(155, 160)로 다시 복구할 수 있다. 예컨대 도 1d에 도시된 바와 같이, 드라이브 "x" 및 "y" 내의 더티 및 클린 스냅숏 데이터를 복구하기 위해 백업 애플리케이션(105)은 컴포넌트 인터페이스(185)(예를 들어, VSS 컴포넌트 인터페이스)를 사용한다. 일 구현에서, 백업 애플리케이션(105)은 인터페이스(185)를 사용하여 VHD 데이터(156, 161)를 단순히 삭제하거나 오버라이팅(overwriting)하고 이를 대응하는 클린 VHD 데이터(155, 160)로 교체한다.
일단 이러한 교체를 행하면, 하부의 가상 기계-레벨 볼륨 데이터가 이제 충분히 일관성이 있도록, 백업 애플리케이션(105)은 VHD 파일들(123, 127)의 스냅숏 데이터를 보정하거나 조정(즉, 복구와 교체)하였을 뿐만 아니라, 전체의 호스트-레벨 스냅숏(167)을 변경한 것이다. 즉, 호스트-레벨 스냅숏들 내의 모든 가상 기계 데이터는 이제 또한 애플리케이션-일관적으로 고려될 수 있다. 또한, 가상 기계-레벨 스냅숏들(155, 160)의 제어는 호스트(100) 백업 프로세스의 제어 내에 놓인다. 따라서, 호스트(100)는 그 볼륨 스냅숏들의 그 자신의 애플리케이션-일관성 백업을 행하며, 이러한 호스트-레벨 백업은 이제 각각 적절하게 구성된 가상 기계의 애플리케이션-일관성 백업을 포함할 수 있다.
상술된 컴포넌트들 및 프로세스들은, 식별된 가상 기계(예컨대, 120)가 일관성 백업을 생성하기 위한 적절한 소프트웨어 컴포넌트들을 갖는 구성을 나타내는 응답을 제공하는 경우에 대해 주로 설명된다. 구체적으로, 이러한 가상 기계들(예컨대, 120)은 약간의 휴지기간 또는 휴지기간 없이 백업될 수 있다. 그러나, 상술한 바와 같이, 소정의 가상 기계는 이것이 실행되고 있지 않으므로 응답을 제공하지 않거나, 일관성 백업들을 행하도록 구성되지 않았음을 나타내는 응답을 제공하는 또 다른 예가 있을 수 있다. 예를 들어, 적절한 애플리케이션 라이터(예컨대, 섀도우 복사 서비스의 정확한 버전), 적절한 게스트 요청자(예컨대, 140) 등과 같은 특정의 요구되는 소프트웨어 컴포넌트들을 포함하지 않는 운영 체제를 가상 기계(130)가 실행할 수도 있다. 이러한 또 다른 예에서, 본 발명의 구현은, 후에 데이터가 일관성이 있음을 보장할 필요가 있는 경우에 적어도 소정의 후속 휴지기간을 필요로 하거나 필요로 하지 않을 수 있는 가상 기계들(예컨대 130)의 적어도 크래쉬 일관성 백업들을 여전히 제공할 수 있다.
예를 들어, 호스트 라이터(125)는 통신 인터페이스(도시 생략)을 호출할 수 있고, 그 인터페이스에게 가상 기계(130)(및/또는 다른 마찬가지로 제한되는 가상 기계들)의 상태 모두를 저장하라고 지시할 수 있다. 예를 들어, 특히 MICROSOFT 운영 환경에 대한 일 구현에서, 호스트 라이터(125)는 Virtual Server Communication 인터페이스(즉, "VS COM API", 도시 생략)를 호출할 수 있다. 통신 인터페이스는, 가상 기계(130) 상태를 저장하기를 완료한 때 호스트 라이터(125)에게 보고할 수 있다. 특히, 통신 인터페이스는 이를 호스트 라이터(125)에게 보고할 수 있으며, 이는 차례로 가상 기계(130)가 상주하는 대응 호스트 볼륨(즉, 볼륨(115))의 스냅숏을 백업 애플리케이션(105)이 생성하게 허용한다.
가상 기계(130) 상태를 저장하는 것 외에, 통신 인터페이스는 또한 임의의 적절한 가상 및/또는 개인 API들을 이용하여 가상 기계 동작을 순간적으로 중지하거나 중단할 수 있다. 통신 인터페이스가 예컨대 가상 기계(130) 상태에 대한 임의의 변화를 식별한다면, 통신 인터페이스는 이 정보를 보고할 수 있다. 이러한 보고는 차례로 백업 동작을 실패하게 하며 보다 적절한 시간에 재시작을 일으킬 수 있다. 특히, 백업 애플리케이션(105)은, 백업 애플리케이션(105)이 원하는 일관성의 상태에서 볼륨(115)의 스냅숏들을 생성하기를 완료할 때까지 이러한 단계들을 계속하여 반복할 수 있다.
일단 백업 동작들이 완료되면, 호스트(100)는 볼륨(110) 및 그 대응 가상 기계(예컨대, 120)의 애플리케이션-일관성 사본을 생성한 것이고, 볼륨(115) 및 그 대응 가상 기계(예컨대, 130)의 일관성(즉, 적어도 크래쉬 일관성) 사본을 추가적으로 생성한 것이다. 볼륨(115)의 이러한 사본은 크래쉬 일관적일 뿐만 아니라, VHD 파일의 상태에 대해 "VHD 일관적"임을 이해할 것이다. 특히, 가상 기계 상태를 저장하는 것은 원한다면, 이후의 시점에서 성공적으로 복구될 수 있는 유효하고 일관적인 VHD 파일을 제공할 수 있다.
또 다른 구현에서, 본 발명에 따른 컴포넌트들은 상술된 일관성 스냅숏 기능들 중 다수를 제공하는 하드웨어 제공자의 사용을 추가적으로 포함할 수 있다. 하드웨어 제공자를 사용할 때, 예컨대 "VSS Hardware Provider"(예컨대, 플렉스/미러(plex/mirror) 제공자), 볼륨(110, 115) 저장 장치는 별도의 위치에 "미러링되고 있는(mirrored)" "디스크 어레이" 상에 상주할 수 있다. 호스트-레벨 스냅숏(즉, 가상 기계에 대한 논(non)-애플리케이션-일관성)을 생성할 때인 경우에, 하드웨어 제공자는 볼륨과 그 대응 미러 사이에서 그 미러를 단순히 "깨뜨릴(break)" 수 있다. 이는 별개의 독립형 디스크 디바이스로서 호스트-레벨 스냅숏을 노출시킬 수 있다. 그러면, 백업 애플리케이션(105)은 쓰기 가능한 볼륨의 미러를 만들기 위해 임의의 개수의 Virtual Disk Service("VDS") 및/또는 Volume Shadow Copy Server("VSS") API들을 호출할 수 있고, 볼륨의 미러를 조작할 수 있고, 하부의 클린(즉, 애플리케이션-일관성) 스냅숏 데이터(155, 160)를 노출시키고 탑재할 수 있다. 몇개의 저장 매체들에 분산된 가상 기계들의 애플리케이션-일관성 백업들을 생성하기 위하여, 이러한 유형의 하드웨어 솔루션은 Storage Area Network("SAN")환경에서와 같은 원격으로 접속된 저장 볼륨들에서 사용될 수도 있다.
이들 방침을 따라, 본 발명의 구현은, 예컨대 특정 가상 기계(예컨대, 120) 내부에 하드웨어 이송가능한, 애플리케이션-일관성 스냅숏을 생성하기 위해 게스트 요청자(140)의 사용을 추가적으로 포함할 수 있다. 예를 들어, SAN 볼륨들의 스냅숏들을 위해 구성된 예컨대 가상 기계(120) 내부의 컴포넌트(예컨대, 적절하게 구성된 VSS 컴포넌트)는 게스트(예컨대, 가상 기계(120, 130))에 부착된 원격 볼륨의 라이터-관여된 스냅숏(도시 생략)을 생성할 수 있으며, 이 때문에 호스트 서버(100) VHD 파일은 존재하지 않는다. 그러면, 게스트 요청자(140)는 스냅숏을 가져올 수 있고, 호스트 서버 상의 별개의 Logical Unit Number("LUN")로서 스냅숏을 서피스(surface) 할 수 있다. 그러면, 호스트 라이터(125)는 백업 애플리케이션(105)(즉, 호스트 요청자)에게 가상 머신(120)를 백업하는 것의 일부로서 LUN을 백업할 것을 요청한다. 따라서, 백업 애플리케이션(105)은, 예컨대 가상 기계 볼륨의 호스트-레벨 스냅숏에 대한 복귀(reversion)가 필요하지 않도록, 전체 LUN을 백업할 수 있다(즉, 게스트 또는 가상 기계-레벨 스냅숏).
따라서,도 1a-1d 및 대응 텍스트는 일관적인 방식으로 가상 기계들의 효율적인 호스트-레벨 백업을 제공하기 위한 다수의 시스템들, 컴포넌트들 및 인터페이스들을 제공한다. 상술한 것 외에, 또한 본 발명의 구현은 특정 결과를 달성하기 위한 하나 이상의 단계들을 포함하는 방법들의 관점에서 설명될 수 있다. 예를 들어, 도 2는 가상 기계들의 호스트-레벨, 애플리케이션-일관성 백업들을 생성하기 위하여 호스트(100) 및 가상 기계(120)의 관점으로부터 흐름도를 도시한다. 도 2의 방법 및 대응 단계들이 도 1a-1d의 시스템 및 컴포넌트를 참조하여 이하 설명된다.
예를 들어, 도 2는, 하나 이상의 가상 기계들의 중단 또는 중지를 반드시 요구하지 않고서도 하나 이상의 가상 기계들 각각의 애플리케이션-일관성 백업을 생성하는 호스트(100)의 관점에서의 방법이 호스트 상의 하나 이상의 가상 기계들을 식별하는 단계(210)를 포함하는 것을 도시한다. 단계(210)는 라이터-관여된 백업 프로세스를 위한 하나 이상의 컴포넌트들을 갖는 적어도 하나의 가상 기계를 식별하는 것을 포함한다. 예를 들어, 백업 애플리케이션(105)(즉, "호스트 요청자"(105))는 (메시지(103)를 통해) 호스트 라이터(125)에게 어느 가상 기계들이 호스트(100) 상에 존재하는지, 그리고 이러한 가상 기계들 중 어느 것이 애플리케이션-일관성 방식으로 (즉, 작은 휴지기간 또는 휴지기간 없이) 백업될 수 있는지를 문의한다.
호스트 라이터(125), 예컨대 VSS 라이터는 대응 버전 요청(111)을 각각의 가상 기계(예컨대, 120, 130)에 전송하고, 애플리케이션-일관성 백업을 생성하는 데 이용될 수 있는 컴포넌트들과 같은, 백업 프로세스를 돕기 위해 존재하는 소프트웨어 컴포넌트들(예컨대, 게스트 요청자(140))을 식별한다. 그 후에, 호스트 라이터(125)는 대응 응답(113)을 백업 애플리케이션(105)에 전송한다. 그 후에, 백업 애플리케이션(105)은 예컨대 결정 모듈(107)을 통해, 식별된 가상 기계들 중 어느 것(즉, 적절한 컴포넌트들을 포함하는 "백업될 VM")이 애플리케이션-일관성 방법을 이용하여 백업될 수 있는지, 그리고 적절한 컴포넌트들을 포함하지 않거나 턴 오프된, 다른 방법들을 이용하여 백업될 가상 기계(즉, "소정의 휴지기간을 갖고 백업될 VM")를 결정한다.
따라서, 도 2는, 하나 이상의 가상 기계 볼륨들의 일관성 백업을 생성하는 가상 기계(120)의 관점에서 본 방법이 컴포넌트들을 식별하라는 요청을 수신하는 단계(210)를 포함한다는 것을 추가적으로 도시한다. 단계(210)는 이용가능한 소프트웨어 컴포넌트들을 식별하라는 요청을 호스트 라이터로부터 수신하는 것을 포함한다. 예를 들어, 가상 기계(120)는 (예컨대, 게스트 요청자(140)를 통해) 버전 요청(111)을 수신하며, 이 버전 요청은 가상 기계(120)가 게스트 요청자 및 하나 이상의 애플리케이션 라이터들(및/또는 그 적절한 버전)을 포함하는지를 식별하라는 요청을 포함하며, 애플리케이션 라이터들은 애플리케이션-일관성 백업을 생성하기 위한 적절한 컴포넌트일 것이다. 그 후, 가상 기계(120)는 대응하는 응답을 반환하는데, 호스트 라이터(125)는 이 대응 응답을 메시지(113)로서 포맷하고 백업 애플리케이션(105)에 전송한다.
또한, 도 2는, 호스트(100)의 관점에서의 본 방법이 가상 기계들의 세트에 백업 요청을 전송하는 단계(220)를 포함한다는 것을 도시한다. 단계(220)는 하나 이상의 가상 기계 볼륨들의 하나 이상의 기계-레벨 스냅숏들을 준비하기 위하여 하나 이상의 가상 기계들의 각각에 명령을 전송하는 것을 포함한다. 예를 들어 도 1b에 도시한 바와 같이, 백업 애플리케이션(105) 가상 기계(120)를 백업하는 명령(117a)을 호스트 라이터(125)에 전송하고, 여기서 가상 기계(120)는 작은 휴지기간을 갖거나 휴지기간이 없이 애플리케이션-일관성 스냅숏들을 생성하기 위한 적절한 컴포넌트들을 갖는 가상 기계들의 세트의 일부이다. 호스트 라이터(125)는 라이터-관여된 백업 준비를 개시하라는 명령(117b)을 가상 기계(120)에 있는 게스트 요청자(140)에게 전송한다.
따라서, 도 2는, 가상 기계(120)의 관점에서의 본 방법은 호스트 라이터로부터 스냅숏 요청을 수신하는 단계(230)를 또한 포함한다는 것을 도시한다. 단계(230)는 적어도 하나의 이용가능한 소프트웨어 컴포넌트들을 이용하여 가상 기계에 의해 호스팅된 하나 이상의 볼륨들의 스냅숏을 생성하라는 요청을 호스트 라이터로부터 수신한다. 예를 들어, 게스트 요청자(140)는 호스트 라이터(125)로부터 메시지(117b)를 수신하며, 이 메시지(117b)는 라이터-관여된 스냅숏 프로세스를 시작하라는 요청을 포함한다. 그래서, 가상 기계는 각각의 VHD 파일(예컨대, 123, 127 등)에 의해 관리되는 그 볼륨들의 스냅숏을 준비하는 것을 시작할 것이다.
또한, 도 2는, 가상 기계(120)의 관점에서의 본 방법은 하나 이상의 애플리케이션 라이터들에게 백업 명령을 전송하는 단계(240)를 포함한다. 단계(240)는 스냅숏을 위해 대응하는 하나 이상의 가상 기계 애플리케이션들을 준비하라는 명령을 가상 기계 상의 하나 이상의 애플리케이션 라이터들에게 전송하는 것을 포함한다. 예를 들어, 도 1b는, 게스트 요청자(140)가 VHD 파일들(123, 127) 내의 볼륨들 상의 애플리케이션 라이터들(도시 생략)에게 메시지(117c)를 전송하는 것을 도시한다. 일 구현에서, 이것은 관련된 볼륨 데이터의 스냅숏을 준비하라는 요청을 데이터베이스, 이메일 또는 기타 유사한 애플리케이션들과 같은 애플리케이션에 대응하는 라이터들에게 전송하는 것을 포함할 수 있다.
또한, 도 2는, 가상 기계(120)의 관점에서의 본 방법은 가상 기계 스냅숏들의 완료를 나타내는 신호를 전송하는 단계(250)를 포함한다는 것을 도시한다. 단계(250)는 호스트 라이터에게, 가상 기계 내에서 호스팅된 하나 이상의 볼륨들의 각각에 대한 스냅숏 동작들이 완료되었다는 신호를 전송하는 것을 포함한다. 예를 들어, 가상 기계 스냅숏 활동을 완료하면, 게스트 요청자는 호스트 라이터(125)에게 완료 신호(도시 생략)를 전송한다. 이 신호에 응답하여, 그 후에 호스트 라이터(125)는 백업 애플리케이션(105)에게 호스트-레벨 스냅숏 동작들을 종료하라고 알리는 메시지(157)를 백업 애플리케이션(105)에게 전송할 수 있다.
따라서, 또한 도 2는, 호스트(100)의 관점에서의 본 방법이 가상 기계 스냅숏들의 완료를 식별하는 단계(260)를 포함한다는 것을 도시한다. 단계(260)는, 적어도 하나의 가상 기계에서의 스냅숏 동작들이 종료되었음을 식별하는 것을 포함한다. 예를 들어, 상술한 바와 같이, 호스트 라이터(125)는, 가상 기계-레벨 스냅숏들이 완료되었음을 나타내는 메시지(157)를 전송한다.
또한 호스트(100)의 관점에서의 본 방법은, 하나 이상의 호스트-레벨 스냅숏들을 생성하는 단계(270)를 포함한다. 단계(270)는, 적어도 하나의 가상 기계가 설치되는 하나 이상의 호스트 볼륨들의 하나 이상의 호스트-레벨 스냅숏들을 생성하는 것을 포함한다. 예를 들어, 백업 애플리케이션(105)은 호스트 볼륨들(110, 115)에서 백업 프로세스를 계속하라는 명령(예컨대, 135)을 전송한다. 도 1b에 도시된 바와 같이, 이것은 호스트 스냅숏(167)이 논 애플리케이션-일관성 VHD 파일들(123, 127) 및 데이터(156, 161)를 포함하게 한다. 본 명세서에서 언급한 바와 같이, 호스트-레벨 스냅숏(167)의 상이한 VHD 데이터는 VHD 파일들(123, 127)에 대해 반드시 애플리케이션-일관성은 없지만, 그럼에도 불구하고 이전에 생성된 애플리케이션-일관성 VHD 스냅숏 데이터(155, 160)를 포함한다. 특히, 볼륨(110)의 호스트-레벨 스냅숏(167)은 VHD 파일들(123, 127 등)을 제외한 모든 다른 점에서 애플리케이션-일관성일 수 있다.
또 다른 구현에서, 하드웨어 제공자에서와 같이, 호스트-레벨 스냅숏들은 가상 기계가 설치된 호스트 볼륨(들)과 대응 미러 볼륨 사이에 미러를 깨뜨림으로써 미러링된 호스트-레벨 볼륨들의 경우에 만들어질 수 있다. 따라서, 미러 볼륨은 호스트 볼륨의 스냅숏을 포함한다. 또한, 이러한 스냅숏은 그 하나 이상의 볼륨들의 이전에 취해진 가상 기계-레벨 스냅숏들을 포함하는데, 여기서 가상 기계-레벨 스냅숏들은 애플리케이션-일관적이다. 따라서, 가상 기계-레벨 스냅숏은 호스트의 미러 볼륨으로부터 검색될 수 있다.
또한, 도 2는, 호스트(100)의 관점에서의 본 방법은 호스트 스냅숏의 VHD 파일들 내부에 캡슐화된 가상 기계-레벨 스냅숏들을 검색하는 단계(280)를 포함한다는 것을 도시한다. 단계(280)는 하나 이상의 호스트 볼륨들의 하나 이상의 호스트-레벨 스냅숏들로부터 하나 이상의 가상 기계 볼륨들의 하나 이상의 가상 기계-레벨 스냅숏들을 검색하는 것을 포함한다. 예를 들어, 도 1d에 도시된 바와 같이, 호스트(100)는 (예컨대, VSS 컴포넌트를 통해) VHD(123) 내의 호스트-레벨 VHD 스냅숏 데이터(156)를 가상 기계-레벨 VHD 스냅숏 데이터(155)로 교체할 수 있다. 마찬가지로, 호스트(100)는 VHD(127) 내의 호스트-레벨 VHD 데이터(161)를 가상 기계-레벨 VHD 스냅숏 데이터(160)로 교체할 수 있다. 대안적으로, 하드웨어 제공자의 경우에(즉, 호스트 볼륨과 미러 볼륨 사이에 미러를 깨뜨림), 가상 기계-레벨 스냅숏은 상술한 바와 같이 노출될 수 있고 탑재된 미러 볼륨으로부터 검색될 수 있다. 두 경우에, 호스트-레벨 백업 데이터(예컨대, 195)는 이와 같이 가상 기계-레벨 스냅숏 데이터에 적어도 일부 기초를 둘 수 있다.
따라서, 도 1a-2 및 대응 텍스트는 하나 이상의 호스트 볼륨들 상에 가상 기계들의 일관성 백업 사본들을 적절하게 생성하는 데 사용될 수 있는 다수의 시스템들, 컴포넌트들 및 메커니즘들을 제공한다. 본 명세서에서 설명한 바와 같이, 본 발명에 따른 컴포넌트들은 가상 기계의 휴지기간을 필요로 하지도 않고, 별도로 설치되고 관리될 필요가 있는 추가적인 백업 에이전트들의 구입을 필요로 하지도 않는 가상 기계들의 일관성 백업들을 생성하는 데 사용될 수 있다. 또한, 본 명세서에서 설명된 컴포넌트들은 가상 기계의 일관성 스냅숏을 생성하고, 호스트-레벨 스냅숏 내로부터 가상 기계 스냅숏을 검색하기 위해 통상적인 섀도우 복사 서비스를 이용할 수 있다.
본 발명의 실시예들은 이하 더욱 상세히 설명할 바와 같이 각종 컴퓨터 하드웨어를 포함하는 특수 목적 또는 범용 컴퓨터를 포함할 수 있다. 또한, 본 발명의 범위 내의 실시예들은 컴퓨터 실행가능 명령어들 또는 데이터 구조들을 반송하거나 저장하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다.
예로써, 이러한 컴퓨터 판독가능 매체는, RAM, ROM, EEPROM, CD-ROM 또는 기타 광 디스크 저장 장치, 자기 디스크 저장 장치 또는 기타 자기 저장 디바이스, 또는 컴퓨터 실행가능 명령어 또는 데이터 구조의 형태로 원하는 프로그램 코드 수단을 반송하거나 저장하는 데 이용될 수 있고, 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 기타 매체를 포함할 수 있으나, 이에 제한되는 것은 아니다. 정보가 네트워크 또는 또 다른 통신 접속(유선 또는 무선, 또는 유선 또는 무선의 조합)을 통해 컴퓨터에 전달되거나 제공되는 경우에, 컴퓨터는 컴퓨터 판독가능 매체로서 적절히 그 접속을 고려한다. 따라서, 이러한 임의의 접속을 컴퓨터 판독가능 매체라고 하는 것이 적절하다. 상술한 것들의 조합이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
예를 들어, 컴퓨터 실행가능 명령어들은 범용 컴퓨터, 특수 목적 컴퓨터 또는 특수 목적 프로세싱 디바이스로 하여금 특정 기능 또는 기능들의 그룹을 수행하게 하는 명령어 및 데이터를 포함한다. 청구물이 구조적 특징 및/또는 방법론적인 단계에 특정된 언어로 설명되었지만, 첨부된 청구항에 규정된 청구물은 상술한 구체적인 특징 또는 단계들에 반드시 제한되지는 않음이 이해되어야 한다. 오히려, 상술한 구체적인 특징들 및 단계들은 청구항을 구현하는 예시적인 형태로서 개시되었다.
본 발명은 그 사상 또는 본질적인 특성을 벗어나지 않고도 기타 구체적인 형태로 구현될 수 있다. 설명된 실시예들은 모든 관점에서 단지 예시적인 것이며 제한적인 것으로 고려되어서는 않된다. 따라서, 본 발명의 범위는 상술한 설명이 아니라 첨부된 청구항에 의해 나타내어진다. 청구항의 동등성의 의미 및 범위 내에 드는 모든 변화는 그 범위 내에 포함되는 것이다.
Claims (20)
- 가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법으로서,
가상 기계와 관련된 가상 기계 데이터의 제1 스냅숏을 생성하는 단계와,
상기 가상 기계가 제2 스냅숏을 생성하도록 하는 단계 - 상기 제2 스냅숏은 상기 가상 기계 상에서 실행되는 애플리케이션으로부터의 데이터를 포함함 - 와,
상기 애플리케이션의 현재 상태와 일관된 데이터를 상기 가상 기계에 대응하는 볼륨에 기록함으로써 상기 애플리케이션이 상기 제2 스냅숏의 생성에 참여하도록 하는 단계와,
상기 제1 스냅숏을 상기 제2 스냅숏으로 갱신하는 단계
를 포함하는 가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 가상 기계 데이터의 제1 스냅숏을 생성하는 단계는 호스트 볼륨의 호스트-레벨 스냅숏을 만드는 단계를 포함하는
가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 가상 기계 데이터는 가상 하드 드라이브 데이터를 포함하는
가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 애플리케이션이 상기 제2 스냅숏의 생성에 참여하도록 하는 단계는 상기 애플리케이션의 현재 상태와 일관된 데이터를 기록하라는 메시지를 상기 애플리케이션으로 전송하는 단계를 포함하는
가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 애플리케이션이 상기 제2 스냅숏의 생성에 참여하도록 하는 단계는 상기 애플리케이션이 메모리 내의 데이터(in-memory data)를 디스크에 기록하는 단계를 포함하는
가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 가상 기계가 제2 스냅숏을 생성하도록 하는 단계는 상기 가상 기계의 상태를 저장하는 인터페이스를 호출(invoke)하는 단계를 포함하는
가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 제1 스냅숏을 상기 제2 스냅숏으로 갱신하는 단계는 호스트 상에서 실행되는 프로세스에게 물리적 디스크로 보이도록 상기 가상 기계 데이터를 탑재(mount)하는 단계를 포함하는
가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법.
- 제1항에 있어서,
상기 제1 스냅숏을 상기 제2 스냅숏으로 갱신하는 단계는 상기 제1 스냅숏의 가상 하드 드라이브 데이터를 상기 제2 스냅숏의 가상 하드 드라이브 데이터로 대체하는 단계를 포함하는
가상 기계 데이터의 백업을 생성하는 컴퓨터 구현 방법.
- 컴퓨팅 장치가 실행하는 명령어가 저장된 컴퓨터 판독 가능 저장 매체로서,
상기 명령어는 상기 컴퓨팅 장치로 하여금
제1 백업 프로세스가 가상 기계 볼륨 데이터를 포함하는 제1 백업을 생성하도록 하는 단계 - 상기 가상 기계 볼륨 데이터는 가상 기계에 대응함 - 와,
상기 가상 기계가 제2 백업을 생성하도록 하는 지시를 전송하는 단계 - 상기 제2 백업은 상기 가상 기계 상에서 실행되는 애플리케이션에 의해 제공되는 백업 상태 데이터를 포함함 - 와,
상기 제1 백업 내의 상기 가상 기계 볼륨 데이터를 상기 제2 백업을 사용하여 갱신하는 단계
를 포함하는 방법을 수행하도록 하는 컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서,
상기 방법은 상기 가상 기계가 라이터-관여된 백업 프로세스를 위한 컴포넌트를 가진다는 지시를 수신하는 단계 - 상기 라이터-관여된 백업 프로세스는 상기 가상 기계 상에서 실행되는 애플리케이션의 개입(involvement)을 포함함 - 를 더 포함하는
컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서,
상기 방법은 상기 가상 기계가 휴지기간 동안 백업되었는지 또는 휴지기간 없이 백업되었는지 여부를 나타내는 정보를 수신하는 단계를 더 포함하는
컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서,
상기 제1 백업 프로세스 상기 제1 백업을 생성하도록 하는 단계는 스냅숏을 생성하기 위해 하드웨어 제공자를 사용하는 단계를 포함하는
컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서,
상기 가상 기계는 원격 컴퓨팅 시스템 상에서 실행되는
컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서,
상기 방법은 상기 제1 백업 상의 데이터를 노출하는 가상 하드 드라이브를 탑재하는 단계를 더 포함하는
컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서,
상기 방법은 상기 가상 기계가 실행을 일시 중지 또는 중단하도록 하는 단계를 더 포함하는
컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서,
상기 방법은 상기 제2 백업의 생성이 완료되었다는 지시를 수신하는 단계를 더 포함하는
컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서,
상기 방법은 게스트 운영 체제에 속한 원격 볼륨의 스냅숏을 호스트 상의 분리된 장치로서 노출시키는 단계를 더 포함하는
컴퓨터 판독 가능 저장 매체.
- 컴퓨터에 의해 실행시 상기 컴퓨터가 오퍼레이션을 수행하도록 하는 컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독 가능 저장 매체로서,
상기 오퍼레이션은
미러링된 저장 장치 상의 미러링 프로세스를 중단하는 단계 - 상기 미러링된 저장 장치는 제1 메모리 및 제2 메모리를 포함하고, 상기 제1 메모리 상에는 가상 디스크 볼륨이 저장되며, 상기 미러링 프로세스는 상기 제2 메모리를 상기 제1 메모리의 미러 이미지로 유지함 - 와,
가상 기계를 백업 프로세스에 참여시키는 단계 - 상기 가상 기계는 애플리케이션을 실행하고, 상기 애플리케이션은 현재 상태를 가짐 - 와,
상기 애플리케이션의 현재 상태와 일관된 데이터를 갖는 스냅숏을 생성하기 위해 상기 애플리케이션을 상기 백업 프로세스에 참여시키는 단계와,
상기 제2 메모리 내에서 상기 가상 디스크 볼륨의 위치를 찾는 단계와,
상기 가상 디스크 볼륨을 상기 스냅숏으로 갱신하는 단계
를 포함하는 컴퓨터 판독 가능 저장 매체.
- 제18항에 있어서,
상기 오퍼레이션은 상기 제2 메모리를 독립된 디스크 장치로서 노출시키는 단계를 더 포함하는
컴퓨터 판독 가능 저장 매체.
- 제18항에 있어서,
상기 미러링된 저장 장치는 SAN(storage area network)인
컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/405,236 US8321377B2 (en) | 2006-04-17 | 2006-04-17 | Creating host-level application-consistent backups of virtual machines |
US11/405,236 | 2006-04-17 | ||
PCT/US2007/004183 WO2007130192A1 (en) | 2006-04-17 | 2007-02-15 | Creating host-level application-consistent backups of virtual machines |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087025498A Division KR101330495B1 (ko) | 2006-04-17 | 2007-02-15 | 가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130115391A KR20130115391A (ko) | 2013-10-21 |
KR101432463B1 true KR101432463B1 (ko) | 2014-08-21 |
Family
ID=38606087
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087025498A KR101330495B1 (ko) | 2006-04-17 | 2007-02-15 | 가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법 |
KR1020137025294A KR101432463B1 (ko) | 2006-04-17 | 2007-02-15 | 가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087025498A KR101330495B1 (ko) | 2006-04-17 | 2007-02-15 | 가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법 |
Country Status (14)
Country | Link |
---|---|
US (3) | US8321377B2 (ko) |
EP (1) | EP2016501B1 (ko) |
JP (1) | JP5021721B2 (ko) |
KR (2) | KR101330495B1 (ko) |
CN (1) | CN101421715B (ko) |
AU (1) | AU2007248869B2 (ko) |
BR (1) | BRPI0710003B1 (ko) |
CA (1) | CA2645969C (ko) |
ES (1) | ES2639417T3 (ko) |
MX (1) | MX2008013132A (ko) |
MY (1) | MY154949A (ko) |
RU (1) | RU2433458C2 (ko) |
TW (1) | TWI438689B (ko) |
WO (1) | WO2007130192A1 (ko) |
Families Citing this family (162)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9209989B2 (en) * | 2004-06-01 | 2015-12-08 | Inmage Systems, Inc. | Causation of a data read operation against a first storage system by a server associated with a second storage system according to a host generated instruction |
US8055745B2 (en) * | 2004-06-01 | 2011-11-08 | Inmage Systems, Inc. | Methods and apparatus for accessing data from a primary data storage system for secondary storage |
US7698401B2 (en) | 2004-06-01 | 2010-04-13 | Inmage Systems, Inc | Secondary data storage and recovery system |
US8949395B2 (en) | 2004-06-01 | 2015-02-03 | Inmage Systems, Inc. | Systems and methods of event driven recovery management |
US8868858B2 (en) * | 2006-05-19 | 2014-10-21 | Inmage Systems, Inc. | Method and apparatus of continuous data backup and access using virtual machines |
US8224786B2 (en) * | 2004-06-01 | 2012-07-17 | Inmage Systems, Inc. | Acquisition and write validation of data of a networked host node to perform secondary storage |
US7979656B2 (en) | 2004-06-01 | 2011-07-12 | Inmage Systems, Inc. | Minimizing configuration changes in a fabric-based data protection solution |
US7676502B2 (en) * | 2006-05-22 | 2010-03-09 | Inmage Systems, Inc. | Recovery point data view shift through a direction-agnostic roll algorithm |
US8683144B2 (en) * | 2005-09-16 | 2014-03-25 | Inmage Systems, Inc. | Causation of a data read against a first storage system to optionally store a data write to preserve the version to allow viewing and recovery |
US8601225B2 (en) * | 2005-09-16 | 2013-12-03 | Inmage Systems, Inc. | Time ordered view of backup data on behalf of a host |
US8321377B2 (en) * | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US8554727B2 (en) * | 2006-05-19 | 2013-10-08 | Inmage Systems, Inc. | Method and system of tiered quiescing |
US8527721B2 (en) * | 2008-12-26 | 2013-09-03 | Rajeev Atluri | Generating a recovery snapshot and creating a virtual view of the recovery snapshot |
US8527470B2 (en) | 2006-05-22 | 2013-09-03 | Rajeev Atluri | Recovery point data view formation with generation of a recovery view and a coalesce policy |
US8838528B2 (en) * | 2006-05-22 | 2014-09-16 | Inmage Systems, Inc. | Coalescing and capturing data between events prior to and after a temporal window |
JP4681505B2 (ja) * | 2006-05-23 | 2011-05-11 | 株式会社日立製作所 | 計算機システム、管理計算機及びプログラム配布方法 |
US7634507B2 (en) * | 2006-08-30 | 2009-12-15 | Inmage Systems, Inc. | Ensuring data persistence and consistency in enterprise storage backup systems |
US7689859B2 (en) * | 2006-12-20 | 2010-03-30 | Symantec Operating Corporation | Backup system and method |
JP4982249B2 (ja) * | 2006-12-22 | 2012-07-25 | 株式会社日立製作所 | 運用整合性維持方法、システム及びプログラム |
US9495370B1 (en) * | 2007-07-19 | 2016-11-15 | American Megatrends, Inc. | Data recovery point review in a continuous data protection system |
US8458419B2 (en) * | 2008-02-27 | 2013-06-04 | International Business Machines Corporation | Method for application backup in the VMware consolidated backup framework |
US9356805B2 (en) * | 2008-06-06 | 2016-05-31 | International Business Machines Corporation | Implementing a plurality of interface definitions |
US8522135B2 (en) * | 2008-06-06 | 2013-08-27 | International Business Machines Corporation | Generating a transformation description document for transforming messages |
WO2010011428A1 (en) | 2008-06-06 | 2010-01-28 | Pivot3 | Method and system for data migration in a distributed raid implementation |
US8219750B2 (en) * | 2008-06-30 | 2012-07-10 | Pivot3 | Method and system for execution of applications in conjunction with distributed RAID |
US8135930B1 (en) | 2008-07-14 | 2012-03-13 | Vizioncore, Inc. | Replication systems and methods for a virtual computing environment |
US8060476B1 (en) | 2008-07-14 | 2011-11-15 | Quest Software, Inc. | Backup systems and methods for a virtual computing environment |
US8046550B2 (en) | 2008-07-14 | 2011-10-25 | Quest Software, Inc. | Systems and methods for performing backup operations of virtual machine files |
US8028194B2 (en) * | 2008-07-25 | 2011-09-27 | Inmage Systems, Inc | Sequencing technique to account for a clock error in a backup system |
US20100031079A1 (en) * | 2008-07-29 | 2010-02-04 | Novell, Inc. | Restoration of a remotely located server |
US7966290B2 (en) * | 2008-07-29 | 2011-06-21 | Novell, Inc. | Backup without overhead of installed backup agent |
US20100058106A1 (en) * | 2008-08-27 | 2010-03-04 | Novell, Inc. | Virtual machine file system and incremental snapshot using image deltas |
US8429649B1 (en) | 2008-09-25 | 2013-04-23 | Quest Software, Inc. | Systems and methods for data management in a virtual computing environment |
US8499297B2 (en) | 2008-10-28 | 2013-07-30 | Vmware, Inc. | Low overhead fault tolerance through hybrid checkpointing and replay |
US8707299B1 (en) * | 2008-11-14 | 2014-04-22 | Symantec Corporation | Method and apparatus for preserving virtual desktops for e-discovery through an agent-less solution |
US8069227B2 (en) * | 2008-12-26 | 2011-11-29 | Inmage Systems, Inc. | Configuring hosts of a secondary data storage and recovery system |
US8205050B2 (en) * | 2009-04-14 | 2012-06-19 | Novell, Inc. | Data backup for virtual machines |
US8996468B1 (en) | 2009-04-17 | 2015-03-31 | Dell Software Inc. | Block status mapping system for reducing virtual machine backup storage |
JP5227887B2 (ja) * | 2009-05-21 | 2013-07-03 | 株式会社日立製作所 | バックアップ管理方法 |
US8219990B2 (en) * | 2009-05-28 | 2012-07-10 | Novell, Inc. | Techniques for managing virtual machine (VM) states |
US9778946B2 (en) | 2009-08-07 | 2017-10-03 | Dell Software Inc. | Optimized copy of virtual machine storage files |
US8438349B2 (en) * | 2009-08-21 | 2013-05-07 | Symantec Corporation | Proxy backup of virtual disk image files on NAS devices |
CN102025758B (zh) * | 2009-09-18 | 2014-06-04 | 华为数字技术(成都)有限公司 | 分布式系统中数据副本的恢复方法、装置和系统 |
US8856080B2 (en) * | 2009-10-30 | 2014-10-07 | Microsoft Corporation | Backup using metadata virtual hard drive and differential virtual hard drive |
US8726275B2 (en) * | 2009-12-18 | 2014-05-13 | International Business Machines Corporation | Selective partial cloning of virtual machines in a virtual computing environment |
JP5440273B2 (ja) * | 2010-03-09 | 2014-03-12 | 富士通株式会社 | スナップショット管理方法、スナップショット管理装置、及びプログラム |
US8255508B2 (en) | 2010-03-24 | 2012-08-28 | International Business Machines Corporation | Administration of virtual machine affinity in a data center |
US9367362B2 (en) | 2010-04-01 | 2016-06-14 | International Business Machines Corporation | Administration of virtual machine affinity in a cloud computing environment |
US8572612B2 (en) | 2010-04-14 | 2013-10-29 | International Business Machines Corporation | Autonomic scaling of virtual machines in a cloud computing environment |
US8326803B1 (en) * | 2010-05-06 | 2012-12-04 | Symantec Corporation | Change tracking of individual virtual disk files |
TWI486759B (zh) * | 2010-05-14 | 2015-06-01 | Alibaba Group Holding Ltd | Subversion configuration library backup method and device |
CN102255741B (zh) * | 2010-05-21 | 2015-09-16 | 中兴通讯股份有限公司 | 用户业务信息备份方法和装置 |
US9569446B1 (en) | 2010-06-08 | 2017-02-14 | Dell Software Inc. | Cataloging system for image-based backup |
US8434081B2 (en) | 2010-07-02 | 2013-04-30 | International Business Machines Corporation | Storage manager for virtual machines with virtual storage |
US20120005672A1 (en) * | 2010-07-02 | 2012-01-05 | International Business Machines Corporation | Image management for virtual machine instances and associated virtual storage |
WO2012020482A1 (ja) | 2010-08-11 | 2012-02-16 | 富士通株式会社 | バックアップ方法、情報処理装置及びプログラム |
US8898114B1 (en) | 2010-08-27 | 2014-11-25 | Dell Software Inc. | Multitier deduplication systems and methods |
US8677004B2 (en) * | 2010-09-10 | 2014-03-18 | International Business Machines Corporation | Migration of logical partitions between two devices |
US9037547B1 (en) * | 2010-09-15 | 2015-05-19 | Symantec Corporation | Backup time deduplication of common virtual disks from virtual machine backup images |
US20120072685A1 (en) * | 2010-09-16 | 2012-03-22 | Hitachi, Ltd. | Method and apparatus for backup of virtual machine data |
KR101731422B1 (ko) | 2010-10-04 | 2017-04-28 | 삼성전자주식회사 | 가상화 환경에서의 장애 복구 장치 및 방법 |
US8417672B2 (en) * | 2010-10-11 | 2013-04-09 | Microsoft Corporation | Item level recovery |
US9141368B2 (en) | 2011-03-10 | 2015-09-22 | Microsoft Technology Licensing, Llc | Managing boot loaders for virtual hard disks |
US8892707B2 (en) * | 2011-04-13 | 2014-11-18 | Netapp, Inc. | Identification of virtual applications for backup in a cloud computing system |
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 |
US9021475B2 (en) * | 2011-05-04 | 2015-04-28 | Citrix Systems, Inc. | Systems and methods for SR-IOV pass-thru via an intermediary device |
US8868882B2 (en) | 2011-06-08 | 2014-10-21 | Microsoft Corporation | Storage architecture for backup application |
US9286182B2 (en) | 2011-06-17 | 2016-03-15 | Microsoft Technology Licensing, Llc | Virtual machine snapshotting and analysis |
US9785523B2 (en) * | 2011-06-20 | 2017-10-10 | Microsoft Technology Licensing, Llc | Managing replicated virtual storage at recovery sites |
EP2674866A4 (en) * | 2011-06-23 | 2015-03-18 | Hitachi Ltd | STORAGE ADMINISTRATION SYSTEM AND STORAGE DELIVERY METHOD |
US8863124B1 (en) | 2011-08-10 | 2014-10-14 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9652265B1 (en) * | 2011-08-10 | 2017-05-16 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types |
US8601473B1 (en) | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9009106B1 (en) | 2011-08-10 | 2015-04-14 | Nutanix, Inc. | Method and system for implementing writable snapshots in a virtualized storage environment |
US8549518B1 (en) | 2011-08-10 | 2013-10-01 | Nutanix, Inc. | Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment |
US8850130B1 (en) | 2011-08-10 | 2014-09-30 | Nutanix, Inc. | Metadata for managing I/O and storage for a virtualization |
US9747287B1 (en) | 2011-08-10 | 2017-08-29 | Nutanix, Inc. | Method and system for managing metadata for a virtualization environment |
US10303501B2 (en) * | 2011-08-30 | 2019-05-28 | Hewlett-Packard Development Company, L.P. | Virtual high privilege mode for a system management request |
JP5134149B1 (ja) * | 2011-09-26 | 2013-01-30 | 株式会社北洋銀行 | ネットワークシステム及びその制御方法 |
CN102346697A (zh) * | 2011-09-27 | 2012-02-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种安卓安装包的备份与恢复的方法、系统及移动终端 |
CN103107905B (zh) * | 2011-11-14 | 2017-08-04 | 华为技术有限公司 | 异常处理方法、装置和客户端 |
CN102521071B (zh) * | 2011-11-24 | 2013-12-11 | 广州杰赛科技股份有限公司 | 一种基于私有云的虚拟机维护方法 |
US9311375B1 (en) | 2012-02-07 | 2016-04-12 | Dell Software Inc. | Systems and methods for compacting a virtual machine file |
US9773006B1 (en) * | 2012-02-15 | 2017-09-26 | Veritas Technologies Llc | Techniques for managing non-snappable volumes |
JP5966466B2 (ja) * | 2012-03-14 | 2016-08-10 | 富士通株式会社 | バックアップ制御方法、および情報処理装置 |
CN103797461B (zh) * | 2012-03-29 | 2016-03-16 | 株式会社北洋银行 | 网络系统 |
US8751515B1 (en) | 2012-03-30 | 2014-06-10 | Emc Corporation | System and method for file-based virtual machine incremental backup |
US9110604B2 (en) | 2012-09-28 | 2015-08-18 | Emc Corporation | System and method for full virtual machine backup using storage system functionality |
US9104331B2 (en) * | 2012-09-28 | 2015-08-11 | Emc Corporation | System and method for incremental virtual machine backup using storage system functionality |
US8719286B1 (en) | 2012-03-30 | 2014-05-06 | Emc Corporation | System and method for block-based subtree virtual machine backup |
WO2013157124A1 (ja) * | 2012-04-19 | 2013-10-24 | 株式会社日立製作所 | ライセンス管理システム、管理サーバ及び管理方法 |
US10353619B1 (en) * | 2012-06-11 | 2019-07-16 | Veritas Technologies Llc | Systems and methods for applying storage lifecycle policies to backups |
US9772866B1 (en) | 2012-07-17 | 2017-09-26 | Nutanix, Inc. | Architecture for implementing a virtualization environment and appliance |
CN103593256B (zh) * | 2012-08-15 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种基于多层排重的虚机快照备份方法和系统 |
US9778860B2 (en) | 2012-09-12 | 2017-10-03 | Microsoft Technology Licensing, Llc | Re-TRIM of free space within VHDX |
CN104662522B (zh) * | 2012-09-28 | 2018-11-02 | Emc 公司 | 使用存储系统功能性的全虚拟机备份的系统和方法 |
US9262212B2 (en) | 2012-11-02 | 2016-02-16 | The Boeing Company | Systems and methods for migrating virtual machines |
US9069708B2 (en) * | 2012-12-27 | 2015-06-30 | Nutanix, Inc. | Method and system for implementing consistency groups with virtual machines |
CN103902351A (zh) * | 2012-12-28 | 2014-07-02 | 鸿富锦精密工业(深圳)有限公司 | 虚拟机运算系统及方法 |
CN104216793B (zh) * | 2013-05-31 | 2017-10-17 | 国际商业机器公司 | 应用程序备份、恢复的方法及设备 |
JP6115331B2 (ja) | 2013-06-06 | 2017-04-19 | 富士通株式会社 | トランザクション再開プログラム、情報処理装置及びトランザクション再開方法 |
US9665386B2 (en) * | 2013-06-14 | 2017-05-30 | Nutanix, Inc. | Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment |
US9740514B1 (en) | 2013-06-26 | 2017-08-22 | Nutanix, Inc. | Method and system to share data with snapshots in a virtualization environment |
US9262448B2 (en) * | 2013-08-12 | 2016-02-16 | International Business Machines Corporation | Data backup across physical and virtualized storage volumes |
US10789136B1 (en) * | 2013-08-23 | 2020-09-29 | Acronis International Gmbh | Granular recovery using hot-plug virtual disks |
US9652178B2 (en) | 2013-09-10 | 2017-05-16 | Veritas Technologies | Systems and methods for protecting virtual machine data |
CN103501290B (zh) * | 2013-09-18 | 2017-10-24 | 万达信息股份有限公司 | 一种基于动态备份虚拟机的高可靠服务系统构建方法 |
CN103593226A (zh) * | 2013-11-04 | 2014-02-19 | 国云科技股份有限公司 | 一种提高虚拟机磁盘io性能的方法 |
EP2955637B1 (en) * | 2013-11-20 | 2017-08-16 | Huawei Technologies Co., Ltd. | Method, system and apparatus for generating snapshot |
CN104809020B (zh) * | 2013-11-20 | 2018-05-11 | 华为技术有限公司 | 一种生成快照的方法、系统和装置 |
CN104793982A (zh) * | 2014-01-20 | 2015-07-22 | 联想(北京)有限公司 | 一种创建虚拟机的方法和设备 |
TWI506418B (zh) * | 2014-03-03 | 2015-11-01 | Synology Inc | 備份裝置及運作方法 |
US11243707B2 (en) | 2014-03-12 | 2022-02-08 | Nutanix, Inc. | Method and system for implementing virtual machine images |
US9092376B1 (en) * | 2014-08-29 | 2015-07-28 | Nimble Storage, Inc. | Methods and systems for ordering virtual machine snapshots |
US9778990B2 (en) | 2014-10-08 | 2017-10-03 | Hewlett Packard Enterprise Development Lp | Methods and systems for concurrently taking snapshots of a plurality of virtual machines |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
US9727252B2 (en) | 2014-11-13 | 2017-08-08 | Hewlett Packard Enterprise Development Lp | Methods and systems for optimal snapshot distribution within a protection schedule |
US9817686B2 (en) | 2014-12-09 | 2017-11-14 | The Boeing Company | Systems and methods for securing virtual machines |
US10289495B1 (en) * | 2014-12-19 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for performing an item level restore from a backup |
US10606704B1 (en) * | 2014-12-31 | 2020-03-31 | Acronis International Gmbh | Creation of consistent copies of application data |
JP6069395B2 (ja) * | 2015-04-02 | 2017-02-01 | 株式会社日立製作所 | 管理計算機 |
US10846195B2 (en) * | 2015-10-05 | 2020-11-24 | Unisys Corporation | Configuring logging in non-emulated environment using commands and configuration in emulated environment |
US10180886B2 (en) | 2015-11-16 | 2019-01-15 | Red Hat, Inc. | Recreating a computing environment using tags and snapshots |
TWI584131B (zh) | 2015-12-14 | 2017-05-21 | 財團法人工業技術研究院 | 伺服器備份方法及其備份系統 |
US10114702B2 (en) * | 2016-01-06 | 2018-10-30 | International Business Machines Corporation | Method and system to discover and manage distributed applications in virtualization environments |
US10467103B1 (en) | 2016-03-25 | 2019-11-05 | Nutanix, Inc. | Efficient change block training |
WO2017190758A1 (en) * | 2016-05-02 | 2017-11-09 | Nokia Solutions And Networks Oy | Snapshot creation in virtual network environment |
US10613947B2 (en) | 2016-06-09 | 2020-04-07 | Nutanix, Inc. | Saving and restoring storage devices using application-consistent snapshots |
US10146471B1 (en) * | 2016-06-27 | 2018-12-04 | Emc Corporation | Offloaded data protection based on virtual machine snapshots |
US10241713B2 (en) | 2016-09-01 | 2019-03-26 | Red Hat Israel, Ltd. | Snapshot management with an external storage service |
US10379750B2 (en) * | 2017-05-22 | 2019-08-13 | Sap Se | Processing large requests in data storage systems with limited/constant buffer sizes |
US10417096B2 (en) * | 2017-07-20 | 2019-09-17 | Vmware, Inc. | Multi-virtual machine time consistent snapshots |
US10824522B2 (en) | 2017-11-27 | 2020-11-03 | Nutanix, Inc. | Method, apparatus, and computer program product for generating consistent snapshots without quiescing applications |
CN107995319B (zh) * | 2018-01-08 | 2021-05-18 | 迈普通信技术股份有限公司 | 虚拟设备配置方法及网络设备 |
CN110058962B (zh) * | 2018-01-18 | 2023-05-23 | 伊姆西Ip控股有限责任公司 | 确定虚拟机快照的一致性级别的方法、设备和计算机程序产品 |
US11232001B2 (en) * | 2018-01-29 | 2022-01-25 | Rubrik, Inc. | Creation of virtual machine packages using incremental state updates |
US10838823B2 (en) * | 2018-02-01 | 2020-11-17 | EMC IP Holding Company LLC | Systems and method to make application consistent virtual machine backup work in private network |
US11455215B2 (en) | 2018-04-30 | 2022-09-27 | Nutanix Inc. | Context-based disaster recovery |
US11093333B1 (en) * | 2019-04-05 | 2021-08-17 | EMC IP Holding Company LLC | Efficient recovery of multiple virtual machines |
US11099941B2 (en) * | 2019-04-23 | 2021-08-24 | EMC IP Holding Company LLC | System and method for accelerating application service restoration |
US11321185B2 (en) * | 2019-04-30 | 2022-05-03 | EMC IP Holding Company LLC | Method to detect and exclude orphaned virtual machines from backup |
US11461121B2 (en) | 2019-07-26 | 2022-10-04 | Red Hat, Inc. | Guest-driven virtual machine snapshots |
US10969989B2 (en) * | 2019-07-30 | 2021-04-06 | EMC IP Holding Company LLC | Techniques for capturing virtual machine snapshots using data storage system snapshots |
US11977453B2 (en) | 2019-09-12 | 2024-05-07 | Restorvault, Llc | Virtual replication of unstructured data |
US11816000B2 (en) | 2019-09-12 | 2023-11-14 | restor Vault, LLC | Virtual recovery of unstructured data |
CA3151014A1 (en) * | 2019-09-12 | 2021-03-18 | Jesse Paul CHARFAUROS | Virtual recovery and replication of unstructured data |
CN111104367B (zh) * | 2019-12-13 | 2023-08-18 | 浪潮云信息技术股份公司 | 一种基于openstack卷启动虚拟机创建私有镜像的方法 |
CN112130959B (zh) * | 2020-09-29 | 2021-12-07 | 上海英方软件股份有限公司 | 一种虚拟机的保护系统及方法 |
US11663086B2 (en) * | 2020-10-15 | 2023-05-30 | EMC IP Holding Company LLC | File system slicing in network attached storage for data protection |
US11467738B2 (en) * | 2021-01-28 | 2022-10-11 | EMC IP Holding Company LLC | Failsafe mechanism to import snapshots |
US11816129B2 (en) | 2021-06-22 | 2023-11-14 | Pure Storage, Inc. | Generating datasets using approximate baselines |
US20230229641A1 (en) * | 2022-01-16 | 2023-07-20 | Bytebase (HongKong) Limited | Novel database schema change, recording and version control method and platform |
US12050520B2 (en) | 2022-06-16 | 2024-07-30 | Dell Products L.P. | Disaster recovery (DR) asset sizing for front end terabyte (FETB) consumption |
US12045138B2 (en) | 2022-06-16 | 2024-07-23 | Dell Products L.P. | Dynamic backup and discovery of new writers of a copy service |
US12105602B2 (en) | 2022-06-16 | 2024-10-01 | Dell Products L.P. | Dynamic promotion of user data components to system writer components |
US12079088B2 (en) | 2022-06-16 | 2024-09-03 | Dell Products L.P. | Hybrid technique to protect a registry |
US11994953B2 (en) * | 2022-06-16 | 2024-05-28 | Dell Products L.P. | Memory simulation of agent service for secured restore |
US11836350B1 (en) | 2022-07-25 | 2023-12-05 | Dell Products L.P. | Method and system for grouping data slices based on data file quantities for data slice backup generation |
US12093135B2 (en) | 2022-07-25 | 2024-09-17 | Dell Products L.P. | Method and system for grouping data slices based on data file types for data slice backup generation |
US12007845B2 (en) | 2022-07-25 | 2024-06-11 | Dell Products L.P. | Method and system for managing data slice backups based on grouping prioritization |
US12061522B2 (en) | 2022-07-25 | 2024-08-13 | Dell Product L.P. | Method and system for grouping data slices based on data change rate for data slice backup generation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040036788A (ko) * | 2002-10-24 | 2004-05-03 | 한국전자통신연구원 | 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법 |
JP2005332223A (ja) * | 2004-05-20 | 2005-12-02 | Ntt Data Corp | 仮想マシン管理システム |
Family Cites Families (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0827754B2 (ja) * | 1992-05-21 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムにおけるファイル管理方法及びファイル管理システム |
US5475834A (en) | 1992-10-26 | 1995-12-12 | International Business Machines Corporation | Integration of migration level two and backup tape processing using multiple inventory entries |
US5771354A (en) | 1993-11-04 | 1998-06-23 | Crawford; Christopher M. | Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services |
US6269431B1 (en) | 1998-08-13 | 2001-07-31 | Emc Corporation | Virtual storage and block level direct access of secondary storage for recovery of backup data |
US6247141B1 (en) | 1998-09-24 | 2001-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Protocol for providing replicated servers in a client-server system |
ATE326801T1 (de) | 1999-06-10 | 2006-06-15 | Alcatel Internetworking Inc | Virtuelles privates netzwerk mit automatischer aktualisierung von benutzererreichbarkeitsinformation |
US6714980B1 (en) | 2000-02-11 | 2004-03-30 | Terraspring, Inc. | Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device |
US6711699B1 (en) | 2000-05-04 | 2004-03-23 | International Business Machines Corporation | Real time backup system for information based on a user's actions and gestures for computer users |
US6993761B1 (en) * | 2000-09-28 | 2006-01-31 | Sun Microsystems, Inc. | Method and apparatus to verify type safety of an application snapshot |
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US6735601B1 (en) * | 2000-12-29 | 2004-05-11 | Vmware, Inc. | System and method for remote file access by computer |
US6728736B2 (en) * | 2001-03-14 | 2004-04-27 | Storage Technology Corporation | System and method for synchronizing a data copy using an accumulation remote copy trio |
GB0112781D0 (en) | 2001-05-25 | 2001-07-18 | Global Continuity Plc | Method for rapid recovery from a network file server failure |
US6948038B2 (en) * | 2001-07-24 | 2005-09-20 | Microsoft Corporation | System and method for backing up and restoring data |
US7251625B2 (en) * | 2001-10-02 | 2007-07-31 | Best Buy Enterprise Services, Inc. | Customer identification system and method |
US6751715B2 (en) | 2001-12-13 | 2004-06-15 | Lsi Logic Corporation | System and method for disabling and recreating a snapshot volume |
US20070094466A1 (en) * | 2001-12-26 | 2007-04-26 | Cisco Technology, Inc., A Corporation Of California | Techniques for improving mirroring operations implemented in storage area networks and network based virtualization |
JP2003202964A (ja) | 2002-01-09 | 2003-07-18 | Hitachi Ltd | 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置 |
US7093086B1 (en) * | 2002-03-28 | 2006-08-15 | Veritas Operating Corporation | Disaster recovery and backup using virtual machines |
JP2003309564A (ja) | 2002-04-17 | 2003-10-31 | Mitsubishi Electric Corp | マイクロコンピュータシステムおよびそれに使用されるトランシーバ |
JP2003316522A (ja) | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 計算機システムおよび計算機システムの制御方法 |
US7313793B2 (en) * | 2002-07-11 | 2007-12-25 | Microsoft Corporation | Method for forking or migrating a virtual machine |
FI119407B (fi) | 2002-08-28 | 2008-10-31 | Sap Ag | Korkean palvelutason ohjelmistopohjainen yhteyspalvelin |
US7089377B1 (en) | 2002-09-06 | 2006-08-08 | Vmware, Inc. | Virtualization system for computers with a region-based memory architecture |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
CN1331063C (zh) * | 2003-06-10 | 2007-08-08 | 联想(北京)有限公司 | 基于数据卷快照的在线数据备份方法 |
US7047380B2 (en) * | 2003-07-22 | 2006-05-16 | Acronis Inc. | System and method for using file system snapshots for online data backup |
JP4466001B2 (ja) | 2003-08-06 | 2010-05-26 | 株式会社日立製作所 | スナップショット高速化方法 |
US7953819B2 (en) * | 2003-08-22 | 2011-05-31 | Emc Corporation | Multi-protocol sharable virtual storage objects |
TWI223756B (en) | 2003-10-09 | 2004-11-11 | Univ Nat Sun Yat Sen | Automatic register backup/restore system and method |
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 |
US7139887B2 (en) * | 2003-12-31 | 2006-11-21 | Veritas Operating Corporation | Coordinated storage management operations in replication environment |
US7490103B2 (en) * | 2004-02-04 | 2009-02-10 | Netapp, Inc. | Method and system for backing up data |
US8359491B1 (en) * | 2004-03-30 | 2013-01-22 | Symantec Operating Corporation | Disaster recovery rehearsal using copy on write |
US7096392B2 (en) | 2004-05-07 | 2006-08-22 | Asempra Technologies, Inc. | Method and system for automated, no downtime, real-time, continuous data protection |
US20050267920A1 (en) | 2004-05-13 | 2005-12-01 | Fabrice Helliker | System and method for archiving data in a clustered environment |
US7299326B2 (en) | 2004-06-09 | 2007-11-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method for providing backup service continuity using a virtual backup service path |
US7580826B2 (en) | 2004-06-30 | 2009-08-25 | Microsoft Corporation | Systems and methods for development of emulated devices in a virtual machine environment |
US20060047926A1 (en) * | 2004-08-25 | 2006-03-02 | Zheng Calvin G | Managing multiple snapshot copies of data |
US20060080521A1 (en) | 2004-09-23 | 2006-04-13 | Eric Barr | System and method for offline archiving of data |
JP4550541B2 (ja) * | 2004-10-06 | 2010-09-22 | 株式会社日立製作所 | ストレージシステム |
US20060085784A1 (en) * | 2004-10-15 | 2006-04-20 | Microsoft Corporation | Systems and methods for authoring and accessing computer-based materials using virtual machines |
US7840963B2 (en) * | 2004-10-15 | 2010-11-23 | Microsoft Corporation | Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption |
GB2419701A (en) * | 2004-10-29 | 2006-05-03 | Hewlett Packard Development Co | Virtual overlay infrastructure with dynamic control of mapping |
US20060123210A1 (en) * | 2004-12-06 | 2006-06-08 | St. Bernard Software, Inc. | Method for logically consistent backup of open computer files |
US7409719B2 (en) * | 2004-12-21 | 2008-08-05 | Microsoft Corporation | Computer security management, such as in a virtual machine or hardened operating system |
US7899788B2 (en) * | 2005-04-01 | 2011-03-01 | Microsoft Corporation | Using a data protection server to backup and restore data on virtual servers |
US7669020B1 (en) * | 2005-05-02 | 2010-02-23 | Symantec Operating Corporation | Host-based backup for virtual machines |
JP2009506399A (ja) * | 2005-06-24 | 2009-02-12 | シンクソート インコーポレイテッド | バックアップイメージを仮想化するシステム及び方法 |
US8024292B2 (en) * | 2005-06-29 | 2011-09-20 | Emc Corporation | Creation of a single snapshot using a server job request |
US20070094659A1 (en) * | 2005-07-18 | 2007-04-26 | Dell Products L.P. | System and method for recovering from a failure of a virtual machine |
US7404056B1 (en) * | 2005-12-07 | 2008-07-22 | Nvidia Corporation | Virtual copying scheme for creating multiple versions of state information |
US7694101B2 (en) * | 2005-12-30 | 2010-04-06 | Vmware, Inc. | Implementing virtual disk reservations on a storage media for multiple distributed applications |
US8001342B2 (en) * | 2006-03-29 | 2011-08-16 | International Business Machines Corporation | Method for storing and restoring persistent memory content and virtual machine state information |
US7606868B1 (en) * | 2006-03-30 | 2009-10-20 | Wmware, Inc. | Universal file access architecture for a heterogeneous computing environment |
US7774391B1 (en) * | 2006-03-30 | 2010-08-10 | Vmware, Inc. | Method of universal file access for a heterogeneous computing environment |
US8056076B1 (en) * | 2006-03-31 | 2011-11-08 | Vmware, Inc. | Method and system for acquiring a quiesceing set of information associated with a virtual machine |
US8296759B1 (en) * | 2006-03-31 | 2012-10-23 | Vmware, Inc. | Offloading operations to a replicate virtual machine |
US8151263B1 (en) * | 2006-03-31 | 2012-04-03 | Vmware, Inc. | Real time cloning of a virtual machine |
US8321377B2 (en) * | 2006-04-17 | 2012-11-27 | Microsoft Corporation | Creating host-level application-consistent backups of virtual machines |
US7653794B2 (en) * | 2006-05-08 | 2010-01-26 | Microsoft Corporation | Converting physical machines to virtual machines |
US7707185B1 (en) * | 2006-10-19 | 2010-04-27 | Vmware, Inc. | Accessing virtual data storage units to offload operations from a computer system hosting a virtual machine to an offload server |
US8032351B2 (en) * | 2006-11-30 | 2011-10-04 | Symantec Corporation | Running a virtual machine directly from a physical machine using snapshots |
US7689859B2 (en) * | 2006-12-20 | 2010-03-30 | Symantec Operating Corporation | Backup system and method |
US8677352B2 (en) * | 2007-10-31 | 2014-03-18 | Vmware, Inc. | Interchangeable guest and host execution environments |
US8060476B1 (en) * | 2008-07-14 | 2011-11-15 | Quest Software, Inc. | Backup systems and methods for a virtual computing environment |
US8046550B2 (en) * | 2008-07-14 | 2011-10-25 | Quest Software, Inc. | Systems and methods for performing backup operations of virtual machine files |
US8135930B1 (en) * | 2008-07-14 | 2012-03-13 | Vizioncore, Inc. | Replication systems and methods for a virtual computing environment |
US8117410B2 (en) * | 2008-08-25 | 2012-02-14 | Vmware, Inc. | Tracking block-level changes using snapshots |
US8234469B2 (en) * | 2009-07-09 | 2012-07-31 | Microsoft Corporation | Backup of virtual machines using cloned virtual machines |
-
2006
- 2006-04-17 US US11/405,236 patent/US8321377B2/en active Active
-
2007
- 2007-02-15 ES ES07750979.2T patent/ES2639417T3/es active Active
- 2007-02-15 AU AU2007248869A patent/AU2007248869B2/en not_active Ceased
- 2007-02-15 KR KR1020087025498A patent/KR101330495B1/ko active IP Right Grant
- 2007-02-15 CN CN200780013689XA patent/CN101421715B/zh active Active
- 2007-02-15 BR BRPI0710003A patent/BRPI0710003B1/pt active IP Right Grant
- 2007-02-15 JP JP2009506485A patent/JP5021721B2/ja active Active
- 2007-02-15 KR KR1020137025294A patent/KR101432463B1/ko active IP Right Grant
- 2007-02-15 RU RU2008141158/08A patent/RU2433458C2/ru active
- 2007-02-15 WO PCT/US2007/004183 patent/WO2007130192A1/en active Application Filing
- 2007-02-15 EP EP07750979.2A patent/EP2016501B1/en active Active
- 2007-02-15 CA CA2645969A patent/CA2645969C/en active Active
- 2007-02-15 MX MX2008013132A patent/MX2008013132A/es not_active Application Discontinuation
- 2007-03-01 TW TW096107046A patent/TWI438689B/zh not_active IP Right Cessation
-
2008
- 2008-09-17 MY MYPI20083627A patent/MY154949A/en unknown
-
2012
- 2012-11-26 US US13/685,566 patent/US9529807B2/en active Active
-
2016
- 2016-11-23 US US15/360,586 patent/US20170075912A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040036788A (ko) * | 2002-10-24 | 2004-05-03 | 한국전자통신연구원 | 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법 |
JP2005332223A (ja) * | 2004-05-20 | 2005-12-02 | Ntt Data Corp | 仮想マシン管理システム |
Also Published As
Publication number | Publication date |
---|---|
KR101330495B1 (ko) | 2013-11-15 |
CN101421715A (zh) | 2009-04-29 |
BRPI0710003B1 (pt) | 2018-11-13 |
KR20090005330A (ko) | 2009-01-13 |
EP2016501A1 (en) | 2009-01-21 |
TWI438689B (zh) | 2014-05-21 |
EP2016501A4 (en) | 2009-11-11 |
TW200809626A (en) | 2008-02-16 |
CA2645969A1 (en) | 2007-11-15 |
KR20130115391A (ko) | 2013-10-21 |
US9529807B2 (en) | 2016-12-27 |
JP2009533777A (ja) | 2009-09-17 |
RU2008141158A (ru) | 2010-04-27 |
CN101421715B (zh) | 2012-01-04 |
WO2007130192A1 (en) | 2007-11-15 |
US20070244938A1 (en) | 2007-10-18 |
BRPI0710003A2 (pt) | 2011-08-02 |
MY154949A (en) | 2015-08-28 |
US20170075912A1 (en) | 2017-03-16 |
AU2007248869B2 (en) | 2011-09-08 |
EP2016501B1 (en) | 2017-06-07 |
RU2433458C2 (ru) | 2011-11-10 |
ES2639417T3 (es) | 2017-10-26 |
US8321377B2 (en) | 2012-11-27 |
US20130085994A1 (en) | 2013-04-04 |
BRPI0710003A8 (pt) | 2017-01-17 |
AU2007248869A1 (en) | 2007-11-15 |
JP5021721B2 (ja) | 2012-09-12 |
MX2008013132A (es) | 2008-10-21 |
CA2645969C (en) | 2015-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101432463B1 (ko) | 가상 기계 볼륨 데이터의 애플리케이션-일관성 백업 생성 방법 | |
KR101376952B1 (ko) | 머신을 가상 머신으로 변환하는 방법 | |
CN111488241B (zh) | 在容器编排平台实现无代理备份与恢复操作的方法和系统 | |
US9671967B2 (en) | Method and system for implementing a distributed operations log | |
CN107111533B (zh) | 虚拟机集群备份 | |
US8458422B1 (en) | Policy based creation of export sets and backup media | |
US6243774B1 (en) | Apparatus program product and method of managing computer resources supporting concurrent maintenance operations | |
CN102200921A (zh) | 智能引导设备选择和恢复 | |
US7475277B1 (en) | Automated repair of damaged objects | |
US8087021B1 (en) | Automated activity processing | |
US20230305876A1 (en) | Managing storage domains, service tiers, and failed servers | |
US11663096B1 (en) | Managing storage domains, service tiers and failed storage domain | |
EP3629180A1 (en) | Method and system for reliably restoring virtual machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170719 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180718 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190718 Year of fee payment: 6 |