KR20050088067A - 스토리지 서비스들 및 시스템들 - Google Patents

스토리지 서비스들 및 시스템들 Download PDF

Info

Publication number
KR20050088067A
KR20050088067A KR1020057000537A KR20057000537A KR20050088067A KR 20050088067 A KR20050088067 A KR 20050088067A KR 1020057000537 A KR1020057000537 A KR 1020057000537A KR 20057000537 A KR20057000537 A KR 20057000537A KR 20050088067 A KR20050088067 A KR 20050088067A
Authority
KR
South Korea
Prior art keywords
storage
virtual disk
executable instructions
operations
states
Prior art date
Application number
KR1020057000537A
Other languages
English (en)
Other versions
KR100736235B1 (ko
Inventor
스티븐 마이클 엄베호커
알렌 유누에코
안커 켐카
샬루 케이 차우드해리
Original Assignee
베리타스 오퍼레이팅 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베리타스 오퍼레이팅 코포레이션 filed Critical 베리타스 오퍼레이팅 코포레이션
Publication of KR20050088067A publication Critical patent/KR20050088067A/ko
Application granted granted Critical
Publication of KR100736235B1 publication Critical patent/KR100736235B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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

스토리지 서비스들 및 시스템들{STORAGE SERVICES AND SYSTEMS}
본 특허 문서의 공개한 부분은 저작권 보호를 받을 수 있는 자료를 포함한다. 저작권 소유자는 본 특허 및 상표청 특허 파일 또는 기록들에서 나타난 것처럼 특허 문서 또는 특허 공개의 어느 것에 의해서도 팩시밀리 재생에 이의가 없지만, 그렇지 않으면 무엇이든지 모든 저작권들을 유보할 수 있다. 다음의 알림은 소프트웨어 설명들/예시들, 및 이하에서 설명되고 여기의 도면들에서와 같은 데이터에 응용된다: 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)들에 독립적으로 이용가능한, 개선된 스토리지 서비스들 및 시스템들을 제공하는 기술들이 필요하다.
도 1은 본 발명에 따른 가상 디스크의 다이어그램;
도 2는 본 발명에 따른 스토리지 동작을 처리하는 방법의 플로우 다이어그램;
도 3은 본 발명에 따른 스토리지 동작을 제공하는 방법의 플로우 다이어그램;
도 4는 본 발명에 따른 스토리지 동작 시스템의 다이어그램;
도 5는 본 발명에 따른 가상 디스크 데이터 구조의 다이어그램; 및
도 6은 본 발명에 따른 또 다른 스토리지 동작 시스템의 다이어그램이다.
본 발명의 한 측면에 따라, 스토리지 동작들을 제공하는 방법이 제공된다. 상태 플래그들(state flags)은 가상 디스크에 연관되고, 그 가상 디스크는 하나 이상의 스토리지 디바이스들에 묶여있다. 게다가, 가상 디스크는 준비 동작과 분할 동작으로의 액세스가 제공된다. 부가적으로, 실행가능한 지시들의 스토리지 관리 세트는 준비 동작과 스냅샷 동작 중 적어도 하나가 처리될 때, 그 가상 디스크의 각각의 상태 플래그들에 할당된 하나 이상의 값들을 기반으로 하여 구성된다.
본 발명의 또 다른 측면에 따라, 스토리지 동작 시스템이 제공된다. 스토리지 동작 시스템은 가상 디스크, 실행가능한 지시들의 스토리지 관리 세트, 및 실행가능한 지시들의 선택 세트를 포함한다. 그 가상 디스크는 다수의 상태들, 스냅샷 동작, 및 준비 동작과 연관된다. 실행가능한 지시들의 스토리지 관리 세트는 가상 디스크를 관리하고 동작들에 의해 구성된다. 또, 실행가능한 지시들의 선택 세트는 동작들의 선택적인 실행을 허용한다.
본 발명의 또 다른 측면에 따라, 컴퓨터가 판독할 수 있는 매체 상에 있는 가상 디스크 데이터 구조를 제공한다. 가상 디스크 데이터 구조는 스토리지 메타데이터(matadata), 다수의 스토리지 상태들, 및 다수의 스토리지 동작 맵핑들을 포함한다. 스토리지 메타데이터는 하나 이상의 스토리지 디바이스들상에 있는 스토리지 데이터와 연관된다. 게다가, 다수의 스토리지 상태들은 가상 디스크 데이터 구조의 처리 상태들에 연관되고, 다수의 스토리지 동작 맵핑들은 스토리지 동작들로의 액세스를 제공한다. 더욱이, 다수의 스토리지 상태들에 연관된 값들은 스토리지 동작 맵핑들을 액세싱함으로써 처리될 수 있는 다수의 스토리지 동작들을 결정한다.
본 발명의 다양한 실시예들의 다음의 상세한 설명에서, 그 일부를 형성하는 첨부된 도면들에 참조가 이루어지고, 그것은 본 발명이 실행될 수 있는 특정한 실시예들에 의해 나타낸다. 다른 실시예들이 이용될 수 있고 본 발명의 범위를 벗어나지 않고 구조적 변경들이 이루어질 수 있음을 이해해야 한다.
여기에서 사용된 것처럼, "스토리지 관리 어플리케이션" 또는 "실행가능한 지시들의 스토리지 관리 세트"는 유저/클라이언트 어플리케이션들 또는 호스트 어플리케이션들을 위해 스토리지 리소스들을 관리하는 소프트웨어 어플리케이션들 또는 모듈들을 포함한다. 몇몇의 예들에서, 스토리지 관리 어플리케이션들은 스토리지 에어리어 네트워크(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. 하나 또는 그 이상의 스토리지 디바이스들 상에 스토리지 데이터를 논리적으로 나타내는 가상디스트와 상태 플래그들을 연관시키는 단계;
    준비(prepare) 동작 및 스냅샷(snapshot) 동작을 처리하기 위해 상기 가상 디스크에 액세스를 제공하는 단계; 및
    상기 준비 동작 및 상기 스냅샷 동작 중 적어도 하나가 처리될 때, 상기 가상 디스크의 상태 플래그들의 각각에 할당된 하나 또는 그 이상의 값들에 기초한 실행가능한 지시들의 스토리지 관리 세트를 구성하는 단계를 포함하는, 스토리지 동작들을 제공하는 방법.
  2. 제 1 항에 있어서,
    상기 상태 플래그들을 연관시키는 단계에서, 상기 가상 디스크는 가상 디스크들의 그룹인, 스토리지 동작들을 제공하는 방법.
  3. 제 1 항에 있어서,
    상기 상태 플래그들을 연관시키는 단계에서, 상기 상태 플래그들은 구성-대기(configure-ready) 상태, 비구성-대기(unconfigure-ready) 상태, 준비-대기(prepare-ready) 상태, 스냅샷-대기(snapshot-ready) 상태, 및 복원-대기(restore-ready) 상태 중 적어도 한개를 포함하는, 스토리지 동작들을 제공하는 방법.
  4. 제 3 항에 있어서,
    상기 상태 플래그들을 연관시키는 단계에서, 상기 상태들에 할당된 상기 하나 또는 그 이상의 값들은, 상기 동작들 중 어떤 것이 상기 가상 디스크에 대하여 실행될 수 있는지 결정하는, 스토리지 동작들을 제공하는 방법.
  5. 제 1 항에 있어서,
    상기 상태 플래그들을 연관시키는 단계에서, 상기 하나 또는 그 이상의 스토리지 디바이스들은 제 1 스토리지 어레이 및 제 2 스토리지 어레이를 포함하고, 상기 제 1 스토리지 어레이는 상기 제 2 스토리지 어레이와 상이한, 스토리지 동작들을 제공하는 방법.
  6. 제 1 항에 있어서,
    상기 실행가능한 지시들의 스토리지 관리 세트를 구성하는 단계에서, 상기 실행가능한 지시들의 스토리지 관리 세트는 호스트 어플리케이션에 대하여 상기 가상 디스크를 관리하는 볼륨 관리자(Volume Manager: VM)인, 스토리지 동작들을 제공하는 방법.
  7. 제 1 항에 있어서,
    실행가능한 지시들의 상기 스토리지 관리 세트을 구성하는 단계에서, 상기 실행가능한 스토리지 관리 세트는, 호스트 상으로 그리고 상기 실행가능한 스토리지 관리 세트 내로 상기 가상 디스크의 임포트(import) 동작을 수행하는, 스토리지 동작들을 제공하는 방법.
  8. 복수의 상태들, 스냅샷 동작, 및 준비 동작과 연관된 가상 디스크;
    상기 가상 디스크를 관리하고, 상기 동작들을 처리함으로서 구성되는 실행가능한 지시들의 스토리지 관리 세트; 및
    상기 동작들의 선택 실행을 허용하는 실행가능한 지시들의 선택 세트를 포함하는, 스토리지 동작 시스템.
  9. 제 8 항에 있어서,
    상기 동작들은, 상기 가상 디스크가 제 2 가상 디스크에 미러(mirror)되고 상기 제 2 가상 디스크에 백업되는 적어도 하나의 것이 되도록 허용하는, 스토리지 동작 시스템.
  10. 제 8 항에 있어서,
    상기 복수의 상태들은 상기 상태들 각각에 대한 값들을 포함하고, 상기 값들은 상기 동작들 중 어떤 것이 상기 가상 디스크에 대하여 실행될 수 있는지 나타내고, 상기 가상 디스크는 하나 또는 그 이상의 스토리지 디바이스들과 연관되고, 상기 상태들 각각에 대한 복수의 값들은 상기 하나 또는 그 이상의 스토리지 디바이스들과 연관되는 종류에 의해 미리결정되는, 스토리지 동작 시스템.
  11. 제 8 항에 있어서,
    상기 실행가능한 지시들의 선택 세트는, 상기 가상 디스크에 대하여 상기 동작들을 선택적으로 실행할 때 사용될 스토리지 풀 또는 타겟 가상 디스크의 선택을 허용하는, 스토리지 동작 시스템.
  12. 제 8 항에 있어서,
    상기 가상 디스크는 가상 디스크들의 그룹을 포함하고, 상기 가상 디스크들의 그룹내에 포함된 각각의 가상 디스크가 준비 동작을 처리하는 것을 지원할 때, 상기 실행가능한 지시들의 스토리지 관리 세트는 상기 준비 동작을 수행하도록 구성되는, 스토리지 동작 시스템.
  13. 제 8 항에 있어서,
    상기 가상 디스크, 상기 실행가능한 지시들의 스토리지 관리 세트, 및 상기 실행가능한 지시들의 선택 세트는 공유된 스토리지 환경에 참여하는, 스토리지 동작 시스템.
  14. 제 8 항에 있어서,
    상기 실행가능한 지시들의 선택 세트는 실행가능한 지시들의 그래픽 유저 인터페이스(GUI) 세트인, 스토리지 동작 시스템.
  15. 복수의 스토리지 디바이스들와 연관된 스토리지 메타데이터로서, 상기 메타데이터는 상기 복수의 스토리지 디바이스들 상에 존재하는 스토리지 데이터를 논리적으로 나타내는, 스토리지 메타데이터;
    상기 가상 디스크 데이터 구조의 상태들을 처리하는 것과 연관되는 복수의 스토리지 상태들;
    복수의 스토리지 동작들을 처리하기 위해 액세스를 제공하는 복수의 스토리지 동작 맵핑(mapping)들을 포함하고,
    상기 복수의 스토리지 상태들과 연관된 값들은, 상기 복수의 스토리지 동작들 중 어떤 것이 상기 복수의 스토리지 동작 맵핑들을 액세스함으로써 처리될 수 있는지 결정하는, 컴퓨터 판독가능한 매체상에 존재하는 가상 디스크 데이터 구조.
  16. 제 15 항에 있어서,
    상기 복수의 스토리지 동작 맵핑들은 실행가능한 지시들의 스토리지 관리 세트에 액세스가능한, 가상 디스크 데이터 구조.
  17. 제 15 항에 있어서,
    상기 복수의 스토리지 상태들와 연관된 상기 복수의 값들은 상기 복수의 스토리지 디바이스들과 연관된 인터페이스들에 의해 결정되는, 가상 디스크 데이터 구조.
  18. 제 15 항에 있어서,
    상기 복수의 스토리지 동작 맵핑들은 실행가능한 지시들의 선택 세트에 액세스가능한, 가상 디스크 데이터 구조.
  19. 제 15 항에 있어서,
    상기 복수의 스토리지 동작들은, 상기 스토리지 데이터의 동결 이미지(frozen image)가 얻어지도록 허용하고, 상기 스토리지 메타데이터 및 상기 복수의 스토리지 디바이스들을 사용하여 하나 또는 그 이상의 제 2 가상 디스크 데이터 구조들로 전송하는, 가상 디스크 데이터 구조.
  20. 제 15 항에 있어서,
    상기 가상 디스크 데이터 구조는 휘발성 메모리에 존재하는, 가상 디스크 데이터 구조.
KR1020057000537A 2002-07-11 2003-07-11 스토리지 서비스들 및 시스템들 KR100736235B1 (ko)

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 true KR20050088067A (ko) 2005-09-01
KR100736235B1 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009033074A3 (en) * 2007-09-05 2009-05-14 Emc Corp De-duplication in virtualized server and virtualized storage environments
KR20110080480A (ko) * 2010-01-06 2011-07-13 주식회사 태진인포텍 가상 스토리지 장치 및 이를 이용한 제어 방법
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
US8880797B2 (en) 2007-09-05 2014-11-04 Emc Corporation De-duplication in a virtualized server environment
KR101484358B1 (ko) * 2008-07-17 2015-01-19 엘에스아이 코포레이션 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 어플라이언스를 부팅하기 위한 시스템들 및 방법들

Families Citing this family (19)

* Cited by examiner, † Cited by third party
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
CN101470583B (zh) * 2007-12-29 2011-02-16 英业达股份有限公司 实现虚拟磁盘服务设备的***架构
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
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 郑州云海信息技术有限公司 一种数据操作方法、装置、设备及计算机可读存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
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
US7720928B2 (en) * 2000-06-02 2010-05-18 Hewlett-Packard Development Company, L.P. Centralized fine-grained enhancements for distributed table driven I/O mapping
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

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009033074A3 (en) * 2007-09-05 2009-05-14 Emc Corp De-duplication in virtualized server and virtualized storage environments
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
US8549245B2 (en) 2007-09-05 2013-10-01 Emc Corporation De-duplication in a virtualized storage environment
US8880797B2 (en) 2007-09-05 2014-11-04 Emc Corporation De-duplication in a virtualized server environment
US8935497B1 (en) 2007-09-05 2015-01-13 Emc Corporation De-duplication in a virtualized storage environment
US9213494B1 (en) 2007-09-05 2015-12-15 Emc Corporation De-duplication in a virtualized storage environment
KR101484358B1 (ko) * 2008-07-17 2015-01-19 엘에스아이 코포레이션 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 어플라이언스를 부팅하기 위한 시스템들 및 방법들
KR20110080480A (ko) * 2010-01-06 2011-07-13 주식회사 태진인포텍 가상 스토리지 장치 및 이를 이용한 제어 방법

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
KR100736235B1 (ko) 2007-07-06
DE60313468D1 (de) 2007-06-06

Similar Documents

Publication Publication Date Title
KR100736235B1 (ko) 스토리지 서비스들 및 시스템들
JP6208207B2 (ja) オブジェクト・ストレージ・システムにアクセスするコンピュータ・システム
US9032170B2 (en) Method for replicating a logical data storage volume
JP6219420B2 (ja) 入力/出力オペレーションのためにオブジェクト・ストレージ・システムを構成すること
JP6199452B2 (ja) ストレージ・オブジェクトとして論理ボリュームをエクスポートするデータ・ストレージ・システム
US8001079B2 (en) System and method for system state replication
US11030053B2 (en) Efficient disaster rollback across heterogeneous storage systems
US8838542B1 (en) Optimized image archiving
US9087076B2 (en) Automated filer technique for use in virtualized appliances and applications
US8122212B2 (en) Method and apparatus for logical volume management for virtual machine environment
JP5985642B2 (ja) データ・ストレージ・システムおよびデータ・ストレージ・コントロール方法
US8661286B2 (en) QProcessor architecture in a cluster configuration
US7000235B2 (en) Method and apparatus for managing data services in a distributed computer system
US20110179082A1 (en) Managing concurrent file system accesses by multiple servers using locks
US20090216970A1 (en) Apparatus, system, and method for virtual machine backup
US7921262B1 (en) System and method for dynamic storage device expansion support in a storage virtualization environment
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
US20210034245A1 (en) Techniques for capturing virtual machine snapshots using data storage system snapshots
AU2011255219A1 (en) Configuring the cluster
Scriba et al. Storage Foundation Software stack
Austin et al. Oracle Clusterware and RAC Administration and Deployment Guide, 10g Release 2 (10.2) B14197-02

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