KR102012604B1 - 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법 - Google Patents

가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법 Download PDF

Info

Publication number
KR102012604B1
KR102012604B1 KR1020180172760A KR20180172760A KR102012604B1 KR 102012604 B1 KR102012604 B1 KR 102012604B1 KR 1020180172760 A KR1020180172760 A KR 1020180172760A KR 20180172760 A KR20180172760 A KR 20180172760A KR 102012604 B1 KR102012604 B1 KR 102012604B1
Authority
KR
South Korea
Prior art keywords
storage device
network
virtual machine
storage
new
Prior art date
Application number
KR1020180172760A
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 건국대학교 산학협력단
Priority to KR1020180172760A priority Critical patent/KR102012604B1/ko
Application granted granted Critical
Publication of KR102012604B1 publication Critical patent/KR102012604B1/ko

Links

Images

Classifications

    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 실시예에 따른 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법이 제공된다. 본 발명의 실시예에 따른 가상화를 위한 확장 가능한 네트워크 연결 저장 장치는, 유선 또는 무선 네트워크와 연결되어 데이터를 분산 저장하도록 구성된 네트워크 연결 저장 장치로서, 상기 네트워크 연결 저장 장치와 물리적으로 분리된 확장 네트워크 연결 저장 장치와 통신을 하도록 구성된 통신부; 상기 데이터를 분산 저장하도록 구성된 저장부; 및 상기 통신부 및 상기 저장부와 동작 가능하게 연결된 프로세서를 포함하고, 상기 프로세서는, 호스트 상에 적어도 하나의 가상 머신을 인스턴스화하고, 상기 적어도 하나의 가상 머신을 제어하도록 구성되며, 상기 인스턴스화된 적어도 하나의 가상 머신은, 상기 분리된 확장 네트워크 연결 저장 장치와의 상기 데이터의 분산 저장을 제어하기 위한 파일 시스템과 상기 네트워크 연결 저장 장치를 제어하기 위한 서비스를 가진다.

Description

