KR20140140719A - 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법 - Google Patents

가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법 Download PDF

Info

Publication number
KR20140140719A
KR20140140719A KR20130061429A KR20130061429A KR20140140719A KR 20140140719 A KR20140140719 A KR 20140140719A KR 20130061429 A KR20130061429 A KR 20130061429A KR 20130061429 A KR20130061429 A KR 20130061429A KR 20140140719 A KR20140140719 A KR 20140140719A
Authority
KR
South Korea
Prior art keywords
virtual machine
main
host
failure
standby
Prior art date
Application number
KR20130061429A
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 KR20130061429A priority Critical patent/KR20140140719A/ko
Publication of KR20140140719A publication Critical patent/KR20140140719A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법이 개시된다. 본 발명의 일 실시예에 따른 가상 머신 동기화 시스템은, 주 가상 머신 및 상기 주 가상 머신과 동일한 구성을 가지며 초기 상태로 유지되는 대기 가상 머신을 포함하는 주 호스트; 및 상기 주 가상 머신과 동기화되는 보조 가상 머신을 포함하는 보조 호스트를 포함하며, 상기 주 호스트는, 상기 주 호스트의 장애 발생을 감지하고, 감지된 상기 주 호스트의 장애 유형에 따라 상기 대기 가상 머신 또는 상기 보조 가상 머신을 이용하여 상기 주 가상 머신을 대체한다.

Description

