KR100736235B1 - 스토리지 서비스들 및 시스템들 - Google Patents
스토리지 서비스들 및 시스템들 Download PDFInfo
- Publication number
- KR100736235B1 KR100736235B1 KR1020057000537A KR20057000537A KR100736235B1 KR 100736235 B1 KR100736235 B1 KR 100736235B1 KR 1020057000537 A KR1020057000537 A KR 1020057000537A KR 20057000537 A KR20057000537 A KR 20057000537A KR 100736235 B1 KR100736235 B1 KR 100736235B1
- Authority
- KR
- South Korea
- Prior art keywords
- storage
- virtual disk
- executable instructions
- snapshot operation
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Executing Machine-Instructions (AREA)
Abstract
스토리지 서비스들과 시스템들이 제공된다. 가상 디스크들은 다수의 스토리지 상태들을 포함하고 그 가상 디스크에서 제공되는 스토리지 동작들과 관련된다. 게다가, 실행가능한 지시들의 스토리지 관리 세트가 스토리지 동작들이 가상 디스크들에 대향하여 수행될 때 상태들에 할당된 값들을 기반으로 하여 구성된다. 몇몇의 실시예들에서, 실행가능한 지시들의 선택 세트가 스토리지 동작들의 선택적인 실행을 허용한다.
스토리지, 가상 디스크, 어플리케이션, 스토리지 리소스.
Description
본 특허 문서의 공개한 부분은 저작권 보호를 받을 수 있는 자료를 포함한다. 저작권 소유자는 본 특허 및 상표청 특허 파일 또는 기록들에서 나타난 것처럼 특허 문서 또는 특허 공개의 어느 것에 의해서도 팩시밀리 재생에 이의가 없지만, 그렇지 않으면 무엇이든지 모든 저작권들을 유보할 수 있다. 다음의 알림은 소프트웨어 설명들/예시들, 및 이하에서 설명되고 여기의 도면들에서와 같은 데이터에 응용된다: Copyright ⓒ 2002, VERITAS software Company, All rights Reserved.
본 발명은 스토리지 서비스들 및 시스템들에 관한 것으로, 특히 동결(frozen) 이미지들, 미러들, 및/또는 공유 스토리지 환경에서의 스토리지 분할을 생성하는 것을 보조하는 서비스들 및 시스템들에 관한 것이다.
스토리지 네트워킹은 종래의 포인트-투-포인트(point-to-point)의 소형 컴퓨터 시스템 인터페이스(SCSI) 채널을 대신하여 네트워크들(즉, Fibre Channel, Internet Small Computer System Interface(iSCSI) 등)을 사용함에 의해 컴퓨팅 디바이스들(즉, 클라이언트들, 서버들 및 기타)에 스토리지 디바이스들을 접속하는 실행이다. 스토리지 디바이스들에 서버들을 접속하는데 이용되는 네트워크는 스토리지 에어리어 네트워크(SAN)로 불린다. SAN 환경에서, 컴퓨팅 디바이스들은 이용 가능한 스토리지 디바이스들에 액세스를 가진다. 이는 서버 플랫폼 페일-오버(fail-over)를 포함하는 아주 다양한 장점들을 나타내고, 고장난(failed) 스토리지 디바이스와 고장난 서버가, 동작 스토리지 디바이스들의 어떠한 리케이블링(recabling)도 필요로하지 않고 동작 스토리지 디바이스와 또 다른 동작 서버 플랫폼에 의해 자동적으로 복구된다.
스토리지 관리의 한 측면은, 스토리지 가상화(storage virtualization)로 불리우는, 스토리지 액세스 투명성(storage access transparency)을 생성하는 능력이다. 스토리지 가상화는 물리적인 스토리지를 액세스하는 유저/클라이언트 어플리케이션들로부터 물리적인 스토리지 세부사항들을 감춘다. 스토리지 가상화는 스토리지 이용 및 스토리지 액세스 쓰루풋을 최적화할 수 있으므로, 많은 유저/클라이언트 어플리케이션들이 이종의 물리적인 스토리지 디바이스들로 구성되는 공유된 스토리지 환경에서 물리적인 스토리지를 최적으로 그리고 신뢰가능하게 액세스할 수 있다. 또한, 스토리지 가상화에서, 유저/클라이언트 어플리케이션들은 물리적인 스토리지 디바이스들과 연관된 인터페이스들 및 기본 세부사항들을 관리하도록 요구되지 않는다.
효과적인 스토리지 관리의 또 다른 측면은, 데이터는 복수의 물리적인 스토리지 디바이스들로부터 여유있게(redundantly) 이용가능하거나 이전 시간으로부터 적절한 시간내에 복구가능도록, 물리적인 스토리지 디바이스들에 존재하는 스토리지 데이터를 백업 또는 미러(mirror)하는 능력이다. 데이터 리던던시(redundancy)는, 스토리지 데이터를 하우징하는 물리적인 스토리지 디바이스들 중 하나가 고장 나거나 그렇지 않으면 유저/클라이언트 어플리케이션에 이용할 수 없게(즉, 서버 실패들, 어플리케이션 실패 들 및 기타)되더라도, 스토리지 데이터가 이용가능하게 유지되도록 허용한다. 데이터 복구력은 시간내에 유저들이 이전 포인트로부터 데이터의 소망된 버전들을 획득하도록 허용한다.
전통적으로, 몇몇의 기술들이 복수의 물리적인 스토리지 디바이스들 상에 스토리지 데이터를 백업하는 데 사용된다. 첫째로, 스토리지 데이터는, 최초의 물리적인 스토리지 디바이스에 연관된 스토리지 데이터의 스냅샷(snapshot)을 취하고 그 후 두번째 백업 물리적인 스토리지 디바이스에 그 스토리지 데이터를 복사함에 의해 하나의 물리적인 스토리지 디바이스에서 또다른 물리적인 스토리지 디바이스로 복사될 수 있다. 이것이 이루어지기 위해서, 스토리지 데이터의 동결(frozen) 이미지가 최초의 물리적인 스토리지 디바이스로부터 소정 순간에 적절히 취해진다. 동결 이미지를 생성하는데 있어서, 일련의 동작들이 스냅샷 동작의 거래 일관성(transactional consistency)을 보장하도록 수행되어져야 한다. 예를 들어, 몇몇의 동작들은 스토리지 데이터를 액세싱하는 어플리케이션들을 중지시키고 동작들을 변경하는 캐시 펜딩(cashe pending) 스토리지 데이터로부터 플러시(flush)한다. 둘째로, 스토리지 데이터가 미러될 수 있고, 최초의 물리적인 스토리지에 하우징된 스토리지 데이터가 변경될 때, 동작을 변경하는 미러된 스토리지 데이터가 미러된 제 2의 물리적인 스토리지 디바이스에 발생한다.
일반적으로, 스토리지 가상화가 제공될 때, 스토리지 관리 기술들은 기반이되는 물리적인 스토리지 디바이스들의 인터페이스들과 유저 어플리케이션들 사이에 삽입된 소프트웨어의 중간층을 사이에 끼울 것이다. 이 소프트웨어의 중간층은 물리적인 스토리지 디바이스들을 중앙에서 관리하고 스토리지 데이터의 가상 뷰를 생성할 수 있다. 몇몇의 경우들에서, 소프트웨어의 중간층은 볼륨 관리자(Volume Manager(VM)) 어플리케이션으로 구현된다. VM은 기본 스토리지 데이터의 높은 이용성(High Availablity, HA)을 보장하기 위해 스토리지 데이터에 대하여 스토리지 서비스들(즉, 동결 이미지들, 미러들 및 기타)을 실행할 수 있다.
그러나, 이종의 공유된 스토리지 환경들에서, 동결 이미지들과 미러들은 물리적인 스토리지 디바이스의 다른 구성들과 인터페이스들에 의거하여 다양한 다른 방법들로 VM에 제공된다. 종종, 다수의 물리적인 스토리지 디바이스들이 다른 벤더들(vendors)로부터 제공되고, 그에따라 물리적인 스토리지 디바이스들이 VM에 이종의 스토리지 용량들을 제공한다.
결과적으로, 이종의 공유된 스토리지 환경들에서 동작하는 VM은, 이종의 스토리지 능력들을 다루도록 설계되는 다량의 복잡한 예외 소프트웨어 코딩으로 과도하게 복잡하게 된다. 스토리지 용량들은 스토리지 데이터가 어떻게 관리되고 특정 스토리지 동작으로 생성된 어떤 동결 이미지 또는 미러로 무엇이 행해지는지를 구술한다.
그러므로, 보다 나은 일관성과 표준화가 이종의 물리적인 스토리지 디바이스들에 의해 제공된 기저 인터페이스(underlying interface)들에 독립적으로 이용가능한, 개선된 스토리지 서비스들 및 시스템들을 제공하는 기술들이 필요하다.
본 발명의 한 측면에 따라, 스토리지 동작들을 제공하는 방법이 제공된다. 상태 플래그들(state flags)은 가상 디스크에 연관되고, 그 가상 디스크는 하나 이상의 스토리지 디바이스들에 묶여있다. 게다가, 가상 디스크는 준비 동작과 분할 동작으로의 액세스가 제공된다. 부가적으로, 실행가능한 지시들의 스토리지 관리 세트는 준비 동작과 스냅샷 동작 중 적어도 하나가 처리될 때, 그 가상 디스크의 각각의 상태 플래그들에 할당된 하나 이상의 값들을 기반으로 하여 구성된다.
본 발명의 또 다른 측면에 따라, 스토리지 동작 시스템이 제공된다. 스토리지 동작 시스템은 가상 디스크, 실행가능한 지시들의 스토리지 관리 세트, 및 실행가능한 지시들의 선택 세트를 포함한다. 그 가상 디스크는 다수의 상태들, 스냅샷 동작, 및 준비 동작과 연관된다. 실행가능한 지시들의 스토리지 관리 세트는 가상 디스크를 관리하고 동작들에 의해 구성된다. 또, 실행가능한 지시들의 선택 세트는 동작들의 선택적인 실행을 허용한다.
본 발명의 또 다른 측면에 따라, 컴퓨터가 판독할 수 있는 매체 상에 있는 가상 디스크 데이터 구조를 제공한다. 가상 디스크 데이터 구조는 스토리지 메타데이터(matadata), 다수의 스토리지 상태들, 및 다수의 스토리지 동작 맵핑들을 포함한다. 스토리지 메타데이터는 하나 이상의 스토리지 디바이스들상에 있는 스토리지 데이터와 연관된다. 게다가, 다수의 스토리지 상태들은 가상 디스크 데이터 구조의 처리 상태들에 연관되고, 다수의 스토리지 동작 맵핑들은 스토리지 동작들로의 액세스를 제공한다. 더욱이, 다수의 스토리지 상태들에 연관된 값들은 스토리지 동작 맵핑들을 액세싱함으로써 처리될 수 있는 다수의 스토리지 동작들을 결정한다.
도 1은 본 발명에 따른 가상 디스크의 다이어그램;
도 2는 본 발명에 따른 스토리지 동작을 처리하는 방법의 플로우 다이어그램;
도 3은 본 발명에 따른 스토리지 동작을 제공하는 방법의 플로우 다이어그램;
도 4는 본 발명에 따른 스토리지 동작 시스템의 다이어그램;
도 5는 본 발명에 따른 가상 디스크 데이터 구조의 다이어그램; 및
도 6은 본 발명에 따른 또 다른 스토리지 동작 시스템의 다이어그램이다.
본 발명의 다양한 실시예들의 다음의 상세한 설명에서, 그 일부를 형성하는 첨부된 도면들에 참조가 이루어지고, 그것은 본 발명이 실행될 수 있는 특정한 실시예들에 의해 나타낸다. 다른 실시예들이 이용될 수 있고 본 발명의 범위를 벗어나지 않고 구조적 변경들이 이루어질 수 있음을 이해해야 한다.
여기에서 사용된 것처럼, "스토리지 관리 어플리케이션" 또는 "실행가능한 지시들의 스토리지 관리 세트"는 유저/클라이언트 어플리케이션들 또는 호스트 어플리케이션들을 위해 스토리지 리소스들을 관리하는 소프트웨어 어플리케이션들 또는 모듈들을 포함한다. 몇몇의 예들에서, 스토리지 관리 어플리케이션들은 스토리지 에어리어 네트워크(SAN) 환경 또는 iSCSI를 이용하는 TCP/IP와 같은, 공유된 스토리지 환경에서 처리하는 볼륨 관리자(VM) 어플리케이션들이다. 유저/클라이언트 어플리케이션들 또는 호스트 어플리케이션들은 스토리지 리소스들로의 액세스를 얻는 스토리지 관리 어플리케이션들과 인터페이스하는 어플리케이션들이다.
가상 디스크(VD:Virtual Disk)는 그것이 하나 이상의 물리적인 스토리지 디바이스들에 존재하는 것처럼 물리적 스토리지 데이터의 논리적인 표현이다. 실행가능한 지시들의 스토리지 관리 세트는 VD를 관리하고, VD를 유저/클라이언트 애플리케이션들 혹은 호스트 애플리케이션들에 이용가능하게 만든다. 본 발명의 몇몇 실시예들에서, 하나의 VD는 사실상 VD들의 그룹이다. 더 많은 실시예들에서, 물리적인 스토리지 디바이스들의 인터페이스들은 VD들을 만들어내고, 그것은 그 다음에 실행가능한 지시들의 스토리지 관리 세트에 의해 관리된다.
도 1은 본 발명에 따른 한 VD(110)의 다이어그램(100)을 나타낸다. VD(110)은 다수의 스토리지 상태들(예를 들어, 111-115) 및 스토리지 동작들(예를 들어, 116-118)과 연관된다. 일 실시예에서, VD(110)은 VD들의 그룹이다. 더욱이, VD(110)은 하나 이상의 물리적 스토리지 디바이스들에 대한 물리적 스토리지 데이터의 논리도를 나타낸다. 스토리지 관리 애플리케이션들(예를 들어, VM들 등), 유저/클라이언트 애플리케이션들, 및 호스트 애플리케이션들은 VD(110)와 상호작용하고, 기저 물리적인 스토리지와는 직접적으로 상호작용하지는 않는다. VD(110)는, 그것이 물리적인 스토리지 디바이스들에 존재하는 것처럼, 기저 물리적 스토리지 데이터를 획득하는데 사용되는 메타데이터를 포함한다.
스토리지 동작은 VD(110)의 동결 이미지를 만들어 내거나 관리하는데 필요한 하나 이상의 프로세스들이다. 상기에서 논의된 바와 같이, 동결 이미지 용량들은 다른 기저 스토리지 인터페이스들 및 다른 물리적 스토리지 디바이스 구성들(예를 들어, 스토리지 어레이 구성들)에 대하여 다른 방식들로 제공된다. 동결 이미지들을 만들어 내기 위한 몇몇 기술들은 데이터 미러링, 카피-온-라이트(copy-on-write) 기술, 및 이와 유사한 것을 포함한다. 물리적인 스토리지 디바이스 구성들이 어떻게 관리될 것인지에 대하여, 어떤 만들어진 동결 이미지로 무엇이 행하여 질 수 있는가에 대하여, 및 동결 이미지를 만들어 내는데 얼마나 오랜 시간이 걸리는 가에 대하여 하나의 기술 대 다른 기술을 사용하는 것은 다양한 암시들을 가질 것이다. 도 1의 VD(110)은 VD(110)과 연관된 스토리지 상태들(예를 들어, 111-115) 및 스토리지 동작들(예를 들어, 116-118)을 이용함으로써 잠재적으로 이종인 동결 이미지 프로세스들을 표준 프로세스로 표준화(normalization)하도록 허용한다.
VD(110)의 일 실시예로, 다섯 개의 스토리지 상태 플래그들(예를 들어, 111-115), 즉, 구성-대기(configure-ready) 상태 플래그(111), 비구성-대기(unconfigure-ready) 상태 플래그, 준비-대기(prepare-ready) 상태 플래그(113), 스냅샷-대기(snapshot ready) 상태 플래그(114), 및 복원-대기(restore-ready) 상태 플래그(115)가 있다. 이러한 상태 플래그들(예를 들어, 111-115)는 거짓/언세트(false/unset) 값 혹은 참/세트(true/set) 값을 포함할 수 있다. 게다가, 상태 플래그들(예를 들어, 111-115)에 할당된 값들은, 스토리지 동작들중 어떤 것(예를 들어, 116-118)이 VD(110)의 메타데이터를 사용함으로써 VD(110)와 연관된 기저 물리적 저장 디바이스들에 대하여 수행될 수 있는지를 지시한다. 일 실시예로, 세 개의 스토리지 동작들(예를 들어, 116-118)이 제공된다: 복원 동작(116), 스냅샷 동작 (117), 및 준비 동작(118).
구성-대기 상태 플래그(111)는 VD(110)가 재구성되도록 허용하는 상태에 있는지 여부에 관한 지시를 제공한다. 기저 물리적 스토리지 디바이스들의 특정한 구성이 하드웨어 미러링 기술과 연관되어 있다면, 구성-대기 상태 플래그(111)는 현재 VD(110)들의 물리적 디바이스가 두 물리적 디바이스들 사이에 스토리지 데이터를 동기화하거나 미러링할 목적으로 또 다른 VD(110)의 물리적 디바이스와 연관될 수 있도록 지시하는데 사용될 수 있다. 또한, 카피-온-라이트 기술을 사용하는 스토리지 어레이들과 연관된 스토리지 디바이스 구성들에 대하여, 구성-대기 상태 플래그(111)로부터의 어떤 지시도 전혀 필요로 되지 않고, 이에 따라 구성-대기 상태 플래그(111)는 일정하게 그러한 구성들에 대해 거짓으로 설정될 수 있다.
비구성-대기 상태 플래그(112)와 연관된 값들은 VD(110)이 또다른 제거되거나 그렇지 않은 VD(110)와 연관성을 가질 수 있는 상태에 있는지를 여부를 지시한다. 이는 또다른 VD(110)와 재 연관성을 허용하여, VD(110)의 스토리지 데이터와 연관된 복수의 동결 이미지들이 취해질 수 있다. 다시, 카피-온-라이트 기술을 사용하는 스토리지 어레이들과 연관된 스토리지 디바이스 구성들에 대해, 어떤 비구성-대기 상태 플래그(112)도 사용되지 않고, 이에 따라 비구성-대기 상태 플래그(112)는 전형적으로 거짓으로 설정될 수 있다.
준비-대기 상태 플래그(113)와 연관된 값들은 VD(110)가 연관된 VD(110)의 스토리지 디바이스가 준비 동작(118)을 위해 구성될 수 있도록 하는 상태에 있는지 여부를 지시한다. 몇몇 경우에, 이는 VD(110)를 또 다른 VD(110)의 스토리지 디바 이스와 미러링하기 위한 설정(establish) 동작일 수 있다. 만약 미러링된 VD(110)의 스토리지 디바이스가 스플릿 오프되면, 준비-대기 상태 플래그(113)를 참으로 설정하는 것은 미러링된 VD(110)의 스토리지 디바이스를 액세스 불가능하도록 만들 것이다. 데이터 미러링 기술들을 사용하지 않는 스토리지 어레이들과 관련된 스토리지 디바이스 구성들에 대하여, 준비-대기 상태 플래그(113)는 이전에 처리된 스냅샷 프로세스(예를 들어, 이전 동결 이미지 생성)에 의해 사용된 스토리지를 재흡수시키기 위해 참으로 설정될 수 있고, 이에 의해 본질적으로 어떤 이전에 생성된 스토리지 클론도 삭제시킬 수 있다. 본 기술분야에서 통상적인 지식을 가진 자는 준비 동작(118)과 조합하여 준비-대기 상태 플래그(113)를 사용함으로써 쉽게 평가하기 때문에, 스토리지 관리자들은 물리적인 스토리지 디바이스들과 VD들을 동기화시키는데 요구되는 만큼의 시간이 걸릴 수 있으며, 이는 준비-대기 상태 플래그(113)가 준비 동작(118)을 스냅샷 동작(117)(예를 들어, 동결 이미지 생성 동작)로부터 분리하기 위한 기술을 제공하기 때문이다.
스냅샷-대기 상태 플래그(114)와 연관된 값들은 VD(110)의 동결 이미지/스냅샷이 취해지도록 하는 상태에 있는지 여부를 지시한다. 몇몇 실시예에서, 만일 물리적 스토리지 디바이스들의 기저 구성이 허용된다면, 스냅샷-대기 상태 플래그(114) 또한 어떠한 생성된 동결된 이미지들에 대해 참으로 설정될 수 있고, 따라서 동결 이미지들이 다른 동결 이미지들로부터 취해지도록 허용한다.
복원-대기 상태 플래그(115)와 연관된 값들은 VD(110)가 이전에 취해진 VD(110)의 동결 이미지가 최초의 VD(110) 위에 씌어진 수 있도록 하는 상태에 있는 지 여부를 지시한다. 이것은 이전에 취해진 동결 이미지와 연관된 스토리지 데이터를 가지는 또 다른 VD(110)로부터 VD(110)상에 반대 설정(reverse establish)이 발생하거나 복원 동작(116)이 발생하도록 한다.
VD(110)는 시간내의 어떤 주어진 순간에서 복수의 상태(예를 들어, 111-115)에 있을 수 있다. 스토리지 관리자들은 스토리지 동작들(예를 들어, 116-118)이 VD(110)와 연관된 기저 물리적 스토리지 디바이스들에 대해 이용될 수 있도록 되는 때, 시간내의 어떤 점에서 VD(110)에 대해 스토리지 상태들(예를 들어, 111-115)을 구성할 수 있다. 또한, 만약 VD(110)이 VD들의 그룹이거나 복수의 기저 물리적 스토리지 디바이스들과 연관된다면, 상태 플래그(예를 들어, 111-115)들은 자동적으로 값들로 설정되어, VD들의 그룹은 적어도 그룹의 공통 분모 동작(예를 들어, 116-118)으로 디폴트된다.
예를 들어, 실행가능한 지시들(예를 들어, VM과 이와 유사한 것)의 스토리지 관리 세트가 복원 동작(116)을 지원하지 않는 다른 VD(110)들이 존재하는 동안 복원 동작(116)을 지원하는 몇몇 VD(110)들을 포함하면, 복원-대기 상태 플래그(115)는 자동적으로 끊임없이 거짓으로 설정되고, 이에 의해 복원 동작(116)의 실행을 VD(110)들 중 어떤 것에 대한 실행에도 노출시키지 않는다.
유사하게, 스냅샷 동작(117)은 VD(110)과 연관된 기저 물리적 스토리지 디바이스들의 용량들에 기초하여 제한될 수 있다. 예를 들어, VD(110)가 VD들의 그룹과 연관되고, 여기서 VD들의 절반이 준비-대기 플래그들(113)이 참으로 설정되도록 하고, VD들의 절반은 스냅샷-대기 플래그들(114)이 참으로 설정되도록 하면, 준비 동 작(118)은, 스냅샷 동작(117)이 스냅샷-대기 플래그들(114)이 참으로 설정되도록 하는 VD(110)에서 프로세스되기 전에, 준비-대기 플래그들(113)이 참으로 설정되도록 하는 VD(110)들에 대하여 프로세싱을 완료할 것이다. 이런 식으로, 스토리지 동작들(예를 들어, 116-118)의 몇몇에 대한 액세스는 다른 스토리지 동작들(예를 들어, 116-118)이 완료되었을 때까지 미정인 상태로 있을 것이다.
또한, 실행가능한 지시들(예를 들어, VM들과 이와 유사한 것)의 어떤 스토리지 관리 세트는 스토리지 동작들(예를 들어, 116-118)의 성공적인 실행에 기초하여 자동적으로 구성될 수 있다. 예를 들어, 기저 물리적 스토리지 데이터와 연관된 VD(110)들의 메타데이터는 하나 이상의 스토리지 동작들(예를 들어, 116-118)의 완료에 대한 실행가능한 지시들의 스토리지 관리 세트를 위해 자동적으로 업데이트될 수 있다. 또한, 성공적인 스냅샷 동작(117) 후 스토리지 동작들(예를 들어, 116-118)에 의해 생성된 어떤 동결 이미지를 실행가능한 지시들의 스토리지 관리 세트에 보여질 수 있도록 자동적인 임포트와 익스포트들이 수행될 수 있다.
몇몇 실시예들에서, 도 1의 VD(110)에 HA 확장(extension)은 스토리지 동작들(예를 들어, 116-118)을 증가시키기 위해 스토리지 클러스터 특징들을 통합하는데 사용될 수 있다. 이것은 VD(110)들의 그룹과 연관된 VD(110)상에 실행되는 스냅샷 동작(117)에 대한 목적지 VD(110)의 할당을 허용하는 동작들을 포함할 수 있다. 스냅샷 결과들은 클라이언트/호스트로 및 실행가능한 지시들의 스토리지 관리 세트 내로 자동적으로 임포트될 수 있다. 또한, 몇몇 실시예들에서, 동작에 대한 자동적인 실패는 스토리지 동작들(예를 들어, 116-118)에 의해 생성된 어떤 동결 이미지 를 제2 VD(110) 혹은 목적지 VD(110)로 복사하도록 통합될 수 있다. 물론 다양한 부가적인 동작들과 상태 플래그들이 도 1과 함께 스토리지 서비스들의 프로세싱을 향상시키기 위해 사용될 수 있다는 것은 본 기술분야의 당업자에 의해 쉽게 인식된다. 모든 그러한 향상들은 본 발명의 넓은 범위 안에 포함될 것이다.
도 2는 본 발명에 따른 스토리지 동작들을 프로세싱하는 방법(200)의 흐름도를 나타낸다. 최초로, 물리적 스토리지 데이터는 논리적으로 하나 이상의 VD 데이터 구조들로 표시된다. 몇몇 실시예들에서, 물리적 스토리지 데이터를 제어하는 물리적 스토리지 디바이스 인터페이스들은 간접적으로 VD 데이터 구조들을 통해 액세스될 수 있다. 또한, 하나의 VD 데이터 구조들은 복수의 VD 데이터 구조들을 표시할 수 있다. VD 데이터 구조들은 유저/클라이언트 애플리케이션들 혹은 호스트 애플리케이션들에 스토리지 가상화를 제공하기 위해서 스토리지 관리 애플리케이션들에 의해 사용된다. 이런 식으로, 유저/클라이언트 애플리케이션들 혹은 호스트 애플리케이션들은 논리적으로 VD 데이터 구조에 의해 구현되는 스토리지 데이터와 관련된 물리적 스토리지 디바이스들의 세부사항들에 관련될 필요가 없다.
각각의 VD 데이터 구조는, VD 데이터 구조에 대해서 스토리지 동작들을 수행하는 것과 관련된 복수의 스토리지 상태들에 연관되어 있다. 이들 스토리지 상태들은, 상태 플래그들이 설정되어 있는지 또는 미설정되어 있는지를 각각 나타내는 참(true) 또는 거짓(false)의 값을 갖는 스토리지 상태 플래그로서 나타낼 수 있다. 또, 몇가지 실시예에 있어서, 상기 상태 플래그들은 구성-대기 상태 플래그, 비구성-대기 상태 플래그, 준비-대기 상태 플래그, 스냅샷-대기 상태 플래그, 및 복원- 대기 상태 플래그를 포함한다. 어떤 설정 값들은, 시간내에 어떤 주어진 순간에 스토리지 동작이 VD 데이터 구조에 대해서 허용가능하게 수행될 수 있는지 여부를 결정한다. 일실시예에 있어서, 스토리지 동작은 복원 동작, 스냅샷 동작, 및 준비 동작을 포함한다.
복원 동작은, 원본 VD 데이터 구조상에서 복원을 수행하기 위해, 미리 얻어진 동결 이미지와 연관된 데이터를 최초 VD 데이터 구조에 복사될 수 있도록 허용한다. 스냅샷 동작은, 동결 이미지가 VD 데이터 구조로부터 취해져 제2 VD 데이터 구조에 저장되도록 허용한다. 준비 동작은 설정 동작, 분리(split) 동작 또는 다른 스토리지 동작을 위해 VD 데이터 구조를 구성한다.
블록 210에 있어서, 상기 상태 플래그들을 위한 값들은 VD 데이터 구조를 위해 설정된다. 몇가지 실시예에 있어서, 물리적인 스토리지 디바이스들과 연관된 인터페이스들은 상기 상태 플래그들과 연관된 값들의 초기 및 후속 설정을 가능하게 하기 위해 변경된다. 이와 같은 방식으로, 관리자 또는 벤더(vendor)는 특정 스토리지 디바이스들을 위한 스토리지 서비스들이 기저 물리적 스토리지 디바이스의 구성들에 의거해서 이용 가능하게 되거나 또는 이용 가능하게 되지 않는 경우를 결정할 수 있다. 따라서, 블록 210에 있어서, 상태 값들은 하나 이상의 스토리지 동작의 처리 결과들에 의거해서 자동적으로 설정될 수 있다. 선택적으로, 블록 210에 있어서, 스토리지 관리자는 상태 값들을 수동으로 설정할 수 있다. 또, 몇가지 실시예에 있어서, VD를 위한 상태 값들을 설정하기 위해 실행가능한 지시들의 공급자 세트가 스토리지 디바이스 인터페이스들과 실행가능한 지시들의 스토리지 관리 세 트 사이에 삽입될 수 있다.
블록 220에 있어서, 스토리지 동작이 수신된다. 스토리지 동작은 실행가능한 지시들(즉, VMs 등)의 스토리지 관리 세트로부터, 또는 스토리지 관리자에 의해 처리된 유저/클라이언트 어플리케이션 혹은 호스트 어플리케이션으로부터 직접 수신될 수 있다. 블록 222에 있어서, VD 데이터 구조에 대한 스토리지 동작을 처리하기 위한 요청을 수신하면, 수신된 스토리지 동작을 수행하기 위해 VD 데이터 구조가 유효 상태에 있는지를 판정하는 검사가 행해진다.
몇가지 실시예에 있어서, VD 데이터 구조가 VD 데이터 구조들의 그룹과 연관된 경우 최소 공통분모 규칙이 강화될 수 있고, 이와 같은 상태는, VD 데이터 구조들 중 어느 것이 상기 수신된 스토리지 동작을 성공적으로 수행하는데 필요한 무효 상태 플래그 값들과 연관되어 있으면, 블록 222에서 무효로 간주된다. 게다가, 몇가지 경우, 수신된 동작은 다른 스토리지 동작의 수행 이후 유효로 될 수 있다. 이들의 경우, VD 데이터 구조들의 전체 그룹의 상태들이 상기 수신된 스토리지 동작이 수행되도록 허용할 때까지 상기 수신된 스토리지 동작은 정지상태로 유지된다.
블록 230에 있어서, 상태 플래그와 연관된 값이 유효로 되면, 수신된 스토리지 동작은 VD 데이터 구조에 대해서 처리된다. 블록 240에 있어서, 수신된 스토리지 동작을 처리하는 결과에 따라, VD 데이터 구조를 위해 상태 플래그들을 위한 적절한 값들이 업데이트된다. 다음에, 블록 220에 있어서, 또다른 스토리지 동작이 수신될 때 처리는 계속된다.
도 3은 본 발명에 의한 스토리지 동작들을 제공하기 위한 방법(300)의 플로 우 도면이다. 블록 310에 있어서, 상태 플래그들은 VD와 연관되어 있다. 상태 플래그들은, VD의 현재 상태가 주어진 경우, 특히 소망의 스토리지 동작이 VD에 대해서 적절하게 수행될 수 있는지를 판정하기 위해 사용된 값을 포함한다. VD는 하나 이상의 물리적 스토리지 디바이스와 연관된 스토리지 데이터를 논리적으로 나타낸다. 또한, 몇가지 실시예에 있어서, 단일 VD는 복수 또는 그룹의 VD를 나타낼 수 있다. 게다가, 스토리지 디바이스의 기본적인 구성들은 다수의 상태 플래그들에 대한 값들을 지시할 수 있다.
몇가지 실시예에 있어서, 상태 플래그들은 5가지 상태: 구성-대기 상태, 비구성-대기 상태, 준비-대기 상태, 스냅샷-대기 상태 및 복원-대기 상태를 나타낸다. 구성-대기 상태의 값은 VD가 재구성될 수 있는지 여부를 지시한다. 몇가지 경우, 스토리지 디바이스의 기본적인 구성은 구성-대기상태의 값을 항상 거짓으로 설정되도록 강요한다. 비구성-대기상태의 값은 VD가 다른 VD로 분리될 수 있는지 여부를 나타낸다. 몇가지 경우, 스토리지 디바이스의 기본 구성은 비구성-대기 상태의 값을 항상 거짓으로 설정되도록 강제할 것이다.
준비-대기 상태의 값은 준비 동작이 VD에 대해서 지장없이 수행될 수 있는지 여부를 나타낸다. 준비 동작은 설정 또는 분리 동작을 위한 VD가 VD에 대해서 수행되도록 준비한다. 또, 데이터 미러링을 허용하지 않는 스토리지 서비스를 위해, 준비-대기 상태의 값은 이전에 생성된 동결 이미지에 의해 사용된 스토리지를 재흡수하기 위해 참으로 설정될 수 있다. 스냅샷-대기 상태의 값은, VD의 동결 이미지를 생성하기 위해, VD에 대해서 수행되는 스냅샷 동작을 VD가 가질 수 있는지 여부를 나타낸다. 이전에 얻어진 동결 이미지들의 동결 이미지들은 허용된다. 복원-대기 상태의 값은 복원 동작이 미리 얻어진 동결 이미지를 가지고 VD를 복원하기 위해 VD에 대해서 수행될 수 있는지 여부를 나타낸다.
블록 320에 있어서, 스토리지 동작들은 VD가 제공된다. 동작들은 설정 동작을 위한 VD를 준비하기 위한 준비 동작, 분리 동작, 또는 다른 스토리지 동작(예컨대, 미러 동작) 및 이전에 얻어진 동결 이미지를 가지고 VD 위에 기록하는(overwrite) 복원 동작을 포함한다. 물론, 본 기술분야에서 통상의 숙련된 사람들에 의해 이해될 수 있는 것과 같이, 본 발명으로부터 벗어나지 않는 한 다양한 추가적인 스토리지 동작들이 제공될 수 있다. 이들 동작중 몇가지는 목적지(destination) VD들의 지정을 허용하는 것에 의한 스토리지 클러스터 특징의 통합, 및 목적지 VD들 상에서 실행가능한 지시들(즉, VM 등)의 스토리지 관리 세트로의 이전에 얻어진 스냅샷의 반입을 포함할 수 있다. 추가적으로, 동작은 적절한 조건하에서 또다른 VD에 대한 동결 이미지의 실패(fail over)가 허용될 수 있다.
게다가, 블록 330에 있어서, 스토리지 동작들 중 적어도 하나가 VD에 대해서 수행될 때 실행가능한 지시들의 관리 세트는 상태 플래그들에 할당된 값들에 의거해서 자동적으로 구성된다. 예를 들면, 어떤 생성된 동결 이미지의 스토리지 데이터와 연관된 기저 물리적 맵핑(mapping)은, 실행가능한 지시들의 스토리지 관리 세트로 임포트(import)되거나 또는 엑스포트(export)되어, 새롭게 생성된 동결 이미지가, 분리 동작의 성공적인 결과시 실행가능한 지시들의 스토리지 관리 세트에 대해서 보여질수 있고(visible) 액세스할 수 있다. 마찬가지로, 기본 물리적인 맵핑 은 호스트 컴퓨팅 환경에서 자동적으로 반입되거나 반출될 수 있다.
블록 340에 있어서, 스토리지 동작이 수신되거나 요청된다. 몇가지 경우, 이 동작은 실행가능한 지시들의 스토리지 관리 세트로부터 수신된다. 다른 경우, 스토리지 관리자가 스토리지 동작을 수동으로 수행하는 경우와 같이, 스토리지 동작은 실행가능한 지시들의 유저/클라이언트 세트 또는 실행가능한 지시들의 호스트 세트로부터 직접 수신된다. 블록 342에 있어서, 일단 요청된 스토리지 동작이 수신되면, VD에 현재 할당된 값들은, 다른 스토리지 동작이 VD에 대한 처리를 완료할 때까지 상기 요청된 스토리지 동작이 수행되는지 또는 정지상태로 유지되는지를 판정하는 데 유효하게 된다. 몇가지 실시예에 있어서, VD는 VD들의 그룹을 나타내고, 그룹내의 각 VD에 대한 상태 플래그들에 할당된 각각의 값은 요청된 동작이 진행하도록 허용되기 이전에 유효하게 되는 것이 요구될 수 있다.
블록 350에 있어서, 일단 VD의 상태 플래그와 연관된 값들이 상기 요청된 스토리지 동작이 수행되도록 허용하면, 요청된 스토리지 동작이 수행된다. 요청된 스토리지 동작의 처리 결과에 따라, 실행가능한 지시들의 관리 세트가 적절하게 구성되고, 상태 플래그들의 값들은 필요에 따라 자동적으로 업데이트/리셋(reset)된다.
또한, 몇가지 실시예에 있어서, VD는 제1 스토리지 디바이스와 제2 스토리지 디바이스와 연관되어 있고, 제1 스토리지 디바이스는 제2 스토리지 디바이스와는 상이하다. 예를 들면, 제1 스토리지 디바이스의 구성은 데이터 미러링을 허용할 수 있지만, 제2 스토리지 디바이스의 구성은 데이터 미러링을 허용하지 않는다. 또, 제1 및 제2 스토리지 디바이스가 상이한 하드웨어 벤더에 의해 공급되는 경우와 같 이, 제1 스토리지 디바이스 및 제2 스토리지 디바이스와 연관된 인터페이스는 상이할 수 있다. 대안적으로, 인터페이스들은 동일한 하드웨어 벤더에 의해 공급된 인터페이스의 릴리이즈(release)들/버전(version)들이 상이할 수 있다.
도 4는 본 발명에 의한 스토리지 동작시스템(400)의 도면을 나타낸다. 스토리지 동작시스템(400)은, 하나 이상의 VD(즉, 410-412), 실행가능한 지시들의 스토리지 관리 세트(430), 및 실행가능한 지시들의 선택 세트(420)를 포함한다. VD들(즉, 410-412)은 하나 이상의 스토리지 디바이스들(즉, 401-402)과 연관되어 있다. 게다가, VD들(즉, 410-412)은 복수의 상태들, 스냅샷 동작, 준비 동작, 및 임의의 복원 동작과 연관되어 있다.
일실시예에 있어서, 실행가능한 지시들의 스토리지 관리 세트(430)는, SAN 환경 또는 iSCSI를 이용하는 TCP/IP 환경과 같은, 공유된 스토리지 환경에서 동작하는 VM이다. 실행가능한 지시들의 스토리지 관리 세트(430)는 VD들(즉, 410-412)을 관리하고, 하나 이상의 동작이 VD들(즉, 410-412)에 대해서 수행되는 경우 동적으로 구성된다. 예를 들면, 스냅샷 동작이 VD들(즉, 410-412)에 대해서 완료되면, 그후 그 결과 생성된 동결 이미지는 실행가능한 지시들의 스토리지 관리 세트(430)로 임포트되어, 생성된 동결 이미지가 실행가능한 지시들의 스토리지 관리 세트(430)에 대해서 보여질 수 있고 액세스할 수 있다. 그 결과 생성된 동결 이미지는 또 호스트 컴퓨팅 디바이스로 임포트될 수 있다.
만약, 상태들이 동작들의 선택적인 실행을 허용하는 현재값을 가진다면, 실행가능한 지시들의 선택 세트(420)는 동작들의 선택적인 실행을 허용한다. 어떤 실 시예들에서, 동작들은 VD들(예를 들면, 410-412)이 제 2 VD(예를 들면, 410 또는 412)로의 분할 동작 또는 설정동작을 위해 준비되거나 제 2 VD(예를 들면, 410 또는 412)상에서 재-준비되도록 허용한다. 다른 실시예들에서, 동작들은 제 2 VD(예를 들면, 410 또는 412)가 다른 VD들의 데이터를 복원하도록 허용하고, 여기서 제 2VD(예를 들면, 410 또는 412)는 이전에 취한 VD(예를 들면, 410 또는 412)의 동결 이미지를 나타낸다. 또한, 스냅샷 동작들은 VD들(예를 들면, 410-412)의 동결 이미지의 생성을 허용한다. 일실시예에서, 실행가능한 지시들의 선택 세트는 그래픽 유저 인터페이스(GUI)툴로서 실행되고, 여기서 스토리지 관리자는 지시들을 선택적으로 식별하고 실행할 수 있다. 또한, 어떤 실시예들에서, GUI 툴은 스토리지 관리자가, 타겟 VD(예를 들면, 410 또는 412), 또는 VD들(예를 들면, 410-412)에 대해 동작들을 선택적으로 실행하여 획득된 결과들을 수용하는 스토리지 풀을 수동으로 선택하도록 허용한다.
각각의 상태들은 값을 포함하고, 그 값은 어떤 특정 순간에 VD들(예를 들면, 410-412)에 대해 실행될 수 있는 동작들의 지시를 제공한다. 일실시예에서, 많은 값들은 미리 결정되고, 스토리지 디바이스 종류에 근거하여 상태들에 할당된다. 스토리지 디바이스 종류는 스토리지 디바이스들(예를 들면, 410-412)에 의해 제공된 제공되는 서비스들에 기초하여 할당될 수 있다. 스토리지 디바이스 종류는 또한 특정한 스토리지 디바이스(예를 들면, 401 또는 402)와 연관된 특정한 벤더(vendor), 스토리지 디바이스(예를 들면, 401 또는 402)와 연관된 특정한 구성, 또는 스토리지 디바이스(예를 들면, 401 또는 402)에 의해 제공되는 특정한 인터페이 스를 식별할 수 있다.
또한, 어떤 실시예들에서, 하나의 VD(예를 들면, 410 또는 412)는 VD들(예를 들면, 410-412)의 그룹을 포함할 수 있다. 이 실시예들에서, 실행가능한 지시들의 스토리지 관리 세트(430)는 VD들(예를 들면, 410-412)의 그룹을 포함하는 각각의 VD들(예를 들면, 410-412)에 의해 지원되지 않는 동작들 중 어떤 것도 실행하지 않도록 구성될 수 있다. 예를 들면, 실행가능한 지시들의 선택 세트(420)가 VD들(예를 들면, 410-412)의 그룹에 대해 비-지원된 동작을 선택적으로 실행하고자 한다면, 그 후 실행가능한 지시들의 스토리지 관리 세트(430)는 만약, 그룹 안의 어떤 VD(예를 들면, 410 또는 412)가 그 동작을 지원하지 않는다면 상기 비-지원된 동작을 실행하지 않도록 구성된다. 이러한 방법으로, 하나의 VD(예를 들면, 410 또는 412)는 복수의 이종 스토리지 디바이스(예를 들면, 401-402)에 연관될 수 있다. 결과적으로, 실행가능한 지시들의 스토리지 관리 세트(430)는, 어떤 동작도 각각의 VD들(예를 들면, 401-402)상에서 성공적으로 완료되지 않는 하나의 VD(예를 들면, 410 또는 412)상에서 실행되지 않음이 보장된다. 어떤 경우들에서, 비-지원된 동작은, 상태들을 위한 값들이 비-지원된 동작이 실행되도록 허용할 때까지 정지되어 유지될 수 있다.
도 5는 본 발명에 따른 하나의 VD 데이터 구조(500)의 다이어그램을 도시한다. VD 데이터 구조(500)는 스토리지 메타데이터(506), 복수의 스토리지 상태들(502), 및 복수의 스토리지 동작 맵핑들(504)을 포함한다. 스토리지 메타데이터는 하나 또는 그 이상의 스토리지 디바이스들(510) 상에 존재하는 물리적 스토리지 위 치들(예를 들면, 스토리지 어드레스들)에 연관된다. 물리적인 스토리지 위치들은 스토리지 데이터를 수용한다. 스토리지 메타데이터(506)는 참조 어플리케이션이 VD 데이터 구조(500)로부터 물리적인 스토리지 데이터를 요청할 때, 물리적인 스토리지 데이터를 얻기에 충분한 정보를 포함한다. 스토리지 상태들(502)은 VD 데이터 구조(500)의 처리 상태들에 연관된다. 또한, 시간 내의 어떤 특정 순간에, 상기 스토리지 상태들(502)에 할당된 값들은, 상기 스토리지 동작들 중 어떤 것이 스토리지 동작 맵핑들(504)에 액세스함으로써 성공적으로 처리될 수 있는지를 결정한다. 또한, 어떤 실시예들에서, 스토리지 디바이스(510)의 전용 인터페이스 또는 스토리지 관리자는 자동으로, 또는 수동으로 다양한 스토리지 상태들(502)에 할당된 값을 설정할 수 있다. 이것은 특정한 스토리지 동작들이 스토리지 디바이스들(510)의 구성에 의해 지원되지 않을 때 또는 스토리지 디바이스들(510)과 연관된 인터페이스들에 의해 지원되지 않을 때 바람직하다.
일실시예에서, 스토리지 동작 맵핑들(504)은 스토리지 동작을 실행하기 위해 실행가능한 지시들(520)(예를 들면, VM들 기타 등등)의 스토리지 관리 세트에 액세스할 수 있다. 다른 실시예들에서, 스토리지 동작 맵핑들(504)는 스토리지 관리자가 많은 스토리지 동작들을 수동으로 및/또는 실행가능한 지시들들(520)의 스토리지 관리 세트에 의해 어떤 자동적인 동작 실행과 독립적으로 실행하고자 할 때, 실행가능한 지시들의 선택 세트(530)에 액세스할 수 있다.
또한, 어떤 실시예들에서, 많은 스토리지 동작들은 스토리지 데이터(506)의 동결 이미지가 VD 데이터 구조(500)를 사용해서 얻어지고, 하나 이상의 제 2 VD 데 이터 구조들(506)에 전송되도록 허용한다. 다른 실시예들에서, 많은 스토리지 동작들은 제 2 VD 데이터 구조(500)와 연관된 이전에 취한 동결 이미지가 최초 VD 데이터 구조(506)로 복원되도록 허용한다. 게다가, 단일 VD 데이터 구조(506)는 VD 데이터 구조들(506)의 다수의 예들을 나타내는 데 사용될 수 있다. 어떤 실시예들에서, VD 데이터 구조(500)는 캐쉬(cashe)와 같은 휘발성 메모리에 존재한다. 그렇다 할지라도, VD 데이터 구조(500)가 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 결합체에 존재할 수 있다는 것은 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
도 6은 본 발명에 따른 또 다른 스토리지 동작 시스템(600)의 다이어그램을 도시한다. 스토리지 동작 시스템(600)은 많은 스토리지 관리 어플리케이션들(예를 들면, 610 및 620), 많은 가상 디스크들(예를 들면, 630과 640), 및 많은 스토리지 어레이들(예를들면, 650 및 660)을 포함한다. 스토리지 관리 어플리케이션들(예를 들면, 610 및 620)은 스토리지 관리 동작들이 어플리케이션들에 의해 요청될 때, 가상 디스크들(예를 들면, 630과 640)과 상호작용한다. 요청들은 호스트 어플리케이션들로부터 수신될 수 있다.
가상 디스크들(예를 들면, 630과 640)은 또한 스토리지 관리 상태들을 포함하고, 스토리지 관리 동작들과 인터페이스한다. 스토리지 관리 동작들은 스토리지 어레이들(예를 들면, 650과 660)상에 존재하는 모듈 및 콜링 신택스들(calling systaxex)과 상호작용한다. 스토리지 상태들이 스토리지 어레이들(예를 들면, 650 과 660)상에서 변화할 때, 가상 디스크들(예를 들면, 630과 640)의 상태는 동적으 로 업데이트된다(예를 들면, 이벤드(event) 구동). 스토리지 관리 상태들은 스토리지 관리 동작들이 스토리지 관리 어플리케이션들(예를 들면, 610 및 620)에 의해 어떤 특정순간에서 가상 디스크들(예를 들면, 630 및 650)에 대해 허용가능하게 실행될 수 있는가를 나타낼 것이다.
어떤 실시예들에서, 하나의 스토리지 관리 어플리케이션(예를 들면, 610 또는 620)은 복수의 가상 디스크들(예를 들면, 630 및 640)과 상호작용한다. 또한, 각각의 스토리지 어레이들(예를 들면, 650과 660)은, 각각의 스토리지 어레이들(예를 들면, 650과 660)이 다른 벤더들에 의해 제공되거나, 동일한 벤더에 의해 제공되는 스토리지 어레이(예를 들면, 650 또는 660)의 다른 버전일 때와 같이, 이종(異種)의 콜링 신택스들과 스토리지 관리 모듈들을 포함한다.
각각의 가상 디스크들(예를 들면, 630 및 640)은 이종의 스토리지 어레이 인터페이스들(예를 들면, 650과 660)과 연관된 콜링 신택스들 및 모듈 명들을 표준화하는 번역 또는 제공 모듈에 링크되고 연관된다. 따라서, 스토리지 관리 어플리케이션들(예를 들면, 610 및 620)은 표준 스토리지 관리 동작들과 연관된 특정 콜링 신택스들 및 모듈명에 관계가 있을 필요가 없다. 이러한 방식으로, 스토리지 관리 어플리케이션들은 이종의 스토리지 어레이들(예를 들면, 650과 660)과 연관된 인터페이스들이 분리되고, 스토리지 어레이들의 인터페이스들과 독립적이 되도록 개발될 수 있다.
상기에서 언급한 스토리지 서비스들과 시스템들은 이종의 공유 스토리지 환경에서 향상된 스토리지 동작들을 허용한다. 이 서비스들과 시스템들은, 스토리지 관리 어플리케이션들 및 유저/클라이언트 또는 호스트 어플리케이션들이, 스토리지의 동결 이미지들(예를 들면, 스냅 샷 동작들)을 생성하거나 다른 스토리지 동작들(예를 들면, 분할 및 미러들)을 수행할 때 일관성있고 표준화된 인터페이스들을 사용하도록 허용하는, 방법들, 시스템 들 및 가상 데이터 구조들을 포함한다. 또한, 하나의 가상 데이터 구조는 복수개의 가상 데이터 구조들을 포함할 수 있고, 이들은 이종의 물리적 스토리지 디바이스들과 연관된다. 각각의 가상 데이터 구조는 스토리지 상태들 및 스토리지 동작들과 연관된다. 어떤 실시예들에서, 만약, 특정한 동작들이 적어도 하나의 연관된 기저 물리적 스토리지 디바이스 구성들 또는 인터페이스들에 의해 지원되지 않으면, 비-지원된 동작은 전체 가상 데이터 구조에 의해 사용되는 것에 대하여 자동적으로 이용가능하지 않게 된다. 또한, 어떤 실시예들에서, GUI는 유저/클라이언트 또는 호스트 어플리케이션들에 VD 데이터 구조들과 연관된 스토리지 동작을 선택적으로 실행하는 능력을 제공한다.
본 기술분야에서 통상의 지식을 가진 자가 본 명세서를 읽으면서 이해한 바와 같이, 이 명세서에 나타낸 방법들, 시스템들 및 데이터 구조들은 스토리지 관리, 유저/클라이언트 및/또는 호스트 어플리케이션의 보다 융통성있는 실행들을 허용한다. 게다가, 그 어플리케이션들은 개발되고 수리되기 쉽다. 또한, 스토리지 관리 어플리케이션들은 보다 튼튼하고, 이종의 구성들 및/또는 기저 물리적 스토리지 디바이스(underlying physical storage device)들의 이종의 벤더들에 연관된 복수개의 인터페이스들과 보다 쉽게 통합할 수 있다.
비록 특정 실시예들이 여기서 도시되고 설명되었다고 하더라도, 그것은 본 기술분야에서 일반적인 기술자 중 하나에 의해 동일한 목적을 달성하기 위해 예측되는 어떤 디바이스도 도시된 특정 실시예들로 치환될 수 있음을 알 수 있을 것이다. 이 어플리케이션은 본 발명의 어떤 변경 또는 수정을 보호하기 위한 것이다. 그러므로, 본 발명은 단지 청구항에 의해 한정된 것과 그 균등물에 한정되지 않음을 의미한다.
Claims (20)
- 스토리지 데이터를 복사하도록 동작하는 스냅샷동작을 수행하기 위하여, 하나 또는 그 이상의 스토리지 디바이스들상에 상기 스토리지 데이터를 논리적으로 나타내는 가상디스크에 엑세스를 제공하는 단계;상기 가상디스크와, 상기 가상디스크가 스냅샷동작이 처리되도록 허용하는 상태인지를 나타내는 상태 정보를 연관시키는 단계;상기 스냅샷동작이 처리되도록 하는 요청을 수신하는 단계;상기 상태정보가, 상기 가상디스크가 상기 스냅샷동작이 처리되도록 허용하는 상태에 있는 지를, 나타내는 결정에 응답하여 상기 스냅샷동작을 수행하는 단계를 포함하는, 스토리지 동작들을 제공하는 방법.
- 제 1 항에 있어서,상기 가상디스크는 가상디스크들의 그룹에서 제1 가상디스크이고, 상기 제1 가상디스크와 연관된 상태정보는, 상기 그룹내의 모든 가상 디스크가, 상기 스냅샷동작이 상기 가상디스크상에서 수행되도록 허용하는 상태에 있는지를, 나타내는, 스토리지 동작들을 제공하는 방법.
- 제 1 항에 있어서,하나 또는 그 이상의 스토리지 디바이스들에 상기 스냅샷동작에 의해 미리 복사된 스토리지 데이터를 재저장(restore)하기 위하여 동작하는, 재저장동작을 수행하도록 상기 가상디스크에 엑세스를 제공하는 단계;를 더 포함하고,상기 상태정보는, 상기 가상 디스크가 상기 재저장동작이 수행되도록 허용하는 상태에 있는 지를 나타내는, 스토리지 동작들을 제공하는 방법.
- 삭제
- 제 1 항에 있어서,상기 하나 또는 그 이상의 스토리지 디바이스들은 제 1 스토리지 어레이 및 제 2 스토리지 어레이를 포함하고,상기 제 1 스토리지 어레이는, 상기 제 2 스토리지 어레이보다 다른 타입의 스토리지 어레이인, 스토리지 동작들을 제공하는 방법.
- 삭제
- 삭제
- 하나 또는 그 이상의 스토리지 디바이스들;상기 하나 또는 그 이상의 스토리지 디바이스들상에 스토리지 데이터를 논리적으로 나타내고, 스냅샷동작이 처리되도록 허용하는 상태에 있는 지를 나타내는 상태정보를 연관시키는 가상디스크;상기 가상디스크에 연관된 상태정보는, 상기 스냅샷동작이 수행되도록 허용하는 결정에 응답하여, 상기 스냅샷동작을 상기 가상디스크에 반하여 수행하도록 동작하는, 실행가능한 지시들의 스토리지 관리 세트; 및상기 스냅샷 동작의 선택 실행을 허용하는 실행가능한 지시들의 선택 세트를 포함하는, 스토리지 동작 시스템.
- 제 8 항에 있어서,상기 스냅샷 동작을 처리하는 것은, 제 2 가상 디스크에 상기 가상디스크를 미러(mirror)하는 것과, 상기 제 2 가상 디스크에 상기 가상디스크를 백업하는 것 중 적어도 하나의 것을 포함하는, 스토리지 동작 시스템.
- 제 8 항에 있어서,상기 상태정보는, 상기 하나 또는 그 이상의 스토리지 디바이스들의 하나 또는 적어도 그 이상과 연관되는 종류에 기초한 부분에 세트되는, 스토리지 동작 시스템.
- 제 8 항에 있어서,상기 실행가능한 지시들의 선택 세트는, 상기 가상 디스크에 대하여 상기 스냅샷 동작을 선택적으로 실행할 때 사용될 스토리지 풀 또는 타겟 가상 디스크의 선택을 허용하는, 스토리지 동작 시스템.
- 제 8 항에 있어서,상기 가상 디스크는 가상 디스크들의 그룹에서 제1 가상디스크이고, 상기 제1 가상디스크의 상태정보는, 상기 그룹에서 모든 가상디스크가 상기 스냅샷 동작이 상기 가상 디스크상에서 수행되도록 허용하는 상태인, 스토리지 동작 시스템.
- 제 8 항에 있어서,상기 가상 디스크, 상기 실행가능한 지시들의 스토리지 관리 세트, 및 상기 실행가능한 지시들의 선택 세트는 하나의 공유된 스토리지 환경에 참여하는, 스토리지 동작 시스템.
- 제 8 항에 있어서,상기 실행가능한 지시들의 선택 세트는 실행가능한 지시들의 그래픽 유저 인 터페이스(GUI) 세트인, 스토리지 동작 시스템.
- 복수의 스토리지 디바이스들와 연관된 스토리지 메타데이터로서, 상기 메타데이터는 상기 스토리지 디바이스들 상에 존재하는 스토리지 데이터를 논리적으로 나타내는, 스토리지 메타데이터;상기 가상 디스크 데이터 구조가 스냅샷 동작이 상기 스토리지 데이터를 복사처리되도록 허용하는 상태인지를 나타내는 상태정보;복수의 스토리지 동작들을 수행하기 위해 액세스를 제공하는 복수의 스토리지 동작 매핑들(mappings)으로서, 상기 복수의 스토리지 동작 매핑들은 상기 상태정보에 기초하여 상기 스냅샷 동작이 수행될 수 있는 지를 지시하는 제1 스토리지 동작 맵핑(mapping)을 포함하는, 가상디스크 데이터 구조를 기록하는 컴퓨터 판독가능한 기록매체.
- 제 15 항에 있어서,상기 복수의 스토리지 동작 맵핑들은 실행가능한 지시들의 스토리지 관리 세트에 액세스가능한, 컴퓨터 판독가능한 기록매체.
- 제 15 항에 있어서,상기 상태정보는 상기 복수의 스토리지 디바이스들과 연관된 인터페이스들에 의해 결정되는, 컴퓨터 판독가능한 기록매체.
- 제 15 항에 있어서,상기 복수의 스토리지 동작 맵핑들은 실행가능한 지시들의 선택 세트에 액세스가능한, 컴퓨터 판독가능한 기록매체.
- 제 15 항에 있어서,상기 스냅샷 동작이, 상기 스토리지 데이터의 동결 이미지(frozen image)를 생성하도록 동작하는, 컴퓨터 판독가능한 기록매체.
- 제 15 항에 있어서,상기 가상 디스크 데이터 구조는 휘발성 메모리에 존재하는, 컴퓨터 판독가능한 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/194,524 | 2002-07-11 | ||
US10/194,524 US7043614B2 (en) | 2002-07-11 | 2002-07-11 | Storage services and systems |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050088067A KR20050088067A (ko) | 2005-09-01 |
KR100736235B1 true KR100736235B1 (ko) | 2007-07-06 |
Family
ID=30114766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057000537A KR100736235B1 (ko) | 2002-07-11 | 2003-07-11 | 스토리지 서비스들 및 시스템들 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7043614B2 (ko) |
EP (1) | EP1535161B1 (ko) |
JP (1) | JP2005533318A (ko) |
KR (1) | KR100736235B1 (ko) |
CN (1) | CN100359479C (ko) |
AT (1) | ATE360851T1 (ko) |
AU (1) | AU2003249167A1 (ko) |
DE (1) | DE60313468T2 (ko) |
HK (1) | HK1076890A1 (ko) |
WO (1) | WO2004008323A2 (ko) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7596611B1 (en) | 2002-04-01 | 2009-09-29 | Veritas Operating Corporation | Method and apparatus for maintaining information for use in the configuration of a client |
US6826661B2 (en) * | 2002-08-30 | 2004-11-30 | Veritas Operating Corporation | Methods and systems for storage architectures |
US7584266B2 (en) * | 2003-12-16 | 2009-09-01 | International Business Machines Corporation | Autonomous storage for backup, restore, and file access |
JP4422519B2 (ja) * | 2004-03-18 | 2010-02-24 | 株式会社日立製作所 | 情報処理システム |
US7546631B1 (en) * | 2004-04-30 | 2009-06-09 | Sun Microsystems, Inc. | Embedded management system for a physical device having virtual elements |
US8266438B2 (en) | 2004-10-25 | 2012-09-11 | Security First Corp. | Secure data parser method and system |
US8171101B2 (en) * | 2005-09-30 | 2012-05-01 | Cleversafe, Inc. | Smart access to a dispersed data storage network |
TWI307026B (en) * | 2005-12-30 | 2009-03-01 | Ind Tech Res Inst | System and method for storage management |
US8880797B2 (en) | 2007-09-05 | 2014-11-04 | Emc Corporation | De-duplication in a virtualized server environment |
US8209506B2 (en) | 2007-09-05 | 2012-06-26 | Emc Corporation | De-duplication in a virtualized storage environment |
WO2009033074A2 (en) * | 2007-09-05 | 2009-03-12 | Emc Corporation | De-duplication in virtualized server and virtualized storage environments |
CN101470583B (zh) * | 2007-12-29 | 2011-02-16 | 英业达股份有限公司 | 实现虚拟磁盘服务设备的***架构 |
CN102099787B (zh) * | 2008-07-17 | 2014-03-26 | Lsi公司 | 用于在虚拟化的服务器平台上安装可引导的虚拟存储设备的***和方法 |
WO2010132055A1 (en) | 2009-05-13 | 2010-11-18 | Hewlett-Packard Development Company, L.P. | System for virtual disks version control |
US8825685B2 (en) * | 2009-11-16 | 2014-09-02 | Symantec Corporation | Selective file system caching based upon a configurable cache map |
KR20110080480A (ko) * | 2010-01-06 | 2011-07-13 | 주식회사 태진인포텍 | 가상 스토리지 장치 및 이를 이용한 제어 방법 |
JP5691969B2 (ja) * | 2011-09-26 | 2015-04-01 | オムロン株式会社 | データ処理装置、データ処理システム、およびデータ処理方法 |
WO2013089298A1 (ko) * | 2011-12-16 | 2013-06-20 | 엘지전자 주식회사 | 디스크 어레이의 제어 장치 및 방법 |
WO2013138587A1 (en) | 2012-03-14 | 2013-09-19 | Convergent .Io Technologies Inc. | Systems, methods and devices for management of virtual memory systems |
US9135119B1 (en) * | 2012-09-28 | 2015-09-15 | Emc Corporation | System and method for data management |
WO2014127147A1 (en) | 2013-02-13 | 2014-08-21 | Security First Corp. | Systems and methods for a cryptographic file system layer |
CN105408869B (zh) * | 2013-05-29 | 2018-12-25 | 慧与发展有限责任合伙企业 | 调用错误处理程序来处理无法纠正的错误 |
CN108733507B (zh) * | 2017-04-17 | 2021-10-08 | 伊姆西Ip控股有限责任公司 | 文件备份和恢复的方法和设备 |
CN107729052A (zh) * | 2017-10-16 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种数据操作方法、装置、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019920A1 (en) * | 2000-06-02 | 2002-02-14 | Reuter James M. | Process for fast, space-efficient disk copies using parallel distributed table driven I/O mapping |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5634096A (en) * | 1994-10-31 | 1997-05-27 | International Business Machines Corporation | Using virtual disks for disk system checkpointing |
CN1149736A (zh) * | 1995-06-05 | 1997-05-14 | 北京航空航天大学 | 一种分布式存储器共享管理方法 |
US6038639A (en) * | 1997-09-09 | 2000-03-14 | Storage Technology Corporation | Data file storage management system for snapshot copy operations |
US6173293B1 (en) * | 1998-03-13 | 2001-01-09 | Digital Equipment Corporation | Scalable distributed file system |
US6047294A (en) * | 1998-03-31 | 2000-04-04 | Emc Corp | Logical restore from a physical backup in a computer storage system |
US5964886A (en) * | 1998-05-12 | 1999-10-12 | Sun Microsystems, Inc. | Highly available cluster virtual disk system |
US6161191A (en) * | 1998-05-12 | 2000-12-12 | Sun Microsystems, Inc. | Mechanism for reliable update of virtual disk device mappings without corrupting data |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US6216202B1 (en) * | 1998-06-30 | 2001-04-10 | Emc Corporation | Method and apparatus for managing virtual storage devices in a storage system |
US6681310B1 (en) | 1999-11-29 | 2004-01-20 | Microsoft Corporation | Storage management system having common volume manager |
US6745207B2 (en) * | 2000-06-02 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | System and method for managing virtual storage |
US6772231B2 (en) * | 2000-06-02 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Structure and process for distributing SCSI LUN semantics across parallel distributed components |
WO2002065275A1 (en) * | 2001-01-11 | 2002-08-22 | Yottayotta, Inc. | Storage virtualization system and methods |
US6757778B1 (en) * | 2002-05-07 | 2004-06-29 | Veritas Operating Corporation | Storage management system |
-
2002
- 2002-07-11 US US10/194,524 patent/US7043614B2/en not_active Expired - Lifetime
-
2003
- 2003-07-11 WO PCT/US2003/021801 patent/WO2004008323A2/en active IP Right Grant
- 2003-07-11 CN CNB038212722A patent/CN100359479C/zh not_active Expired - Lifetime
- 2003-07-11 KR KR1020057000537A patent/KR100736235B1/ko active IP Right Grant
- 2003-07-11 AT AT03764555T patent/ATE360851T1/de not_active IP Right Cessation
- 2003-07-11 AU AU2003249167A patent/AU2003249167A1/en not_active Abandoned
- 2003-07-11 DE DE60313468T patent/DE60313468T2/de not_active Expired - Lifetime
- 2003-07-11 EP EP03764555A patent/EP1535161B1/en not_active Expired - Lifetime
- 2003-07-11 JP JP2004521728A patent/JP2005533318A/ja active Pending
-
2005
- 2005-12-01 HK HK05111005A patent/HK1076890A1/xx not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019920A1 (en) * | 2000-06-02 | 2002-02-14 | Reuter James M. | Process for fast, space-efficient disk copies using parallel distributed table driven I/O mapping |
Also Published As
Publication number | Publication date |
---|---|
WO2004008323A2 (en) | 2004-01-22 |
EP1535161B1 (en) | 2007-04-25 |
ATE360851T1 (de) | 2007-05-15 |
AU2003249167A8 (en) | 2004-02-02 |
US20040010666A1 (en) | 2004-01-15 |
JP2005533318A (ja) | 2005-11-04 |
CN100359479C (zh) | 2008-01-02 |
CN1682193A (zh) | 2005-10-12 |
AU2003249167A1 (en) | 2004-02-02 |
EP1535161A2 (en) | 2005-06-01 |
DE60313468T2 (de) | 2008-01-10 |
HK1076890A1 (en) | 2006-01-27 |
US7043614B2 (en) | 2006-05-09 |
WO2004008323A3 (en) | 2004-03-04 |
KR20050088067A (ko) | 2005-09-01 |
DE60313468D1 (de) | 2007-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100736235B1 (ko) | 스토리지 서비스들 및 시스템들 | |
JP6208207B2 (ja) | オブジェクト・ストレージ・システムにアクセスするコンピュータ・システム | |
JP6219420B2 (ja) | 入力/出力オペレーションのためにオブジェクト・ストレージ・システムを構成すること | |
JP6199452B2 (ja) | ストレージ・オブジェクトとして論理ボリュームをエクスポートするデータ・ストレージ・システム | |
US8838542B1 (en) | Optimized image archiving | |
US9032170B2 (en) | Method for replicating a logical data storage volume | |
JP5985642B2 (ja) | データ・ストレージ・システムおよびデータ・ストレージ・コントロール方法 | |
US8122212B2 (en) | Method and apparatus for logical volume management for virtual machine environment | |
US9087076B2 (en) | Automated filer technique for use in virtualized appliances and applications | |
US8359593B2 (en) | Computer machine migration of file system images using a redo-log file | |
US8631217B2 (en) | Apparatus, system, and method for virtual machine backup | |
US8819369B1 (en) | Restoring a virtual machine | |
US8930654B1 (en) | Method and apparatus for mapping virtual drives | |
US20110179082A1 (en) | Managing concurrent file system accesses by multiple servers using locks | |
US20090222498A1 (en) | System and method for system state replication | |
US7797288B2 (en) | Use of server instances and processing elements to define a server | |
US20090271432A1 (en) | Template-based development of servers | |
US20140165057A1 (en) | Operating A Storage Server On A Virtual Machine | |
US8954706B2 (en) | Storage apparatus, computer system, and control method for storage apparatus | |
US7539899B1 (en) | Cloning machine and method of computer disaster recovery | |
US10102020B2 (en) | Methods, systems, and computer readable media for virtual machine (VM) deployment using read-only memory | |
US10969989B2 (en) | Techniques for capturing virtual machine snapshots using data storage system snapshots | |
Scriba et al. | Storage Foundation Software stack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130610 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140623 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150611 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180601 Year of fee payment: 12 |