KR20100116528A - 가상 머신상에서 구동되는 운영 체제로부터 저장 볼륨 또는 저장 어레이 네트워크(san)로의 단 대 단 매핑 - Google Patents

가상 머신상에서 구동되는 운영 체제로부터 저장 볼륨 또는 저장 어레이 네트워크(san)로의 단 대 단 매핑 Download PDF

Info

Publication number
KR20100116528A
KR20100116528A KR1020100024706A KR20100024706A KR20100116528A KR 20100116528 A KR20100116528 A KR 20100116528A KR 1020100024706 A KR1020100024706 A KR 1020100024706A KR 20100024706 A KR20100024706 A KR 20100024706A KR 20100116528 A KR20100116528 A KR 20100116528A
Authority
KR
South Korea
Prior art keywords
virtual machine
storage
storage device
san
mapping
Prior art date
Application number
KR1020100024706A
Other languages
English (en)
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 KR20100116528A publication Critical patent/KR20100116528A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

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

Abstract

가상 머신상에서 구동되는 운영 체제의 파일 시스템으로부터 SAN의 저장 볼륨으로의 단 대 단 매핑이 결정된다. 운영 체제에 의해 보고된 가상 머신은 가상 머신을 관리하는 관리 컴포넌트에 의해 제공된 가상 머신의 정의내용부에 매핑된다. 운영 체제에 의해 보고된 저장 디바이스는, 가상 머신 저장 디바이스를 상기 정의내용부에 상관시키기 위해 가상 머신 저장 디바이스의 SCSI 제어기 번호 및 타겟 식별자를 사용하는 등에 의해, 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용부에 매핑된다. 가상 저장 디바이스의 정의내용부는 관리 컴포넌트와 가상 머신이 구동되는 물리적 컴퓨팅 디바이스상의 저장 디바이스에 매핑된다. 물리적 컴퓨팅 디바이스상의 저장 디바이스는 SAN의 저장 볼륨에 매핑된다.

Description