가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법{APPARATUS AND SYSTEM FOR SYNCHRONIZING VIRTUAL MACHINE AND METHOD FOR HANDLING FAULT USING THE SAME}
본 발명의 실시예는 가상 머신 기반의 장애 허용 시스템(Fault Tolerant System) 기술과 관련된다.
장애 허용 시스템(Fault Tolerant System)이란, 현재 서비스 중인 시스템과 같은 상태로 동기화 된 예비 시스템을 구비하여 두었다가, 주 시스템의 일부 또는 전부에 장애가 발생할 경우 곧바로 예시 시스템에서 서비스를 재개함으로써 장애 발생에도 불구하고 중단 없는 서비스를 가능하게 하는 시스템을 의미한다.
이와 같은 장애 허용 시스템은 크게 하드웨어 기반 시스템 및 가상 머신 기반 시스템으로 구분할 수 있다. 이 중 하드웨어 기반 장애 허용 시스템의 경우 물리적으로 구분되는 두 대의 서버를 이용한 시스템으로서, 두 대의 물리 서버를 완벽하게 같은 상태로 동기화하기 위하여 고가의 FT(Fault Tolerant) 장비 및 복잡한 설정을 요구하는 클러스터링 소프트웨어(Oracle RAC) 솔루션을 필요로 하는 문제가 있었다.
가상 머신 기반 장애 허용 시스템의 경우, 두 개의 가상 머신 인스턴스를 각각 다른 물리 머신 상에 생성하고, 두 가상 머신의 상태를 완벽히 동기화시킴으로써, 이후 하나의 가상 머신에 장애 발생 시 다른 가상 머신으로 서비스를 계속하여 수행하도록 구성된다. 이와 같은 가상 머신 기반의 시스템은 고가의 하드웨어 FT 장비를 구비하지 않아도 되며, 복잡한 클러스터링 소프트웨어 설정 과정 또한 필요하지 않으므로 하드웨어 기반 시스템보다 경제적이고 휴먼 에러의 발생 가능성 또한 낮아지는 장점이 있다.
그러나 이와 같은 종래의 장애 허용 시스템은 동작 중인 가상 머신 또는 물리 머신에 어플리케이션 오류(즉, 소프트웨어 오류)가 발생하는 경우, 오류가 발생한 어플리케이션 정보까지 다른 가상 머신에 동기화 되므로, 두 개의 가상 머신 모두가 장애 상태에 빠지게 되어 장애 대처 자체가 불가능해지는 문제점이 있게 된다. 예를 들어, 하드웨어에 이상이 없는 상태에서 소프트웨어의 버그나 예측할 수 없는 오동작으로 인한 논리적인 오류가 발생한 경우, 종래의 가상 머신 동기화 방법은 소프트웨어 오류를 판단하지 못하고 두 개의 가상 머신을 동기화한다. 이는 결국 두 개의 가상 머신에 모두 오류를 발생시켜 결국 장애에 의한 서비스 중단을 일으키게 되는 문제점이 있다.
본 발명의 실시예들은 발생한 오류의 종류에 따른 최적의 대응이 가능한 가상 머신 동기화 장치 및 이를 이용한 장애 처리 방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 가상 머신 동기화 시스템은, 주 가상 머신 및 상기 주 가상 머신과 동일한 구성을 가지며 초기 상태로 유지되는 대기 가상 머신을 포함하는 주 호스트; 및 상기 주 가상 머신과 동기화되는 보조 가상 머신을 포함하는 보조 호스트를 포함하며, 상기 주 호스트는, 상기 주 호스트의 장애 발생을 감지하고, 감지된 상기 주 호스트의 장애 유형에 따라 상기 대기 가상 머신 또는 상기 보조 가상 머신을 이용하여 상기 주 가상 머신을 대체한다.
상기 주 호스트는, 상기 주 가상 머신의 운영 정보를 저장하는 공유 스토리지;상기 주 가상 머신의 어플리케이션 상태 정보를 수집하는 어플리케이션 모니터부;상기 주 호스트의 하드웨어 상태 정보를 수집하는 하드웨어 모니터부; 및상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 분석하여 상기 주 호스트의 장애 여부 및 장애 유형을 판단하고, 상기 장애 유형에 따라 상기 대기 가상 머신 또는 상기 보조 가상 머신으로 상기 주 가상 머신을 대체하여 장애를 처리하는 장애 처리부를 포함할 수 있다.
상기 장애 처리부는, 상기 어플리케이션 모니터부 및 상기 하드웨어 모니터부로부터 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 수신하고, 수신한 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보에 위치 정보를 추가하는 상태 정보 수신부; 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 이용하여 상기 주 호스트의 장애 여부를 판단하고, 상기 주 호스트의 장애 발생 시 상기 위치 정보를 통해 상기 주 호스트의 장애 유형을 판단하는 장애 판단부; 및 상기 장애 유형에 따라 상기 대기 가상 머신 또는 상기 보조 가상 머신을 주 가상 머신으로 스위치 오버하는 스위치 오버부를 포함할 수 있다.
상기 스위치 오버부는, 상기 장애 유형이 소프트웨어 장애인 경우 상기 대기 가상 머신을 주 가상 머신으로 스위치 오버할 수 있다.
상기 주 호스트는, 상기 공유 스토리지에 저장된 상기 주 가상 머신의 운영 정보를 이용하여 상기 초기 상태의 대기 가상 머신을 상기 소프트웨어 장애 발생 이전의 상기 주 가상 머신의 운영 상태로 설정할 수 있다.
상기 주 호스트는, 상기 스위치 오버 수행 이후, 주 가상 머신으로 스위치 오버된 상기 대기 가상 머신과 상기 보조 가상 머신을 동기화시킬 수 있다.
상기 스위치 오버부는, 상기 장애 유형이 하드웨어 장애인 경우 상기 보조 가상 머신을 주 가상 머신으로 스위치 오버할 수 있다.
상기 가상 머신 동기화 시스템은, 상기 주 가상 머신으로 스위치 오버된 보조 가상 머신과 동기화되는 다른 보조 가상 머신을 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 가상 머신 동기화 장치는, 주 가상 머신; 상기 주 가상 머신과 동일한 구성을 가지고 초기 상태로 유지되는 대기 가상 머신; 및 상기 주 가상 머신의 상기 주 호스트의 장애 발생을 감지하고, 감지된 상기 주 호스트의 소프트웨어 장애 시 상기 대기 가상 머신으로 상기 주 가상 머신을 대체하는 장애 처리부를 포함한다.
상기 가상 머신 동기화 장치는, 상기 주 가상 머신의 운영 정보를 저장하는 공유 스토리지; 및 상기 주 가상 머신의 어플리케이션 상태 정보를 수집하는 어플리케이션 모니터부를 더 포함할 수 있다.
상기 장애 처리부는, 상기 어플리케이션 모니터부로부터 상기 어플리케이션 상태 정보를 수신하여 상기 소프트웨어 장애를 판단하며, 상기 소프트웨어 장애 시 상기 대기 가상 머신으로 상기 주 가상 머신을 대체할 수 있다.
상기 장애 처리부는, 상기 소프트웨어 장애 시, 상기 대기 가상 머신에 마운트된 상기 주 가상 머신의 운영 정보를 이용하여 상기 초기 상태의 대기 가상 머신을 상기 소프트웨어 장애 발생 이전의 상기 주 가상 머신의 운영 상태로 세팅할 수 있다.
상기 가상 머신 동기화 장치는, 상기 가상 머신 동기화 장치의 하드웨어 상태 정보를 수집하는 하드웨어 모니터부를 더 포함하고, 상기 장애 처리부는, 상기 하드웨어 모니터부로부터 상기 하드웨어 상태 정보를 수신하여 상기 가상 머신 동기화 장치의 하드웨어 장애를 판단하며, 상기 하드웨어 장애 시 상기 주 가상 머신과 동기화된 보조 가상 머신으로 상기 주 가상 머신을 대체할 수 있다.
본 발명의 일 실시예에 따른 장애 처리 방법은, 주 호스트의 하이퍼바이저가 어플리케이션 상태 정보 및 하드웨어 상태 정보로부터 상기 주 호스트의 장애 여부 및 장애 유형을 판단하는 단계; 및 상기 주 호스트의 하이퍼바이저가 상기 주 호스트의 상기 주 호스트의 장애 발생을 감지하고, 감지된 장애 유형에 따라 상기 주 호스트에 생성된 대기 가상 머신 또는 보조 호스트에 생성된 보조 가상 머신을 이용하여 상기 주 호스트의 주 가상 머신을 대체하는 단계를 포함한다.
상기 주 호스트의 장애 여부 및 장애 유형을 판단하는 단계는, 어플리케이션 모니터부 및 하드웨어 모니터부로부터 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 각각 수신하는 단계; 수신한 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보에 위치 정보를 추가하는 단계; 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 분석하여 상기 주 호스트의 장애 여부를 판단하는 단계; 및 상기 주 호스트의 장애 발생 시 상기 위치 정보를 통해 상기 주 호스트의 장애 유형을 판단하는 단계를 포함할 수 있다.
상기 주 호스트의 주 가상 머신을 대체하는 단계는, 상기 장애 유형이 소프트웨어 장애인 경우, 상기 주 호스트의 하이퍼바이저가 상기 대기 가상 머신으로 주 가상 머신을 대체하는 단계; 및 상기 주 호스트의 하이퍼바이저가 상기 대기 가상 머신과 상기 보조 가상 머신을 동기화시키는 단계를 포함할 수 있다.
상기 대기 가상 머신으로 주 가상 머신을 대체하는 단계는, 상기 주 가상 머신을 가상 환경에서 제거하는 단계; 상기 주 호스트의 하이퍼바이저가 상기 주 가상 머신의 운영 정보가 저장된 공유 스토리지를 상기 대기 가상 머신에 마운트하고, 상기 대기 가상 머신에 상기 주 가상 머신의 서비스 IP를 재설정하는 단계; 및 상기 주 호스트의 하이퍼바이저가 상기 주 가상 머신의 운영 정보를 이용하여 초기 상태의 상기 대기 가상 머신을 상기 소프트웨어 장애 발생 이전의 상기 주 가상 머신의 운영 상태로 세팅하는 단계를 포함할 수 있다.
상기 주 호스트의 주 가상 머신을 대체하는 단계는, 상기 장애 유형이 하드웨어 장애인 경우, 상기 주 호스트의 하이퍼바이저가 상기 보조 가상 머신으로 주 가상 머신을 대체하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 장애 처리 방법은, 하이퍼바이저가 주 가상 머신 및 상기 주 가상 머신과 동일한 구성을 가진 대기 가상 머신을 생성하고, 상기 대기 가상 머신을 초기 상태로 유지하는 단계; 상기 하이퍼바이저가 상기 주 가상 머신의 어플리케이션 상태 정보를 이용하여 상기 주 가상 머신의 소프트웨어 장애 여부를 판단하는 단계; 및 상기 주 가상 머신의 소프트웨어 장애 시, 상기 하이퍼바이저가 상기 대기 가상 머신으로 상기 주 가상 머신을 대체하는 단계를 포함한다.
상기 대기 가상 머신으로 주 가상 머신을 대체하는 단계는, 상기 하이퍼바이저가 상기 주 가상 머신을 가상 환경에서 제거하는 단계; 상기 하이퍼바이저가 상기 주 가상 머신의 운영 정보가 저장된 공유 스토리지를 상기 대기 가상 머신에 마운트하고, 상기 대기 가상 머신에 상기 주 가상 머신의 서비스 IP를 재설정하는 단계; 및 상기 하이퍼바이저가 상기 주 가상 머신의 운영 정보를 이용하여 초기 상태의 상기 대기 가상 머신을 상기 소프트웨어 장애 발생 이전의 상기 주 가상 머신의 운영 상태로 세팅하는 단계를 포함할 수 있다.
본 발명의 실시예에 의하면, 소프트웨어 장애 발생 시, 대기 가상 머신으로 주 가상 머신을 대체함으로써, 소프트웨어 장애에 대해 사람의 개입 없이 자동으로 신속하게 대처할 수 있게 된다. 이때, 대기 가상 머신은 주 가상 머신과 동기화되지 않고 초기 상태를 유지하므로 주 가상 머신의 소프트웨어 장애 발생 시 소프트웨어 장애가 복제될 염려가 없게 된다. 그리고, 대기 가상 머신은 소프트웨어 솔루션이기 때문에 도입 비용 및 유지 비용이 적게 들게 된다. 또한, 하드웨어 장애 발생시에는 보조 가상 머신으로 주 가상 머신을 대체하게 된다. 따라서, 소프트웨어 장애 및 하드웨어 장애에 모두 신속하게 대처할 수 있으며, 그로 인해 장애로 인해 서비스가 중단되는 것을 최소화하면서 서비스를 지속할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 가상 머신 동기화 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 동기화 시스템을 이용한 장애 처리 방법을 나타낸 순서도이다.
이하, 도면을 참조하여 본 발명의 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법에 대해 상세히 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 가상 머신 동기화 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 가상 머신 동기화 시스템(100)은 주 호스트(102) 및 보조 호스트(104)를 포함한다. 주 호스트(102)는 주 가상 머신(111), 대기 가상 머신(113), 공유 스토리지(115), 시스템 하드웨어(117), 및 하이퍼바이저(Hypervisor)(119)를 포함한다. 보조 호스트(104)는 주 호스트(102)에 하드웨어 장애 발생 시, 주 가상 머신(111)을 대체할 수 있는 보조 가상 머신(211)을 포함한다. 그리고, 보조 호스트(104)는 주 호스트(102)의 시스템 하드웨어(117) 및 하이퍼바이저(119)와 동일한 구성의 시스템 하드웨어(217) 및 하이퍼바이저(219)를 포함할 수 있다.
이하, 주 호스트(102)의 각 구성에 대해 설명하기로 한다.
주 가상 머신(111)은 사용자의 명령에 따라 동작하고 그 결과물을 반납하는 가상 머신(Virtual Machine)이다. 주 가상 머신(111)은 주 가상 머신(111)이 운영되는 과정에서 발생하는 모든 정보(이하, 이를 운영 정보라 함)를 공유 스토리지(115)에 저장한다. 주 가상 머신(111)의 운영 정보에는 예를 들어, 어떤 어플리케이션을 실행시켰는지를 나타내는 어플리케이션 실행 정보, 어플리케이션 실행에 따른 결과 정보, 파일 생성 정보, 및 각종 로그 기록 등이 포함될 수 있으나, 이에 한정되는 것은 아니며 공유 스토리지(115)는 주 가상 머신(111)이 운영되는 과정에서 발생한 모든 정보를 제한 없이 포함할 수 있다.
주 가상 머신(111)은 어플리케이션 모니터부(121), 게스트 운영체제(123), 가상 CPU(125), 및 로컬 스토리지(127)를 포함한다. 여기서, 게스트 운영체제(123), 가상 CPU(125), 및 로컬 스토리지(127)는 일반적인 가상 머신의 구성 요소와 동일한 것이므로, 이에 대한 자세한 설명은 생략하기로 한다.
어플리케이션 모니터부(121)는 주 가상 머신(111)의 어플리케이션 상태 정보를 수집하여 하이퍼바이저(119)로 전달한다. 어플리케이션 모니터부(121)는 어플리케이션 상태 정보를 실시간 또는 주기적으로 수집할 수 있다. 어플리케이션 모니터부(121)는 예를 들어, 주 가상 머신(111)에서 실행중인 어플리케이션으로부터 어플리케이션 상태 정보를 수집할 수 있다. 이때, 어플리케이션 상태 정보는 실행중인 어플리케이션의 프로세스 정보, 어플리케이션이 제공하는 로그 메시지, 오류 메시지, 어플리케이션이 생성하는 시스템 콜 호출 내역, 및 수행 시간 등 일 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 주 가상 머신(111)에서 오라클 DB를 운영한다고 가정한다. 그러면, 어플리케이션 모니터부(121)는 오라클 DB가 트러블 슈팅(Troubleshooting)을 위해 발생시키는 경고 로그(Alert Log)를 수집할 수 있다. 예를 들어, 오라클 DB의 경고 로그에는 시스템 오류(ORA-600), 블록 손상 오류(ORA-1578), 데드락(Dead Lock) 오류(ORA-60), 및 공유 서버 관련 오류 등이 기록될 수 있으며, 어플리케이션 모니터부(121)가 오라클 DB 소프트웨어로부터 상기 경고 로그를 수집할 수 있다.
대기 가상 머신(113)은 주 가상 머신(111)에 소프트웨어 오류가 발생하는 경우, 주 가상 머신(111)을 대체하는 가상 머신이다. 즉, 대기 가상 머신(113)은 주 가상 머신(111)에 소프트웨어 오류가 발생하는 경우, 하이퍼바이저(119)의 제어에 따라 주 가상 머신으로 스위치 오버(Switch Over) 될 수 있다.
대기 가상 머신(113)은 주 가상 머신(111)과 동일한 구성 및 설정을 가지고 생성된다. 즉, 대기 가상 머신(113)은 주 가상 머신(111)의 어플리케이션 모니터부(121), 게스트 운영체제(123), 가상 CPU(125), 및 로컬 스토리지(127)와 동일한 구성 및 설정을 갖는다. 다만, 대기 가상 머신(113)은 주 가상 머신(111)과 달리 게스트 운영체제(123)만 구동(Running)되고, 초기 상태를 그대로 유지하다가 주 가상 머신(111)에 소프트웨어 오류가 발생하는 경우, 주 가상 머신(111)을 대체(Switch Over)하도록 구성된다. 이때, 대기 가상 머신(113)은 주 가상 머신(111)과 동기화 되지 않고 초기 상태를 그대로 유지하기 때문에, 주 가상 머신(111)에 소프트웨어 오류가 발생하더라도 해당 소프트웨어 오류가 동기화되지 않게 된다. 따라서, 대기 가상 머신(113)은 해당 소프트웨어 오류에 영향을 받지 않고 주 가상 머신(111)을 대체할 수 있게 된다.
대기 가상 머신(113)은 공유 스토리지(115)에 저장된 주 가상 머신(111)의 운영 정보를 로딩하고, 로딩된 주 가상 머신(111)의 운영 정보에 따라 필요한 어플리케이션을 실행하고, 실행된 어플리케이션의 상태를 세팅함으로써 주 가상 머신(111)을 대체하게 된다. 즉, 대기 가상 머신(113)은 주 가상 머신(111)의 운영 정보를 통해 소프트웨어 오류가 발생하기 전의 주 가상 머신(111)의 운영 상태를 확인할 수 있으며, 소프트웨어 오류가 발생하기 전의 주 가상 머신(111)의 운영 상태로 세팅된 후 동작하여 주 가상 머신(111)을 대체할 수 있다. 이 경우, 주 가상 머신(111)을 통해 수행되던 서비스의 연속성을 보장할 수 있게 된다.
한편, 도시된 실시예에서는 대기 가상 머신(113)이 주 호스트(102)에 생성된 것으로 도시하였으나, 이에 한정되는 것은 아니며 보조 호스트(104)에 생성될 수도 있다. 이때, 공유 스토리지(115)에 저장된 주 가상 머신(111)의 운영 정보는 네트워크를 통해 대기 가상 머신(113)과 공유될 수 있다.
다음으로, 공유 스토리지(115)는 주 가상 머신(111)의 운영 정보를 저장한다. 이때, 대기 가상 머신(113)은 공유 스토리지(115)를 통해 주 가상 머신(111)의 운영 정보를 공유하게 된다. 여기서, 공유 스토리지(115)에 저장되는 주 가상 머신(111)의 운영 정보는 대기 가상 머신(113)이 주 가상 머신(111)을 대체하였을 때, 주 가상 머신(111)의 운영 상태를 그대로 복구하는데 필요한 모든 정보를 포함한다.
시스템 하드웨어(117)는 주 호스트(102)의 하드웨어를 이루는 부분이다. 시스템 하드웨어(117)는 하드웨어 모니터부(131), 제1 네트워크 인터페이스(134), 및 제2 네트워크 인터페이스(137)를 포함한다. 그러나, 이에 한정되는 것은 아니며 시스템 하드웨어(117)는 그 이외의 주 호스트(102)의 하드웨어를 이루는 다양한 전자 부품 및 회로를 포함할 수 있다.
하드웨어 모니터부(131)는 주 호스트(102)의 하드웨어 상태 정보를 수집하여 하이퍼바이저(119)로 전달한다. 하드웨어 모니터부(131)는 하드웨어 상태 정보를 실시간 또는 주기적으로 수집할 수 있다. 하드웨어 모니터부(131)는 예를 들어, 주 호스트(102)에 탑재된 하드웨어 상태 확인 모듈(미도시)로부터 주 호스트(102)의 하드웨어 상태 정보를 수집할 수 있다. 이때, 하드웨어 상태 확인 모듈(미도시)은 주 호스트(102)의 하드웨어 상태에 따라 하드웨어 상태 정보(예를 들어, CPU의 발열 온도, 하드디스크의 발열 온도, 데이터 전송 속도 저하 등)를 발생시키게 된다. 하드웨어 모니터부(131)와 하드웨어 상태 확인 모듈(미도시)은 예를 들어, SCMP(Sensor network Control and Management Protocol), SNMP(Simple Network Management Protocol), SMART(Simple Method to Aid Retransmission) 등의 프로토콜을 이용하여 상호 통신할 수 있다.
제1 네트워크 인터페이스(134)는 외부 네트워크와 연결될 수 있다. 제1 네트워크 인터페이스(134)는 외부 네트워크와 데이터를 주고 받을 수 있다. 제2 네트워크 인터페이스(137)는 보조 호스트(104)와 연결될 수 있다. 제2 네트워크 인터페이스(137)는 보조 호스트(104)와 데이터를 주고 받을 수 있다.
하이퍼바이저(119)는 주 가상 머신(111) 및 대기 가상 머신(113)을 관리한다. 예를 들어, 하이퍼바이저(119)는 사용자의 명령에 따라 주 가상 머신(111) 및 대기 가상 머신(113)을 생성 및 제거할 수 있다. 하이퍼바이저(119)는 주 가상 머신(111)과 보조 가상 머신(211)을 동기화시킬 수 있다. 하이퍼바이저(119)는 어플리케이션 모니터부(121) 및 하드웨어 모니터부(131)로부터 주 가상 머신(111)의 어플리케이션 상태 정보 및 주 호스트(102)의 하드웨어 상태 정보를 각각 수신하고, 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보를 이용하여 주 호스트(102)의 장애 여부 및 장애 종류를 판단할 수 있다. 하이퍼바이저(119)는 주 호스트(102)의 장애 종류에 따라 대기 가상 머신(113) 또는 보조 가상 머신(211)을 주 가상 머신으로 스위치 오버할 수 있다. 하이퍼바이저(119)는 장애 처리부(141), 가상 머신 관리부(144), 및 동기화부(147)를 포함한다.
장애 처리부(141)는 상태 정보 수신부(151), 장애 판단부(154), 및 스위치 오버부(157)를 포함한다. 상태 정보 수신부(151)는 어플리케이션 모니터부(121)로부터 주 가상 머신(111)의 어플리케이션 상태 정보를 수신한다. 상태 정보 수신부(151)는 하드웨어 모니터부(131)로부터 주 호스트(102)의 하드웨어 상태 정보를 수신한다. 상태 정보 수신부(151)는 어플리케이션 상태 정보 및 하드웨어 상태 정보를 수신하는 경우, 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보에 해당 상태 정보가 발생된 위치를 확인할 수 있는 위치 정보를 추가할 수 있다.
예를 들어, 상태 정보 수신부(151)가 어플리케이션 모니터부(121)로부터 주 가상 머신(111)의 어플리케이션 상태 정보를 수신한 경우, 상태 정보 수신부(151)는 수신한 어플리케이션 상태 정보에 해당 상태 정보가 어플리케이션 모니터부(121)로부터 발생되었다는 위치 정보를 추가할 수 있다. 그리고, 상태 정보 수신부(151)가 하드웨어 모니터부(131)로부터 주 호스트(102)의 하드웨어 상태 정보를 수신한 경우, 상태 정보 수신부(151)는 수신한 하드웨어 상태 정보에 해당 상태 정보가 하드웨어 모니터부(131)로부터 발생되었다는 위치 정보를 추가할 수 있다. 상태 정보 수신부(151)는 위치 정보가 추가된 어플리케이션 상태 정보 및 하드웨어 상태 정보를 장애 판단부(154)로 전달할 수 있다.
장애 판단부(154)는 상태 정보 수신부(151)로부터 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보를 분석하여 주 호스트(102)의 장애 여부를 판단한다. 이때, 장애 판단부(154)는 상태 정보 수신부(151)로부터 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보가 기 설정된 장애 상태 정보에 포함되는지 여부에 따라 주 호스트(102)의 장애 여부를 판단할 수 있다. 예를 들어, 상태 정보 수신부(151)로부터 수신한 어플리케이션 상태 정보가 오라클 DB의 블록 손상 오류(ORA-1578)이고, 장애 판단부(154)가 오라클 장애 코드에 대한 정보를 가지고 있는 경우, 상태 정보 수신부(151)로부터 수신한 어플리케이션 상태 정보가 기 설정된 장애 상태 정보에 포함되므로, 장애 판단부(154)는 주 호스트(102)에 장애가 발생하였다고 판단하게 된다.
주 호스트(102)에 장애가 발생하였다고 판단한 경우, 장애 판단부(154)는 상태 정보 수신부(151)로부터 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보에 포함된 위치 정보를 확인하여 해당 장애의 유형을 판단할 수 있다. 즉, 장애 판단부(154)는 어플리케이션 상태 정보 및 하드웨어 상태 정보에 포함된 위치 정보를 통해 해당 장애가 소프트웨어 장애인지 아니면 하드웨어 장애인지를 판단할 수 있다. 이때, 장애 판단부(154)는 장애 유형 정보를 스위치 오버부(157)에게 전달할 수 있다.
스위치 오버부(157)는 장애 판단부(154)로부터 수신한 장애 유형 정보에 따라 주 가상 머신(111)을 대체할 가상 머신을 선택하고, 선택한 가상 머신을 주 가상 머신으로 스위치 오버할 수 있다. 예를 들어, 장애 판단부(154)로부터 수신한 장애 유형 정보가 하드웨어 장애인 경우, 스위치 오버부(157)는 보조 호스트(104)의 보조 가상 머신(211)을 주 가상 머신(111)을 대체할 가상 머신으로 선택하고, 보조 가상 머신(211)을 주 가상 머신으로 스위치 오버할 수 있다. 이 경우, 주 가상 머신(111)을 가상 환경에서 제거하고, 보조 가상 머신(211)을 주 가상 머신으로 스위치 오버할 수 있다. 그리고, 서비스 가용성을 보장하기 위해 다른 호스트에 보조 가상 머신을 새롭게 생성하여 주 가상 머신으로 스위치 오버된 보조 가상 머신(211)과 동기화 시킬 수 있다. 여기서는, 다른 호스트에 보조 가상 머신을 새롭게 생성하는 것으로 설명하였으나, 이에 한정되는 것은 아니며 주 호스트(102)에 보조 가상 머신을 새롭게 생성할 수도 있다.
장애 판단부(154)로부터 수신한 장애 유형 정보가 소프트웨어 장애인 경우, 스위치 오버부(157)는 대기 가상 머신(113)을 주 가상 머신(111)을 대체할 가상 머신으로 선택하고, 대기 가상 머신(113)을 주 가상 머신으로 스위치 오버할 수 있다. 이 경우, 주 가상 머신(111)을 가상 환경에서 제거하고, 대기 가상 머신(113)에 공유 스토리지(115)를 마운트하며, 주 가상 머신(111)의 서비스 IP를 대기 가상 머신(113)에 재설정하게 된다. 그리고, 공유 스토리지(115)에 저장된 주 가상 머신(111)의 운영 정보를 이용하여 대기 가상 머신(113)을 소프트웨어 오류가 발생하기 전의 주 가상 머신(111)의 운영 상태로 세팅하여 서비스를 재개하며, 대기 가상 머신(113)을 보조 가상 머신(211)과 동기화시키게 된다.
가상 머신 관리부(144)는 사용자의 명령에 따라 주 호스트(102) 내에 주 가상 머신(111) 및 대기 가상 머신(113)을 생성할 수 있다. 이때, 가상 머신 관리부(144)는 주 가상 머신(111)과 동일한 구성 및 설정을 가지도록 대기 가상 머신(113)을 생성할 수 있다. 즉, 대기 가상 머신(113)은 소프트웨어 장애 발생 시 주 가상 머신(111)을 대체하여야 하므로, 주 가상 머신(111)과 동일한 구성 및 설정을 가지도록 생성된다. 가상 머신 관리부(144)는 주 호스트(102)에 장애가 발생하는 경우, 주 가상 머신(111)을 가상 환경에서 제거할 수 있다.
동기화부(147)는 주 가상 머신(111)과 보조 가상 머신(211)을 동기화시키는 역할을 한다. 이때, 동기화부(147)는 제2 네트워크 인터페이스(137)를 통해 주 가상 머신(111)과 보조 가상 머신(211)을 동기화시킬 수 있다. 동기화부(147)는 대기 가상 머신(113)이 주 가상 머신(111)을 대체하는 경우, 대기 가상 머신(113)과 보조 가상 머신(211)을 동기화시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 동기화 시스템을 이용한 장애 처리 방법을 나타낸 순서도이다.
도 2를 참조하면, 어플리케이션 모니터부(121) 및 하드웨어 모니터부(131)가 각각 주 가상 머신(111)의 어플리케이션 상태 정보 및 주 호스트(102)의 하드웨어 상태 정보를 수집하여 상태 정보 수신부(151)로 전달한다(S 101). 즉, 어플리케이션 모니터부(121) 및 하드웨어 모니터부(131)는 주기적 또는 실시간으로 주 호스트(102)의 어플리케이션 상태 및 하드웨어 상태를 각각 모니터링하여 어플리케이션 상태 정보 및 하드웨어 상태 정보를 상태 정보 수신부(151)로 전달할 수 있다.
다음으로, 상태 정보 수신부(151)는 어플리케이션 모니터부(121) 및 하드웨어 모니터부(131)로부터 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보에 해당 상태 정보가 발생된 위치를 확인할 수 있는 위치 정보를 추가한다(S 103). 즉, 상태 정보 수신부(151)는 어플리케이션 상태 정보 또는 하드웨어 상태 정보를 수신한 경우, 수신한 어플리케이션 상태 정보 또는 하드웨어 상태 정보에 해당 상태 정보가 어플리케이션 모니터부(121)로부터 발생한 것인지 아니면 하드웨어 모니터부(131)로부터 발생한 것인지 여부를 확인할 수 있는 위치 정보를 추가한다. 상태 정보 수신부(151)는 위치 정보가 추가된 어플리케이션 상태 정보 및 하드웨어 상태 정보를 장애 판단부(154)로 전달할 수 있다.
다음으로, 장애 판단부(154)는 상태 정보 수신부(151)로부터 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보를 분석하여 주 호스트(102)의 장애 여부를 판단한다(S 105). 이때, 장애 판단부(154)는 상태 정보 수신부(151)로부터 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보가 기 설정된 장애 상태 정보에 포함되는지 여부에 따라 주 호스트(102)의 장애 여부를 판단할 수 있다.
단계 S 105의 판단 결과, 주 호스트(102)에 장애가 발생한 경우, 장애 판단부(154)는 상태 정보 수신부(151)로부터 수신한 어플리케이션 상태 정보 및 하드웨어 상태 정보에 포함된 위치 정보를 확인하여 해당 장애의 유형을 판단한다(S 107). 즉, 장애 판단부(154)는 어플리케이션 상태 정보 및 하드웨어 상태 정보에 포함된 위치 정보를 통해 해당 장애가 소프트웨어 장애인지 아니면 하드웨어 장애인지를 판단할 수 있다. 이때, 장애 판단부(154)는 장애 유형 정보를 스위치 오버부(157)에게 전달할 수 있다.
단계 S 107의 판단 결과, 주 호스트(102)의 장애가 소프트웨어 장애인 경우, 스위치 오버부(157)는 대기 가상 머신(113)을 주 가상 머신(111)을 대체할 가상 머신으로 선택하고, 대기 가상 머신(113)을 주 가상 머신으로 스위치 오버한다(S 109).
구체적으로, 하이퍼바이저(119)는 주 가상 머신(111)을 가상 환경에서 제거한다. 다음으로, 하이퍼바이저(119)는 대기 가상 머신(113)에 공유 스토리지(115)를 마운트하고, 대기 가상 머신(113)에 주 가상 머신(111)의 서비스 IP를 재설정한다. 다음으로, 하이퍼바이저(119)는 공유 스토리지(115)에 저장된 주 가상 머신(111)의 운영 정보를 이용하여 대기 가상 머신(113)을 소프트웨어 오류가 발생하기 전의 주 가상 머신(111)의 운영 상태로 세팅하여 서비스를 재개한다. 이때, 대기 가상 머신(113)을 주 가상 머신으로 재설정하게 된다. 이 경우, 소프트웨어 오류에 대해 사람의 개입 없이 대처할 수 있으므로, 소프트웨어 오류에 대해 자동으로 신속하게 대처할 수 있으며, 사람의 개입으로 인한 휴먼 에러(Human Error)의 발생 가능성을 차단할 수 있게 된다.
다음으로, 동기화부(147)는 대기 가상 머신(113)(즉, 주 가상 머신)과 보조 가상 머신(211)을 동기화하여 해당 시스템의 폴트 톨러런트(Fault Tolerant)를 유지할 수 있다(S 111). 이때, 하이퍼바이저(119)는 주 호스트(102)에 새로운 대기 가상 머신을 생성할 수 있다. 즉, 하이퍼바이저(119)는 주 가상 머신이 된 대기 가상 머신(113)을 대체할 새로운 대기 가상 머신을 주 호스트(102)에 생성할 수 있다.
단계 S 107의 판단 결과, 주 호스트(102)의 장애가 하드웨어 장애인 경우, 스위치 오버부(157)는 보조 호스트(104)의 보조 가상 머신(211)을 주 가상 머신(111)을 대체할 가상 머신으로 선택하고, 보조 가상 머신(211)을 주 가상 머신으로 스위치 오버한다(S 113). 구체적으로, 하이퍼바이저(119)는 주 가상 머신(111)을 가상 환경에서 제거하고, 보조 가상 머신(211)을 주 가상 머신으로 스위치 오버하여 서비스를 지속한다. 이때, 보조 가상 머신(211)은 주 가상 머신(111)과 동기화된 상태에 있었으므로, 서비스 중단을 최소화하면서 서비스를 지속할 수 있게 된다.
다음으로, 보조 호스트(104)에 대기 가상 머신을 생성하고, 다른 호스트에 보조 가상 머신을 생성하여 해당 시스템의 폴트 톨러런트(Fault Tolerant)를 유지할 수 있다(S 115). 보조 가상 머신(211)이 주 가상 머신으로 스위치 오버되는 경우, 보조 호스트(104)가 주 호스트로 동작하게 된다. 이때, 보조 호스트(104)에 대기 가상 머신을 생성함으로써, 보조 호스트(104)에 소프트웨어 오류가 발생하는 경우, 대기 가상 머신으로 보조 가상 머신(211)(즉, 현재 주 가상 머신)을 대체할 수 있게 된다. 그리고, 다른 호스트에 보조 가상 머신을 생성함으로써, 보조 호스트(104)에 하드웨어 장애가 발생하는 경우, 다른 호스트에 생성된 보조 가상 머신으로 보조 가상 머신(211)(즉, 현재 주 가상 머신)을 대체할 수 있게 된다. 여기서는, 보조 가상 머신을 다른 호스트에 생성하는 것으로 설명하였으나, 이에 한정되는 것은 아니며 보조 가상 머신은 주 호스트(102)의 하드웨어 장애를 복구한 후 주 호스트(102)에 생성할 수도 있다.
한편, 본 발명의 실시예들은 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 컴퓨터 판독가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독가능 기록매체는 본 발명의 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체는 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 가상 머신 동기화 시스템
102 : 주 호스트
104 : 보조 호스트
111 : 주 가상 머신
113 : 대기 가상 머신
115 : 공유 스토리지
117 : 시스템 하드웨어
119 : 하이퍼바이저
121 : 어플리케이션 모니터부
123 : 게스트 운영체제
125 : 가상 CPU
127 : 로컬 스토리지
131 : 하드웨어 모니터부
134 : 제1 네트워크 인터페이스
137 : 제2 네트워크 인터페이스
141 : 장애 처리부
144 : 가상 머신 관리부
147 : 동기화부
151 : 상태 정보 수신부
154 : 장애 판단부
157 : 스위치 오버부
211 : 보조 가상 머신
217 : 시스템 하드웨어
219 : 하이퍼바이저