가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법{SCALABLE NETWORK CONNECTED STORAGE APPARATUS AND METHOD FOR VIRTUALIZATION}
본 발명은 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법이 제공한다.
디지털 장치의 보급에 따라 음악, 영상, 문서 등과 같은 다양한 컨텐츠들이 디지털 데이터로 제공되고 있으며, 디지털 데이터를 저장하는 저장 장치에 대한 수요도 증가하고 있다. 종래에는 디지털 장치에 내장되거나 유선으로 연결된 저장 장치가 주로 사용되었으나, 최근에는 네트워크 통신을 통해 외부에서도 자유롭게 접속이 가능한 네트워크 연결 저장 장치가 각광을 받고 있다. 네트워크 연결 저장 장치는 데이터 저장을 위한 저장 매체 이외에 중앙 처리 장치(Central Processing Unit; CPU) 및 네트워크 어댑터를 구비하며 네트워크를 통해 접속이 가능한 데이터 서버로 이용된다.
그러나, 네트워크 연결 저장 장치는 하나의 장치가 하나의 서버로 이용되므로, 확장성이 용이하지 않은 단점이 있다. 종래에 네트워크 연결 저장 장치의 저장 용량을 확장하기 위해서는 네트워크 연결 저장 장치에 장착된 물리적 저장 매체를 추가하고, 별도의 설정 과정을 거쳐야만 한다. 특히, 네트워크 연결 저장 장치에서 저장 매체 연결을 위한 랙(rack)이 한정적인 경우, 네트워크 연결 저장 장치의 용량 확장은 제한된다. 예를 들어, 네트워크 연결 저장 장치가 2개의 랙을 갖는 경우, 네트워크 연결 저장 장치에 연결 가능한 저장 매체는 2개로 제한된다.
네트워크 연결 저장 장치의 성능은 네트워크 연결 저장 장치의 하드웨어(hardware) 성능에 의해 결정될 수 있으므로, 데이터 서버의 성능 개선을 위해서는 네트워크 연결 저장 장치를 전부 교체해야 하고, 기존 네트워크 연결 저장 장치에 장착된 저장 매체를 사용하기 위해서는 저장 매체를 교체된 신규 네트워크 연결 저장 장치에 다시 장착해야 하는 불편함이 있다.
네트워크 연결 저장 장치는 많은 수의 새로운 디스크가 추가되거나 네트워크 상에 많은 수의 새로운 저장 장치가 추가 연결되는 경우 각 디스크 또는 각 저장 장치를 설정하기 위한 상당한 비용, 자원 및 시간이 요구될 수 있다.
따라서, 보다 효율적으로 네트워크 연결 저장 장치의 저장 용량을 확장하면서 새롭게 추가되는 디스크 또는 저장 장치에 대한 설정을 편리하게 수행하기 위한 방법이 요구된다.
본 발명이 해결하고자 하는 과제는 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법을 제공하는 것이다.
구체적으로, 본 발명이 해결하고자 하는 과제는 가상 머신 상에 분산 저장 시스템을 배치하여 분산 저장 시스템에 대한 자원 사용의 효율성을 향상시키고, 새로운 디스크 추가 또는 새로운 저장 장치 추가에 의한 저장 용량 확장성을 용이하게 하고, 새로운 디스크 또는 새로운 저장 장치의 설정을 편리하게 수행하기 위한 확장 가능한 네트워크 연결 저장 장치 및 방법을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 실시예에 따른 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법이 제공된다. 본 발명의 실시예에 따른 가상화를 위한 확장 가능한 네트워크 연결 저장 장치는, 유선 또는 무선 네트워크와 연결되어 데이터를 분산 저장하도록 구성된 네트워크 연결 저장 장치로서, 상기 네트워크 연결 저장 장치와 물리적으로 분리된 확장 네트워크 연결 저장 장치와 통신을 하도록 구성된 통신부; 상기 데이터를 분산 저장하도록 구성된 저장부; 및 상기 통신부 및 상기 저장부와 동작 가능하게 연결된 프로세서를 포함하고, 상기 프로세서는, 호스트 상에 적어도 하나의 가상 머신을 인스턴스화하고, 상기 적어도 하나의 가상 머신을 제어하도록 구성되며, 상기 인스턴스화된 적어도 하나의 가상 머신은, 상기 분리된 확장 네트워크 연결 저장 장치와의 상기 데이터의 분산 저장을 제어하기 위한 파일 시스템과 상기 네트워크 연결 저장 장치를 제어하기 위한 서비스를 가진다.
본 발명의 실시예에 따른 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법은, 유선 또는 무선 네트워크와 연결되어 데이터를 분산 저장하도록 구성된 네트워크 연결 저장 장치에서 호스트 상에 적어도 하나의 가상 머신을 인스턴스화하는 단계; 및 상기 적어도 하나의 가상 머신을 제어하는 단계를 포함하고, 상기 인스턴스화된 적어도 하나의 가상 머신은, 상기 분리된 확장 네트워크 연결 저장 장치와의 상기 데이터의 분산 저장을 제어하기 위한 파일 시스템과 상기 네트워크 연결 저장 장치를 제어하기 위한 서비스를 가진다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 네트워크 연결 저장 장치에 적어도 하나의 가상 머신을 인스턴스화하여 인스턴스화된 적어도 하나의 가상 머신을 통해 데이터 분산 저장 및 네트워크 연결 저장 장치의 제어를 수행함으로써, 네트워크 연결 저장 시스템의 확장성을 향상시키고, 새로운 디스크 또는 새로운 저장 장치의 추가에 의한 설정을 편리하게 수행할 수 있다.
또한, 본 발명은 가상 머신 상에 분산 저장 시스템을 배치하여 분산 저장 시스템에 대한 자원 사용의 효율성을 향상시키고, 분산 저장 시스템의 유연성 및 안정성을 제공할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치를 포함하는 네트워크 연결 저장 시스템의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치에 탑재된 논리적/물리적 자원들을 예시적으로 나타내기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 확장성 관리 컴포넌트를 포함하는 확장성 관리 시스템을 설명하기 위한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 초기 도메인 가상 머신을 설명하기 위한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 CnS 노드 가상 머신을 설명하기 위한 블록도이다.
도 7은 본 발명의 일 실시예에 따른 S 노드 가상 머신을 설명하기 위한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 저장 노드 가상 머신을 설명하기 위한 블록도이다.
도 9는 본 발명의 일 실시예에 따른 서비스 노드 가상 머신을 설명하기 위한 블록도이다.
도 10은 본 발명의 일 실시예에 따른 제어 노드 가상 머신을 설명하기 위한 블록도이다.
도 11은 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치의 단일 호스트 상에 적어도 하나의 가상 머신이 배치되는 구성을 설명하기 위한 블록도이다.
도 12는 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치의 멀티 호스트 상에 적어도 하나의 가상 머신이 배치되는 구성을 설명하기 위한 블록도이다.
도 13은 본 발명의 일 실시예에 따른 네트워크 연결 저장 시스템에 추가된 새로운 저장 장치에 적어도 하나의 가상 머신이 배치되는 구성을 설명하기 위한 블록도이다.
도 14는 본 발명의 일 실시예에 따른 확장 가능한 네트워크 연결 저장 장치에서 가상 머신으로 구동되는 방법을 나타내는 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
본 명세서에서 네트워크 연결 저장 시스템은 데이터를 저장하기 위한 저장 매체가 인터넷(internet) 또는 인트라넷(intranet)과 같은 컴퓨터 네트워크에 연결되어 장소에 구속되지 않고 데이터 접근이 가능하도록 구성된 시스템을 의미한다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치를 포함하는 네트워크 연결 저장 시스템의 개략도이다.
도 1을 참조하면, 네트워크 연결 저장 시스템(100)은 게이트웨이(110), 네트워크 연결 저장 장치(120) 및 확장 네트워크 연결 저장 장치(130)를 포함한다.
게이트웨이(110)는 네트워크 연결 저장 장치(120) 및 확장 네트워크 연결 저장 장치(130)와 무선 또는 유선으로 연결되며, 네트워크 연결 저장 장치(120) 및 확장 네트워크 연결 저장 장치(130)를 인터넷 또는 인트라넷과 같은 컴퓨터 네트워크에 연결한다. 이 경우, 사용자는 인터넷 또는 인트라넷에 접속 가능한 휴대용 단말기, 스마트 TV, PC(Personal Computer), 노트북 등과 같은 다양한 컴퓨팅 장치(140)를 통해 네트워크 연결 저장 장치(120) 또는 확장 네트워크 연결 저장 장치(130)에 저장된 데이터에 접근할 수 있다. 예를 들어, 사용자는 네트워크 연결 저장 장치(120) 또는 확장 네트워크 연결 저장 장치(130)에 저장된 영상, 음악 또는 문서 컨텐츠를 컴퓨팅 장치(140)를 통해 시청할 수 있다.
다양한 실시예에서 게이트웨이(110)는 컴퓨팅 장치(140)에 제공되는 컨텐츠를 데이터화하여 네트워크 연결 저장 장치(120) 또는 확장 네트워크 연결 저장 장치(130)에 전송할 수 있다. 예를 들어, 게이트웨이(110)는 컴퓨팅 장치(140)에 전송되는 동영상 또는 음악 컨텐츠 데이터를 패킷(packet) 단위로 분리하여 네트워크 연결 저장 장치(120) 또는 확장 네트워크 연결 저장 장치(130)에 전송할 수 있다.
네트워크 연결 저장 장치(120)는 데이터 저장 서버로서, 적어도 하나의 가상 머신이 인스턴스화되고, 인스턴스화된 적어도 하나의 가상 머신을 통해 확장 네트워크 연결 저장 장치(130)와 데이터를 분산 저장하도록 제어할 수 있다. 예를 들어, 네트워크 연결 저장 장치(120)는 적어도 하나의 가상 머신을 통해 확장 네트워크 연결 저장 장치(130)의 연결을 감지하여 확장 네트워크 연결 저장 장치(130)의 설정을 원격으로 변경할 수 있다.
구체적으로, 네트워크 연결 저장 장치(120)는 네트워크 연결 저장 장치(120)에 새로운 저장부가 장착되면 새로운 저장부의 장치 정보를 획득하고, 획득된 장치 정보를 기반하여 새로운 저장부의 용도를 결정할 수 있다. 여기서, 장치 정보는 새로운 저장부의 종류, 연결 방식, 용량, 읽기 속도, 쓰기 속도 등을 포함할 수 있다. 네트워크 연결 저장 장치(120)는 용도가 결정된 새로운 저장부에 결정된 용도에 대응하는 적어도 하나의 가상 머신을 배치할 수 있다. 적어도 하나의 가상 머신의 배치가 완료되면 네트워크 연결 저장 장치(120)는 새로운 저장부에 기반하여 분산 저장을 위한 시스템 구성을 업데이트하고, 새로운 저장부의 저장 공간을 네트워크 연결 저장 시스템(100)의 분산 저장을 위한 저장 공간에 추가할 수 있다.
다양한 실시예에서 네트워크 연결 저장 시스템(100)에 새로운 확장 네트워크 연결 저장 장치가 연결되면 네트워크 연결 저장 장치(120)는 새로운 확장 네트워크 연결 저장 장치로부터 장치 정보를 수신할 수 있다. 예를 들어, 새로운 확장 네트워크 연결 저장 장치는 도 1의 확장 네트워크 연결 저장 장치(130)일 수 있다. 확장 네트워크 연결 저장 장치(130)의 장치 정보는 확장 네트워크 연결 저장 장치(130)에 장착된 저장부의 종류, 연결 방식, 용량, 읽기 속도, 쓰기 속도 등과 같은 저장부 정보, 확장 네트워크 연결 저장 장치(130)의 CPU 성능, 메모리 용량, 네트워크 어댑터의 성능 등과 같은 성능 정보, 및 확장 네트워크 연결 저장 장치(130)의 IP 주소, 식별자 등과 같은 네트워크 정보를 포함할 수 있다.
네트워크 연결 저장 장치(120)는 수신된 장치 정보에 기반하여 확장 네트워크 연결 저장 장치(130)에 필요한 운영 시스템 및 가상 머신 템플릿을 결정할 수 있다. 네트워크 연결 저장 장치(120)는 결정된 운영 시스템을 복사하고, 결정된 가상 머신 템플릿에 대한 이미지를 생성하여 복사된 운영 시스템 및 가상 머신 템플릿 이미지를 확장 네트워크 연결 저장 장치(130)에 전달할 수 있다. 이와 같이 생성된 가상 머신 템플릿 이미지는 새로운 확장 네트워크 연결 저장 장치의 가상 머신 템플릿으로서 네트워크 연결 저장 장치(120)의 템플릿 저장소에 저장될 수 있다. 이러한 템플릿 저장소는 네트워크 연결 저장 장치(120)의 저장부에 저장될 수 있다. 확장 네트워크 연결 저장 장치(130)에 대한 가상 머신의 부팅이 완료되면 네트워크 연결 저장 장치(120)는 확장 네트워크 연결 저장 장치(130)의 구동 상태 정보를 수집하고, 수집된 구동 상태 정보에 기반하여 분산 저장을 위한 시스템 구성을 업데이트할 수 있다. 네트워크 연결 저장 장치(120)는 확장 네트워크 연결 저장 장치(130)의 저장 공간을 네트워크 연결 저장 시스템(100)의 분산 저장을 위한 저장 공간에 추가할 수 있다.
확장 네트워크 연결 저장 장치(130)는 데이터 저장 서버로서, 네트워크 연결 저장 장치(120)에 의해 적어도 하나의 가상 머신이 인스턴스화되고, 인스턴스화된 적어도 하나의 가상 머신을 통해 네트워크 연결 저장 장치(120)와 데이터를 분산 저장하도록 제어될 수 있다.
구체적으로, 확장 네트워크 연결 저장 장치(130)는 네트워크 연결 저장 시스템(100)에 연결되면 네트워크 연결 저장 장치(120)로 장치 정보를 전달할 수 있다. 네트워크 연결 저장 장치(120)로부터 운영 시스템 및 가상 머신 템플릿 이미지가 수신되면 확장 네트워크 연결 저장 장치(130)는 수신된 운영 시스템 및 가상 머신 템플릿 이미지에 기반하여 가상 머신을 부팅할 수 있다. 이와 같이 가상 머신의 부팅이 완료되면 확장 네트워크 연결 저장 장치(130)는 구동 상태 정보를 네트워크 연결 저장 장치(120)로 전달할 수 있다.
네트워크 연결 저장 장치(120)에 대해서 도 2를 참조하여 보다 상세하게 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치를 설명하기 위한 블록도이다.
도 2를 참조하면, 네트워크 연결 저장 장치(120)는 통신부(122), 저장부(124) 및 프로세서(126)를 포함한다.
통신부(122)는 네트워크 연결 저장 장치(120)가 외부 장치와 통신 가능하도록 연결한다. 통신부(122)는 유선 또는 무선 통신을 이용하여 확장 네트워크 연결 저장 장치(130) 또는 컴퓨팅 장치(140)와 연결될 수 있다. 구체적으로, 통신부(122)는 네트워크 연결 저장 장치(120)와 연결된 확장 네트워크 연결 저장 장치(130)로부터 장치 정보, 성능 정보 또는 네트워크 정보를 수신할 수 있다. 통신부(122)는 컴퓨팅 장치(140)로부터 데이터를 수신할 수 있다.
저장부(124)는 데이터를 저장하기 위한 매체로서, 하드 디스크 드라이브(Hard Disk Drive; HDD), SSD(Solid State Drive), SD(Secure Digital) 카드, CD(Compact Disk), DVD(Digital Video Disc) 등과 같은 다양한 저장 매체로 구성될 수 있다. 상기 저장부(124)는 다이렉트 커넥션(direct connection)을 통해 네트워크 연결 저장 장치(120)의 호스트(host)에 직접 연결될 수 있다.
상기 저장부(124)는 확장 네트워크 연결 저장 장치(130)로부터 수신된 장치 정보, 성능 정보 또는 네트워크 정보를 저장하고, 컴퓨팅 장치(140)로부터 수신된 데이터를 저장할 수 있다.
다양한 실시예에서 저장부(124)는 생성된 가상 머신별 가상 머신 템플릿 이미지를 저장하는 템플릿 저장소를 더 포함할 수 있다.
프로세서(126)는 통신부(122) 및 저장부(124)와 동작 가능하게 연결되며, 적어도 하나의 가상 머신(Virtual Machine, VM)(127) 및 데이터 분산 저장을 위한 분산 처리 시스템(Distributed File System, DFS)(128)이 인스턴스화될 수 있다. 프로세서(126)는 적어도 하나의 가상 머신(127)이 인스턴스화되고, 인스턴스화된 적어도 하나의 가상 머신(127)을 통해 네트워크 연결 저장 장치(120)의 동작을 제어할 수 있다. 프로세서(126)는 적어도 하나의 가상 머신(127) 상에 인스턴스화된 분산 파일 시스템(128)을 이용하여 네트워크 연결 저장 장치(120) 및 확장 네트워크 연결 저장 장치(130)를 하나의 저장 장치로 사용될 수 있도록 데이터 분산 저장을 제어할 수 있다.
프로세서(126)는 분산 처리 시스템(128)을 통해 데이터 분산 저장을 위한 스케일 업(Scale-up) 및 스케일 아웃(Scale-out) 동작을 수행할 수 있다. 여기서, 스케일 업은 네트워크 연결 저장 장치(120) 내에 새로운 저장부를 추가하는 수평 확장을 지원하고, 스케일 아웃은 새로운 확장 네트워크 연결 저장 장치를 추가하는 수직 확장을 지원할 수 있다.
프로세서(126)는 네트워크 연결 저장 장치(120) 내에 새로운 저장부를 감지하고, 감지된 새로운 저장부의 타입 및 위치를 확인할 수 있다. 예를 들어, 프로세서(126)는 디스크 또는 메모리 장착을 감지할 수 있다. 네트워크 연결 저장 장치(120)의 각 구성요소가 가상 머신 내에서 구동되므로, 네트워크 연결 저장 장치(120) 내에 장착된 새로운 저장부는 가상 머신으로 방향 지정(redirect)될 수 있다. 확인된 타입 및 위치에 기반하여 프로세서(126)는 새로운 저장부의 용도를 결정하고, 결정된 용도에 대응하는 적어도 하나의 가상 머신을 새로운 저장부에 배치할 수 있다. 프로세서(126)는 새로운 저장부에 따른 시스템 구성을 업데이트하고, 새로운 저장부의 저장 공간을 네트워크 연결 저장 시스템(100)에 추가할 수 있다. 이를 통해서 네트워크 연결 저장 시스템(100)의 수용량이 증가될 수 있다.
다양한 실시예에서 네트워크 연결 저장 시스템(100)에 확장 네트워크 연결 저장 장치(130)가 추가되면 프로세서(126)는 통신부(122)를 통해서 확장 네트워크 연결 저장 장치(130)로부터 장치 정보를 수신할 수 있다. 프로세서(126)는 수신된 장치 정보에 기반하여 확장 네트워크 연결 저장 장치(130)에 필요한 운영 시스템 및 가상 머신 템플릿을 결정할 수 있다. 프로세서(126)는 결정된 운영 시스템을 복사하고, 결정된 가상 머신 템플릿에 대한 이미지를 생성하여 복사된 운영 시스템 및 가상 머신 템플릿 이미지를 확장 네트워크 연결 저장 장치(130)에 전달할 수 있다. 확장 네트워크 연결 저장 장치(130)에 대한 가상 머신의 부팅이 완료되면 프로세서(126)는 확장 네트워크 연결 저장 장치(130)의 구동 상태 정보를 수집하고, 확장 네트워크 연결 저장 장치(130)에 따른 시스템 구성을 업데이트할 수 있다. 프로세서(126)는 확장 네트워크 연결 저장 장치(130)의 저장 공간을 네트워크 연결 저장 시스템(100)에 추가할 수 있다.
프로세서(126)상에 인스턴스화되는 적어도 하나의 가상 머신(127), 적어도 하나의 가상 머신(127) 상에 인스턴스화되는 분산 파일 시스템(128) 및 그 외 구체적인 논리적/물리적 자원에 대해서 도 3을 참조하여 보다 상세하게 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치에 탑재된 논리적/물리적 자원들을 예시적으로 나타내기 위한 블록도이다. 도 3에 도시된 논리적/물리적 자원들은 도 2에서 상술한 통신부(122), 저장부(124) 및 프로세서(126) 중 적어도 일부에 포함되도록 구현될 수 있다.
도 3을 참조하면, 네트워크 연결 저장 장치(120)는 라우팅(Routing) 파트(300), 서비스(Service) 파트(304), RPC(Remote Procedure Call) 파트(322), 코어(Core) 파트(324), 메시지 큐(Message Queue) 파트(334), 모니터링(monitoring) 파트(336), 분산 파일 시스템(DFS) 파트(346), 제어 O/S(Operating System) 파트(354), 하이퍼바이저(Hypervisor) 파트(358) 및 하드웨어(Hardware) 파트(360)를 포함할 수 있다.
라우팅 파트(300)는 사용자에 의해 컴퓨팅 장치(140)가 네트워크 연결 저장 장치(120)에 연결될 경우 컴퓨팅 장치(140)와 직접적으로 연결될 수 있다. 라우팅 파트(300)는 사용자를 위한 가상 IP(Internet Protocol)로서 동작하는 LVS(Liunx Virtual Server)(302) 상에 구동될 수 있다. 다양한 실시예에서 라우팅 파트(300)는 웹 서비스 리디렉션(web service redirection)을 지원하는 HAproxy 상에서 구동될 수도 있다. 여기서, HAproxy는 선택적으로 포함될 수 있다.
서비스 파트(304)는 네트워크 연결 저장 장치(120)에 대한 파일 공유 서비스(file sharing services) 및 시스템 관리 서비스(system management services)를 제공할 수 있다. 서비스 파트(304)는 System Administration 서비스(306), DFS 서비스(308), SSH(Secure Shell) 서비스(310), FTP(File Transfer Protocol) 서비스(312), TFTP(Trivial FTP) 서비스(314), NFS(Network File System) 서비스(316), SMB(Server Message Block)/CIFS(Common Internet File System) 서비스(318) 및 RSync(Remote Sync) 서비스(320)와 같은 파일 공유 서비스를 지원할 수 있다. 서비스 파트(304)는 System Administration 서비스(306)에 의해 관리 서비스를 지원하고, RPC 파트(322)를 통해 코어 파트(324)와 협력할 수 있다. 상기 서비스 파트(304)는 FDT(Fast Data Transferring Protocol) 서비스를 더 지원할 수 있다.
RPC 파트(322)는 서비스 파트(304)와 코어 파트(324) 간의 통신을 처리할 수 있다. RPC 파트(322)는 System Administration 서비스(306)를 위해 동작하고, 다른 서비스들에 의해 코어 파트(324)로부터 최신 서비스 정보를 획득할 수 있다. 예를 들어, RPC 파트(322)는 PHP 엔진(Hypertext Preprocessor engine) 상에서 구동될 수 있다. System Administration 서비스(306)를 통해 요청이 수신되면 PHP 어플리케이션을 통해 요청이 획득되고, 데이터 획득 또는 설정을 위해 RPC 파트(322)가 코어 파트(324)로 호출될 수 있다.
코어 파트(324)는 네트워크 연결 저장 장치(120)의 시스템 관리를 수행할 수 있다. 코어 파트(324)는 모든 물리적 가상 머신의 전체 시스템 구성 및 상태를 유지할 수 있다. 코어 파트(324)는 확장성 관리 컴포넌트(Scalability Management component)(326), 패키지 관리 컴포넌트(Package Management component)(328), 사용자 관리 컴포넌트(User Management component)(330) 및 네트워크 관리 컴포넌트(Network Management component)(332)를 포함할 수 있다.
확장성 관리 컴포넌트(326)는 스케일 업(scale-up), 스케일 아웃(scale-out), 스케일 다운(scale-down) 및 스케일 인(scale-in)과 같은 물리적 장치 확장성 동작을 처리할 수 있다. 패키지 관리 컴포넌트(328)는 시스템 패키지 설치 및 비설치 기능을 제공할 수 있다. 사용자 관리 컴포넌트(330)는 사용자 계정 관리 및 제어 리스트 접근을 지원할 수 있다. 네트워크 관리 컴포넌트(332)는 물리적 가상 머신의 네트워크 구성을 관리하기 위해 사용될 수 있다. 네트워크 관리 컴포넌트(332)에서 필요한 정보는 ifconfig 명령에 의해 수집될 수 있다.
다양한 실시예에서 코어 파트(324)는 시스템 신뢰성 관리 컴포넌트(System Reliability Management component) 및 데이터 비-거부 관리 컴포넌트(Data non-repudiation Management component)를 더 포함할 수 있다. 시스템 신뢰성 관리 컴포넌트는 최종 사용자가 네트워크 연결 저장 장치(120)를 계속적으로 사용할 수 있도록 유지하기 위해 동작할 수 있다. 패키지 관리 컴포넌트(328), 사용자 관리 컴포넌트(330) 및 네트워크 관리 컴포넌트(332)는 결함 허용(fault tolerant)을 지원하기 위해 시스템 신뢰성 관리 컴포넌트와 동작하도록 최적화될 수 있다. 시스템 신뢰성 관리 컴포넌트는 확장성 관리 컴포넌트(326)와 함께 물리적 장치 정보, 가상 머신 상태 및 소프트웨어 런타임 정보를 획득하기 위해 모니터링 파트(336)와 협동할 수 있다. 데이터 비-거부 관리 컴포넌트는 사용자 파일 동작의 프로프(proof)를 저장 및 제공하도록 지원할 수 있다.
메시지 큐 파트(334)는 로컬 큐(local queue) 및 글로벌 큐(global queue)와 같은 2개의 큐를 포함할 수 있다. 로컬 큐는 로컬적으로(locally) 처리해야 하는 이벤트들을 포함하고, 글로벌 큐는 글로벌 이벤트를 위해 동작될 수 있다. 큐 가용성을 제공하기 위해 글로벌 큐는 모니터링 파트(336)와 함께 배치될 수 있다.
모니터링 파트(336)는 시스템 하드웨어 정보, 소프트웨어 정보 및 하이퍼바이저 정보를 수집할 수 있다. 모니터링 파트(336)는 프로세스 모니터링 컴포넌트(Process Monitoring component)(338), 디스크 모니터링 컴포넌트(Disk Monitoring component)(340), 네트워크 모니터링 컴포넌트(Network Monitoring component)(342) 및 분산 파일 시스템 모니터링 컴포넌트(DFS Monitoring component)(344)를 포함할 수 있다. 프로세스 모니터링 컴포넌트(338)는 네트워크 연결 저장 장치(120)의 런타임 프로세스 정보를 수집할 수 있다. 디스크 모니터링 컴포넌트(340)는 디스크 헬스(health)(또는 상태) 정보를 수집할 수 있다. 예를 들어, 디스크 헬스 정보는 디스크 자가 모니터링 분석 및 리포팅 기술(disk Self-Monitoring Analysis and Reporting Technology, S.M.A.R.T.) 데이터로부터 수집될 수 있다. S.M.A.R.T. 데이터를 통해 디스크 하드웨어 상태 및 사용 정보가 확인되고, 하드웨어 상태 또는 사용이 오버헤드되면 상위 계층 어플리케이션에 경고가 전달될 수 있다. 네트워크 모니터링 컴포넌트(342)는 네트워크 인터페이스를 통해 데이터를 수집할 수 있다. 네트워크 연결 저장 장치(120)가 가상 머신 상에 동작되므로, 네트워크 모니터링 컴포넌트(342)에 의해 수집된 데이터는 가상 머신의 가상 머신 인터페이스를 나타낼 수 있다. 분산 파일 시스템 모니터링 컴포넌트(344)는 분산 파일 시스템(346)의 상태 정보를 수집할 수 있다.
다양한 실시예에서 모니터링 파트(336)는 하이퍼바이저 모니터링 컴포넌트(Hypervisor Monitoring component)를 더 포함하고, 하이퍼바이저 모니터링 컴포넌트는 하이퍼바이저(358)로부터 데이터를 수집할 수 있다. 하이퍼바이저 모니터링 컴포넌트는 하이퍼바이저가 부팅시 동작시키는 초기 도메인(Dom0)에서 동작하고, 하이퍼바이저에 접속할 수 있다.
분산 파일 시스템 파트(346)는 도 2에서 상술한 바와 같이 네트워크 연결 저장 장치(120) 및 확장 네트워크 연결 저장 장치(130)에 데이터를 분산 저장하기 위한 기능을 제공할 수 있다. 상기 분산 파일 시스템 파트(346)는 데이터를 청크 단위로 나누어 네트워크 연결 저장 장치(120) 및 확장 네트워크 연결 저장 장치(130)에 각각 장착된 저장 매체(예: 저장부(124))에 분산 저장하도록 지원할 수 있다.
분산 파일 시스템 파트(346)는 분산 파일 시스템 메타 데이터 관리 컴포넌트(DFS Meta data Management component)(348), 분산 파일 시스템 객체 데이터 관리 컴포넌트(DFS Object Data Management component)(350) 및 분산 파일 시스템 헬스 관리 컴포넌트(DFS Health Management component)(352)를 포함할 수 있다.
분산 파일 시스템 메타 데이터 관리 컴포넌트(348)는 메타 데이터를 관리하고, 분산 파일 시스템 객체 데이터 관리 컴포넌트(350)는 데이터를 객체 수준으로 저장하고 관리하며, 분산 파일 시스템 헬스 관리 컴포넌트(352)는 전체 시스템 상태를 제어할 수 있다.
제어 O/S 파트(354)는 적어도 하나의 가상 머신에 하드웨어(360)의 물리적인 자원을 할당할 수 있다. 이에 따라, 적어도 하나의 가상 머신이 하나의 하드웨어에 탑재되어 가상화되더라도, 주어진 자원에 기초한 예측된 시간 내에 작업이 완료될 수 있어, 실시간성이 구현될 수 있다. 제어 O/S 파트(354)는 커널(Kernel)(356)을 포함할 수 있다. 커널(356)은 디스크 없이 가상 머신을 구동하는 사용자 지정 커널(customized kernel)이 사용되며, 사용자 지정 커널은 Dom0 및 Dom0에 의해서 관리되는 다른 도메인(DomU)에서 사용될 수 있다.
하이퍼바이저 파트(358)는 적어도 하나의 가상 머신을 생성 및 관리하기 위해 도 2의 프로세서(126)에 의해서 실행되는 프로그램일 수 있다. 하이퍼바이저 파트(358)는 하드웨어(360)의 물리적인 자원을 할당하기 위한 적어도 하나의 가상 머신을 생성할 수 있다.
하드웨어 파트(360)는 적어도 하나의 물리적 디스크, 적어도 하나의 물리적 디바이스, 적어도 하나의 물리적 프로세서 및 적어도 하나의 물리적 메모리를 포함할 수 있다. 예를 들어, 하드웨어 파트(360)는 도 2에서 상술한 통신부(122), 저장부(124) 및 프로세서(126) 중 적어도 일부를 포함할 수 있다.
이와 같이 네트워크 연결 저장 장치(120)에 포함되는 컴포넌트들은 라우팅 파트(300), 서비스 파트(304), RPC 파트(322), 코어 파트(324), 메시지 큐 파트(334), 모니터링 파트(336) 및 분산 처리 시스템 파트(346)와 같은 7가지 파트들로 구분될 수 있다. 이 중 코어 파트(324)에 포함되는 확장성 관리 컴포넌트(326)는 자동 확장 기능을 지원하여 새로운 저장부 또는 새로운 확장 네트워크 연결 저장 장치에 대한 추가, 설정 또는 연결을 자동으로 수행할 수 있다. 이와 같이 자동 확장을 위해 확장성 관리 컴포넌트(326) 이외에 모니터링 파트(336) 및 분산 처리 시스템 파트(346)가 함께 동작될 수 있다.
이를 통해서 본 발명은 네트워크 연결 저장 장치(120)의 호스트 상에 배치된 가상 머신 상에 분산 저장 시스템을 배치함으로써, 분산 저장 시스템에 대한 자원 사용의 효율성을 향상시키고, 분산 저장 시스템의 유연성 및 안정성을 제공할 수 있다.
상술한 확장성 관리 컴포넌트(326)의 자동 확장 기능에 대해서 보다 상세하게 도 4를 참조하여 하기에서 설명하도록 한다.
도 4는 본 발명의 실시예에 따른 확장성 관리 컴포넌트를 포함하는 확장성 관리 시스템을 설명하기 위한 블록도이다.
도 4를 참조하면 확장성 관리 시스템(400)은 확장성 관리 컴포넌트(420) 및 시스템 신뢰성 관리 컴포넌트(432)가 포함되는 코어 파트(410), 라우팅 파트(440), 모니터링 파트(450), 제어 O/S 파트(460) 및 DFS 파트(470)를 포함할 수 있다. 도 4의 각 파트 및 컴포넌트는 도 3에서 상술한 동명의 파트 및 컴포넌트와 동일한 동작을 수행할 수 있다.
먼저, 코어 파트(410)의 확장성 관리 컴포넌트(420)는 자동 확장 기능을 지원하는 주요 제어부로서 동작할 수 있다. 확장성 관리 컴포넌트(420)는 네트워크 연결 저장 장치(120)의 저장부 추가 또는 제거, 또는 네트워크 연결 저장 시스템(100)의 확장 네트워크 연결 저장 장치의 추가 또는 제거에 대한 정보를 수집하고, 수집된 정보에 기반하여 스케일 업, 스케일 아웃, 스케일 인 및 스케일 다운 동작을 수행할 수 있다.
확장성 관리 컴포넌트(420)는 하드웨어 사용 모니터(Hardware Usage Monitor)(421), 하드웨어 변경 감지부(Hardware Changing Monitor)(422), 자동 스케일링 매니저(Auto Scaling Manager)(423), 자동 스케일 업 핸들러(Auto Scale-up Handler)(424), 자동 스케일 아웃 핸들러(Auto Scale-out Handler)(425), 자동 스케일 인 핸들러(Auto Scale-in Handler)(426), 자동 스케일 다운 핸들러(Auto Scale-down Handler)(427), 로컬 스토리지 I/O 스케줄러 제어부(Local Storage I/O Scheduler Controller)(428), 다이나믹 시스템 컴포넌트 재구성부(Dynamic System Component Reconfigurator)(429) 및 계층형 스토리지 구성부(Tiered Storage configurator)(430)를 포함할 수 있다.
하드웨어 사용 모니터(421)는 Dom0의 CPU, 디스크 I/O, 메모리 및 네트워크 등과 같은 하드웨어 리소스 사용 정보를 수집할 수 있다. 하드웨어 사용 모니터(421)는 수집된 정보와 기 설정된 임계값을 비교하여 하드웨어 리소스의 혼잡, 대기 및 유후 상태를 확인하고, 이에 대한 정보를 다이나믹 시스템 컴포넌트 재구성부(429)로 제공할 수 있다. 하드웨어 사용 모니터(421)에서 수집된 정보는 자동 스케일 업 및 자동 스케일 다운을 위해 사용될 수 있다.
하드웨어 변경 감지부(422)는 라우팅 파트(440)의 LVS(442)를 통해 IP 할당 요청을 수신하고, IP 할당 요청에 포함된 MAC 주소와, 네트워크 연결 저장 시스템(100)에 포함된 모든 저장 장치(예: 확장 네트워크 연결 저장 장치) 및 가상 머신의 MAC 주소를 비교할 수 있다. 수신된 MAC 주소와 일치하는 MAC 주소가 없으면 하드웨어 변경 감지부(422)는 새로운 저장 장치(예: 새로운 확장 네트워크 연결 저장 장치)를 감지할 수 있다. 하드웨어 변경 감지부(422)는 이와 같이 새로운 저장 장치의 감지에 대응하는 이벤트를 자동 스케일링 매니저(423)로 전달할 수 있다.
자동 스케일링 매니저(423)는 확장성 관리 컴포넌트(410)의 동작을 제어할 수 있다. 모니터링 파트(450)에 의해서 새롭게 추가된 디스크(예: 저장부) 또는 새롭게 추가된 저장 장치가 감지되거나, 제거된 디스크 또는 제거된 저장 장치가 감지되고, 이에 대한 정보가 수집되면 자동 스케일링 매니저(423)는 리소스 사용 오버헤드(resource usage overhead), 리소스 사용 프리(resource usage free) 및 하드웨어 변경(hardware changing) 동작을 실행할 수 있다. 서로 다른 상황에서 자동 스케일링 매니저(423)는 서로 다른 확장 상황을 위한 핸들러를 이용할 수 있다.
자동 스케일 업 핸들러(424)는 메모리 사이즈, 가상 CPU의 수 및 가상 머신의 디스크 공간과 같은 리소스를 증가시킬 수 있다. 로컬 리소스 변경이 감지되고, 리소스 사용이 임계치에 도달하면 자동 스케일 업 핸들러(424)는 디스크 정보에 기반하여 새로운 디스크의 용도를 결정할 수 있다. 예를 들어, 새로운 디스크가 SSD 디스크인 경우 자동 스케일 업 핸들러(424)는 새로운 디스크를 DFS 헬스 관리 컴포넌트(472)를 위한 디스크로 구성할 수 있다. 새로운 디스크가 HDD 디스크인 경우 자동 스케일 업 핸들러(424)는 새로운 디스크를 DFS 객체 데이터 관리 컴포넌트(도 3의 350)의 디스크로 구성할 수 있다.
자동 스케일 아웃 핸들러(425)는 새로운 확장 네트워크 연결 저장 장치에 구동하기 위한 가상 머신 이미지 및 가상 머신을 생성하기 위한 구성 파일을 준비할 수 있다. 스케일 아웃 동작이 수행되는 동안 자동 스케일 아웃 핸들러(425)는 운영 시스템을 설치하기 위해 새로운 확장 네트워크 연결 저장 장치에 임시로 장착된 루트 파일 시스템(root file system) 및 구성 파일과 함께 가상 머신 이미지의 복사를 관리할 수 있다.
자동 스케일 인 핸들러(426)는 네트워크 연결 저장 장치(120)의 디스크가 제거되거나, 네트워크 연결 저장 시스템(100)에서 저장 장치가 제거되면 사용될 수 있다.
자동 스케일 다운 핸들러(427)는 디스크 제거, 메모리 사이즈 감소 및 NIC(Network Interface Controller)의 분리 등과 같이 저장부의 리소스가 감소되면 사용될 수 있다. 자동 스케일 다운 핸들러(427)는 리소스 감소 이유를 확인하고, 리소스 감소 이유가 하드웨어 결함에 의한 리소스 감소로 확인되면 결함 이벤트를 발생시킬 수 있다. 리소스 감소 이유가 전원 절약을 위한 리소스 감소로 확인되면 자동 스케일 다운 핸들러(427)는 감소된 리소스를 이용하여 시스템을 재구성할 수 있다.
로컬 스토리지 I/O 스케줄러 제어부(428)는 I/O 제어부들을 관리할 수 있다. 네트워크 연결 저장 장치(120)의 디스크는 다른 가상 머신들의 공유 없이 DFS 파트(470)와 직접 연결되므로, 각 가상 머신 상의 컴포넌트가 분리된 I/O 스케줄러를 필요로 할 수 있다. 이에, 로컬 스토리지 I/O 스케줄러 제어부(428)는 장치 정보 및 장치 장착 접근(device attach approach)에 기반하여 각 컴포넌트에 따라 서로 다른 I/O 스케줄러를 구성하도록 동작할 수 있다.
다이나믹 시스템 컴포넌트 재구성부(429)는 파일 공유 서비스에 관련된 시스템 구성들을 업데이트하도록 동작할 수 있다. 확장 동작이 시스템 재구성을 필요로 할 경우 다이나믹 시스템 컴포넌트 재구성부(429)는 스케일링 핸들러들의 요청에 기반하여 시스템 구성을 업데이트하도록 감독(oversee)할 수 있다. 다이나믹 시스템 컴포넌트 재구성부(429)는 자동 스케일 아웃을 위해 호스트 이름, MAC 주소, IP 주소, 장치 캐패시티(capacity), 장치 타입 및 가상 머신 정보 등과 같은 시스템 정보를 시스템 맵(system map)과 같은 시스템 구성 저장소에 추가할 수 있다. 자동 스케일 업을 위해 다이나믹 시스템 컴포넌트 재구성부(429)는 시스템 맵의 장치 정보 및 결함 트리 분석 모델(fault tree analysis model)을 업데이트할 수 있다.
계층형 스토리지 구성부(430)는 디스크 관련 확장 과정을 위해서만 동작할 수 있다.
하기에서는 확장성 관리 컴포넌트(420)의 새로운 디스크 추가에 의한 스케일 업 동작을 보다 상세하게 설명하도록 한다.
모니터링 파트(450)의 디스크 모니터링 컴포넌트(452)에 의해 네트워크 연결 저장 장치(120)에 장착된 디스크(예: 저장부(124))에 대한 정보가 수집되면 하드웨어 변경 감지부(422)는 해당 디스크 정보에 기반하여 네트워크 연결 저장 장치(120)에 장착된 디스크의 변경을 감지할 수 있다. 구체적으로, 하드웨어 변경 감지부(422)는 디스크 모니터링 컴포넌트(452)로부터 디스크 정보를 획득하고, 이전 디스크 정보와 획득된 디스크 정보를 비교하여 새로운 디스크 추가 및 디스크 삭제와 같은 로컬 저장 하드웨어 장치의 변경을 감지할 수 있다. 여기서, 디스크 정보는 네트워크 연결 저장 장치(120)에 장착된 디스크 리스트를 포함하고, 디스크 리스트는 노드 ID, 장치 ID, 디스크 타입(예: SSD, HDD 등) 또는 캐패시티(예: 용량) 등을 포함할 수 있다.
새로운 디스크가 감지되면 하드웨어 변경 감지부(422)는 이에 대한 이벤트를 생성하여, 해당 이벤트를 자동 스케일 매니저(423)로 전달할 수 있다. 이러한 이벤트를 수신한 자동 스케일 매니저(423)는 수신된 이벤트에 대응하는 자동 스케일 업 핸들러(424)를 호출할 수 있다. 자동 스케일 업 핸들러(424)는 분산 저장을 위해 새로운 디스크의 초기화 및 준비 동작을 수행할 수 있다.
새로운 디스크의 초기화 및 준비가 완료되면 자동 스케일 매니저(423)는 다이나믹 시스템 컴포넌트 재구성부(429)를 호출하여 제어 O/S(460) 파트의 커널(462)에 대한 새로운 디스크의 시스템 구성을 업데이트하도록 할 수 있다. 다이나믹 시스템 컴포넌트 재구성부(429)는 계층형 스토리지 구성부(430)를 호출하여 DFS 파트(470)의 DFS 헬스 관리 컴포넌트(472)에 대한 새로운 디스크의 DFS 계층형 스토리지 구성을 업데이트하도록 할 수 있다. 다이나믹 시스템 컴포넌트 재구성부(429)는 로컬 스토리지 I/O 스케줄러 제어부(428)를 호출하여 커널(462)에 대한 새로운 디스크의 디스크 I/O 스케줄러를 업데이트하도록 할 수 있다.
구성 업데이트 이후에 자동 스케일링 매니저(423)는 자동 스케일 업 핸들러(424)를 호출하여 분산 처리 시스템에 새로운 디스크를 추가하도록 할 수 있다. 이러한 경우 DFS 파트(470)는 분산 파일 시스템의 저장 공간에 새로운 디스크의 저장 공간을 추가할 수 있다.
다음으로, 확장성 관리 컴포넌트(420)의 새로운 NIC 추가에 의한 스케일 업 동작을 보다 상세하게 설명하도록 한다.
네트워크 모니터링 컴포넌트(454)에 의해 네트워크 연결 저장 장치(120)에 장착된 NIC에 대한 정보가 수집되면 하드웨어 변경 감지부(422)는 해당 NIC 정보에 기반하여 네트워크 연결 저장 장치(120)에 장착된 NIC의 변경을 감지할 수 있다. 구체적으로, 하드웨어 변경 감지부(422)는 네트워크 모니터링 컴포넌트(454)로부터 NIC 정보를 획득하고, 이전 NIC 정보와 획득된 NIC 정보를 비교하여 새로운 NIC 추가 및 NIC 삭제를 감지할 수 있다. 여기서, NIC 정보는 네트워크 연결 저장 장치(120)에 장착된 NIC 리스트를 포함하고, NIC 리스트는 노드 ID, 장치 ID 또는 디스크 타입(예: Gigabit 등) 등을 포함할 수 있다.
새로운 NIC가 감지되면 하드웨어 변경 감지부(422)는 이에 대한 이벤트를 생성하여, 해당 이벤트를 자동 스케일 매니저(423)로 전달할 수 있다. 이러한 이벤트를 수신한 자동 스케일 매니저(423)는 수신된 이벤트에 대응하는 자동 스케일 업 핸들러(424)를 호출할 수 있다. 자동 스케일 업 핸들러(424)는 결합(bonding)을 위한 새로운 NIC의 준비 동작을 수행할 수 있다.
새로운 NIC의 준비가 완료되면 자동 스케일 매니저(423)는 다이나믹 시스템 컴포넌트 재구성부(429)를 호출하여 라우팅 파트(400)의 LVS(442)에 대한 구성을 업데이트하도록 할 수 있다.
다음으로, 확장성 관리 컴포넌트(420)의 새로운 저장 장치 추가에 의한 스케일 아웃 동작을 보다 상세하게 설명하도록 한다. 여기서, 새로운 저장 장치는 네트워크 연결 저장 시스템(100)에 추가되는 새로운 확장 네트워크 연결 저장 장치일 수 있다.
커널(462)에 의해 네트워크 연결 저장 시스템(100)에서 새로운 확장 네트워크 연결 저장 장치가 부팅되어 네트워크 모니터링 컴포넌트(454)에 의해 NIC 정보가 수집되면 하드웨어 변경 감지부(422)는 네트워크 모니터링 컴포넌트(454)로부터 NIC 정보를 획득할 수 있다. 하드웨어 변경 감지부(422)는 이전 NIC 정보가 존재하는지를 확인하여 이전 NIC 정보가 존재하지 않는 경우 획득된 NIC 정보에 기반하여 새로운 NIC를 감지할 수 있다. 새로운 NIC가 감지되면 하드웨어 변경 감지부(422)는 이에 대한 이벤트를 생성하여, 해당 이벤트를 자동 스케일 매니저(423)로 전달할 수 있다. 이러한 이벤트를 수신한 자동 스케일 매니저(423)는 수신된 이벤트에 대응하는 자동 스케일 아웃 핸들러(425)를 호출할 수 있다. 자동 스케일 아웃 핸들러(425)는 새로운 저장 장치에 대한 초기화 및 준비 동작을 수행하도록 할 수 있다.
새로운 저장 장치에 대한 초기화 및 준비 동작이 완료되면 자동 스케일 매니저(423)는 다이나믹 시스템 컴포넌트 재구성부(429)를 호출하여 새로운 저장 장치에 대한 시스템 구성을 업데이트할 수 있다. 예를 들어, 다이나믹 시스템 컴포넌트 재구성부(429)는 계층형 스토리지 구성부(430)를 호출하여 DFS 파트(470)의 DFS 헬스 관리 컴포넌트(472)에 대한 새로운 저장 장치의 DFS 계층형 스토리지 구성을 업데이트하도록 할 수 있다. 다이나믹 시스템 컴포넌트 재구성부(429)는 로컬 스토리지 I/O 스케줄러 제어부(428)를 호출하여 커널(462)에 대한 새로운 저장 장치의 디스크 I/O 스케줄러를 업데이트하도록 할 수 있다. 다이나믹 시스템 컴포넌트 재구성부(429)는 라우팅 파트(440)의 LVS(442)에 대한 새로운 저장 장치의 구성을 업데이트하도록 할 수 있다.
구성 업데이트 이후에 자동 스케일링 매니저(423)는 자동 스케일 아웃 핸들러(424)를 호출하여 분산 처리 시스템에 새로운 저장 장치를 추가하도록 할 수 있다. 이러한 경우 DFS 파트(470)는 분산 파일 시스템의 저장 공간에 새로운 저장 장치의 저장 공간을 추가할 수 있다.
다음으로, 확장성 관리 컴포넌트(420)의 디스크 제거에 의한 스케일 인 동작 및 저장 장치 제거에 의한 스케일 다운 동작은 시스템 신뢰성 관리 컴포넌트(432)에 의해서 수행될 수 있다.
제시된 실시예에서 네트워크 연결 저장 장치(120)는 도 3 및 도 4에서 상술한 서로 다른 파트들의 결합에 의해 서로 다른 많은 가상 머신들을 구현할 수 있다. 예를 들어, 코어 파트(324)의 동일 타입의 컴포넌트들은 서로 다른 가상 머신들 및 물리적 머신들에 배치될 수 있다.
네트워크 연결 저장 장치(120)는 서로 다른 파트들의 배치 또는 결합에 의해 CnS(Control and Storage) 노드 및 S(Storage) 노드와 같은 2개의 기본 가상 머신들과, 초기 도메인 및 3가지 타입의 가상 머신들을 구현할 수 있다. 이와 같이 네트워크 연결 저장 장치(120)에서 구현되는 가상 머신들에 대해서 도 5 내지 도 9를 참조하여 보다 상세하게 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 초기 도메인 가상 머신을 설명하기 위한 블록도이다.
도 5를 참조하면, 초기 도메인(500)은 메시지 큐 파트(510), 모니터링 파트(520) 및 제어 O/S 파트(530)가 배치되도록 구성될 수 있다. 초기 도메인(500)의 모니터링 파트(520)는 다른 가상 머신들을 생성하는 장치들을 제어하기 위한 제어 장치로서 동작하기 위해 프로세스 모니터링 컴포넌트(522), 디스크 모니터링 컴포넌트(524), 네트워크 모니터링 컴포넌트(526) 및 하이퍼바이저 모니터링 컴포넌트(528)를 포함할 수 있다.
도 5의 파트별 각 컴포넌트는 도 3에서 설명한 동명의 각 컴포넌트와 동일한 동작을 수행할 수 있다.
도 6은 본 발명의 일 실시예에 따른 CnS 노드 가상 머신을 설명하기 위한 블록도이다.
도 6을 참조하면, CnS 노드(600)는 라우팅 파트(602), 서비스 파트(606), RPC 파트(626), 코어 파트(630), 메시지 큐 파트(644), 모니터링 파트(646), 분산 파일 시스템 파트(656) 및 제어 O/S 파트(664)가 배치되도록 구성될 수 있다. CnS 노드(600)는 시스템 및 클러스터 구성을 유지하고, 올바른 서비스로 사용자 요청을 전달하기 위한 관리 장치로서 동작할 수 있다. CnS 노드(600)는 제어 및 저장 노드로서 정의되므로, 데이터 서비스 뿐만 아니라 분산 파일 시스템 서비스를 함께 제공할 수 있다.
이를 위해 라우팅 파트(602)는 사용자 요청을 핸들링하기 위한 서비스 로드 밸런스를 결정하는 LVS 컴포넌트(604)를 포함할 수 있다.
서비스 파트(606)는 System Administration 서비스(608), DFS 서비스(610), FDT 서비스(612), SSH 서비스(614), FTP 서비스(616), TFTP 서비스(618), NFS 서비스(620), SMB/CIFS 서비스(622) 및 RSync 서비스(624)를 포함할 수 있다. System Administration 서비스(608)는 증거 질의 서비스(evidence query service)를 지원할 수 있다.
RPC 파트(626)는 서비스 파트(604)와 코어 파트(628) 간의 통신을 지원하기 위해 PHP 컴포넌트(628)가 포함될 수 있다.
코어 파트(630)는 확장성 관리 컴포넌트(632), 시스템 신뢰성 관리 컴포넌트(634), 데이터 비-거부 관리 컴포넌트(636), 패키지 관리 컴포넌트(638), 사용자 관리 컴포넌트(640) 및 네트워크 관리 컴포넌트(642)가 포함될 수 있다.
메시지 큐 파트(644)는 코어 파트(630)에서 필요한 메시지 큐 통신을 지원할 수 있다.
모니터링 파트(646)는 프로세스 모니터링 컴포넌트(648), 디스크 모니터링 컴포넌트(650), 네트워크 모니터링 컴포넌트(652) 및 분산 파일 시스템 모니터링 컴포넌트(654)를 포함할 수 있다. 분산 파일 시스템 모니터링 컴포넌트(654)는 CnS 노드(600)의 분산 파일 시스템 상태를 확인하기 위해 포함될 수 있다.
분산 파일 시스템 파트(656)는 분산 파일 시스템 메타 데이터 관리 컴포넌트(658), 분산 파일 시스템 객체 데이터 관리 컴포넌트(660) 및 분산 파일 시스템 헬스 관리 컴포넌트(662)를 포함할 수 있다.
도 6의 파트별 각 컴포넌트는 도 3에서 설명한 동명의 각 컴포넌트와 동일한 동작을 수행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 S 노드 가상 머신을 설명하기 위한 블록도이다.
도 7을 참조하면, S 노드(700)는 메시지 큐 파트(702), 모니터링 파트(704), 분산 파일 시스템 파트(712) 및 제어 I/O 파트(716)가 배치되도록 구성될 수 있다. S 노드(700)는 기능을 제어하지 않고, 저장 노드로서 동작하는 분산 파일 시스템에 대한 데이터 지원을 수행할 수 있다.
이를 위해 모니터링 파트(704)는 프로세스 모니터링 컴포넌트(706), 디스크 모니터링 컴포넌트(708) 및 네트워크 모니터링 컴포넌트(710)를 포함할 수 있다. 분산 파일 시스템 파트(712)는 분산 파일 시스템 객체 데이터 관리 컴포넌트(714)만을 포함할 수 있다.
도 7의 파트별 각 컴포넌트는 도 3에서 설명한 동명의 각 컴포넌트와 동일한 동작을 수행할 수 있다.
도 8은 본 발명의 일 실시예에 따른 저장 노드 가상 머신을 설명하기 위한 블록도이다.
도 8을 참조하면, 저장 노드(800)는 모니터링 파트(802), 분산 파일 시스템 파트(810) 및 제어 I/O 파트(818)가 배치되도록 구성될 수 있다. 저장 노드(800)는 저장 장치로서 동작을 수행할 수 있다.
이를 위해 모니터링 파트(802)는 프로세스 모니터링 컴포넌트(804), 디스크 모니터링 컴포넌트(806) 및 네트워크 모니터링 컴포넌트(808)를 포함할 수 있다. 분산 파일 시스템 파트(810)는 분산 파일 시스템 메타 데이터 관리 컴포넌트(812), 분산 파일 시스템 객체 데이터 관리 컴포넌트(814) 및 분산 파일 시스템 헬스 관리 컴포넌트(816)를 포함할 수 있다.
도 8의 파트별 각 컴포넌트는 도 3에서 설명한 동명의 각 컴포넌트와 동일한 동작을 수행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 서비스 노드 가상 머신을 설명하기 위한 블록도이다.
도 9를 참조하면, 서비스 노드(900)는 서비스 파트(902), 모니터링 파트(922) 및 제어 O/S 파트(930)가 배치되도록 구성될 수 있다. 서비스 파트(902)를 제외한 다른 파트들은 선택적으로 포함될 수 있다.
서비스 파트(902)는 System Administration 서비스(904), DFS 서비스(906), FDT 서비스(908), SSH 서비스(910), FTP 서비스(912), TFTP 서비스(914), NFS 서비스(916), SMB/CIFS 서비스(918) 및 RSync 서비스(920)를 포함할 수 있다.
모니터링 파트(922)는 가상 머신 상태를 확인하기 위한 프로세스 모니터링 컴포넌트(924) 및 네트워크 모니터링 컴포넌트(928)를 포함하고, 디스크 모니터링 컴포넌트(926)를 포함할 수 있다. 서비스 노드(900)가 디스크 없는 가상 머신으로서 동작되면 디스크 모니터링 컴포넌트(926)는 포함되지 않을 수 있다.
도 9의 파트별 각 컴포넌트는 도 3 또는 도 6에서 설명한 동명의 각 컴포넌트와 동일한 동작을 수행할 수 있다.
도 10은 본 발명의 일 실시예에 따른 제어 노드 가상 머신을 설명하기 위한 블록도이다.
도 10을 참조하면, 제어 노드(1000)는 라우팅 파트(1002), RPC 파트(1004), 코어 파트(1006), 메시지 큐 파트(1020), 모니터링 파트(1022) 및 제어 O/S 파트(1032)가 배치되도록 구성될 수 있다. 제어 노드(1000)는 제어 역할만을 수행할 수 있다.
제어 역할을 위해 코어 파트(1006)는 확장성 관리 컴포넌트(1008), 시스템 신뢰성 관리 컴포넌트(1010), 데이터 비-거부 관리 컴포넌트(1012), 패키지 관리 컴포넌트(1014), 사용자 관리 컴포넌트(1016) 및 네트워크 관리 컴포넌트(1018)를 포함할 수 있다.
모니터링 파트(1022)는 프로세스 모니터링 컴포넌트(1024), 디스크 모니터링 컴포넌트(1026), 네트워크 모니터링 컴포넌트(1028) 및 분산 파일 시스템 모니터링 컴포넌트(1030)를 포함할 수 있다. 제어 노드(1000)는 제어 역할에 집중하므로, 분산 파일 시스템 파트는 포함되지 않을 수 있다.
도 10의 파트별 각 컴포넌트는 도 3에서 설명한 동명의 각 컴포넌트와 동일한 동작을 수행할 수 있다.
하기에서는 네트워크 연결 저장 장치(120)의 단일 호스트 상에 적어도 하나의 가상 머신이 배치되는 실시예, 네트워크 연결 저장 장치(120)의 멀티 호스트 상에 적어도 하나의 가상 머신이 배치되는 실시예 및 네트워크 연결 저장 시스템(100)에 추가된 새로운 저장 장치에 적어도 하나의 가상 머신이 배치되는 실시예에 대해서 도 11 내지 도 13을 참조하여 보다 상세하게 설명하도록 한다.
도 11은 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치의 단일 호스트 상에 적어도 하나의 가상 머신이 배치되는 구성을 설명하기 위한 블록도이다. 도 11의 네트워크 연결 저장 장치(1100)는 도 1의 네트워크 연결 저장 장치(120)일 수 있다.
도 1 및 도 11을 참조하면, 네트워크 연결 저장 장치(1100)는 단일 호스트에 해당하는 하드웨어(1002) 상에 하이퍼바이저(1104)가 배치되고, 하이퍼바이저(1104) 상에 모니터링 파트(1112) 및 제어 O/S 파트(1114)를 포함하는 Dom0(1110) 및 라우팅 파트(1121), 서비스 파트(1122), RPC 파트(1123), 코어 파트(1124), 모니터링 파트(1125), 분산 파일 시스템 파트(1126) 및 제어 O/S 파트(1127)를 포함하는 DomU(1120)가 배치될 수 있다. Dom0(1110)는 DomU(1120)를 제어하고, 하이퍼바이저(1104)에 접근하기 위해 사용될 수 있다. 이를 위해 Dom0(1110)의 모니터링 파트(1112)는 프로세스 모니터링 컴포넌트, 네트워크 모니터링 컴포넌트, 디스크 모니터링 컴포넌트 및 하이퍼바이저 모니터링 컴포넌트를 포함할 수 있다. Dom0(1110)의 네트워크 연결이 종료되면 하이퍼바이저(1104)와의 접속이 종료될 수 있다. 이러한 경우 Dom0(1110)는 DomU(1120)의 복구 및 호스트 제어를 더 이상 지원하지 않을 수 있다.
도 12는 본 발명의 일 실시예에 따른 네트워크 연결 저장 장치의 멀티 호스트 상에 적어도 하나의 가상 머신이 배치되는 구성을 설명하기 위한 블록도이다. 도 12의 네트워크 연결 저장 장치(1200)는 도 1의 네트워크 연결 저장 장치(120)일 수 있다.
도 1 및 도 12를 참조하면, 네트워크 연결 저장 장치(1200)는 멀티 호스트에 해당하는 하드웨어(1202, 1206) 상에 하이퍼바이저(1204, 1208)가 배치되고, 하나의 하이퍼바이저(1204) 상에 모니터링 파트(1212) 및 제어 O/S 파트(1214)를 포함하는 Dom0(1210) 및 라우팅 파트(1221), 서비스 파트(1222), RPC 파트(1223), 코어 파트(1224), 모니터링 파트(1225), 분산 파일 시스템 파트(1226) 및 제어 O/S 파트(1227)를 포함하는 CnS 노드(1220)가 배치될 수 있다. 다른 하나의 하이퍼바이저(1208) 상에는 모니터링 파트(1232), 분산 파일 시스템 파트(1234) 및 제어 O/S 파트(1236)를 포함하는 저장 노드(1230)와, 서비스 파트(1242), 모니터링 파트(1244) 및 제어 O/S 파트(1246)를 포함하는 서비스 노드(1240)가 배치될 수 있다. 특히, Dom0(1210)의 모니터링 파트(1212)는 멀티 호스트 상의 하이퍼바이저(1204, 1208)에 접근하여 하이퍼바이저(1204, 1208)로부터 데이터를 수집하는 하이퍼바이저 모니터링 컴포넌트를 포함할 수 있다. 이를 통해서 Dom0(1210)는 멀티 호스트 상에 배치된 CnS 노드(1220), 저장 노드(1230) 및 서비스 노드(1240)를 제어할 수 있다.
도 13은 본 발명의 일 실시예에 따른 네트워크 연결 저장 시스템에 추가된 새로운 저장 장치에 적어도 하나의 가상 머신이 배치되는 구성을 설명하기 위한 블록도이다. 도 13의 네트워크 연결 저장 장치(1300)는 도 1의 네트워크 연결 저장 장치(120)일 수 있다.
도 1 및 도 13을 참조하면, 네트워크 연결 저장 장치(1300)는 게이트 웨이(110)를 통해 네트워크 연결 저장 시스템(100)에 추가된 확장 네트워크 연결 저장 장치(1360)와 연결될 수 있다. 네트워크 연결 저장 장치(1300)는 도 1의 네트워크 연결 저장 장치(120)와 동일하고, 확장 네트워크 연결 저장 장치(1360)는 도 1의 확장 네트워크 연결 저장 장치(130)와 동일할 수 있다.
네트워크 연결 저장 장치(1300)는 하드웨어(1302) 상에 하이퍼바이저(1304)가 배치되고, 하이퍼바이저(1304) 상에 모니터링 파트(1312) 및 제어 O/S 파트(1314)를 포함하는 Dom0(1310) 및 라우팅 파트(1321), 서비스 파트(1322), RPC 파트(1323), 코어 파트(1324), 모니터링 파트(1325), 분산 파일 시스템 파트(1326) 및 제어 O/S 파트(1327)를 포함하는 CnS 노드(1320)가 배치되도록 구성될 수 있다. 특히, Dom0(1310)의 모니터링 파트(1312)는 호스트 상의 하이퍼바이저(1304)에 접근하여 하이퍼바이저(1304)로부터 데이터를 수집하는 하이퍼바이저 모니터링 컴포넌트를 포함할 수 있다. 이를 통해서 Dom0(1210)는 CnS 노드(1320)를 제어할 수 있다.
확장 네트워크 연결 저장 장치(1360)는 하드웨어(1306) 상에 하이퍼바이저(1308)가 배치되고, 하이퍼바이저(1308) 상에 모니터링 파트(1332) 및 제어 O/S 파트(1334)를 포함하는 Dom0(1330)와, 모니터링 파트(1342), 분산 파일 시스템 파트(1344) 및 제어 O/S 파트(1346)를 포함하는 저장 노드(1340)와, 서비스 파트(1352), 모니터링 파트(1354) 및 제어 O/S 파트(1356)를 포함하는 서비스 노드(1350)가 배치되도록 구성될 수 있다. 특히, Dom0(1330)의 모니터링 파트(1332)는 호스트 상의 하이퍼바이저(1308)에 접근하여 하이퍼바이저(1308)로부터 데이터를 수집하는 하이퍼바이저 모니터링 컴포넌트를 포함할 수 있다. 이를 통해서 Dom0(1330)는 저장 노드(1340) 및 서비스 노드(1350)를 제어할 수 있다.
본 발명은 상술한 바와 같이 배치된 가상 머신 상에 분산 저장 시스템을 배치함으로써, 분산 저장 시스템에 대한 자원 사용의 효율성을 향상시키고, 분산 저장 시스템의 유연성 및 안정성을 제공할 수 있다.
도 14는 본 발명의 일 실시예에 따른 확장 가능한 네트워크 연결 저장 장치에서 가상 머신으로 구동되는 방법을 나타내는 흐름도이다.
도 1 및 도 14를 참조하면, 네트워크 연결 저장 장치(120)는 호스트 상에 적어도 하나의 가상 머신을 인스턴스화하고(S1400), 인스턴스화된 적어도 하나의 가상 머신을 통해 네트워크 연결 저장 장치(120)와 물리적으로 분리된 확장 네트워크 연결 저장 장치(130)와의 데이터 분산 저장을 제어한다(S1410).
이에 대해서 구체적으로, 네트워크 연결 저장 장치(120)는 호스트에 해당하는 하드웨어(예: 로컬 하드웨어 디스크) 상에 가상 머신 인스턴스화를 위한 하이퍼바이저를 배치하고, 하이퍼바이저 상에 적어도 하나의 가상 머신을 배치할 수 있다. 예를 들어, 적어도 하나의 가상 머신은 Dom0 또는 DomU를 포함할 수 있다. Dom0는 모니터링 파트 및 제어 O/S 파트를 포함하고, DomU는 제어 O/S 파트와 함께 역할에 따라 라우팅 파트, 서비스 파트, RPC 파트, 코어 파트, 메시지 큐 파트, 모니터링 파트, 분산 파일 시스템 파트 중 적어도 일부를 포함할 수 있다. DomU는 역할에 따라 CnS 노드, 저장 노드 또는 서비스 노드로서 구성될 수 있다.
네트워크 연결 저장 장치(120)는 네트워크 연결 저장 시스템(100)에 새로운 저장 장치(예: 확장 네트워크 연결 저장 장치(130))가 감지되면 새로운 저장 장치에 대한 정보를 획득하고, 획득된 정보에 기반하여 새로운 저장 장치의 용도를 결정할 수 있다. 네트워크 연결 저장 장치(120)는 결정된 용도에 따라 시스템 구성을 복사하고, 가상 머신 템플릿 이미지를 생성하여 복사된 시스템 구성 정보 및 생성된 가상 머신 템플릿 이미지를 새로운 저장 장치로 전달할 수 있다. 이를 통해서 확장 네트워크 연결 저장 장치(130)는 네트워크 연결 저장 장치(120)와 유사하게 호스트에 해당하는 하드웨어 상에 가상 머신 인스턴스화를 위한 하이퍼바이저를 배치하고, 하이퍼바이저 상에 적어도 하나의 가상 머신을 배치할 수 있다. 이러한 경우 Dom0와 함께 CnS 노드, 저장 노드 또는 서비스 노드를 포함하는 적어도 하나의 가상 머신이 배치될 수 있다. 확장 네트워크 연결 저장 장치(130)에 적어도 하나의 가상 머신의 배치가 완료되면 네트워크 연결 저장 장치(120)는 시스템 구성을 업데이트하고, 업데이트가 완료되면 네트워크 연결 저장 시스템(100)의 저장 공간에 확장 네트워크 연결 저장 장치(130)의 저장 공간이 추가될 수 있다.
다양한 실시예에서 네트워크 연결 저장 장치(120)는 네트워크 연결 저장 장치(120)에 새로운 디스크가 감지되면 감지된 디스크에 대한 정보를 획득하고, 획득된 정보에 기반하여 새로운 디스크의 용도를 결정할 수 있다. 네트워크 연결 저장 장치(120)는 결정된 용도에 따라 새로운 디스크의 하드웨어 상에 하이퍼바이저를 배치하고, 하이퍼바이저 상에 적어도 하나의 가상 머신을 배치할 수 있다. 이때, 배치되는 적어도 하나의 가상 머신은 용도에 따라 Dom0을 제외한 CnS 노드, 저장 노드 또는 서비스 노드가 포함될 수 있다. 가상 머신의 배치가 완료되면 네트워크 연결 저장 장치(120)는 시스템 구성을 업데이트하고, 업데이트가 완료되면 네트워크 연결 저장 시스템(100)의 저장 공간에 새로운 디스크의 저장 공간이 추가될 수 있다.
이를 통해서 본 발명은 네트워크 연결 저장 시스템의 확장성을 향상시키고, 새로운 디스크 또는 새로운 저장 장치의 추가에 의한 설정을 편리하게 수행할 수 있다.
또한, 본 발명은 호스트 상에 배치된 가상 머신 상에 분산 저장 시스템을 배치함으로써, 분산 저장 시스템에 대한 자원 사용의 효율성을 향상시키고, 분산 저장 시스템의 유연성 및 안정성을 제공할 수 있다.
본 발명의 실시예에 따른 장치 및 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 네트워크 연결 저장 시스템
110: 게이트웨이
120: 네트워크 연결 저장 장치
130: 확장 네트워크 연결 저장 장치
140: 컴퓨팅 장치