가상 머신상에서 구동되는 운영 체제로부터 저장 볼륨 또는 저장 어레이 네트워크(SAN)로의 단 대 단 매핑{END-TO-END MAPPING FROM OPERATING SYSTEM RUNNING ON VIRTUAL MACHINE TO STORAGE VOLUME OF STORAGE-ARRAY NETWORK(SAN)}
본 발명은 일반적으로 저장 어레이 또는 저장 영역 네트워크(SAN; storage-array or storage-area network)의 저장 볼륨에 의해 물리적으로 구현된 저장 디바이스를 갖는 가상 머신에 관한 것이다. 본 발명은 더욱 상세히는 상기와 같은 가상 머신상에서 구동되는 운영 체제로부터 가상 머신의 저장 디바이스를 물리적으로 구현하는 SAN의 저장 볼륨으로의 단 대 단(END-TO-END) 매핑을 결정하는 것에 관한 것이다.
역사적으로, 단일 컴퓨팅 디바이스는 단일 운영 체제를 구동시킨다. 각각의 컴퓨터 사용자에게는 예를들어, 자신 소유의 클라이언트 컴퓨팅 디바이스가 할당되었고, 그 컴퓨팅 디바이스는 사용자 원하는 응용 프로그램을 구동시킬 수 있었던 운영 체제를 구동시켰었다. 마찬가지로, 서버 컴퓨팅 디바이스는 응용 프로그램을 구동한 단일 운영 체제를 구동하였다.
그러나, 이 유형의 컴퓨터 구조는 단점을 갖는다. 첫째, 비용이 많이 드는 데, 이는 각각의 컴퓨팅 디바이스가 이용되거나 이용되지 않거나 관계없이 적절히 기능하기 위해선 프로세서, 메모리, 입력/출력(i/o) 디바이스의 완전한 집합을 필요로 하기 때문이다. 둘째, 이러한 유형의 컴퓨터 구조의 사용은 효율적이지 못할 수 있다. 임의의 소정 시점에, 소정 컴퓨팅 디바이스는 작업을 수행하지 않을 수 있고, 작업을 수행하기 보단 유휴 상태에 있거나, 작업부하가 증가하는 경우 그 시간 동안 수행되어야 할 타스크를 대기한다.
그러므로, 하나 이상의 운영 체제가 단일 컴퓨팅 디바이스의 적어도 메모리와 프로세서를 공유하는, 단일 컴퓨팅 디바이스상에서 하나 이상의 운영 체제가 구동될 수 있는 기술이 개발되어 왔다. 이러한 기술은 가상화 기술이라고 칭한다. 가상화 기술로써, 소정 컴퓨팅 디바이스는 운영 체제가 각각의 가상 머신에서 구동되는, 여러 가상 머신을 갖는다. 그러므로, 다수 컴퓨터 사용자를 위한 운영 체제는, 단일 서버 컴퓨팅 디바이스와 같은, 단일 컴퓨팅 디바이스상에서 동시에 구동될 수 있다. 작업부하 요구가 많은 경우엔, 더 많은 가상 머신이 인스턴스화되어 구동될 수 있다. 작업부하 요구가 적은 경우엔, 가상 머신의 이용은 유보될 수 있다.
따라서, 주기적으로, 가상 머신의 메인티넌스 및 관리가 행해져야 할 필요가 있을수 있다. 한 예로서, 가상 머신은 한 서버 컴퓨팅 디바이스 또는 서버로부터 다른 서버 컴퓨팅 디바이스 또는 서버로 이동되어야 할 필요가 있을 수 있다. 예를들어, 현재 가상 머신을 호스팅하고 있는 서버는 서비스를 제공하양야 할 경우가 있을 수 있고, 따라서 그 가상 머신은 서비스 또는 메인티넌스가 수행되고 있는 동안 다른 서버에 이동되어져야 한다. 이러한 방식으로 또는 다른 방식으로 가상 머신을 유지 및 관리하기 위해 관리자등의 사용자의 능력을 향상시키는 것이 유익한 데, 이는 관리자의 업무를 쉽게 할 수 있고, 또한 기업 환경과 같은 조직 환경내에서 가상 머신을 채용하기 위한 비지니스 상황을 개선시킬 수 있다.
본 발명은 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨으로의 단 대 단(END-TO-END) 매핑을 결정하는 것에 관한 것이다. 본 발명의 한 실시태양의 방법은 하기에 설명하는 바와 같은 단 대 단(END-TO-END) 매핑을 결정한다. 이 방법은 가상 머신상에서 구동되는 운영 체제에 의해 보고된 가상 머신을 가상 머신을 관리하는 관리 컴포넌트에 의해 제공된 가상 머신에 대한 정의내용에 매핑시킨다. 이 방법은 가상 머신상에서 구동되는 운영 체제에 의해 보고된 저장 디바이스를 가상 머신을 관리하는 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 매핑시킨다.
이 매핑은 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 운영 체제에 의해 보고된 저장 디바이스를 상관시키기 위해 가상 저장 디바이스의, SCSI(small computer system interface) 타겟 ID와 같은, 저장 인터페이스 타겟 식별자(ID)와 SCSI(small computer system interface) 제어기 번호와 같은 저장 인터페이스 제어기 번호를 사용하여 달성된다. 가상 저장 디바이스의 정의내용은 관리 컴포넌트와 가상 머신이 구동되는 실제 컴퓨팅 디바이스상의 저장 디바이스에 스스로 매핑된다. 실제 컴퓨팅 디바이스상의 저장 디바이스는 그러면 SAN의 저장 볼륨에 매핑된다. 저장 인터페이스 제어기 번호와 저장 인터페이스 타겟 ID는 일반적으로는 동적이다.
본 발명의 다른 방법은 가상 머신상에서 구동되는 운영 체제의 파일 시스템으로부터 SAN의 저장 볼륨으로 하기에 설명하는 방법으로 매핑된다. 단 대 단 매핑의 가상 머신 파일 시스템 부분이 결정된다. 가상 머신 파일 시스템 부분은 가상 머신상에서 구동되는 운영 체제의 파일 시스템의 식별정보를 포함한다. 단 대 단 매핑의 가상 머신 저장 디바이스 부분과 단 대 단 매핑의 가상 머신 저장 디바이스 정의내용 부분이 결정된다. 가상 머신 저장 디바이스 부분은 가상 머신상에서 구동되는 운영 체제의 파일 시스템 내부에 정의된 가상 머신 저장 디바이스의 식별정보를 포함한다. 가상 머신 저장 디바이스 정의내용 부분은 가상 머신을 관리하는 관리 컴포넌트에 의해 제공된 가상 머신 저장 디바이스의 정의내용을 포함한다.
이 방법은 또한 단 대 단 매핑의 실제 컴퓨팅 디바이스 파일 시스템 부분과 단 대 단 매핑의 실제 컴퓨팅 디바이스 저장 디바이스 부분을 결정한다. 실제 컴퓨팅 디바이스 파일 시스템 부분은 가상 머신이 구동디는 실제 컴퓨팅 디바이스의 파일 시스템을 포함한다. 실제 컴퓨팅 디바이스 저장 디바이스 부분은 가상 머신이 구동되는 실제 컴퓨팅 디바이스의 파일 시스템 내부에 정의된 저장 디바이스의 식별정보를 포함한다. 이 방법은 또한 단 대 단 매핑의 SAN 저장 볼륨 부분을 결정한다. SAN 저장 볼륨 부분은 가상 머신이 구동되는 실제 컴퓨팅 디바이스의 파일 시스템 내부에 정의된 저장 디바이스를 구현하는 SAN의 저장 볼륨의 식별정보를 포함한다.
본 발명의 방법은 가상 머신상에서 구동되는 운영 체제에 의해 보고된 저장 디바이스를 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 매핑시킴으로써, 단 대 단 매핑의 가상 머신 저장 디바이스부와 가상 머신 저장 디바이스 정의내용부를 결정한다. 또한, 가상 머신상에서 구동되는 운영 체제에 의해 보고된 저장 디바이스를, 가상 저장 디바이스의, SCSI ID와 같은, 저장 인터페이스 타겟 식별자(ID)와 SCSI(small computer system interface) 제어기 번호와 같은 저장 인터페이스 제어기 번호를 사용하여 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 매핑시킨다. 이러한 사용은 운영 체제에 의해 보고된 저장 디바이스를 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 상관시킨다. 저장 인터페이스 제어기 번호와 저장 인터페이스 타겟 ID는 일반적으로 동적이다.
본 발명의 한 실시태양의 컴퓨터로 판독가능한 매체는 하나 이상의 프로세서에 의한 실행을 위한 하나 이상의 프로그램을 저장하고 있다. 이 프로세서들에 의한 컴퓨터 프로그램의 실행은 가상 머신상에서 구동되는 운영 체제로부터 SAN의 저장 볼륨으로의 단 대 단 매핑을 결정하는 방법이 수행되는 결과를 초래한다. 이 방법은 가상 머신상에서 구동되는 운영 체제에 의해 보고된 저장 디바이스를 가상 머신을 관리하는 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 매핑시킨다. 이 매핑은 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 운영 체제에 의해 보고된 저장 디바이스를 상관시키기 위해 가상 저장 디바이스의, SCSI 타겟 ID와 SCSI(small computer system interface) 제어기 번호를 사용하여 달성된다.
본 발명의 한 실시태양의 시스템은 실제 컴퓨팅 디바이스, SAN, 가상 머신, 관리 컴포넌트 및 매커니즘을 포함한다. 실제 컴퓨팅 디바이스는 저장 디바이스를 정의하는 파일 시스템을 갖는다. SAN은 실제 컴퓨팅 디바이스의 파일 시스템에 의해 정의된 저장 디바이스를 물리적으로 구현하는 SAN 저장 볼륨을 갖는다. 가상 머신은 실제 컴퓨팅 디바이스상에서 구동되고, 운영 체제 및 가상 머신 파일 시스템을 갖는다. 가상 머신 파일 시스템은 가상 머신 저장 디바이스를 갖는다. 가상 머신 저장 디바이스는 실제 컴퓨팅 디바이스의 파일 시스템에 의해 정의된 저장 디바이스에 의해 구현된다. 관리 컴포넌트는 가상 머신을 관리하기 위해 실제 컴퓨팅 디바이스상에서 구동되고, 가상 머신 저장 디바이스의 가상 머신 저장 디바이스 정의내용을 유지한다. 상기 매커니즘은 가상 머신상에서 구동되는 운영 체제의 파일 시스템으로부터 SAN의 SAN 저장 볼륨으로의 단 대 단 매핑을 결정한다.
본 발명의 한 실시태양의 시스템은 실제 컴퓨팅 디바이스, SAN, 가상 머신, 관리 컴포넌트 및 수단을 포함한다. 실제 컴퓨팅 디바이스는 저장 디바이스를 정의하는 파일 시스템을 갖는다. SAN은 실제 컴퓨팅 디바이스의 파일 시스템에 의해 정의된 저장 디바이스를 물리적으로 구현하는 SAN 저장 볼륨을 갖는다. 가상 머신은 실제 컴퓨팅 디바이스상에서 구동되고, 운영 체제 및 가상 머신 파일 시스템을 갖는다. 가상 머신 파일 시스템은 가상 머신 저장 디바이스를 갖는다. 가상 머신 저장 디바이스는 실제 컴퓨팅 디바이스의 파일 시스템에 의해 정의된 저장 디바이스에 의해 구현된다. 관리 컴포넌트는 가상 머신을 관리하기 위해 실제 컴퓨팅 디바이스상에서 구동되고, 가상 머신 저장 디바이스의 가상 머신 저장 디바이스 정의내용을 유지한다. 상기 수단은 가상 머신상에서 구동되는 운영 체제의 파일 시스템으로부터 SAN의 SAN 저장 볼륨으로의 단 대 단 매핑을 결정한다.
본 발명에 따르면, 가상 머신상에서 구동되는 운영 체제로부터 가상 머신의 저장 디바이스를 물리적으로 구현하는 저장 어레이 또는 저장 영역 네트워크의 저장 볼륨으로의 단 대 단(END-TO-END) 매핑을 결정하는 것이 가능하다.
본 발명의 다른 양상 및 실시태양들은 하기에 설명하는 발명의 상세한 설명과 첨부 도면을 참조하여 더욱 명백해 질 것이다.
본원에 참조된 도면은 명세서의 일부를 구성한다. 도면에 나타낸 특징들은 본 발명의 몇몇 실시태양을 예시하는 것이고 달리 명시되지 않은 경우엔 본 발명의 모든 실시태양을 의미하는 것이 아니며, 그렇지 않은 경우엔 이에 반하는 결과가 생기지 않아야 한다.
도 1은 본 발명의 한 실시태양에 따른, 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨상에서 구동되는 운영 체제의 파일 시스템으로부터 단 대 단 매핑이 결정될 수 있는 것과 관련한 대표적인 시스템을 나타낸 블록도이다.
도 2는 본 발명의 한 실시태양에 따른, 가상 머신상에서 구동되는 운영 체제의 파일 시스템으로부터 SAN 저장 볼륨으로의 단 대 단 매핑을 나타낸 블록도이다.
도 3은 본 발명의 한 실시태양에 따른, 도 2의 단 대 단 매핑을 결정하는 일반적인 방법의 흐름도이다.
도 4는 본 발명의 또다른 실시태양에 따른, 도 2의 단 대 단 매핑을 결정하는 방법의 흐름도이다.
도 5는 본 발명의 한 실시태양에 따른, 도 2의 단 대 단 매핑을 결정하는 시스템의 블록도로서, 도 1의 시스템과 동일하지만 보다 상세히 나타낸 블록도이다.
도 6은 본 발명의 또다른 실시태양에 따른, 도 2의 단 대 단 매핑을 결정하는 방법의 흐름도이다.
본 발명의 예시적인 실시태양에 대한 하기의 상세한 설명에서, 본원의 일부를 구성하고, 본 발명이 실시될 수 있는 특정한 예시적 실시태양이 예시적으로 도시된 첨부 도면이 참조된다. 이 실시태양들은 당업자가 본 발명을 실시하기에 충분한 정도로 상세히 설명된다. 그밖의 실시태양도 이용될 수 있으며, 논리적, 기계적 변경 및 기타 변경도 본 발명의 사상 및 범위로부터 벗어나지 않고 행해질 수 있다. 그러므로, 하기에 설명하는 상세한 설명은 제한적인 관점에서 이해되어선 안되고, 본 발명의 범위는 첨부된 특허청구의 범위에 의해서만 정해진다.
SAN의 저장 볼륨에 의해 물리적으로 구현된 자신의(가상) 저장 디바이스를 갖는 가상 머신의 메인티넌스 및 관리는 본 발명의 실시태양들을 이용함으로써 더욱 용이하게 행해진다. 이는 본 발명의 실시태양들이 가상 머신상에서 구동되는 운영 체제의 파일 시스템으로부터 SAN의 저장 볼륨으로의 단 대 단 매핑을 결정하기 때문이다. 따라서, 예를 들어, 네트워크 관리자는, 가상 머신의 운영 체제의 파일 시스템으로부터 가상 머신의 (가상) 저장 디바이스를 물리적으로 구현하는 SAN의 실제 저장 볼륨까지 가상 머신이 구현되는 법을 용이하게 살펴볼 수 있다.
본 발명의 실시태양에 의해 결정된 매핑은 따라서 가상 머신 구성의 각각의 가상 또는 실제 컴포넌트가 구현되는 방법을 설명한다. 이 매핑은 가상 머신 구성의 일단(즉, 가상 머신의 운영 체제의 파일 시스템)으로부터 가상 머신 구성의 타단(즉, SAN의 저장 볼륨)까지인, 상기 가상 머신 구성의 전체가 지정된다는 점에서 단 대 단 매핑인 것으로 간주된다. 네트워크 관리자가 가상 머신 구성의 변경을 고려하는 경우엔, 네트워크 관리자는 가상 머신의 전체 구성이 단 대 단 매핑되는 방법에 대해서 알고 있는 한, 가상 머신 구성의 변경이 가상 머신 구성에 어떻게 영향을 미칠 지를 알게 될 수 있을 것이다.
대표적인 시스템 및 개관
도 1은 본 발명의 실시태양에 따른, 대표적인 시스템(100)이다. 시스템(100)은 컴퓨팅 디바이스(102)와 저장 영역 또는 저장 어레이 네트워크(SAN)(104)를 포함한다. 컴퓨팅 디바이스(102)는 서버 컴퓨팅 디바이스 또는 서버일 수 있고, 일반적으로, 프로세서, 반도체 메모리와 같은 휘발성 메모리, 하드 디스크 드라이브와 같은 비휘발성 저장 디바이스, 및 기타 유형의 하드웨어를 포함한다. SAN(1034)은 하드 디스크 드라이브의 네트워크와 같은 특정 유형의 네트워크로서, 상세하게는 저장 디바이스의 네트워크이다. 대규모 기업 환경에서, SAN(104)과 같은 SAN은 컴퓨팅 디바이스(102)와 같은 다수의 서버를 저장 볼륨(110)과 같은 중앙집중화된 저장 디바이스 풀에 연결한다.
컴퓨팅 디바이스(102)는 저장 디바이스(108)와 같은저장 디바이스를 지원 또는 정의하는 네이티브 파일 시스템(106)을 갖는다. 파일 시스템(106)은 컴퓨팅 디바이스(102)가 저장 디바이스(108)상에 파일을 저장하거나 저장 디바이스(108)상의 파일을 검색하기 위해 채용하는 처리방법을 지정한다. 파일 시스템(106)은 상세히는 저장 디바이스(108)상의 디스크 클러스터, 또는 섹터의 그룹을 판독하고 디스크 클러스터, 또는 섹터의 그룹에 기입하라는 명령어를 운영 체제로부터 수신하는 시스템 소프트웨어이다. 파일 시스템(106)은 인덱스를 파일에 제공하는 폴더 또는 디렉토리 구조를 관리하고, 파일에 대한 경로가 코드화되는 법과 같은, 파일을 엑세스하는 데에 사용되는 신택스를 정의한다. 파일 시스템(106)은 파일이 명명되는 방법뿐만 아니라 파일 또는 볼륨의 최대 크기를 정하는 법에 대해서도 결정할 수 있다. 파일 시스템의 예들로는 일반적으로 LINUX® 운영 체제의 버전들과 연계하여 사용되는, 익스텐디드-2(ext2) 및 익스텐디드-3(ext3) 파일 시스템들을 포함한다. 파일 시스템의 추가 예들로는, 일반적으로 UNIX® 운영 체제의 버전들과 연계하여 사용되는, UNIX® 파일 시스템(UFS) 및 z-시리즈 파일 시스템(ZFS)을 포함한다.
시스템(100)내의 파일 시스템(106)의 저장 디바이스(108)는 특히 SAN(104)의 저장 볼륨(110)으로 구현된다. 이런 점에서, 컴퓨팅 디바이스(102)의 저장 디바이스(108)는 컴퓨팅 디바이스(102) 내부에 상주하는 실제 물리적 저장 디바이스라기 보단, SAN(104)의 저장 볼륨(110)에 의해 표현된 실제 물리적 저장 디바이스를 가리킨다. SAN(104)의 저장 볼륨(110)은 단일 하드 디스크 드라이브와 같은 단일한 물리적 저장 디바이스일 수 있거나, SAN(104)의 여러 물리적 저장 디바이스에 대해 구현될 수 있다. 그러나, 파일 시스템(106)의 관점에서 볼 때, 저장 디바이스(108)는 마치 물리적 저장 디바이스인 것처럼 컴퓨팅 디바이스(102)내에서 사용된다.
컴퓨팅 디바이스(102)는, 하이퍼바이저 또는 가상 머신 모니터(VMM)로도 불리우는, 관리 컴포넌트(114)에 의해 관리되는 가상 머신(112)과 같은 여러 가상 머신을 지원한다. 가상 머신(112)은 컴퓨팅 디바이스(102)내의 고립된 부분에서 구동되는, 하나 이상의 애플리케이션과 함께, 운영 체제(116)의 인스턴스를 포함한다. 가상 머신의 사용은 개별 가상 머신상에서 구동되는 애플리케이션들이 서로 간섭하는 것을 방지하면서 상이한 운영 체제들이 동일한 컴퓨팅 디바이스(102)상에서 동시에 구동할 수 있도록 한다.
컴퓨팅 디바이스(102)상에서 구동하는 각각의 가상 머신은 컴퓨팅 디바이스(102)의 하드웨어 자원에 대한 독점적 액세스 권한을 가진 것처럼 실질적으로는 "머신 내부에 있는 머신"이다. 가상 머신(112)상에서 구동되는 운영 체제(116)는 "게스트 운영 체제"로 불리고, 운영 체제(116)는 관리 컴포넌트(114)를 통해 컴퓨팅 디바이스(102)의 하드웨어와 통신한다. 관리 컴포넌트(114)는 따라서 컴퓨팅 디바이스(102)상에서 구동하는 각각의 가상 머신에 대해 컴퓨팅 디바이스(102)의 하드웨어를 "가상화한다".
가상 머신(112)상에서 구동되는 운영 체제(116)는 전체적으로 컴퓨팅 디바이스(102)의 파일 시스템(106)이라기 보단 상이한 유형의 파일 시스템일 수 있는 대응하는 파일 시스템(118)을 가질 수 있다. 파일 시스템이 있는 경우엔, 파일 시스템(118)은 (가상) 저장 디바이스(120)를 지원하거나 형성할 수 있다. 저장 디바이스(120)는 어느 정도까지는 파일 시스템(118)의 일부분인 것으로서 간주될 수 있다. 저장 디바이스(120)는 가상 머신(112)내부에서 구현된다는 의미에서 가상 저장 디바이스일 수 있고, 실제 물리적 저장 디바이스를 나타내진 않는다. 그러나, 운영 체제(116)는 저장 디바이스(120)가 마치 실제 물리적 저장 디바이스였던 것처럼. 파일 시스템(118)을 통해 저장 디바이스(120)를 액세스한다. 따라서, 운영 체제(116), 파일 시스템(118) 및 저장 디바이스(120)를 포함한 가상 머신(120)의 모든 컴포넌트는 이 컴포넌트들이 가상 머신(112)의 일부분인 것으로서 동작한다는 의미에서 적어도 가상 컴포넌트이다.
관리 컴포넌트(114)는 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합으로 구현되고, 가상 머신(112)을 관리하기 위해 컴퓨팅 디바이스(102)상에서 구동된다. 관리 컴포넌트(114)에 대해 제공하고 따라서 가상 머신(112)과 같은 가상 머신의 인스턴스화를 제공하는 소프트웨어의 예들로는, 캘리포니아 팔로 알토 소재의 브엠웨어(VMware)사로부터 구입할 수 있는, VMware® ESX 서버 가상 머신 소프트웨어를 포함하는, VMware® 가상 머신을 포함한다. 관리 컴포넌트(114)는 가상 머신(112)를 정의하는 가상 머신 정의내용부(122)를 유지한다. 가상 머신 정의내용부(122)는 가상 머신(112)상에서 구동되는 파일 시스템(118)의 유형 및 운영 체제(116)의 유형을 지시한다.
마찬가지로, 관리 컴포넌트(114)는 가상 머신(112)의 저장 디바이스(120)를 정의하는, 가상 저장 디바이스 정의내용부(124)를 유지한다. 가상 저장 디바이스 정의내용부(124)는 파일 시스템(106)을 통하여, 가상 머신(112)의 저장 디바이스(120)를 구현하는 컴퓨팅 디바이스(102)의 저장 디바이스를 정의한다. 예를 들어, 도 1에서, 가상 저장 디바이스 정의내용부(124)는 저장 디바이스(120)가 파일 시스템(106)을 통하여 저장 디바이스(108)에 의해 구현된다는 것을 지시하고, 저장 디바이스(108)는 다시 SAN(104)의 저장 볼륨(110)에 의해 자체적으로 구현된다.
저장 볼륨(110)은 물리적 컴퓨팅 디바이스(102)에 할당되고 가상 머신(112)에 직접적으로 할당되지 않음을 유의해야 한다. 그에 따라, 가상 머신(112) 대 저장 볼륨(110)간의 매핑은 일 대 일 매핑이 아닐 수 있는 데, 이는 하나 이상의 가상 머신이 저장 볼륨(110)에 할당될 수 있기 때문이다. 그러나, 설명을 명확히 하기 위해, 본원에선 단 하나의 가상 머신(112)이 SAN(104)의 저장 볼륨(110)에 의해 궁극적으로 구현된 (가상) 저장 디바이스를 갖는 것으로서 설명된다.
네트워크 관리자 또는 기타 사용자가 관리 컴포넌트(114)를 통해 가상 머신(112)을 적합하게 관리할 수 있도록 하기 위해, 본 발명의 실시태양은 가상 머신(112)상에서 구동되는 운영 체제(116)의 파일 시스템(118)으로부터 저장 디바이스(120)가 구현되는 저장 디바이스(108)를 구현하는 SAN(104)의 저장 볼륨(110)으로의 단 대 단 매핑을 결정한다.
도 2는 본 발명의 실시태양에 따른, 단 대 단 매핑(200)의 예를 나타낸다. 단 대 단 매핑(200)은, 가상 머신 파일 시스템부(202), 가상 머신 저장 디바이스부(204), 가상 머신 저장 디바이스 정의내용부(206), 물리적 컴퓨팅 디바이스 파일 시스템부(208), 물리적 컴퓨팅 디바이스 저장 디바이스부(210), 및 SAN 저장 볼륨부(212)를 나타낸 순서대로 포함한다.
도 1의 상황에서, 가상 머신 파일 시스템부(202)는 컴퓨팅 디바이스(102)상에서 구동하는 가상 머신(112)의 파일 시스템(118)을 식별한다. 가상 머신 파일 시스템부(202)는 양방향 화살표(203)로 지시된 바와 같이, 가상 머신 저장 디바이스부(204)에 링크되거나 매핑된다. 도 1의 상황에서, 가상 머신 저장 디바이스부(204)는 가상 머신(112)의 저장 디바이스(120)를 식별한다. 가상 머신 저장 디바이스부(204)는 양방향 화살표(205)로 지시된 바와 같이, 가상 머신 저장 디바이스 정의내용부(206)에 링크되거나 매핑된다. 도 1의 상황에서, 가상 머신 저장 디바이스 정의내용부(206)는 관리 컴포넌트(114)에 의해 유지된 가상 저장 디바이스 정의내용부(124)를 식별한다.
가상 머신 저장 디바이스 정의내용부(206)는 양방향 화살표(207)로 지시된 바와 같이,물리적 컴퓨팅 디바이스 파일 시스템부(208)에 링크되거나 매핑된다. 도 1의 상황에서, 물리적 컴퓨팅 디바이스 파일 시스템부(208)는 컴퓨팅 디바이스(102)의 파일 시스템(106)을 식별한다. 물리적 컴퓨팅 디바이스 파일 시스템부(208)는 양방향 화살표(209)로 지시된 바와 같이, 물리적 컴퓨팅 디바이스 저장디바이스부(210)에 링크되거나 매핑된다. 도 1의 상황에서, 물리적 컴퓨팅 디바이스 저장 디바이스부(210)는 컴퓨팅 디바이스(102)의 저장 디바이스(108)를 식별한다. 물리적 컴퓨팅 디바이스 저장 디바이스부(210)는 양방향 화살표(209)로 지시된 바와 같이, SAN 저장 볼륨부(212)에 링크되거나 매핑된다. 도 1의 상황에서, SAN 저장 볼륨부(212)는 SAN(104)의 저장 볼륨(110)을 식별한다.
단 대 단 매핑(200)을 결정하는 것은 가상 머신(112)이 도 1의 SAN(104)과 관련되는 상세한 방법에 대해 네트워크 관리자 또는 그 밖이 사용자가 상세히 구별할 수 있도록 한다. SAN(104)의 컴포넌트를 통한 가상 머신(112)의 컴포넌트들로부터의 각각의 매핑은 단 대 단 매핑(200)내에서 분명하게 제공된다. 따라서, 예를들어, 컴퓨팅 디바이스(102)의 저장 디바이스(108)를 수정하길 바라는 사용자는 그러한 수정이 가상 머신(112)이 SAN(104)에 단 대 단 매핑되는 것으로서 작용한다는 선험적 사실을 알게 될 것이다. 이는 단 대 단 매핑(200)이 가상 머신(112)의 저장 디바이스(120)는 궁극적으로는 저장 디바이스(108)를 통해 SAN의 저장 볼륨(110)에 의해 구현된다는 것을 나타내기 때문이다.
도 3은 본 발명의 실시태양에 따른, 도 2의 단 대 단 매핑(200)을 결정하기 위한 일반적인 방법을 나타낸다. 본 발명의 다른 실시태양의 방법에서와 같이, 방법(300)은 기록가능한 데이터 저장 매체와 같은 컴퓨터로 판독가능한 실체적인 매체와 같은 컴퓨터로 판독가능한 매체상에 저장된 하나 이상의 컴퓨터 프로그램에 의해 구현될 수 있다. 이 컴퓨터 프로그램들은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서와 같은 하나 이상의 프로세서에 의해 실행된다. 이 프로세서들에 의한 컴퓨터 프로그램의 실행은 방법(300)이 수행되는 결과를 초래한다.
이 방법(300)은 가상 머신(112)상에서 구동되는 운영 체제(116)에 의해 보고된 가상 머신(112)을 도 1의 가상 머신(112)을 관리하는 관리 컴포넌트(114)에 의해 제공된 가상 머신 정의내용부(122)에 매핑시킨다(블록 302). 이 매핑을 결정하는 것은 실질적으로 도 2의 단 대 단 매핑(200)의 가상 머신 파일 시스템부(202)를 제공한다. 이는 운영 체제(116)에 의한 가상 머신(112)의 보고가 가상 머신 파일 시스템부(202)가 대응하는 파일 시스템(118)의 식별정보를 포함할 수 있기 때문이다. 대안으로서, 이는 가상 머신(112)을 관리하는 관리 컴포넌트(114)에 의해 제공된 가상 머신 정의내용부(122)가 가상 머신 파일 시스템부(202)가 대응하는 파일 시스템(118)의 식별정보를 포함할 수 있기 때문이다.
이 방법(300)은 가상 머신(112)상에서 구동되는 운영 체제(116)에 의해 보고된 저장 디바이스(120)를 도 1의 가상 머신(112)을 관리하는 관리 컴포넌트(114)에 의해 제공된 가상 저장 디바이스 정의내용부(124)에 매핑시킨다(블록 304). 이 매핑을 결정하는 것은 실질적으로 도 2의 단 대 단 매핑(200)의 가상 머신 저장 디바이스부(204)와 가상 머신 저장 디바이스 정의내용부(206)를 제공한다. 이는 운영 체제(116)에 의해 보고된 저장 디바이스(120)가 가상 머신 저장 디바이스부(204)에 대응하고, 관리 컴포넌트(114)에 의해 제공된 가상 저장 디바이스 정의내용부(124)가 가상 머신 저장 디바이스 정의내용부(206)에 대응하기 때문이다.
이 방법(300)은 가상 머신(112)을 관리하는 관리 컴포넌트(114)에 의해 제공된 가상 저장 디바이스 정의내용부(124)를 도 1에서 관리 컴포넌트(114)와 가상 머신(112)이 구동되는 물리적 컴퓨팅 디바이스(102)의 저장 디바이스(108)에 매핑시킨다(블록 306). 이 매핑을 결정하는 것은 실질적으로 도 2의 단 대 단 매핑(200)의 물리적 컴퓨팅 디바이스 파일 시스템부(208)와 물리적 컴퓨팅 디바이스 저장 디바이스부(210)를 제공한다. 후자에 관하여, 컴퓨팅 디바이스(102)의 저장 디바이스(108)는 물리적 컴퓨팅 디바이스 저장 디바이스부(210)에 대응하고, 이에 따라 저장 디바이스(108)를 식별하는 것은 물리적 컴퓨팅 디바이스 저장 디바이스부(210)를 제공한다. 전자에 대하여, 파일 시스템(106)은 저장 디바이스(108)상의 파일을 검색하고 파일을 저장 디바이스(108)상 저장하는 데에 사용된 방법을 지정하기 때문에, 그리고 파일 시스템(106)은 저장 디바이스(108)를 지원하기 때문에, 저장 디바이스(108)를 식별하는 것은 적어도 묵시적으로 물리적 컴퓨팅 디바이스 파일 시스템부(208)에 대응하는 파일 시스템(106)을 식별한다.
이 방법(300)은 마지막으로 관리 컴포넌트(114)와 가상 머신(112)이 구동하는 물리적 컴퓨팅 디바이스(102)의 저장 디바이스(108)를 도 1의 SAN(104)의 저장 볼륨(110)에 매핑시킨다. 이 매핑을 결정하는 것은 도 2의 단 대 단 매핑(200)의 SAN 저장 볼륨부(212)를 제공한다. 이는 SAN 저장 볼륨(110)이 단 대 단 매핑(200)의 SAN 저장 볼륨부(212)와 대응하기 때문이다.
발명의 상세한 설명의 다음 단락에서, 도 2의 단 대 단 매핑(200)을 결정하기 위한 방법이 더욱 상세히 제시되고 설명되지만 도 3의 방법과 일치한다. 이 방법은 당업자가 본 발명을 실시하기에 충분한 정도로 상세히 설명된다. 그러나, 당업자는 본 방법으로부터의 일탈이 본 발명의 실시중에 저절로 행해질 수 있으며, 그러한 일탈은 특허청구의 범위에 의해서만 정의된다는 것을 알 수 있다.
단 대 단 매핑을 결정하는 상세한 방법
도 4는 본 발명의 또다른 실시태양에 따른, 도 2의 단 대 단 매핑(200)을 결정하기 위한 방법(400)을 나타낸다. 이 방법(400)은 도 1의 시스템(100)과 관련하여 설명된다. 이 방법(400)은 먼저 도 1의 운영 체제(116)가 가상 머신상에서 구동되는 지의 여부를 결정한다(블록 402). 한 실시태양에서 블록 402는 운영 체제(116)가 구동되는 머신의, 네트워크 카드와 같은 네트워크 제어기의 매체 액세스 제어(MAC) 주소를 결정함으로써 수행되는 데, 여기서 머신은 가상 머신인 지 또는 실제 머신인 지의 여부가 선험적으로 알려져 있지 않다. 따라서, 네트워크 제어기 자체가 가상 네트워크 제어기인지 또는 실제 네트워크 제어기인 지의 여부가 선험적으로 알려져 있지 않다. 네트워크 제어기의 MAC 주소는 네트워크 제어기를 고유하게 식별하는 일련번호이고 따라서 일반적으로 그것은 네트워크상에서 머신의 일부이다.
이하에서, 용어 "머신의 MAC 주소"는 당업자가 이해할 수 있는 바와 같이, "머신의 네트워크 제어기의 MAC 주소"의 단축형으로서 사용된다. 그러므로 도 1의 운영 체제(116)가 구동되는 머신의 MAC 주소가 관리 컴포넌트(114)에 의해 가상 머신에 할당된 MAC 주소의 범위에 속하는 지의 여부가 결정된다. 운영 체제(116)가 구동되는 머신의 MAC 주소가 할당된 MAC 주소의 범위에 속하는 경우엔, 방법(400)의 블록 404에선 운영 체제(116)가 구동되는 머신은 사실상 가상 머신이라고 결론을 내린다. 이 머신은 상세히는 도 1의 가상 머신(112)이다. 상기 머신이 하나 이상의 네트워크 카드를 가지고 있으면, 이 조건은 각각의 네트워크 카드의 MAC 주소에 대해 테스트된다.
운영 체제(116)가 도 1의 가상 머신(112)상에서 구동되는 지의 여부에 대한 결정에 응답하여, 방법(400)은 도 2의 단 대 단 매핑(200)을 결정한다(블록 404). 이것은 하기에 더욱 상세히 설명되는, 도 3의 방법(300)의 일부분들인 블록 302, 304, 306 및 308을 수행함으로써 달성된다. 먼저, 가상 머신(112)이 가상 머신 정의내용부(122)에 매핑된다(블록 302). 한 실시태양에서, 가상 머신(112)의 MAC 주소는 운영 체제(116)에 의해 보고된, 가상 머신(112)을 관리 컴포넌트(114)에 제공 또는 유지되는 바와 같은 가상 머신 정의내용부(122)에 상관시키는 데에 사용된다. 가상 머신(112)이 하나 이상의 네트워크 카드를 가지고 있으면, 가상 머신의 모든 네트워크 카드의 MAC 주소는 상기한 바의 상관을 위해 사용된다.
다음에, 가상 저장 디바이스(120)가 도 1의 가상 저장 디바이스 정의내용부(124)에 매핑된다(블록 304). 한 실시태양에서, 가상 저장 디바이스(120)의 SCSI(small computer system interface) 제어기 번호 및 SCSI 타겟 식별자(ID)가 운영 체제(116)에 의해 보고된, 가상 저장 디바이스(120)를 관리 컴포넌트(114)에 제공된 가상 저장 디바이스 정의내용부(124)에 상관시키는 데에 사용된다. SCSI 제어기 번호는 특정 유형의 저장 인터페이스 번호이고, SCSI 타겟 ID는 저장 인터페이스 타겟 ID의 유형이다. 기타 유형의 저장 인터페이스 제어기 번호 및 타겟 ID는, SCSI 제어기 번호 및 SCSI 타겟 ID외에, 본 발명의 실시예에서 채용될 수 있다.
SCSI는 한 유형의 저장 인터페이스이다. SCSI 제어기 번호, 및 따라서 저장 인터페이스 제어기 번호는 저장 디바이스가 부착되고 저장 디바이스를 제어하는 제어기(머신내에 있고 동일한 저장 인터페이스를 갖는 다른 제어기에 비해)를 적어도 실질적으로 고유하게 식별하는 번호이다. 비교하자면, SCSI 타겟 ID, 및 따라서 저장 인터페이스 타겟 ID는 저장 디바이스(동일한 저장 인터페이스를 갖는 다른 저장 디바이스에 비해)를 적어도 실질적으로 고유하게 식별하는 ID이다. 가상 머신(112)의 저장 디바이스(120)를 가상 저장 디바이스 정의내용부(124)에 매핑시키기 위해 SCSI 제어기 번호 및 SCSI 타겟 ID를 사용하는 것은, 하기에 설명되는 바와 같이, 특히 혁신적이며 자명하지 않은 기술이다.
물리적인 실제 머신에서, SCSI 제어기 번호 및/또는 SCSI 타겟 ID는 물리적 SCSI 제어기가 대체되거나 물리적인 실제 머신내의 한 슬롯으로부터 다른 슬롯으로, 예로서 한 주변장치 컴포넌트 상호연결(PCI) 슬롯으로부터 다른 PCI 슬롯으로 이동되는 경우에 변경될 수 있다. SCSI 제어기 번호 및/또는 SCSI 타겟 ID의 변경, 또는 동적인 속성은, SCSI 제어기 번호 및/또는 SCSI 타겟 ID는 도 1의 저장 디바이스(120)와 같은 저장 디바이스를 도 1의 정의내용부(124)와 같은 저장 디바이스 정의내용부에 매핑시키기 위해 채용될 후보자일 가능성이 없다는 것을 나타낸다. 이는 SCSI 제어기 번호 및/또는 SCSI 타겟 ID가 변경되는 경우엔, 이 SCSI 제어기 번호 및/또는 SCSI 타겟 ID에 의존하는 매핑이 기껏해야 일시적인 것이고, 매핑이 결정된 시점으로부터 매핑이 실제적으로 사용되는 시점(예로서, 이 매핑에 의존하는 도 2의 단 대 단 매핑(200)이 사용되는 때)으로 변경될 수 있기 때문이다.
그러나, 본 발명의 발명자들은, 실제로, SCSI 제어기 번호 및 SCSI 타겟 ID는 가상 머신(112)과 같은 가상 머신의 상황에서 최악의 상황으로 변경될 가능성이 높지 않다는 것을 새롭게 결정하였다. 그러므로, 가상 머신(112)의 저장 디바이스(120)를 관리 컴포넌트(114)에 의해 제공된 가상 저장 디바이스 정의내용부(124)에 매핑시키기 위해 SCSI 제어기 번호 및 SCSI 타겟 ID를 채용하는 것은 만족스러운 것이다. 이러한 통찰은 비자명하고 혁신적인 것인 데 이는 SCSI 제어기 번호 및 SCSI 타겟 ID가 변경되는 것으로 알려져 있고 따라서 동적이므로, 당업자는 매핑을 결정하는 방법으로서 일반적으로는 이러한 SCSI 제어기 번호 및 SCSI 타겟 ID를 사용하지 않으려 할 것이다. SCSI 제어기 번호 및 SCSI 타겟 ID의 사용과는 상이한 종래 기술의 지식에 대해, 본 발명의 발명자들은 그럼에도 불구하고 SCSI 제어기 번호 및 SCSI 타겟 ID를 사용하는 것은 가상 머신(112)와 같은 가상 머신의 상황내에서 수용될 수 있는 것이라는 결정을 내렸다.
다음의 방법(400)은 가상 저장 디바이스 정의내용부(124)를 도 1의 물리적 컴퓨팅 디바이스(102)의 저장 디바이스(108)에 매핑시킨다(블록 306). 한 실시태양에서, 관리 컴포넌트(114)의 애플리케이션 프로그래밍 인터페이스(API)는 가상 저장 디바이스 정의내용부(124)를 물리적 컴퓨팅 디바이스 저장 디바이스(108)에 상관시키기 위해 호출될 수 있다. 예를 들어, VMware® 가상 머신 소프트웨어는 가상 머신 저장 디바이스 정의내용부(124)를 저장 디바이스(108)에 상관시키기 위해 호출될 수 있는 그런 API를 제공한다.
API는 정의된 통신 프로토콜을 통해 운영 체제 또는 기타 컴퓨터 프로그램과통신하기 위해, 가상 머신 소프트웨어와 같은 애플리케이션 프로그램에 의해 사용되는 언어 또는 메시지 포맷이다. API는 현안으로 되어 있는 애플리케이션 프로그램에 대해 함수 호출을 행함으로써 구현되고, 원하는 정보를 반환하고 및/또는 API에 의해 나타내어 진 원하는 프로세스를 수행하기 위해 실행되어야 할 서브루틴에 대한 링키지를 제공한다. 따라서, API는 일부 프로그램 모듈이, 동작을 수행하거나 원하는 정보를 반환하기 위해, 현안으로 되어 있는 애플리케이션 프로그램내에서 이용가능하고, 다른 컴퓨터 프로그램에 의해 호출될 수 있다는 것을 암시한다.
다른 실시태양에선, API를 채용하는 것이 아닌 다른 방법이 이용된다. 예를 들어, 명령어 라인 인터페이스(CLI) 명령어가 호출될 수 있거나, 간명한 네트워크 관리 프로토콜(SNMP; simple network management protocol)이 채용될 수 있다. CLI는 애플리케이션 프로그램을 호출할 수 있는 인터페이스이고, 여기서, 원하는 정보를 반환하기 위해, 스위치로도 참조되는 인수(argument)가 지정될 수 있다. SNMP는 네트워크 모니터링 및 제어 프로토콜이다. 정보는 SNMP 에이전트로부터 전달되어, 관리 정보 베이스(MIB)에 저장되고, 이 MIB는 그러면 검색될 수 있다.
컴퓨팅 디바이스(102) 내부의 저장장소는 두 방식중 한 방식으로 가상 머신(112)에 제공될 수 있다. 첫째, 파일 매핑이 이용될 수 있다. 파일 매핑은 가상 머신(112)(가상 머신 정의내용부(122)에 의해 정의된 바와 같은)에 대한 가상 저장 디바이스(120)(가상 저장 디바이스 정의내용부(124)에 의해 정의된 바와 같은)로서의 역할을 하기 위해 파일 시스템(106)에 의해 정의된 바와 같은 저장 디바이스(108)상의 파일을 사용한다. 이 파일은 가상 머신(112)내의 저장 디바이스(120)의 사이즈와 동일한 사이즈를 갖는다. API는 이 경우에, 가상 머신(112)의 저장 디바이스(120)에 대응하는 저장 디바이스(108)상의 파일을 결정하기 위해, 호출될 수 있다.
둘째, 로우 디스크(raw disk) 매핑이 이용될 수 있다. 로우 디스크 매핑은 가상 머신(112)에 대한 가상 저장 디바이스(120)로서 전체적으로 저장 디바이스(108)를 할당한다. 가상 저장 디바이스(120)로부터 가상 머신(112)으로의 디스크 액세스 명령어는 따라서 저장 디바이스(108)에 직접 전달된다. API는 이 경우에, 가상 저장 디바이스(120)가 로우 디스크 방식으로 저장 디바이스(108)에 aㅁ핑되었는 지를 결정하기 위해 호출된다.
이 방법(400)은 마지막으로, 물리적 컴퓨팅 디바이스 저장 디바이스(108)를 도 1의 저장 영역 또는 저장 어레이 네트워크(SAN) 저장 볼륨(110)에 매핑한다. 한 실시태양에서, 관리 컴포넌트(114)의 또다른 API가 호출되고, SAN(104)의 SAN 관리 컴포넌트는 물리적 컴퓨팅 디바이스(102)상의 저장 디바이스(108)를 SAN(104)의 저장 볼륨(104)에 상관시키기 위해, SAN 관리 컴포넌트의 API를 통해 질의된다. 예를 들어, VMware® 가상 머신 소프트웨어는 저장 디바이스(108)를 SAN 저장 볼륨(110)에 상관시키기 위해 호출될 수 있는 그러한 API를 제공한다.
한 실시태양에서, 저장 디바이스(108)는, 도 1의 관리 컴포넌트(114)의 API를 호출하는 것에 의해, 관리 컴포넌트(114)의 CLI 명령어를 호출하는 것에 의해, SNMP를 채용하는 것에 의해 또는 다른 연구방법에 의해 검색되는, 논리 유닛 번호(LUN; logical unit number)에 의해 식별된다. 이 LUN이 대응하는 SAN 저장 볼륨(110)에 관한 정보는 SAN 관리 컴포넌트의 API를 통하는 것과 같은, SAN(104)의 SAN 관리 컴포넌트에 질의함으로써 검색된다. 그러한 정보는 SAN(104)의 일련 번호뿐만 아니라 저장 볼륨(110) 자체의 일련 번호를 포함할 수 있다. 한 실시태양에서, SAN 관리 컴포넌트는 SAN(104)과 볼륨(110)과 같은 그 구성요소 저장 볼륨을 관리하는, 공통 정보 모델(CIM;common information model) 객체 관리자(OM;object manager), 즉, 또는 CIMOM일 수 있다.
방법(400)의 블록 404에서 도 2의 단 대 단 매핑(200)이 결정되면, 방법(400)에서 상기 단 대 단 매핑(200)을 사용하여 가상 머신(112)을 효과적으로 관리할 수 있다. 예를 들어, 가상 머신(112)의 가상 저장 디바이스(120), 컴퓨팅 디바이스(102)의 저장 디바이스(108), 또는 SAN(104)의 저장 볼륨(110)에 대한 변경을 고려하는 네트워크 관리자 또는 다른 사용자는 그러한 변경이 가상 머신(112)에 영향을 미칠 선험적 사실을 알 수 있다. 이는 단 대 단 매핑(200)이 컴포넌트별(즉, 부분 별)기준으로 가상 저장 디바이스(120)를 포함한, 가상 머신(112)상에서 구동되는 운영 체제(116)의 파일 시스템(118)을 SAN(104)의 저장 볼륨(110)에 매핑시키기 때문이다. 따라서, 이 매핑에 의한 임의의 컴포넌트 또는 부분으로의 변경은 단 대 단 매핑(200)에 의해 제공된 지식으로 인해, 변경의 관점에서 볼 때 가상 머신(112)에 영향을 미치는 것으로 간주될 수 있다.
예시적인 시스템 구현
도 5는 본 발명의 한 실시태양에 따라, 도 2의 단 대 단 매핑(200)을 결정하기 위해, 도 3 및 4의 방법(300)과 방법(400)을 각각 구현할 수 있는 시스템(500)을 나타낸다. 시스템(500)은 상기 설명한 도 1의 시스템(100)과 일치하지만 더욱 상세히 도시되었다. 시스템(500)과 시스템(100)간의 마찬가지의 도면 부호는 설명의 중복을 피하기 위해 도 5와 관련하여선 상세히 설명되진 않으며, 단지 도 5의 추가적인 컴포넌트가 동작하는 방법에 관해 그리고 구현되는 방법에 대해서만 설명된다.
시스템(500)에서, 저장 영역 또는 저장 어레이 네트워크(SAN)(104)는 발명의 상세한 설명의 이전 단락에서 상기 설명한 바와 같이, SAN 관리 컴포넌트(502)를 포함한다. SAN 관리 컴포넌트(502)는 SAN(104)과 볼륨(110)과 같은 그 구성요소 저장 볼륨을 관리하는, 공통 정보 모델(CIM) 객체 관리자(OM), 즉, CIMOM일 수 있다. 도 5는 또한, 가상 머신(112)의 운영 체제(116)상에서 구동되는 프로세스(504), 컴퓨팅 디바이스(102)상의 가상 머신(112)을 관리하는 관리 컴포넌트(114)상에서 구동되는 프로세스(506), SAN 관리 컴포넌트(502)상에서 구동되는 프로세스(508), 및 프로세스(510)를 포함한다. 프로세스(504, 506, 508 및 510)들은 소프트웨어이지만, 하드웨어상에서 구동되고, 이에 따라 이 프로세스들은 적어도 부분적으로 하드웨어에 의해 또는 하드웨어에서 구현되는 것으로서 간주될 수 있다.
프로세스(510)는 한 실시태양에서, 임의의 가상 머신(도 5에 도시되지 않음) 의 일부가 아닌 컴퓨팅 디바이스(102)의 운영 체제 내부에서와 같이, 가상 머신(112)의 외부에 있고 관리 컴포넌트(114)의 외부에 있는, 물리적 컴퓨팅 디바이스(102)상에서 구동된다. 또다른 실시태양에서, 프로세스(510)는 가상 머신이 구동되는 디바이스(102)와 같은, 모든 컴퓨팅 디바이스를 유지시키는 역할을 하는 서버 컴퓨팅 디바이스일 수 있는, 물리적 컴퓨팅 디바이스(102)가 아닌 특정한 컴퓨팅 디바이스상에서 구동된다. 상기 설명한 경우 중 어느 경우에도, 프로세스(510)는 도 2의 단 대 단 매핑(200)을 결정하기 위해 사용된 매핑, 상관, 및 기타 정보를 획득하기 위해 다른 프로세스(504, 506 및 508)를 관리하는 프로세스인 것으로 간주될 수 있다.
본 발명의 실시태양의 상황에서 사용된 프로세스는 실제로 구동되는 하나 이상의 컴퓨터 프로그램의 적어도 일부분으로서 간주될 수 있다. 예를 들어, 동일한 컴퓨터 프로그램의 두 개의 인스턴스가 기동되면, 두 개의 프로세스가 구동되어야 할 것으로 간주된다. 프로세스는 자체적으로, 현안으로 되어 있는 성능을 개선시키기 위해 병렬로 실행될 수 있는 서브 프로세스들인 하나 이상의 쓰레드를 가질 수 있다.
프로세스(504, 506, 508 및 510)들은 함께, 가상 머신(112)상에서 구동되는 운영 체제(116)의 파일 시스템(118)으로부터 SAN(104)의 저장 볼륨(110)으로의 도 2의 단 대 단 매핑(200)을 결정하는 매커니즘을 구성한다. 한 실시태양에서, 프로세스(504, 506, 508 및 510)들은 함께 그러한 기능성을 수행하기 위한 수단인 것으로서 간주될 수 있다. 따라서, 이러한 매커니즘 또는 수단은 상기 설명한 바와 같이, 도 3 및 도 4의 방법(300) 및 방법(400)의 일부분들인 블록(302, 304, 306 및 308)과, 방법(400)의 일부분인 블록(402)을 수행한다. 프로세스(510)는 단 대 단 매핑(200)을 결정하기 위해 프로세스(506, 508 및 510)들과 상호작용한다. 프로세스(510)는 예를 들어, 단 대 단 매핑(200)을 표현하는 프로세스(506, 508 및 510)에 의해 보고된 정보를 저장하는 데이터베이스를 유지시킬 수 있다.
가상 머신(112)의 운영 체제(116)상에서 구동되는 프로세스(504)는 도 3 및 도 4의 방법(300) 및 방법(400)의 일부분들인 블록(302 및 304)과 방법(400)의 일부분인 블록(402)의 수행에 도움을 주는 정보를 제공한다. 예를 들어, 프로세스(504)는 가상 머신(112)의 아이덴티티에 관한 정보, 가상 저장 디바이스(120)의 아이덴티티에 관한 정보, 및 파일 시스템(118)에 관한 정보를 제공한다. 관리 컴포넌트(114)상에서 구동되는 프로세스(506)는 도 3 및 도 4의 방법(300) 및 방법(400)의 일부분들인 블록(302, 304, 306 및 308)과 방법(400)의 일부분인 블록(402)의 수행에 도움을 주는 정보를 제공한다. 예를 들어, 프로세스(504)는 가상 머신 정의내용부(122)에 관한 정보, 가상 저장 디바이스 정의내용부(124)에 관한 정보, 저장 디바이스(108)의 아이덴티티에 관한 정보, 및 파일 시스템(118)에 관한 정보를 제공한다.
SAN(104)의 SAN 관리 컴포넌트(502)상에서 구동되는 프로세스(508)는 도 3 및 도 4의 방법(300)과 방법(400)의 일부분인 블록(308)의 수행에 도움을 주는 정보를 제공한다. 예를 들어, 프로세스(508)는 저장 볼륨(110)의 아이덴티티에 관한 정보를 제공한다. 프로세스(510)는 따라서 프로세스(504, 506 및 508)에게 도 3 및 도 4의 방법(300)과 방법(400)을 수행하기 위해 프로세스(504, 506 및 508)들과 관련한 정보를 수집하도록 명령한다. 프로세스(510)는 이 정보를 데이터베이스에 저장할 수 있고, 도 2의 단 대 단 매핑(200)을 구성할 수 있고, 또한 구성된 단 대 단 매핑(200)을 데이터베이스에 저장할 수 있다. 이 데이터베이스는 단 대 단 매핑(200)의 특정 상세사항을 알 수 있도록 방법(400)의 일부분인 블록(406)에서 가상 머신(112)의 관리 동안 순차적으로 질의될 수 있다.
대안 방법 및 결론
결론적으로, 도 6은 본 발명의 또다른 실시태양에 따라, 도 2의 단 대 단 매핑(200)을 결정하는 방법(600)을 나타낸다. 이 방법(600)은 도 3 및 도 4의 방법(300) 및 방법(400)과 각각 상이한, 상이한 방식으로 단 대 단 매핑(200)을 결정하는 방법을 시도한다. 이 방법(600)은 도 2의 단 대 단 매핑(200) 상황에서, 그리고 도 1의 시스템(100)의 상황하에서 설명된다.
이 방법은 먼저 도 1의 운영 체제(116)가, 도 4의 방법(400)과 관련하여 상기 설명한 바와 같이, 가상 머신(402)상에서 구동되는 지에 대해 결정한다. 운영 체제(116)가 가상 머신(112)상에서 구동된다는 결정에 응답하여, 상기 방법(600)은 도 2의 단 대 단 매핑(200)을 결정한다(블록 404). 이것은 방법(600)의 일부분들인 블록(602, 604, 606 및 608)을 수행함으로써 달성된다.
첫째, 도 2의 단 대 단 매핑(200)의 가상 머신 파일 시스템부(202)가 결정된다(블록 602). 가상 머신 파일 시스템부(202)는 가상 머신(112)상에서 구동되는 운영 체제(116)의 파일 시스템부(118)의 식별정보를 포함한다. 블록(602)은 한 실시태양에서 도 3의 방법(300) 및 도 4의 방법(400)의 일부분인 블록(302)을 수행함으로써 달성될 수 있다.
도 2의 단 대 단 매핑(200)의 가상 머신 저장 디바이스부(204)와 가상 머신 저장 디바이스 정의내용부(206)는 다음 블록(604)에서 결정된다. 가상 머신 저장 디바이스부(204)는 도 1의 가상 머신(112)의 운영 체제(116)의 파일 시스템(118)내에서 정의된 가상 저장 디바이스(120)의 식별정보를 포함한다. 가상 머신 저장 디바이스 정의내용부(206)는 가상 저장 디바이스 정의내용부(204)를 포함한다. 방법(600)의 일부분인 블록(604)은 한 실시태양에서 도 3의 방법(300) 및 도 4의 방법(400)의의 일부분인 블록(304)을 수행함으로써 구현될 수 있다.
이제 도 2의 단 대 단 매핑(200)의 물리적 컴퓨팅 디바이스 파일 시스템부(208)와 물리적 컴퓨팅 디바이스 저장 디바이스부(210)가 결정된다(블록 606). 물리적 컴퓨팅 디바이스 파일 시스템부(208)는 도 1의 가상 머신(112)이 구동되는 컴퓨팅 디바이스(102)의 파일 시스템(106)의 식별정보를 포함한다. 물리적 컴퓨팅 디바이스 저장 디바이스부(210)는 파일 시스템(106)내부에 정의된 저장 디바이스(108)의 식별정보를 포함한다. 방법(600)의 일부분인 블록(606)은 한 실시태양에서 도 3의 방법(300) 및 도 4의 방법(400)의 일부분인 블록(306)을 수행함으로써 구현될 수 있다.
도 2의 단 대 단 매핑(200)의 저장 영역 또는 저장 어레이 네트워크(SAN) 저장 볼륨부(212)가 마지막으로 결정된다(블록 608). SAN 저장 볼륨부(212)는 도 1의 물리적 컴퓨팅 디바이스(102)의 파일 시스템(106) 내부에 정의된 저장 디바이스를 구현하는 SAN(104)의 저장 볼륨(110)의 식별정보를 포함한다. 방법(600)의 일부분인 블록(608)은 한 실시태양에서 도 3의 방법(300) 및 도 4의 방법(400)의 일부분인 블록(308)을 수행함으로써 구현될 수 있다.
방법(600)은 한 실시태양에서 도 4의 방법(400)과 관련하여 상기 설명한 바와 같이, 블록 406에서 결정된 도 2의 단 대 단 매핑(200)을 사용하여 도 1의 가상 머신(112)을 관리함에 의해 결론을 낸다. 본 명세서에 특정한 실시태양이 예시되고 설명되었지만, 당업자는 동일한 목적을 달성하도록 결정된 배열이 도시된 특정한 실시태양을 대체할 수 있음을 인식할 수 있음을 유의해야 한다. 따라서 본원은 본 발명의 실시태양에 대한 임의의 응용 및 변형을 망라하는 것을 의도한다. 그러므로, 본 발명은 특허청구범위와 이와 등가물인 것에 의해서만 제한된다는 것을 의도한다는 것이 분명하다.
102; 컴퓨팅 디바이스
104; 저장 영역 네트워크
106; 파일 시스템
108; 저장 디바이스
110; 저장 볼륨
112; 가상 머신
114; 관리 컴포넌트
116; 운영 체제
118; 파일 시스템
120; (가상) 저장 디바이스
122; 가상 머신 정의내용부
124; 가상 저장디바이스 정의내용부,
502: SAN 관리 컴포넌트
504, 506, 508, 510; 프로세스