Claims (20)

  1. 주 가상 머신 및 상기 주 가상 머신과 동일한 구성을 가지며 초기 상태로 유지되는 대기 가상 머신을 포함하는 주 호스트; 및
    상기 주 가상 머신과 동기화되는 보조 가상 머신을 포함하는 보조 호스트를 포함하며,
    상기 주 호스트는, 상기 주 호스트의 장애 발생을 감지하고, 감지된 상기 주 호스트의 장애 유형에 따라 상기 대기 가상 머신 또는 상기 보조 가상 머신을 이용하여 상기 주 가상 머신을 대체하는, 가상 머신 동기화 시스템.
  2. 제1항에 있어서,
    상기 주 호스트는,
    상기 주 가상 머신의 운영 정보를 저장하는 공유 스토리지;
    상기 주 가상 머신의 어플리케이션 상태 정보를 수집하는 어플리케이션 모니터부;
    상기 주 호스트의 하드웨어 상태 정보를 수집하는 하드웨어 모니터부; 및
    상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 분석하여 상기 주 호스트의 장애 여부 및 장애 유형을 판단하고, 상기 장애 유형에 따라 상기 대기 가상 머신 또는 상기 보조 가상 머신으로 상기 주 가상 머신을 대체하여 장애를 처리하는 장애 처리부를 포함하는, 가상 머신 동기화 시스템.
  3. 제2항에 있어서,
    상기 장애 처리부는,
    상기 어플리케이션 모니터부 및 상기 하드웨어 모니터부로부터 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 수신하고, 수신한 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보에 위치 정보를 추가하는 상태 정보 수신부;
    상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 이용하여 상기 주 호스트의 장애 여부를 판단하고, 상기 주 호스트의 장애 발생 시 상기 위치 정보를 통해 상기 주 호스트의 장애 유형을 판단하는 장애 판단부; 및
    상기 장애 유형에 따라 상기 대기 가상 머신 또는 상기 보조 가상 머신을 주 가상 머신으로 스위치 오버하는 스위치 오버부를 포함하는, 가상 머신 동기화 시스템.
  4. 제3항에 있어서,
    상기 스위치 오버부는, 상기 장애 유형이 소프트웨어 장애인 경우 상기 대기 가상 머신을 주 가상 머신으로 스위치 오버하는, 가상 머신 동기화 시스템.
  5. 제4항에 있어서,
    상기 주 호스트는, 상기 공유 스토리지에 저장된 상기 주 가상 머신의 운영 정보를 이용하여 상기 초기 상태의 대기 가상 머신을 상기 소프트웨어 장애 발생 이전의 상기 주 가상 머신의 운영 상태로 설정하는, 가상 머신 동기화 시스템.
  6. 제4항에 있어서,
    상기 주 호스트는, 상기 스위치 오버 수행 이후, 주 가상 머신으로 스위치 오버된 상기 대기 가상 머신과 상기 보조 가상 머신을 동기화시키는, 가상 머신 동기화 시스템.
  7. 제3항에 있어서,
    상기 스위치 오버부는, 상기 장애 유형이 하드웨어 장애인 경우 상기 보조 가상 머신을 주 가상 머신으로 스위치 오버하는, 가상 머신 동기화 시스템.
  8. 제7항에 있어서,
    상기 가상 머신 동기화 시스템은, 상기 주 가상 머신으로 스위치 오버된 보조 가상 머신과 동기화되는 다른 보조 가상 머신을 더 포함하는, 가상 머신 동기화 시스템.
  9. 주 가상 머신;
    상기 주 가상 머신과 동일한 구성을 가지고 초기 상태로 유지되는 대기 가상 머신; 및
    상기 주 가상 머신의 상기 주 호스트의 장애 발생을 감지하고, 감지된 상기 주 호스트의 소프트웨어 장애 시 상기 대기 가상 머신으로 상기 주 가상 머신을 대체하는 장애 처리부를 포함하는, 가상 머신 동기화 장치.
  10. 제9항에 있어서,
    상기 가상 머신 동기화 장치는,
    상기 주 가상 머신의 운영 정보를 저장하는 공유 스토리지; 및
    상기 주 가상 머신의 어플리케이션 상태 정보를 수집하는 어플리케이션 모니터부를 더 포함하는, 가상 머신 동기화 장치.
  11. 제10항에 있어서,
    상기 장애 처리부는,
    상기 어플리케이션 모니터부로부터 상기 어플리케이션 상태 정보를 수신하여 상기 소프트웨어 장애를 판단하며, 상기 소프트웨어 장애 시 상기 대기 가상 머신으로 상기 주 가상 머신을 대체하는, 가상 머신 동기화 장치.
  12. 제11항에 있어서,
    상기 장애 처리부는,
    상기 소프트웨어 장애 시, 상기 대기 가상 머신에 마운트된 상기 주 가상 머신의 운영 정보를 이용하여 상기 초기 상태의 대기 가상 머신을 상기 소프트웨어 장애 발생 이전의 상기 주 가상 머신의 운영 상태로 세팅하는, 가상 머신 동기화 장치.
  13. 제10항에 있어서,
    상기 가상 머신 동기화 장치는,
    상기 가상 머신 동기화 장치의 하드웨어 상태 정보를 수집하는 하드웨어 모니터부를 더 포함하고,
    상기 장애 처리부는, 상기 하드웨어 모니터부로부터 상기 하드웨어 상태 정보를 수신하여 상기 가상 머신 동기화 장치의 하드웨어 장애를 판단하며, 상기 하드웨어 장애 시 상기 주 가상 머신과 동기화된 보조 가상 머신으로 상기 주 가상 머신을 대체하는, 가상 머신 동기화 장치.
  14. 주 호스트의 하이퍼바이저가 어플리케이션 상태 정보 및 하드웨어 상태 정보로부터 상기 주 호스트의 장애 여부 및 장애 유형을 판단하는 단계; 및
    상기 주 호스트의 하이퍼바이저가 상기 주 호스트의 상기 주 호스트의 장애 발생을 감지하고, 감지된 장애 유형에 따라 상기 주 호스트에 생성된 대기 가상 머신 또는 보조 호스트에 생성된 보조 가상 머신을 이용하여 상기 주 호스트의 주 가상 머신을 대체하는 단계를 포함하는, 장애 처리 방법.
  15. 제14항에 있어서,
    상기 주 호스트의 장애 여부 및 장애 유형을 판단하는 단계는,
    상기 주 호스트의 하이퍼바이저가 어플리케이션 모니터부 및 하드웨어 모니터부로부터 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 각각 수신하는 단계;
    상기 주 호스트의 하이퍼바이저가 수신한 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보에 위치 정보를 추가하는 단계;
    상기 주 호스트의 하이퍼바이저가 상기 어플리케이션 상태 정보 및 상기 하드웨어 상태 정보를 분석하여 상기 주 호스트의 장애 여부를 판단하는 단계; 및
    상기 주 호스트의 장애 발생 시 상기 위치 정보를 통해 상기 주 호스트의 장애 유형을 판단하는 단계를 포함하는, 장애 처리 방법.
  16. 상기 제14항에 있어서,
    상기 주 호스트의 주 가상 머신을 대체하는 단계는,
    상기 장애 유형이 소프트웨어 장애인 경우, 상기 주 호스트의 하이퍼바이저가 상기 대기 가상 머신으로 주 가상 머신을 대체하는 단계; 및
    상기 주 호스트의 하이퍼바이저가 상기 대기 가상 머신과 상기 보조 가상 머신을 동기화시키는 단계를 포함하는, 장애 처리 방법.
  17. 제16항에 있어서,
    상기 대기 가상 머신으로 주 가상 머신을 대체하는 단계는,
    상기 주 호스트의 하이퍼바이저가 상기 주 가상 머신을 가상 환경에서 제거하는 단계;
    상기 주 호스트의 하이퍼바이저가 상기 주 가상 머신의 운영 정보가 저장된 공유 스토리지를 상기 대기 가상 머신에 마운트하고, 상기 대기 가상 머신에 상기 주 가상 머신의 서비스 IP를 재설정하는 단계; 및
    상기 주 호스트의 하이퍼바이저가 상기 주 가상 머신의 운영 정보를 이용하여 초기 상태의 상기 대기 가상 머신을 상기 소프트웨어 장애 발생 이전의 상기 주 가상 머신의 운영 상태로 세팅하는 단계를 포함하는, 장애 처리 방법.
  18. 상기 제14항에 있어서,
    상기 주 호스트의 주 가상 머신을 대체하는 단계는,
    상기 장애 유형이 하드웨어 장애인 경우, 상기 주 호스트의 하이퍼바이저가 상기 보조 가상 머신으로 주 가상 머신을 대체하는 단계를 포함하는, 장애 처리 방법.
  19. 하이퍼바이저가 주 가상 머신 및 상기 주 가상 머신과 동일한 구성을 가진 대기 가상 머신을 생성하고, 상기 대기 가상 머신을 초기 상태로 유지하는 단계;
    상기 하이퍼바이저가 상기 주 가상 머신의 어플리케이션 상태 정보를 이용하여 상기 주 가상 머신의 소프트웨어 장애 여부를 판단하는 단계; 및
    상기 주 가상 머신의 소프트웨어 장애 시, 상기 하이퍼바이저가 상기 대기 가상 머신으로 상기 주 가상 머신을 대체하는 단계를 포함하는, 장애 처리 방법.
  20. 제19항에 있어서,
    상기 대기 가상 머신으로 주 가상 머신을 대체하는 단계는,
    상기 하이퍼바이저가 상기 주 가상 머신을 가상 환경에서 제거하는 단계;
    상기 하이퍼바이저가 상기 주 가상 머신의 운영 정보가 저장된 공유 스토리지를 상기 대기 가상 머신에 마운트하고, 상기 대기 가상 머신에 상기 주 가상 머신의 서비스 IP를 재설정하는 단계; 및
    상기 하이퍼바이저가 상기 주 가상 머신의 운영 정보를 이용하여 초기 상태의 상기 대기 가상 머신을 상기 소프트웨어 장애 발생 이전의 상기 주 가상 머신의 운영 상태로 세팅하는 단계를 포함하는, 장애 처리 방법.