Claims (18)

  1. 유선 또는 무선 네트워크와 연결되어 데이터를 분산 저장하도록 구성된 네트워크 연결 저장 장치로서,
    상기 네트워크 연결 저장 장치와 물리적으로 분리된 확장 네트워크 연결 저장 장치와 통신을 하도록 구성된 통신부;
    상기 데이터를 분산 저장하도록 구성된 저장부; 및
    상기 통신부 및 상기 저장부와 동작 가능하게 연결된 프로세서를 포함하고,
    상기 프로세서는,
    상기 프로세서 상에 적어도 하나의 가상 머신을 인스턴스화하고,
    상기 적어도 하나의 가상 머신을 제어하도록 구성되며,
    상기 인스턴스화된 적어도 하나의 가상 머신은, 상기 분리된 확장 네트워크 연결 저장 장치와의 상기 데이터의 분산 저장을 제어하기 위한 분산 파일 시스템과 상기 네트워크 연결 저장 장치를 제어하기 위한 서비스를 가지고,
    상기 분산 파일 시스템은, 상기 인스턴스화된 적어도 하나의 가상 머신 상에 배치되고,
    상기 분산 파일 시스템은, 메타 데이터를 관리하는 분산 파일 시스템 메타 데이터 관리 컴포넌트 및 데이터를 객체 수준으로 저장하고 관리하는 분산 파일 시스템 객체 데이터 관리 컴포넌트를 포함하고,
    상기 분리된 확장 네트워크 연결 저장 장치는, 프로세서를 포함하고,
    상기 확장 네트워크 연결 저장 장치의 프로세서는,
    상기 확장 네트워크 연결 저장 장치의 프로세서 상에 적어도 하나의 가상 머신을 인스턴스화하고,
    상기 확장 네트워크 연결 저장 장치의 적어도 하나의 가상 머신을 제어하도록 구성되며,
    상기 확장 네트워크 연결 저장 장치의 적어도 하나의 가상 머신은,
    상기 확장 네트워크 연결 저장 장치의 적어도 하나의 가상 머신에 하드웨어의 물리적인 자원을 할당하는 제어 O/S, 시스템 하드웨어 정보, 소프트웨어 정보 및 하이퍼바이저 정보를 수집하는 모니터링, 및 상기 네트워크 연결 저장 장치와의 상기 데이터의 분산 저장을 제어하기 위한 분산 파일 시스템을 포함하고,
    상기 확장 네트워크 연결 저장 장치의 분산 파일 시스템은, 메타 데이터를 관리하는 분산 파일 시스템 메타 데이터 관리 컴포넌트, 데이터를 객체 수준으로 저장 및 관리하는 분산 파일 시스템 객체 데이터 관리 컴포넌트 및 전체 시스템 상태를 제어하는 분산 파일 시스템 헬스 관리 컴포넌트를 포함하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  2. 제1항에 있어서, 상기 적어도 하나의 가상 머신은,
    초기 도메인(Dom0), CnS (Control and Storage) 노드, 저장(Storage) 노드 및 서비스(service) 노드 중 적어도 하나를 포함하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  3. 제1항에 있어서, 상기 네트워크 연결 저장 장치는, 게이트웨이를 통해 상기 확장 네트워크 연결 저장 장치와 연결되고,
    상기 프로세서는, 상기 게이트웨이를 통해 적어도 하나의 확장 네트워크 연결 저장 장치에 대한 장치 리스트 정보를 수신하고, 상기 수신된 장치 리스트 정보에 기반하여 새로운 확장 네트워크 연결 저장 장치를 감지하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  4. 제3항에 있어서, 상기 프로세서는,
    기 저장된 장치 리스트 정보와 상기 수신된 장치 리스트 정보를 비교하여 상기 새로운 확장 네트워크 연결 저장 장치를 감지하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  5. 제1항에 있어서, 상기 프로세서는,
    상기 확장 네트워크 연결 저장 장치에 상기 적어도 하나의 가상 머신을 인스턴스화하기 위해 상기 확장 네트워크 연결 저장 장치로부터 장치 정보를 수신하고, 상기 수신된 장치 정보에 기반하여 상기 확장 네트워크 연결 저장 장치의 용도를 결정하고, 상기 결정된 용도에 대응하는 시스템 구성 정보를 복사하고, 상기 결정된 용도에 대응하는 가상 머신 템플릿 이미지를 생성하여 상기 복사된 시스템 구성 정보 및 상기 생성된 가상 머신 템플릿 이미지를 상기 확장 네트워크 연결 저장 장치로 전달하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  6. 제5항에 있어서, 상기 프로세서는,
    상기 확장 네트워크 연결 저장 장치에 상기 적어도 하나의 가상 머신이 인스턴스화되면 상기 확장 네트워크 연결 저장 장치에 기반하여 상기 분산 저장을 위한 시스템 구성을 업데이트하고, 상기 확장 네트워크 연결 저장 장치의 저장 공간을 상기 네트워크 연결 저장 장치가 포함된 네트워크 연결 저장 시스템의 상기 분산 저장을 위한 저장 공간에 추가하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  7. 제1항에 있어서, 상기 프로세서는,
    상기 네트워크 연결 저장 장치의 새로운 저장부를 감지하고, 상기 감지된 새로운 저장부에 대한 장치 정보를 획득하고, 상기 획득된 장치 정보에 기반하여 상기 새로운 저장부의 용도를 결정하고, 상기 결정된 용도에 대응하는 적어도 하나의 가상 머신을 상기 새로운 저장부에 인스턴스화하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  8. 제7항에 있어서, 상기 프로세서는,
    상기 네트워크 연결 저장 장치에 장착된 장치 리스트에 대한 장치 리스트 정보를 수집하고, 기 저장된 장치 리스트 정보와 상기 수집된 장치 리스트 정보를 비교하여 상기 새로운 저장부를 감지하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  9. 제7항에 있어서, 상기 프로세서는,
    상기 새로운 저장부에 상기 적어도 하나의 가상 머신이 인스턴스화되면 상기 새로운 저장부에 기반하여 상기 분산 저장을 위한 시스템 구성을 업데이트하고, 상기 새로운 저장부의 저장 공간을 상기 네트워크 연결 저장 장치가 포함된 네트워크 연결 저장 시스템의 상기 분산 저장을 위한 저장 공간에 추가하는, 가상화를 위한 확장 가능한 네트워크 연결 저장 장치.
  10. 유선 또는 무선 네트워크와 연결되어 데이터를 분산 저장하도록 구성된 네트워크 연결 저장 장치에서 프로세서 상에 적어도 하나의 가상 머신을 인스턴스화하는 단계; 및
    상기 적어도 하나의 가상 머신을 제어하는 단계를 포함하고,
    상기 인스턴스화된 적어도 하나의 가상 머신은, 상기 네트워크 연결 저장 장치와 물리적으로 분리된 확장 네트워크 연결 저장 장치와의 상기 데이터의 분산 저장을 제어하기 위한 분산 파일 시스템과 상기 네트워크 연결 저장 장치를 제어하기 위한 서비스를 가지고,
    상기 분산 파일 시스템은, 상기 인스턴스화된 적어도 하나의 가상 머신 상에 배치되고,
    상기 분산 파일 시스템은, 메타 데이터를 관리하는 분산 파일 시스템 메타 데이터 관리 컴포넌트 및 데이터를 객체 수준으로 저장하고 관리하는 분산 파일 시스템 객체 데이터 관리 컴포넌트를 포함하고,
    상기 분리된 확장 네트워크 연결 저장 장치는, 상기 분리된 확장 네트워크 연결 저장 장치의 프로세서 상에 적어도 하나의 가상 머신을 인스턴스화하고, 상기 확장 네트워크 연결 저장 장치의 적어도 하나의 가상 머신을 제어하도록 구성되며,
    상기 확장 네트워크 연결 저장 장치의 적어도 하나의 가상 머신은,
    상기 확장 네트워크 연결 저장 장치의 적어도 하나의 가상 머신에 하드웨어의 물리적인 자원을 할당하는 제어 O/S, 시스템 하드웨어 정보, 소프트웨어 정보 및 하이퍼바이저 정보를 수집하는 모니터링, 및 상기 네트워크 연결 저장 장치와의 상기 데이터의 분산 저장을 제어하기 위한 분산 파일 시스템을 포함하고,
    상기 확장 네트워크 연결 저장 장치의 분산 파일 시스템은, 메타 데이터를 관리하는 분산 파일 시스템 메타 데이터 관리 컴포넌트, 데이터를 객체 수준으로 저장 및 관리하는 분산 파일 시스템 객체 데이터 관리 컴포넌트 및 전체 시스템 상태를 제어하는 분산 파일 시스템 헬스 관리 컴포넌트를 포함하는, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
  11. 제10항에 있어서, 상기 적어도 하나의 가상 머신은,
    초기 도메인(Dom0), CnS (Control and Storage) 노드, 저장(Storage) 노드 및 서비스(service) 노드 중 적어도 하나를 포함하는, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
  12. 제10항에 있어서, 상기 네트워크 연결 저장 장치는, 게이트웨이를 통해 상기 확장 네트워크 연결 저장 장치와 연결되고,
    상기 게이트웨이를 통해 적어도 하나의 확장 네트워크 연결 저장 장치에 대한 장치 리스트 정보를 수신하는 단계; 및
    상기 수신된 장치 리스트 정보에 기반하여 새로운 확장 네트워크 연결 저장 장치를 감지하는 단계를 더 포함하는, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
  13. 제12항에 있어서, 상기 새로운 확장 네트워크 연결 저장 장치를 감지하는 단계는,
    기 저장된 장치 리스트 정보와 상기 수신된 장치 리스트 정보를 비교하여 상기 새로운 확장 네트워크 연결 저장 장치를 감지하는 단계인, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
  14. 제10항에 있어서,
    상기 확장 네트워크 연결 저장 장치에 상기 적어도 하나의 가상 머신을 인스턴스화하기 위해 상기 확장 네트워크 연결 저장 장치로부터 장치 정보를 수신하는 단계;
    상기 수신된 장치 정보에 기반하여 상기 확장 네트워크 연결 저장 장치의 용도를 결정하는 단계;
    상기 결정된 용도에 대응하는 시스템 구성 정보를 복사하고, 상기 결정된 용도에 대응하는 가상 머신 템플릿 이미지를 생성하는 단계; 및
    상기 복사된 시스템 구성 정보 및 상기 생성된 가상 머신 템플릿 이미지를 상기 확장 네트워크 연결 저장 장치로 전달하는 단계를 더 포함하는, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
  15. 제14항에 있어서,
    상기 확장 네트워크 연결 저장 장치에 상기 적어도 하나의 가상 머신이 인스턴스화되면 상기 확장 네트워크 연결 저장 장치에 기반하여 상기 분산 저장을 위한 시스템 구성을 업데이트하는 단계; 및
    상기 확장 네트워크 연결 저장 장치의 저장 공간을 상기 네트워크 연결 저장 장치가 포함된 네트워크 연결 저장 시스템의 상기 분산 저장을 위한 저장 공간에 추가하는 단계를 더 포함하는, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
  16. 제10항에 있어서,
    상기 네트워크 연결 저장 장치의 새로운 저장부를 감지하는 단계;
    상기 감지된 새로운 저장부에 대한 장치 정보를 획득하는 단계;
    상기 획득된 장치 정보에 기반하여 상기 새로운 저장부의 용도를 결정하는 단계; 및
    상기 결정된 용도에 대응하는 적어도 하나의 가상 머신을 상기 새로운 저장부에 인스턴스화하는 단계를 더 포함하는, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
  17. 제16항에 있어서, 상기 새로운 저장부를 감지하는 단계는,
    상기 네트워크 연결 저장 장치에 장착된 장치 리스트에 대한 장치 리스트 정보를 수집하는 단계; 및
    기 저장된 장치 리스트 정보와 상기 수집된 장치 리스트 정보를 비교하여 상기 새로운 저장부를 감지하는 단계를 포함하는, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
  18. 제16항에 있어서,
    상기 새로운 저장부에 상기 적어도 하나의 가상 머신이 인스턴스화되면 상기 새로운 저장부에 기반하여 상기 분산 저장을 위한 시스템 구성을 업데이트하는 단계; 및
    상기 새로운 저장부의 저장 공간을 상기 네트워크 연결 저장 장치가 포함된 네트워크 연결 저장 시스템의 상기 분산 저장을 위한 저장 공간에 추가하는 단계를 더 포함하는, 확장 가능한 네트워크 연결 저장 장치에서 가상화를 위한 방법.