Claims (10)

  1. 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN; storage-array or storage-area network)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법에 있어서,
    상기 가상 머신상에서 구동되는 상기 운영 체제에 의해 보고된 상기 가상 머신을 상기 가상 머신을 관리하는 관리 컴포넌트에 의해 제공된 상기 가상 머신의 정의내용에 매핑시키는 것;
    상기 운영 체제에 의해 보고된 저장 디바이스를 상기 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 상관시키기 위해 상기 가상 저장 디바이스의 저장 인터페이스 타겟 식별자(ID)와 저장 인터페이스 제어기 번호를 사용함으로써, 상기 가상 머신상에서 구동되는 상기 운영 체제에 의해 보고된 상기 저장 디바이스를 상기 가상 머신을 관리하는 상기 관리 컴포넌트에 의해 제공된 상기 가상 저장 디바이스의 정의내용에 매핑시키는 것;
    상기 가상 저장 디바이스의 정의내용을 상기 관리 컴포넌트와 상기 가상 머신이 구동되는 물리적 컴퓨팅 디바이스상의 상기 저장 디바이스에 매핑시키는 것; 및
    상기 물리적 컴퓨팅 디바이스상의 상기 저장 디바이스를 상기 SAN의 저장 볼륨에 매핑시키는 것을 포함하고,
    상기 저장 인터페이스 제어기 번호와 저장 인터페이스 타겟 ID는 일반적으로 동적인 것인, 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법.
  2. 제1항에 있어서, 상기 저장 인터페이스 제어기 번호는 SCSI(small computer system interface) 번호이고, 상기 저장 인터페이스 타겟 ID는 SCSI 타겟 ID인 것인, 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법.
  3. 제1항에 있어서, 상기 단 대 단 매핑은, 가상 머신 저장 디바이스부에 링크된 가상 머신 파일 시스템부, 가상 머신 저장 디바이스 정의내용부에 링크된 상기 가상 머신 저장 디바이스부, 물리적 컴퓨팅 디바이스 파일 시스템부에 링크된 상기 가상 머신 저장 디바이스 정의내용부, 물리적 컴퓨팅 디바이스 저장 디바이스부에 링크된 상기 물리적 컴퓨팅 디바이스 파일 시스템부, SAN 저장 볼륨부에 링크된 상기 물리적 컴퓨팅 디바이스 저장 디바이스부, 및 상기 SAN 저장 볼륨부를 기재 순서대로 포함하는 것인, 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법.
  4. 제1항에 있어서, 상기 운영 체제에 의해 보고된 상기 가상 머신을 상기 관리 컴포넌트에 의해 제공된 상기 가상 머신의 정의내용에 매핑시키는 것은 상기 운영 체제에 의해 보고된 상기 가상 머신을 상기 관리 컴포넌트에 의해 제공된 상기 가상 머신의 정의내용부에 상관시키기 위해 상기 가상 머신의 매체 액세스 제어(MAC) 주소를 사용하는 것을 포함하는 것인, 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법.
  5. 제1항에 있어서, 상기 가상 머신상에서 구동되는 상기 운영 체제로부터 결정되어 있는 상기 SAN의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 사용하여 상기 가상 머신을 관리하는 것을 더 포함하는 것인, 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법.
  6. 제1항에 있어서, 상기 운영 체제가 상기 가상 머신상에서 구동되는 지의 여부를 결정하는 것을 더 포함하고,
    상기 운영 체제가 상기 가상 머신상에서 구동된다는 결정에 응답하여, 상기 방법은 상기 가상 머신상에서 구동되는 상기 운영 체제로부터 상기 SAN의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 것인, 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법.
  7. 가상 머신상에서 구동되는 운영 체제의 파일 시스템으로부터 저장 어레이 또는 저장 영역 네트워크(SAN; storage-array or storage-area network)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법에 있어서,
    상기 단 대 단 매핑의 가상 머신 파일 시스템부를 결정하는 것;
    상기 단 대 단 매핑의 가상 머신 저장 디바이스부와 상기 단 대 단 매핑의 가상 머신 저장 디바이스 정의내용부를 결정하는 것;
    상기 단 대 단 매핑의 물리적 컴퓨팅 디바이스 파일 시스템부와 상기 단 대 단 매핑의 물리적 컴퓨팅 디바이스 저장 디바이스부를 결정하는 것; 및
    상기 단 대 단 매핑의 SAN 저장 볼륨부를 결정하는 것을 포함하며,
    상기 가상 머신 파일 시스템부는 상기 가상 머신상에서 구동되는 상기 운영 체제의 상기 파일 시스템의 식별정보를 포함하고,
    상기 가상 머신 저장 디바이스부는 상기 가상 머신상에서 구동되는 상기 운영 체제의 상기 파일 시스템 내부에 정의된 가상 머신 저장 디바이스의 식별정보를 포함하고, 상기 가상 머신 저장 디바이스 정의내용부는 상기 가상 머신을 관리하는 관리 컴포넌트에 의해 제공된 상기 가상 머신 저장 디바이스의 정의내용을 포함하고,
    상기 물리적 컴퓨팅 디바이스 파일 시스템부는 상기 가상 머신이 구동되는 물리적 컴퓨팅 디바이스의 파일 시스템을 포함하고, 상기 물리적 컴퓨팅 디바이스 저장 디바이스부는 상기 가상 머신이 구동되는 상기 물리적 컴퓨팅 디바이스의 파일 시스템 내부에 정의된 저장 디바이스의 식별정보를 포함하고,
    상기 SAN 저장 볼륨부는 상기 가상 머신이 구동되는 상기 물리적 컴퓨팅 디바이스의 파일 시스템 내부에 정의된 상기 저장 디바이스를 구현하는 SAN의 저장 볼륨부의 식별정보를 포함하며,
    상기 단 대 단 매핑의 상기 가상 머신 저장 디바이스부와 상기 단 대 단 매핑의 상기 가상 머신 저장 디바이스 정의내용부를 결정하는 것은 상기 가상 머신상에서 구동되는 상기 운영 체제에 의해 보고된 저장 디바이스를 상기 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 매핑시키는 것을 포함하고,
    상기 가상 머신상에서 구동되는 상기 운영 체제에 의해 보고된 상기 저장 디바이스를 상기 관리 컴포넌트에 의해 제공된 상기 가상 저장 디바이스의 정의내용에 매핑시키는 것은 상기 운영 체제에 의해 보고된 상기 저장 디바이스를 상기 관리 컴포넌트에 의해 제공된 상기 가상 저장 디바이스의 정의내용에 상관시키기 위해 상기 가상 저장 디바이스의 저장 인터페이스 제어기 번호와 저장 인터페이스 타겟 식별자(ID)를 사용하는 것을 포함하며,
    상기 저장 인터페이스 제어기 번호와 상기 저장 인터페이스 타겟 식별자(ID)는 일반적으로 동적인 것인, 가상 머신상에서 구동되는 운영 체제의 파일 시스템으로부터 저장 어레이 또는 저장 영역 네트워크(SAN)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법.
  8. 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 컴퓨터 프로그램을 저장하고 있는 컴퓨터로 판독가능한 매체로서, 상기 프로세서에 의한 컴퓨터 프로그램의 실행은, 가상 머신상에서 구동되는 운영 체제로부터 저장 어레이 또는 저장 영역 네트워크(SAN; storage-array or storage-area network)의 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 방법의 수행을 초래하는데, 이 방법은,
    운영 체제에 의해 보고된 저장 디바이스를 관리 컴포넌트에 의해 제공된 가상 저장 디바이스의 정의내용에 상관시키기 위해 상기 가상 저장 디바이스의 SCSI(small computer system interface) 제어기 번호와 SCSI 타겟 식별자(ID)를 사용함으로써, 상기 가상 머신상에서 구동되는 상기 운영 체제에 의해 보고된 저장 디바이스를 상기 가상 머신을 관리하는 상기 관리 컴포넌트에 의해 제공된 상기 가상 저장 디바이스의 정의내용에 매핑시키는 것을 포함하는 것인, 하나 이상의 프로세서에 의한 실행을 위해 하나 이상의 컴퓨터 프로그램을 저장하고 있는 컴퓨터로 판독가능한 매체.
  9. 시스템으로서,
    저장 디바이스를 정의하는 파일 시스템을 갖는 물리적 컴퓨팅 디바이스;
    상기 물리적 컴퓨팅 디바이스의 상기 파일 시스템에 의해 정의된 상기 저장 디바이스를 구현하기 위해 SAN 저장 볼륨을 갖는 저장 어레이 또는 저장 영역 네트워크(SAN; storage-array or storage-area network);
    상기 물리적 컴퓨팅 디바이스의 상기 파일 시스템에 의해 정의된 상기 저장 디바이스에 의해구현된 가상 머신 저장 디바이스를 갖는 가상 머신 파일 시스템과 운영 체제를 가지며, 상기 물리적 컴퓨팅 디바이스상에서 구동되는 가상 머신;
    상기 가상 머신 저장 디바이스의 가상 머신 저장 디바이스 정의내용부를 유지하고, 상기 가상 머신을 관리하기 위해 상기 물리적 컴퓨팅 디바이스상에서 구동되는 관리 컴포넌트; 및
    상기 가상 머신상에서 구동되는 상기 운영 체제의 상기 파일 시스템으로부터 SAN의 SAN 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 매커니즘을 포함하는 것인, 시스템.
  10. 시스템으로서,
    저장 디바이스를 정의하는 파일 시스템을 갖는 물리적 컴퓨팅 디바이스;
    상기 물리적 컴퓨팅 디바이스의 상기 파일 시스템에 의해 정의된 상기 저장 디바이스를 구현하기 위해 SAN 저장 볼륨을 갖는 저장 어레이 또는 저장 영역 네트워크(SAN; storage-array or storage-area network);
    상기 물리적 컴퓨팅 디바이스의 상기 파일 시스템에 의해 정의된 상기 저장 디바이스에 의해구현된 가상 머신 저장 디바이스를 갖는 가상 머신 파일 시스템과 운영 체제를 가지며, 상기 물리적 컴퓨팅 디바이스상에서 구동되는 가상 머신;
    상기 가상 머신 저장 디바이스의 가상 머신 저장 디바이스 정의내용부를 유지하고, 상기 가상 머신을 관리하기 위해 상기 물리적 컴퓨팅 디바이스상에서 구동되는 관리 컴포넌트; 및
    상기 가상 머신상에서 구동되는 상기 운영 체제의 상기 파일 시스템으로부터 SAN의 SAN 저장 볼륨으로의 단 대 단(end-to-end) 매핑을 결정하는 수단을 포함하는 것인, 시스템.