KR20130061429A 2013-05-30 2013-05-30 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법 KR20140140719A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130061429A KR20140140719A (ko) 2013-05-30 2013-05-30 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130061429A KR20140140719A (ko) 2013-05-30 2013-05-30 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법

Publications (1)

Publication Number Publication Date
KR20140140719A true KR20140140719A (ko) 2014-12-10

Family

ID=52458411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130061429A KR20140140719A (ko) 2013-05-30 2013-05-30 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법

Country Status (1)

Country Link
KR (1) KR20140140719A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717697B1 (ko) * 2016-01-29 2017-03-20 한국과학기술원 가상화 환경에서의 침입 감내 시스템 및 그 방법
KR20180087278A (ko) * 2016-12-28 2018-08-01 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 가상 머신의 신속한 복원 방법, 장치 및 시스템
CN115858222A (zh) * 2022-12-19 2023-03-28 安超云软件有限公司 一种虚拟机故障处理方法、系统及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717697B1 (ko) * 2016-01-29 2017-03-20 한국과학기술원 가상화 환경에서의 침입 감내 시스템 및 그 방법
KR20180087278A (ko) * 2016-12-28 2018-08-01 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 가상 머신의 신속한 복원 방법, 장치 및 시스템
CN115858222A (zh) * 2022-12-19 2023-03-28 安超云软件有限公司 一种虚拟机故障处理方法、系统及电子设备
CN115858222B (zh) * 2022-12-19 2024-01-02 安超云软件有限公司 一种虚拟机故障处理方法、系统及电子设备