KR1020180172760A 2018-12-28 2018-12-28 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법 KR102012604B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180172760A KR102012604B1 (ko) 2018-12-28 2018-12-28 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180172760A KR102012604B1 (ko) 2018-12-28 2018-12-28 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102012604B1 true KR102012604B1 (ko) 2019-10-21

Family

ID=68460103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180172760A KR102012604B1 (ko) 2018-12-28 2018-12-28 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102012604B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140101371A (ko) * 2011-12-15 2014-08-19 마이크로소프트 코포레이션 분산형 애플리케이션 객체에 대한 업데이트 통지를 제공하는 기법
US20150058555A1 (en) * 2013-08-26 2015-02-26 Vmware, Inc. Virtual Disk Blueprints for a Virtualized Storage Area Network
KR20170105946A (ko) * 2016-03-11 2017-09-20 건국대학교 산학협력단 네트워크 연결 저장 장치, 이를 포함하는 네트워크 연결 저장 시스템, 네트워크 연결 저장 장치의 저장 노드 확장 검출 방법 및 네트워크 연결 저장 장치의 저장 매체 확장 검출 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140101371A (ko) * 2011-12-15 2014-08-19 마이크로소프트 코포레이션 분산형 애플리케이션 객체에 대한 업데이트 통지를 제공하는 기법
US20150058555A1 (en) * 2013-08-26 2015-02-26 Vmware, Inc. Virtual Disk Blueprints for a Virtualized Storage Area Network
KR20170105946A (ko) * 2016-03-11 2017-09-20 건국대학교 산학협력단 네트워크 연결 저장 장치, 이를 포함하는 네트워크 연결 저장 시스템, 네트워크 연결 저장 장치의 저장 노드 확장 검출 방법 및 네트워크 연결 저장 장치의 저장 매체 확장 검출 방법