KR1020100024706A 2009-04-22 2010-03-19 가상 머신상에서 구동되는 운영 체제로부터 저장 볼륨 또는 저장 어레이 네트워크(san)로의 단 대 단 매핑 KR20100116528A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/428,328 2009-04-22
US12/428,328 US8799894B2 (en) 2009-04-22 2009-04-22 End-to-end mapping from operating system running on virtual machine to storage volume of storage-array network (SAN)

Publications (1)

Publication Number Publication Date
KR20100116528A true KR20100116528A (ko) 2010-11-01

Family

ID=42993256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100024706A KR20100116528A (ko) 2009-04-22 2010-03-19 가상 머신상에서 구동되는 운영 체제로부터 저장 볼륨 또는 저장 어레이 네트워크(san)로의 단 대 단 매핑

Country Status (2)

Country Link
US (1) US8799894B2 (ko)
KR (1) KR20100116528A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9411517B2 (en) * 2010-08-30 2016-08-09 Vmware, Inc. System software interfaces for space-optimized block devices
US9052938B1 (en) * 2014-04-15 2015-06-09 Splunk Inc. Correlation and associated display of virtual machine data and storage performance data
WO2016018446A1 (en) 2014-07-29 2016-02-04 Hewlett-Packard Development Company, L.P. Virtual file server
US10528294B2 (en) * 2016-08-03 2020-01-07 International Business Machines Corporation Provisioning and managing virtual machines from a storage management system
US10705763B2 (en) * 2017-02-10 2020-07-07 International Business Machines Corporation Scale and performance for persistent containers using SCSI second level addressing to map storage volume to host of container environment, wherein said storage volume is scanned at said SCSI second level addressing without rescanning at OS level virtualization

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424529B2 (en) * 1999-12-10 2008-09-09 International Business Machines Corporation System using host bus adapter connection tables and server tables to generate connection topology of servers and controllers
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US9038062B2 (en) 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US7624262B2 (en) * 2006-12-20 2009-11-24 International Business Machines Corporation Apparatus, system, and method for booting using an external disk through a virtual SCSI connection
US9189265B2 (en) 2006-12-21 2015-11-17 Vmware, Inc. Storage architecture for virtual machines
US9098347B2 (en) 2006-12-21 2015-08-04 Vmware Implementation of virtual machine operations using storage system functionality
US8554981B2 (en) 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US8677351B2 (en) * 2007-03-29 2014-03-18 Vmware, Inc. System and method for delivering software update to guest software on virtual machines through a backdoor software communication pipe thereof
US8798056B2 (en) * 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
US8464252B2 (en) * 2009-02-27 2013-06-11 Red Hat, Inc. Per process virtual machines
US8122212B2 (en) * 2009-04-06 2012-02-21 Hitachi, Ltd. Method and apparatus for logical volume management for virtual machine environment