Similar Documents

Publication Publication Date Title
CN202798798U (zh) 基于云计算技术的高可用系统
CN103546914B (zh) 一种hss主备管理的方法及装置
EP3210367B1 (en) System and method for disaster recovery of cloud applications
CN105302661A (zh) 一种实现虚拟化管理平台高可用的系统和方法
CN108628717A (zh) 一种数据库系统及监控方法
CN110488701A (zh) 基于国产化处理器的网络和FlexRay总线的高可用热备份方法
CN104717077B (zh) 一种管理数据中心的方法、装置及系统
CN101873223A (zh) 基于ip切换的n+m服务备份机制
US9210059B2 (en) Cluster system
JP2006079603A (ja) 高可用性クラスタ化のためのスマートカード
CN112477919B (zh) 一种适用于列车控制系统平台的动态冗余备份方法及系统
CN111031341A (zh) 一种基于心跳的双机热备方法
CN109600264A (zh) CloudStack云平台
CN105812161A (zh) 一种控制器故障备份方法和系统
KR20140140719A (ko) 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법
JP5285045B2 (ja) 仮想環境における故障復旧方法及びサーバ及びプログラム
JP5285044B2 (ja) クラスタシステム復旧方法及びサーバ及びプログラム
CN117435405A (zh) 双机热备和故障切换系统和方法
US10063437B2 (en) Network monitoring system and method
JP2014191491A (ja) 情報処理装置および情報処理システム
US9158666B2 (en) Computer system and computer system information storage method
CN115549751A (zh) 遥感卫星地面站监控系统和方法
JP2011054033A (ja) 監視制御装置
US20210247996A1 (en) Service continuation system and service continuation method
US20140297724A1 (en) Network element monitoring system and server

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
E801 Decision on dismissal of amendment