Similar Documents

Publication Publication Date Title
US8473692B2 (en) Operating system image management
US10298670B2 (en) Real time cloud workload streaming
US10855537B2 (en) Methods and apparatus for template driven infrastructure in virtualized server systems
US8819190B2 (en) Management of file images in a virtual environment
US9575894B1 (en) Application aware cache coherency
US7725559B2 (en) Virtual data center that allocates and manages system resources across multiple nodes
US8959323B2 (en) Remote restarting client logical partition on a target virtual input/output server using hibernation data in a cluster aware data processing system
US10365935B1 (en) Automated system and method to customize and install virtual machine configurations for hosting in a hosting environment
US8434081B2 (en) Storage manager for virtual machines with virtual storage
US20190334765A1 (en) Apparatuses and methods for site configuration management
EP3699761A1 (en) Real time cloud bursting
US20120005672A1 (en) Image management for virtual machine instances and associated virtual storage
JP5708937B2 (ja) 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
US20070067366A1 (en) Scalable partition memory mapping system
US20120151095A1 (en) Enforcing logical unit (lu) persistent reservations upon a shared virtual storage device
KR20160025606A (ko) 데이터 프로세싱
US11461120B2 (en) Methods and apparatus for rack nesting in virtualized server systems
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP6421470B2 (ja) 仮想マシンマイグレーションプログラム、仮想マシンマイグレーションシステムおよび仮想マシンマイグレーション方法
US8661089B2 (en) VIOS cluster alert framework
US11609831B2 (en) Virtual machine configuration update technique in a disaster recovery environment
KR102012604B1 (ko) 가상화를 위한 확장 가능한 네트워크 연결 저장 장치 및 방법
US10929168B2 (en) Enhanced data storage and versioning of virtual nodes in a data processing environment
US12038872B2 (en) Apparatus and method for managing in-memory container storage
US20240143460A1 (en) Managing reference snapshots across multiple sites for efficient failover/failback