Also Published As

Publication number Publication date
US8799894B2 (en) 2014-08-05
US20100275201A1 (en) 2010-10-28

Similar Documents

Publication Publication Date Title
US10585662B2 (en) Live updates for virtual machine monitor
US10855537B2 (en) Methods and apparatus for template driven infrastructure in virtualized server systems
US11243707B2 (en) Method and system for implementing virtual machine images
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
US8122212B2 (en) Method and apparatus for logical volume management for virtual machine environment
KR101602519B1 (ko) 가상화된 저장소 할당 방법
US8775696B2 (en) Storage area network access for virtual machines
EP2888667B1 (en) Transparent host-side caching of virtual disks located on shared storage
US9104461B2 (en) Hypervisor-based management and migration of services executing within virtual environments based on service dependencies and hardware requirements
US20190334765A1 (en) Apparatuses and methods for site configuration management
US10353730B2 (en) Running a virtual machine on a destination host node in a computer cluster
US20120198448A1 (en) Storage manager for virtual machines with virtual storage
US20120174096A1 (en) Systems and methods to load applications and application data into a virtual machine using hypervisor-attached volumes
US10999266B2 (en) Secret keys management in a virtualized data-center
JP2018503897A (ja) クラウドシステムにおけるリソース管理
AU2007281686A1 (en) System and method for providing hardware virtualization in a virtual machine environment
US10289564B2 (en) Computer and memory region management method
US11461120B2 (en) Methods and apparatus for rack nesting in virtualized server systems
US10754675B2 (en) Identifying entities in a virtualization environment
US11640325B2 (en) Methods and apparatus to allocate hardware in virtualized computing architectures
KR20100116528A (ko) 가상 머신상에서 구동되는 운영 체제로부터 저장 볼륨 또는 저장 어레이 네트워크(san)로의 단 대 단 매핑
US10785294B1 (en) Methods, systems, and computer readable mediums for managing fault tolerance of hardware storage nodes
US10642639B2 (en) Static IP retention for multi-homed VMs on migration
CN107273044B (zh) 逻辑分区自动挂载磁盘的方法、电子设备及存储介质
US20230236863A1 (en) Common volume representation in a cloud computing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee