KR102241188B1 - 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치 - Google Patents

이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치 Download PDF

Info

Publication number
KR102241188B1
KR102241188B1 KR1020190150838A KR20190150838A KR102241188B1 KR 102241188 B1 KR102241188 B1 KR 102241188B1 KR 1020190150838 A KR1020190150838 A KR 1020190150838A KR 20190150838 A KR20190150838 A KR 20190150838A KR 102241188 B1 KR102241188 B1 KR 102241188B1
Authority
KR
South Korea
Prior art keywords
storage device
storage
path
information
port
Prior art date
Application number
KR1020190150838A
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 KR1020190150838A priority Critical patent/KR102241188B1/ko
Application granted granted Critical
Publication of KR102241188B1 publication Critical patent/KR102241188B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

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

Abstract

이기종 스토리지를 이용하여 스토리지 고가용성 서비스를 제공하는 방법 및 스토리지 다중화 장치가 개시된다. 개시된 이기종 스토리지 고가용성 서비스 제공 방법은, 스위치와 제1 스토리지 장치 사이에 스토리지 다중화 장치를 개재하는 단계; 호스트 서버와 제1 스토리지 장치 사이의 제1 경로를 인식하는 단계; 제1 경로에 대응하여 호스트 서버와 다중화 장치에 연결된 제2 스토리지 장치 사이의 제2 경로를 정의하는 단계; 제1 경로와 제2 경로 사이의 대응 관계를 매핑하여 다중화 장치에 저장하는 단계; 및 제1 스토리지 장치와 제2 스토리지 장치의 LUN 정보를 판독하여 제1 스토리지 장치의 LUN 정보와 제2 스토리지 장치의 LUN 정보 사이의 대응 관계를 매핑하여 다중화 장치에 저장하는 단계를 포함할 수 있다.

Description

이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치{METHOD OF PROVIDING HIGH AVAILABILITY SERVICE BASED ON HETEROGENEOUS STORAGE DEVICES AND STORAGE REDUNDANCY DEVICE}
본 발명은 스토리지 고가용성 서비스에 관한 것으로서, 보다 상세하게는 이기종 스토리지를 이용하여 스토리지 고가용성 서비스를 제공하는 방법 및 이를 위한 스토리지 다중화 장치에 관한 것이다.
최근 클라우드, AI, 빅데이터, IoT 등 IT기술 및 서비스가 발전함에 따라 엄청난 양의 데이터가 생산되고 있으며 이러한 데이터를 저장하기 위한 스토리지 사용량이 기하급수적으로 증가하고 있다. 한편, 서비스 중단 및 데이터 유실은 기업의 신뢰성과 사업 연속성에 치명적인 결과를 초래할 수 있으나 스토리지 사용량의 급격한 증가는 스토리지 장애 등에 의한 오류가 발생할 가능성이 크게 증가하게 하였다. 스토리지 서비스의 중요성은 과거 스토리지 장애로 인한 데이터 유실, 서비스 중단 등의 경험을 통하여 부각되었으며, 따라서 데이터 보호, 서비스 연속성을 제공하기 위한 스토리지 고가용성 서비스의 중요성이 크게 강조되고 있다.
고가용성(High Availability)이란 서비스 또는 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 나타낸다. 고가용성 서비스는 어떤 종류의 오류든 신속히 복구하는 것이 필수적인데, 이를 가능하게 하는 주요 방법 중 하나는 충분한 양의 데이터 스토리지를 통해 데이터를 백업하는 것이다. 그러나 위에 언급된 바와 같이 데이터 사용량 및 저장량이 나날이 급격히 증가하므로 충분한 스토리지를 제공하기 위해서는 스토리지 네트워크의 높은 확장 가능성을 기반으로 하는 고가용성 서비스가 필요하다.
종래의 스토리지 고가용성 서비스는 동일 벤더 제품이나 동일 모델에서만 다중화 서비스를 제공하거나 SAN 스위치와 스토리지 사이에 가상화 스토리지 계층에 스토리지 가상화 장치를 삽입하는 방법으로 고가용성 서비스를 제공하기 때문에 호스트 서버, SAN 스위치, 스토리지 등 스토리지 네트워크 환경의 구성요소들의 변경 작업이 요구 되었다. 이러한 변경 작업으로 인해 서비스 다운타임을 증가시키는 것이 불가피해지며, 따라서 높은 수준의 고가용성을 제공할 수 없게 된다. 이와 같이, 기존의 스토리지 네트워크에 미치는 영향을 최소화하며 신속하게 유연하게 고가용성을 제공하는 방법이 요구되고 있다.
한국특허출원 제10-2018-0144832호 (출원일 2018.11.21)
본 발명의 일측면은 호스트 서버, SAN 스위치, 스토리지 장치 등의 구성요소의 구성 변경 또는 설정 변경 없이 스토리지 장치를 확장하여 고가용성 서비스를 제공하는 방법 및 스토리지 다중화 장치를 제공하려는 것이다.
본 발명의 다른 일측면은 다양한 이기종 스토리지 장치를 사용하여 고가용성 서비스를 제공하는 방법 및 스토리지 다중화 장치를 제공하려는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일실시예에 따르면, 호스트 서버, 스위치 및 복수의 스토리지 장치를 포함하는 스토리지 네트워크를 이용하는 스토리지 고가용성 서비스 제공 방법이 제공된다. 상기 스토리지 고가용성 서비스 제공 방법은, 스위치와 제1 스토리지 장치 사이에 스토리지 다중화 장치를 개재하는 단계; 호스트 서버와 제1 스토리지 장치 사이의 제1 경로를 인식하는 단계; 제1 경로에 대응하여 호스트 서버와 다중화 장치에 연결된 제2 스토리지 장치 사이의 제2 경로를 정의하는 단계; 제1 경로와 제2 경로 사이의 대응 관계를 매핑하여 다중화 장치에 저장하는 단계; 및 제1 스토리지 장치와 제2 스토리지 장치의 LUN 정보를 판독하여 제1 스토리지 장치의 LUN 정보와 제2 스토리지 장치의 LUN 정보 사이의 대응 관계를 매핑하여 다중화 장치에 저장하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 이기종 스토리지 고가용성 서비스 제공 방법은 제1 스토리지 장치와 제2 스토리지 장치 중 일측의 데이터를 복제하여 타측의 대응하는 로직단위(LU)에 기록하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 이기종 스토리지 고가용성 서비스 제공 방법은 제1 경로를 통해 제1 스토리지 장치에 접근하는 프로세스를 인식하고 매핑 정보에 기초하여 제2 경로를 통해 제2 스토리지 장치에 접근하도록 프로세스를 설정하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 이기종 스토리지 고가용성 서비스 제공 방법은 제1 스토리지 장치 및 제2 스토리지 장치 중 적어도 하나의 이상여부를 판단하는 단계를 더 포함할 수 있다.
본 발명의 다른 일실시예에 따르면, 호스트 서버, 스위치 및 제1 스토리지 장치를 포함하는 스토리지 네트워크에서 스위치와 제1 스토리지 장치 사이에 개재되는 스토리지 다중화 장치가 제공된다. 상기 스토리지 다중화 장치는, 스위치의 포트에 연결되는 제1 연결 포트; 제1 스토리지 장치의 포트에 연결되는 제2 연결 포트; 제2 스토리지 장치의 포트에 연결되는 제3 연결 포트; 제1 스토리지 장치의 포트 정보를 인식하여 제1 연결 포트에 복제하고 스위치의 포트 정보를 인식하여 제2 연결 포트에 복제하는 포트 정보 스푸핑부; 호스트 서버, 스위치, 제1 연결 포트, 제2 연결 포트 및 제1, 2 스토리지 장치 순으로 이어지는 제1 경로를 인식하여 호스트 서버, 스위치, 제1 연결 포트, 제3 연결 포트 및 제1, 2 스토리지 장치 순으로 이어지는 제2 경로를 구축하고, 제1 경로에 대응하는 제2 경로를 매핑하고 제1 경로로 접근되는 제1 스토리지 장치의 LUN 정보에 대응하는 제2 경로로 접근되는 제2 스토리지 장치의 LUN 정보를 매핑하여 매핑 정보를 메모리에 기록하는 경로 에뮬레이션부; 및 포트 정보 스푸핑부와 경로 에뮬레이션부를 제어하는 제어부를 포함할 수 있다.
본 발명의 일실시예에 따른 스토리지 다중화 장치는 제1 스토리지 장치와 제2 스토리지 장치가 동기화되도록 제1 스토리지 장치와 제2 스토리지 장치 중 일측의 데이터를 복제하여 타측에 기록하는 데이터 관리부를 더 포함할 수 있다.
본 발명의 일실시예에 따른 스토리지 다중화 장치는 제1 경로를 통해 제1 스토리지 장치에 접근하는 프로세스를 인식하고 매핑 정보에 기초하여 제2 경로를 통해 제2 스토리지 장치에 접근하도록 프로세스를 설정하는 리다이렉션부를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 스토리지 다중화 장치는 상기 제1 스토리지 장치 및 상기 제2 스토리지 장치 중 적어도 하나의 이상여부를 판단하는 이상판단부를 더 포함할 수 있다.
본 발명의 일실시예에 따르면, 스토리지 네트워크의 구성요소들의 구성 변경 및 설정 변경이 필요하지 않아 네트워크 다중화에 의한 시스템다운 시간을 현저히 감소시킬 수 있다.
본 발명의 다른 일실시예에 따르면, 다양한 이기종 스토리지 장치를 사용하여 네트워크를 다중화할 수 있으므로 보다 유연한 방식으로 고가용성 서비스를 제공할 수 있다.
도 1은 통상적인 Fiber Channel 기반 스토리지 네트워크의 일례를 나타내는 구성도이다.
도 2는 통상적인 스토리지 장치의 일례를 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 따른 스토리지 다중화 장치를 나타내는 블록도이다.
도 4는 본 발명의 일실시예에 따른 스토리지 다중화 장치를 적용한 스토리지 네트워크의 일례를 나타내는 구성도이다.
도 5는 도 4의 스토리지 네트워크에서 스토리지 다중화 장치에 제2 스토리지 장치를 연결한 예를 나타내는 구성도이다.
도 6은 도 5의 스토리지 네트워크에서 제1 스토리지 장치에 이상이 발생한 경우 네트워크의 동작을 나타내는 구성도이다.
도 7은 본 발명의 일실시예에 따른 이기종 스토리지 고가용성 서비스 제공 방법을 나타내는 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 일부 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 1은 통상적인 Fiber Channel 기반 스토리지 네트워크의 일례를 나타내는 구성도이다. 도 1을 참조하면, 일반적으로 스토리지 네트워크는 하나 이상의 호스트 서버(10, 20), 스토리지 장치(210) 및 스위치(50)를 포함할 수 있다.
도 1의 구성도에서 제1 호스트 서버(10)의 포트(11, 12)는 스위치(50)의 포트(51, 52)에 각각 연결되고, 제2 호스트 서버(20)의 포트(21, 22)는 스위치(50)의 포트(53, 54)에 각각 연결되어 있다.
스위치(50)는 예를 들어 SAN 스위치일 수 있으며, 도시된 예에서는 스위치(50)의 포트(55)는 스토리지 장치(210)의 포트(211)에 연결되어 있고 스위치(50)의 포트(56)는 스토리지 장치(210)의 포트(212)에 연결되어 있다. 스토리지 네트워크는 하나 또는 그 이상의 스위치(50)를 포함할 수 있다.
도 2는 통상적인 스토리지 장치의 일례를 나타내는 블록도이다. 도 2를 참조하면, 스토리지 장치(210)는 스토리지 장치 제어부(230), 메모리(240) 및 볼륨 관리부(250)를 포함할 수 있다.
스토리지 장치 제어부(230)는 스토리지 장치의 다양한 구성 및 운영을 제어할 수 있다. 스토리지 장치(210)는 데이터를 저장하기 위한 장치로서 여러 가지 데이터 저장 기법을 사용하여 기능적으로 구성될 수 있다. 메모리(240)는 스토리지 장치(210)에서 데이터를 저장하기 위해 다양한 구성으로 사용될 수 있다. 스토리지 장치(210)는 하나 이상의 포트(211, 212)를 포함할 수 있다. 스토리지 장치(210)의 포트(211, 212)는 하나 이상의 HBA 카드 내에 포트로 구성되어 실행될 수 있다. 또한, 스토리지 장치 제어부(230)와 포트들은 스토리지 장치 컨트롤러의 서브시스템으로 구현될 수 있다.
스토리지 장치에 저장된 데이터는 로직단위(logical unit, LU)로 구성되어 LUN(logical unit number)가 할당될 수 있다. 로직단위는 볼륨과 유사한 개념이다. 도 2에서 볼륨관리부(250)는 다수의 볼륨을 관할할 수 있다. LUN 또는 볼륨을 통해 데이터를 다중 디바이스로 분산하여 저장하는 것이 가능하다.
도 3은 본 발명의 일실시예에 따른 스토리지 다중화 장치를 나타내는 블록도이다. 또한, 도 4는 본 발명의 일실시예에 따른 스토리지 다중화 장치를 적용한 스토리지 네트워크의 일례를 나타내는 구성도이고, 도 5는 도 4의 스토리지 네트워크에서 스토리지 다중화 장치에 제2 스토리지 장치를 연결한 예를 나타내는 구성도이며, 도 6은 도 5의 스토리지 네트워크에서 제1 스토리지 장치에 이상이 발생한 경우 네트워크의 동작을 나타내는 구성도이다.
도 3 내지 도 5를 참조하면, 본 발명의 일실시예에 따른 스토리지 다중화 장치(100)는 포트 정보 스푸핑부(110), 경로 에뮬레이션부(120), 데이터 관리부(130), 리다이렉션부(140), 메모리(150) 및 제어부(160)를 포함할 수 있으며 또한 다수의 포트(101~106)를 구비할 수 있다.
첨부된 도면에는 본 발명의 일실시예에 따른 스토리지 다중화 장치(100)가 6 개의 포트(101~106)를 구비한 것으로 도시되어 있으나 이는 본 발명의 개념을 단순화하여 묘사한 것에 불과하며 본 발명이 포트의 개수에 한정되는 것은 아니다. 스토리지 다중화 장치(100)에는 다수의 스위치(50), 스토리지 장치(210, 220) 및 기타 장치가 연결될 수 있고, 또한 일부 포트는 예비용으로 구비될 수 있으므로, 스토리지 다중화 장치(100)가 구비하는 포트의 개수는 매우 다양할 수 있다.
스토리지 다중화 장치(100)의 포트(101, 102)는 스위치(50)의 포트(55, 56)와 각각 연결될 수 있고, 포트(103, 104)는 제1 스토리지 장치(210)의 포트(211, 212)에 각각 연결될 수 있으며, 포트(105, 106)은 제2 스토리지 장치(220)의 포트(221, 222)에 각각 연결될 수 있다. 본 명세서에서는 설명의 편의를 위해 스위치(50)와 연결되는 포트(101, 102)들을 제1 연결 포트라 지칭하고, 제1 스토리지 장치(210)와 연결되는 포트(103, 104)들을 제2 연결 포트라 지칭하며, 제2 스토리지 장치(220)와 연결되는 포트(105, 106)들을 제3 연결 포트라 지칭하기로 한다. 도면에는 제1 연결 포트, 제2 연결 포트 및 제3 연결 포트가 각각 두 개씩 구비된 것으로 도시되어 있으나, 본 발명이 이에 한정되는 것은 아니다.
포트 정보 스푸핑부(110)는 호스트 서버(10, 20)의 포트 정보와 스토리지 장치(210, 220)의 포트 정보를 인식하도록 구성될 수 있다. 포트 정보 스푸핑부(110)는 예컨대 포트(101, 102) 및 포트(103, 104)를 이용하여 호스트 서버(10, 20)의 포트 정보와 스토리지 장치(210, 220)의 포트 정보를 교환하여 WWPN을 변환할 수 있다.
본 발명의 일실시예에 따르면, 포트 정보 스푸핑부(110)는 제1 스토리지 장치(210)의 포트 정보를 인식하여 포트(101, 102)에 복제하고 스위치(50)의 포트 정보를 인식하여 포트(103, 104)에 복제할 수 있다. 이로써 스위치(50)의 포트(55, 56)들이 제1 스토리지 장치(210)의 포트(211, 212)들 대신 스토리지 다중화 장치(100)의 제1 연결 포트(101, 102)들에 연결되고 제1 스토리지 장치(210)의 포트(211, 212)들이 스위치(50)의 포트(55, 56)들 대신 스토리지 다중화 장치(100)의 제2 연결 포트(103, 104)들에 연결되더라도 스위치(50) 및 제1 스토리지 장치(210)는 구성 및 설정 변경 없이 연결될 수 있다.
경로 에뮬레이션부(120)는 호스트 서버(10, 20)와 제1 스토리지 장치(210) 간의 통신 경로를 모방하기 위해 다양한 액션을 수행할 수 있다. 경로 에뮬레이션부(120)는 호스트 서버(10, 20)와 제1 스토리지 장치(210) 사이의 경로를 확인하고, 그에 상응하는 복제된 경로를 호스트 서버(10, 20)와 제2 스토리지 장치(220) 간에 생성할 수 있다.
본 명세서에서는 설명의 편의를 위해 각각의 호스트 서버(10, 20)로부터 제1 스토리지 장치(210)까지 이르는 하나 이상의 경로를 제1 경로라 통칭하고, 각각의 호스트 서버(10, 20)로부터 제2 스토리지 장치(220)까지 이르는 하나 이상의 경로를 제2 경로라 통칭하기로 한다.
본 발명의 일실시예에 따르면, 경로 에뮬레이션부(120)는 각각의 호스트 서버(10, 20)로부터 제1 스토리지 장치(210)까지 이어지는 제1 경로의 연결상태 정보를 확인하여 각 노드 사이의 연결 상태를 저장할 수 있다. 이를 기초로 하여, 경로 에뮬레이션부(120)는 각각의 호스트 서버(10, 20)로부터 제2 스토리지 장치(220)까지 대응하는 연결 상태를 적용하여 제2 경로를 구축할 수 있다. 달리 표현하자면, 경로 에뮬레이션부(120)는 하나 이상의 제1 경로를 모방하여 제2 경로를 복제할 수 있다.
도 5를 예로 들면, 경로 에뮬레이션부(120)는 제1 호스트 서버(10)의 포트(11)로부터 스위치(50)의 포트(51, 55), 제1 연결 포트(101), 제2 연결 포트(103) 및 포트(211)를 경유하여 제1 스토리지 장치(210)에 이르는 경로를 포함하여 제1 호스트 서버(10)의 포트(11, 12) 및 제2 호스트 서버(20)의 포트(21, 22) 각각에서 시작되어 제1 스토리지 장치(210)에 이르는 4 개의 제1 경로를 인식하고, 각각에 대응하여 제1 호스트 서버(10)의 포트(11)로부터 스위치(50)의 포트(51, 55), 제1 연결 포트(101), 제3 연결 포트(105) 및 포트(221)를 경유하여 제2 스토리지 장치(220)에 이르는 경로를 포함하여 제1 호스트 서버(10)의 포트(11, 12) 및 제2 호스트 서버(20)의 포트(21, 22) 각각에서 시작되어 제2 스토리지 장치(220)에 이르는 4 개의 제2 경로를 구축할 수 있다.
경로 에뮬레이션부(120)는 하나 이상의 제1 경로와 각각의 제1 경로에 대응하는 제2 경로를 매핑하여 각각의 관계를 정의하는 정보를 메모리(150)에 저장할 수 있다.
경로 에뮬레이션부(120)는 SCSI 예약의 일반 사항을 이용하여 프로세스들의 커뮤니케이션 경로의 환경을 발견할 수 있다. "Persistent Reservation"의 현재 사양은 다음 커맨드들의 용도를 확정한다: READ FULL STATUS 커맨드 혹은 READ KEYS 커맨드를 활용한다. 그리고 READ RESERVATION 커맨드 등 어떤 커맨드들이 해당 스토리지 시스템에 의해 지원되는가에 따라서 프로세스 경로의 상태는 Key, 예약 상태, FULL STATUS안에 있는 정보에 의해서 정의된다. 특정 형태의 경우, 이러한 혼합된 작동 방식들이 프로세스 경로의 완벽한 정보를 얻기 위해 사용될 수 있다.
데이터 관리부(130)는 제1 스토리지 장치(210)와 제2 스토리지 장치(220)를 동기화시키는 역할을 할 수 있다. 이를 위해, 데이터 관리부(130)는 제1 스토리지 장치(210)와 제2 스토리지 장치(220) 중 일측의 데이터를 복제하여 타측에 기록하는 과정을 수행할 수 있으며, 이 경우 제1 스토리지 장치(210)와 제2 스토리지 장치(220)에 기록 또는 수정된 데이터의 변경 시점을 판단하여 최신 데이터가 제1 스토리지 장치(210)와 제2 스토리지 장치(220) 양측에 반영되도록 할 수 있다.
리다이렉션부(140)는 제1 스토리지 장치(210)와 제2 스토리지 장치(220)가 모두 연결된 상태에서 제1 경로를 통해 제1 스토리지 장치(210)에 접근하는 프로세스들을 제1 경로를 경유하여 제2 경로를 통해 제2 스토리지 장치(220)에 도달하도록 경로를 재설정할 수 있다. 이를 위해, 리다이렉션부(140)는 다수의 제1 경로들에 각 상응하는 제2 경로들을 보여주는 정보에 접근할 수 있다. 경로 매핑 정보는 메모리(150)에 저장될 수 있다.
메모리(150)는 스토리지 다중화 장치(100)의 각 구성요소의 동작에 요구되는 및 생산되는 데이터를 저장할 수 있다. 예를 들어, 메모리(150)는 각각의 제1 경로와 제2 경로 사이의 매핑 관계, 스위치(50)의 포트 정보, 제1 스토리지 장치(210) 및 제2 스토리지 장치(220)의 포트 정보, 제1 경로에 의해 접근되는 제1 스토리지 장치(210)의 LUN정보와 이에 대응하여 제2 경로에 의해 접근되는 제2 스토리지 장치(220)의 LUN 정보 사이의 매핑 관계 등을 저장할 수 있다.
제어부(160)는 스토리지 다중화 장치(100)의 각 구성요소, 예를 들어 포트 정보 스푸핑부(110), 경로 에뮬레이션부(120), 데이터 관리부(130), 리다이렉션부(140) 및 메모리(150) 등을 전반적으로 제어할 수 있다.
이하, 도 4를 참조하여 스토리지 다중화 장치(100)가 스토리지 네트워크에서 스위치(50)와 제1 스토리지 장치(210) 사이에 설치되었을 때의 네트워크 구성을 설명하기로 한다.
스토리지 다중화 장치(100)는 스위치(50)와 제1 스토리지 장치(210) 사이의 스토리지 가상화 계층에 호스트 서버(10, 20)의 서비스 중단 없이 삽입될 수 있다. 일례로, 스토리지 다중화 장치(100)의 제1 연결 포트(101)는 스위치(50)의 포트(55)와 연결될 수 있고, 제1 스토리지 장치(210)의 포트(211)는 스토리지 다중화 장치(100)의 제2 연결 포트(103)와 재연결될 수 있다. 스위치(50)의 포트(56)는 스토리지 다중화 장치(100)의 제1 연결 포트(102)와 연결될 수 있고, 제1 스토리지 장치(210)의 포트(212)는 스토리지 다중화 장치(100)의 제2 연결 포트(104)와 재연결될 수 있다.
제1 연결 포트(101, 102)는 제2 연결 포트(103, 104)에서 식별된 제1 스토리지 장치(210)의 포트(211, 212)의 정보를 모방하여 스위치(50)의 포트(55, 56)와 통신하고 제2 연결 포트(103, 104)는 제1 연결 포트(101, 102)에서 식별된 스위치(50)의 포트(55, 56)의 정보 및 호스트 서버(10, 20)의 식별 정보를 모방하여 제1 스토리지 장치(210)의 포트(211, 212)와 통신할 수 있다. 스토리지 네트워크는 일반적으로 다중 경로로 연결되어 있기 때문에 스토리지 다중화 장치(100)를 스토리지 가상화 계층에 삽입시 스토리지 데이터 서비스에는 영향이 없거나 적을 수 있다. 스토리지 가상화 계층에 삽입된 스토리지 다중화 장치(100)는 제1 스토리지 장치(210)의 LUN 정보, ID, path, 연결상태 정보를 수집하고 호스트 서버(10, 20)와 제1 스토리지(210) 간의 연결 경로를 정의하는 식별 정보 A, B, C, D를 결정할 수 있다.
스토리지 다중화 장치(100)의 제3 연결 포트(105, 106)에는 제2 스토리지 장치(220)가 연결될 수 있다. 스토리지 다중화 장치(100)와 제1 및 제2 스토리지 장치(210, 220) 사이의 연결은 Fiber Channel, iSCSI 등 다양한 방법으로 구현될 수 있다. 본 명세서에서는 스토리지 네트워크에 스토리지 다중화 장치(100)가 먼저 추가되고 스토리지 다중화 장치(100)에 제2 스토리지 장치(220)가 추후 연결되는 경우가 일례로 설명되나, 스토리지 다중화 장치(100)에 제2 스토리지 장치(220)가 먼저 연결된 상태에서 스토리지 다중화 장치(100)를 스위치(50)와 제1 스토리지 장치(210) 사이에 추가할 수 있음은 자명하다.
이하, 도 5를 참조하여 스토리지 네트워크에서 스토리지 다중화 장치(100)에 제2 스토리지 장치(220)가 연결되었을 때의 네트워크 구성을 설명하기로 한다.
제2 스토리지 장치(220)의 포트(221, 222)는 스토리지 다중화 장치(100)의 제3 연결 포트(105, 106)에 연결될 수 있다. 스토리지 다중화 장치(100)는 제2 스토리지 장치(220)의 LUN 정보, ID, path, 연결 상태 정보를 수집하고 스토리지 다중화 장치(100)와 제2 스토리지 장치(220) 간의 연결 경로를 정의하는 식별 정보 W, X, Y, Z를 결정할 수 있다.
PATH 1 LUN ID 1 PATH 2 LUN ID 2
A 0001 W 0003
B 0001 X 0003
C 0002 Y 0004
D 0002 Z 0004
표 1은 경로 매핑 테이블의 일례를 나타낸다. 경로 매핑 테이블은 PATH 1, LUN ID 1, PATH 2, LUN ID 2 와 같은 열(Column)로 구성될 수 있다. 도시된 예에서, PATH 1 및 LUN ID 1은 호스트 서버(10, 20)와 제1 스토리지 장치(210) 사이의 제1 경로를 저장한다. PATH 2 및 LUN ID 2는 호스트 서버(10, 20)와 제2 스토리지 장치(220) 사이의 제2 경로 정보를 저장하는데, 이는 PATH 1 및 LUN ID 1에 대응하고 에뮬레이트한 정보이다. 첫 번째 행(Row)을 참조하면, path W는 path A에 대응하고 LUN ID 0003은 LUN ID 0001에 대응하여 에뮬레이트된다. 두 번째 행을 참조하면, path X는 path B에 대응하고 LUN ID 0003은 LUN ID 0001에 대응하여 예뮬레이트 된다. PATH와 LUN ID 매핑은 중복될 수 있으며 하나 이상 매핑될 수 있다. 매핑 테이블은 스토리지 다중화 장치(100)의 메모리(150)에 저장될 수 있다.
이하, 도 6을 참조하여 스토리지 네트워크에서 제1 스토리지 장치(210)에 이상이 발생한 경우 네트워크의 동작을 설명하기로 한다.
스토리지 다중화 장치(100)는 제1 및 제2 스토리지 장치(210, 220) 중 적어도 하나의 이상여부를 판단하는 이상판단부(미도시)를 더 포함할 수 있다. 본 발명의 일실시예에 따른 스토리지 다중화 장치(100)는 고가용성 서비스를 제공하려는 목적을 가지므로, 제1 스토리지 장치(210)와 제2 스토리지 장치(220) 중 어느 하나에 이상이 감지되는 경우 다른 하나를 이용하여 서비스를 제공함으로써 서비스 중단을 방지하려는 것이다. 이상판단부는 포트 정보 스푸핑부(110) 및/또는 경로 에뮬레이션부(120)에서 식별한 정보를 바탕으로 이상 유무를 판단할 수 있으나 본 발명이 이에 한정되는 것은 아니다.
제1 스토리지 장치(210)와 제2 스토리지 장치(220) 중 어느 하나에 이상이 감지되는 경우, 제어부(160)는 호스트 서버(10, 20)로부터 접근하는 프로세스들이 이상이 감지되지 않은 스토리지 장치(210, 220)에만 접근하도록 리다이렉션부(140)를 제어할 수 있다. 또한, 스토리지 다중화 장치(100)는 제1 스토리지 장치(210)와 제2 스토리지 장치(220) 중 어느 하나에 이상이 감지되었음을 알리는 신호를 생성하여 사용자에게 전달할 수 있다. 이와 같은 신호는 디스플레이 등을 통해 시각적으로 표시될 수 있고 또한 경고음 등을 통해 청각적으로 표시될 수도 있다.
제1 스토리지 장치(210)에 이상이 발생한 경우, 스토리지 다중화 장치(100)는 제1 스토리지 장치(210)에 도달하는 제1 경로의 정보를 제2 스토리지 장치(220)에 도달하는 제2 경로의 정보로 대체할 수 있다. 도시된 예에서, 스토리지 다중화 장치(100)는 경로 정보 A, B, C, D를 W, X, Y, Z 경로로 대체하여 호스트 서버(10, 20)가 제2 스토리지 장치(220)의 데이터를 이용하게 할 수 있다.
이하, 도 7을 참조하여 본 발명의 일실시예에 따른 이기종 스토리지 고가용성 서비스 제공 방법을 더 구체적으로 설명하기로 한다. 도 7은 본 발명의 일실시예에 따른 이기종 스토리지 고가용성 서비스 제공 방법을 나타내는 흐름도이다.
먼저, 호스트 서버(10, 20), 스위치(50) 및 제1 스토리지 장치(210)를 포함하는 스토리지 네트워크에서 사용자는 스위치(50)와 제1 스토리지 장치(210) 사이에 스토리지 다중화 장치(100)를 삽입할 수 있다(1010). 스토리지 다중화 장치(100)는 스위치(50)와 제1 스토리지 장치(210) 사이의 가상화 계층에 삽입될 수 있다.
스토리지 다중화 장치(100)의 제1 연결 포트(101)는 예를 들어 스위치(50)의 포트(55)와 연결될 수 있고, 제1 스토리지 장치(210)의 포트(211)는 스토리지 다중화 장치(100)의 제2 연결 포트(103)와 재연결될 수 있다. 스위치(50)의 포트(56)는 스토리지 다중화 장치(100)의 제1 연결 포트(102)와 연결될 수 있고, 제1 스토리지 장치(210)의 포트(212)는 스토리지 다중화 장치(100)의 제2 연결 포트(104)와 재연결될 수 있다.
이와 같이 연결된 스토리지 다중화 장치(100)에서 예컨대 포트 정보 스푸핑부(110)는 호스트 서버(10, 20)와 제1 스토리지 장치(210) 사이의 하나 이상의 제1 경로를 인식할 수 있다(1020). 포트 정보 스푸핑부(110)는 제2 연결 포트(103, 104)에서 식별된 제1 스토리지 장치(210)의 포트(211, 212)의 정보를 제1 연결 포트(101, 102)에 복제하여 스위치(50)의 포트(55, 56)와 통신하게 하고 제1 연결 포트(101, 102)에서 식별된 스위치(50)의 포트(55, 56)의 정보 및 호스트 서버(10, 20)의 식별 정보를 복제하여 제2 연결 포트(103, 104)가 제1 스토리지 장치(210)의 포트(211, 212)와 통신하게 할 수 있다. 스토리지 다중화 장치(100)는 스위치(50) 및 제1 스토리지 장치(210)와 연결된 상태에서 스토리지 네트워크 기반의 스위치(50)에 저장된 데이터에 관한 정보를 식별할 수 있다. 제1 스토리지 장치(210)의 WWPN에 기초하여 스위치(50)에 등록하고, 제1 스토리지 장치(210)의 WWPN과 연관된 호스트 서버(10, 20)의 WWPN 등록 정보를 수신할 수 있다. 제1 스토리지 장치(210)의 LUN 정보는 호스트 서버(10, 20)의 WWPN 정보에 기초하여 식별할 수 있다. 스토리지 네트워크는 일반적으로 다중 경로로 연결되어 있기 때문에 스토리지 다중화 장치(100)를 스토리지 가상화 계층에 삽입시 스토리지 데이터 서비스에는 영향이 없거나 적을 수 있다.
스토리지 가상화 계층에 삽입된 스토리지 다중화 장치(100)에서 포트 정보 스푸핑부(110)는 제1 스토리지 장치(210)의 LUN 정보, ID, path, 연결상태 정보를 수집하고 호스트 서버(10, 20)와 제1 스토리지 장치(210) 간의 연결 경로를 정의하는 식별 정보를 결정할 수 있다. 스토리지 다중화 장치(100)는 제1 스토리지 장치(210)의 하나 이상의 LUN을 지정하는 정보를 얻기 위해 REPORT LUN 명령어와 경로 식별을 위한 INQUIRY 명령어를 제1 스토리지 장치(210)로 전송하고 제1 스토리지 장치(210)의 다양한 INQUIRY 응답 메시지에서 수신된 정보를 분석할 수 있다.
스토리지 다중화 장치(100)는 제1 스토리지 장치(210)에 장애가 발생했을 때 서비스를 대체할 수 있는 제2 스토리지 장치(220)와 연결될 수 있다. 예를 들어, 사용자는 제2 스토리지 장치(220)의 포트(221, 222)들을 스토리지 다중화 장치(100)의 제3 연결 포트(105, 106)에 연결할 수 있다.
본 명세서에서는 스토리지 다중화 장치(100)가 먼저 연결되고 제2 스토리지 장치(220)가 추후에 연결되는 경우가 하나의 예로 설명되지만, 제2 스토리지 장치(220)가 스토리지 다중화 장치(100)에 먼저 연결된 상태로 스토리지 다중화 장치(100)가 스위치(50)와 제1 스토리지 장치(210) 사이에 연결될 수 있음은 자명하다.
제1 및 제2 스토리지 장치(210, 220)가 연결된 상태에서, 스토리지 다중화 장치(100)의 경로 에뮬레이션부(120)는 호스트 서버(10, 20)와 제1 스토리지 장치(210) 사이에 연결된 제1 경로에 대응하여 호스트 서버(10, 20)와 제2 스토리지 장치(220) 사이의 제2 경로를 정의할 수 있다(1030). 도 5를 예로 들면, 경로 에뮬레이션부(120)는 경로 A를 식별하는 정보에 기초하여 호스트 서버(10)의 포트(11)와 제2 스토리지 장치(220)의 포트(221) 사이의 대응하는 경로 W를 설정하고, 경로 B를 식별하는 정보에 기초하여 호스트 서버(10)의 포트(12)와 제2 스토리지 장치(220)의 포트(222) 사이에 대응하는 경로 X를 설정하고, 경로 C를 식별하는 정보에 기초하여 호스트 서버(20)의 포트(21)와 제2 스토리지 장치(220)의 포트(221) 사이의 대응하는 경로 Y를 설정하고, 경로 D를 식별하는 정보에 기초하여 호스트 서버(20)의 포트(22)와 제2 스토리지 장치(220)의 포트(222) 사이의 대응하는 경로 Z를 설정할 수 있다.
스토리지 다중화 장치(100)의 경로 에뮬레이션부(120)는 각각의 제1 경로와 제2 경로 사이의 대응 관계를 매핑하여 저장할 수 있다(1040). 또한, 경로 에뮬레이션부(120)는 제1 스토리지 장치(210)의 LUN 정보와 제2 스토리지 장치(220)의 LUN 정보 사이의 대응 관계를 매핑하여 저장할 수 있다(1050). 표 1을 예로 들면, 제1 경로에 대한 정보 PATH 1과 제1 경로에 대한 LUN 정보 LUN ID 1에 대응하는 PATH 2, LUN ID 2 정보를 지정할 수 있다. 매핑 정보는 스토리지 다중화 장치(100)의 메모리(150)에 저장될 수 있다.
다음으로, 스토리지 다중화 장치(100)의 데이터 관리부(130)는 메모리(150)에 저장된 매핑 테이블에 기초하여 제1 스토리지 장치(210)의 데이터와 제2 스토리지 장치(220)의 데이터를 동기화시킬 수 있다(1060). 여기에는 제1 스토리지 장치(210)와 제2 스토리지 장치(220) 중 일측의 데이터를 복제하여 타측의 대응하는 로직단위(LU)에 기록하는 과정이 포함될 수 있다. 이와 같은 동기화 과정은 계속적인 방식으로 실시간으로 수행될 수도 있으며 주기적으로 수행될 수도 있다. 주기적으로 수행되는 경우, 제1 스토리지 장치(210)와 제2 스토리지 장치(220)의 데이터가 변경된 시점을 파악하여 최신 데이터가 복제되도록 해야 함은 자명하다.
스토리지 다중화 장치(100)의 리다이렉션부(140)는 제1 경로를 통해 제1 스토리지 장치(210)에 접근하려는 프로세스가 있는지 파악하고, 있는 경우 제2 경로를 통해 제2 스토리지 장치(220)에 접근하도록 프로세스를 설정할 수 있다(1070).
스토리지 다중화 장치(100)의 경로 에뮬레이션부(120), 리다이렉션부(140), 제어부(160) 또는 기타 구성요소는 하나 이상의 제1 경로의 상태를 모니터링 할 수 있다. 예를 들어, 경로 에뮬레이션부(120)는 각각의 제1 경로 A, B, C, D의 상태를 결정할 수 있다. 경로 에뮬레이션부(120)는 경로를 통해 스토리지 시스템에 “READ FULL STATUS” 또는 스토리지 시스템의 지원하는 명령에 따라 “READ KEYS” 및 “READ RESERVATION” 명령어를 선택하여 각 경로 A, B, C, D의 상태를 결정할 수 있다. 각 경로의 상태 정보는 메모리(150) 내부의 경로 정보 저장소 등에 저장할 수 있다.
다수의 제 1경로의 상태 정보에 기초하여 다수의 제 2경로에 대한 상태가 설정될 수 있는데, 예컨대 스토리지 다중화 장치(100)는 경로 에뮬레이션부(120)가 예약 명령을 사용하여 제2 스토리지(220)의 경로 W에 대하여 경로 A의 상태를 복제하여 경로 W가 경로 A를 에뮬레이트하도록 할 수 있다. 이와 동일한 방식으로 경로 B의 상태를 복제하여 경로 X의 상태를 설정하는 데 사용할 수 있고 경로 C의 상태는 경로 Y의 상태, 경로 D의 상태는 경로 Z의 상태를 설정하는 데 사용할 수 있다.
제1 스토리지 장치(210)와 제2 스토리지 장치(220)가 모두 연결된 상태에서, 리다이렉션부(140)는 호스트 서버(10, 20)로부터 제1 스토리지 장치(210)로 접근하려는 프로세스를 제2 경로를 통하여 제2 스토리지 장치(220)로 재전송할 수 있다. 예컨대, 리다이렉션부(140)는 경로 A를 통해 수신되는 프로세스 통신을 경로 W를 통해, 그리고 경로 B를 통해 수신되는 통신을 경로 X를 통해 제2 스토리지 장치(220)로 재전송할 수 있다. 이와 동일한 방식으로 리다이렉션부(140)는 경로 C를 통해 수신되는 통신을 경로 Y를 통해, 그리고 경로 D를 통해 수신되는 통신을 경로 Z를 통해 제2 스토리지 장치(220)로 재전송할 수 있다. 제2 스토리지 장치(220)로 재전송하는 방법에는 Fiber Channel, iSCSI 등 다양한 방법이 사용 될 수 있으며 제 1경로에 기초하여 제 2 경로 맵핑은 1:1, 1:N, N;1, N;N 이 될 수 있다.
본 발명의 일실시예에 따른 이기종 스토리지 고가용성 서비스 제공 방법은 스토리지 다중화 장치(100)에 연결된 제1 스토리지 장치(210) 및 제2 스토리지 장치(220) 중 적어도 하나의 이상여부를 판단하는 단계를 더 포함할 수 있다.
제1 스토리지 장치(210)에 이상이 발생한 경우, 제어부(160)는 제1 스토리지 장치(210)에 도달하는 제1 경로의 정보를 제2 스토리지 장치(220)에 도달하는 제2 경로의 정보로 대체하도록 리다이렉션부(140)를 제어할 수 있다. 도시된 예에서, 스토리지 다중화 장치(100)는 경로 정보 A, B, C, D를 W, X, Y, Z 경로로 대체하여 호스트 서버(10, 20)가 제2 스토리지 장치(220)의 데이터를 이용하게 할 수 있다.
본 명세서에서는 제1 및 제2 스토리지 장치를 언급하여 본 발명의 일부 실시예를 설명하였으나, 본 발명이 단지 두 개의 스토리지 장치를 이용하는 경우에 한정되는 것은 아니며, 본 발명의 일부 실시예는 세 개 혹은 그 이상의 스토리지 장치를 활용할 수도 있다. 또한, 반드시 제1 스토리지 장치(210)가 원본 데이터를 저장하고 그 사본이 제2 스토리지 장치(220)에 복제되어야 하는 것은 아니다.
도시되지는 않았으나, 필요에 따라 스토리지 다중화 장치(100)의 제3 연결 포트(105, 106)에 제2의 스토리지 다중화 장치를 연결하는 것도 가능하다. 이 경우 보다 많은 개수의 스토리지 장치를 활용하게 될 수 있다.
전술한 본 발명의 일부 실시예에 의한 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치에 따르면, 스토리지 다중화 장치를 기존 스토리지 네트워크에 투명하게 설치하는 것이 가능하여 스토리지 네트워크의 다른 구성요소들의 구성 및 설정을 변경할 필요가 없다. 이는 스토리지 장치를 확장함에 있어 서비스 다운 시간을 현저히 감소시킬 수 있음을 의미하며 따라서 매우 높은 수준의 고가용성을 제공할 수 있다.
또한, 본 발명의 일실시예에 따른 스토리지 다중화 장치가 스토리지 가상화 계층에 삽입됨에 따라 다양한 종류의 스토리지 장치를 연결하여 사용하는 것이 가능해진다. 따라서 이기종 스토리지 장치를 사용하여 네트워크를 다중화할 수 있으므로 보다 유연한 방식으로 고가용성 서비스를 제공할 수 있다.
전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.
본 발명의 실시예를 구성하는 특정 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소의 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써 본 발명의 실시예를 구현할 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
10, 20: 호스트 서버 50: 스위치
100: 스토리지 다중화 장치 110: 포트 정보 스푸핑부
120: 경로 에뮬레이션부 130: 데이터 관리부
140: 리다이렉션부 150: 메모리
160: 제어부 210, 220: 스토리지 장치

Claims (5)

  1. 호스트 서버(10, 20), 스위치(50) 및 제1, 2 스토리지 장치를 포함하는 스토리지 네트워크에서 상기 스위치와 상기 제1, 2 스토리지 장치 사이에 개재되는 스토리지 다중화 장치에 있어서,
    상기 스위치(50)의 포트에 연결되는 제1 연결 포트(101, 102)와;
    제1 스토리지 장치의 포트에 연결되는 제2 연결 포트(103, 104), 제2 스토리지 장치의 포트에 연결되는 제3 연결 포트(105, 106);와,
    상기 제1 스토리지 장치의 포트 정보를 인식하여 상기 제1 연결 포트(101, 102)에 복제하고 상기 스위치(50)의 포트 정보를 인식하여 상기 제2 연결 포트(103, 104)에 복제하는 포트 정보 스푸핑부(110);와,
    상기 호스트 서버, 상기 스위치, 상기 제1 연결 포트, 상기 제2 연결 포트 및 제1 스토리지 장치 순으로 이어지는 제1 경로를 인식하여,
    상기 호스트 서버, 상기 스위치, 상기 제1 연결 포트, 상기 제3 연결 포트 및 제2 스토리지 장치 순으로 이어지는 제2 경로를 구축하고,
    상기 제1 경로에 대응하는 상기 제2 경로를 매핑하고, 상기 제1 경로로 접근되는 상기 제1 스토리지 장치의 LUN 정보에 대응하는 상기 제2 경로로 접근되는 상기 제2 스토리지 장치의 LUN 정보를 매핑하여, 매핑된 정보를 메모리(150)에 기록하는 경로 에뮬레이션부(120);와 상기 메모리(150)에 저장된 매핑 테이블에 기초하여 제1 스토리지 장치(210)의 데이터와 제2 스토리지 장치(220)의 데이터를 동기화시키는 데이터 관리부(130)를 포함하되,
    상기 포트 정보 스푸핑부(110)는 제1 스토리지 장치(210)의 LUN 정보, ID, path, 연결상태 정보를 수집하고 호스트 서버(10, 20)와 제1 스토리지 장치(210) 간의 연결 경로를 정의하는 식별 정보를 결정하고,
    상기 데이터 관리부(130)는 제1 스토리지 장치(210)와 제2 스토리지 장치(220)의 데이터가 변경된 시점을 파악하고. 제1 스토리지 장치(210)와 제2 스토리지 장치(220) 중 일측의 데이터를 타측에 복제하고 타측의 대응하는 로직단위(LU)에 기록하는 과정을 수행하며,
    포트 정보 스푸핑부(110) 및 경로 에뮬레이션부(120)에서 식별한 정보를 바탕으로 제1, 2 스토리지 장치(210, 220) 중 적어도 하나의 이상 여부를 판단하는 이상 판단부를 포함하여 구성되되,
    상기 이상 판단부에서 제1 스토리지 장치(210)와 제2 스토리지 장치(220) 중 어느 하나에 이상이 감지되는 경우, 제어부는 호스트 서버로부터 접근하는 프로세스가 이상이 감지되지 않은 스토리지 장치에만 접근하도록 리다이렉션부(140)를 제어하여, 상기 프로세스가 다른 스토리지 장치를 통해 서비스가 제공되어 서비스가 중지되지 않도록 구성되는 것을 특징으로 하는 이기종 스토리지 다중화 장치.
  2. 제 1 항에 있어서,
    상기 리다이렉션부(140)는 제1 스토리지 장치(210)와 제2 스토리지 장치(220)가 모두 연결된 상태에서 제1 경로를 통해 제1 스토리지 장치(210)에 접근하는 프로세스들을 제1 경로를 경유하여 제2 경로를 통해 제2 스토리지 장치(220)에 도달하도록 경로를 재설정하여 다수의 제1 경로들에 각 상응하는 제2 경로들의 정보를 표시하도록 제어 가능한 것을 특징으로 하는 이기종 스토리지 다중화 장치.
  3. 제 1 항 내지 제 2 항 중 어느 하나의 항에 기재된 호스트 서버, 스위치 및 복수의 스토리지 장치를 포함하는 이기종 스토리지 다중화 장치를 사용한 이기종 스토리지 고가용성 서비스 제공 방법에 있어서,
    상기 스위치와 제1 스토리지 장치 사이에 스토리지 다중화 장치를 개재하는 단계;
    상기 호스트 서버와 상기 제1 스토리지 장치 사이의 제1 경로를 인식하는 단계;
    상기 제1 경로에 대응하여 상기 호스트 서버와 상기 다중화 장치에 연결된 제2 스토리지 장치 사이의 제2 경로를 정의하는 단계;
    상기 제1 경로와 상기 제2 경로 사이의 대응 관계를 매핑하여 상기 다중화 장치에 저장하는 단계;와
    상기 제1 스토리지 장치와 상기 제2 스토리지 장치의 LUN 정보를 판독하여 상기 제1 스토리지 장치의 LUN 정보와 상기 제2 스토리지 장치의 LUN 정보 사이의 대응 관계를 매핑하여 상기 다중화 장치에 저장하는 단계; 및 상기 제1 스토리지 장치 및 상기 제2 스토리지 장치 중 적어도 하나의 이상 여부를 판단하는 단계를 더 포함하되,
    제1 스토리지 장치(210)와 제2 스토리지 장치(220) 중 어느 하나에 이상이 감지되는 경우,
    상기 제1 경로를 통해 제1 스토리지 장치에 접근하는 프로세스를 인식하고 매핑 정보에 기초하여 상기 제2 경로를 통해 제2 스토리지 장치에 접근하도록 상기 프로세스를 설정하는 단계를 더 포함하되, 제어부를 통해 호스트 서버(10, 20)로부터 접근하는 프로세스들이 이상이 감지되지 않은 제1, 2 스토리지 장치(210, 220)에만 접근하도록 리다이렉션부(140)를 제어하여 서비스가 중지되지 않고 연속적으로 제공될 수 있도록 구성되는 것을 특징으로 하는 이기종 스토리지 고가용성 서비스 제공 방법.
  4. 제 3 항에 있어서,
    상기 제1 스토리지 장치와 상기 제2 스토리지 장치는 일측의 데이터를 복제하여 타측의 대응하는 로직단위(LU)에 기록하되,
    제2 연결 포트에서 식별된 제1 스토리지 장치의 포트의 정보를 제1 연결 포트에 복제하여 스위치의 포트와 통신하게 하고 제1 연결 포트에서 식별된 스위치의 포트의 정보 및 호스트 서버의 식별 정보를 복제하여 제2 연결 포트가 제1 스토리지 장치의 포트와 통신되는 것을 특징으로 하는 단계를 더 포함하는 이기종 스토리지 고가용성 서비스 제공 방법.
  5. 삭제
KR1020190150838A 2019-11-21 2019-11-21 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치 KR102241188B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190150838A KR102241188B1 (ko) 2019-11-21 2019-11-21 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190150838A KR102241188B1 (ko) 2019-11-21 2019-11-21 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치

Publications (1)

Publication Number Publication Date
KR102241188B1 true KR102241188B1 (ko) 2021-04-19

Family

ID=75718588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190150838A KR102241188B1 (ko) 2019-11-21 2019-11-21 이기종 스토리지 고가용성 서비스 제공 방법 및 스토리지 다중화 장치

Country Status (1)

Country Link
KR (1) KR102241188B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005535962A (ja) * 2002-08-09 2005-11-24 ネットワーク・アプライアンス・インコーポレイテッド ファイルシステム上に仮想ディスクオブジェクトを階層化することによるストレージ仮想化
KR20090065135A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법
KR20110025052A (ko) * 2009-09-01 2011-03-09 엘에스아이 코포레이션 다중 경로화 제공 방법, 시스템 및 컴퓨터 판독 가능한 매체
KR20140019885A (ko) * 2009-04-23 2014-02-18 넷앱,인크. 스토리지 영역 네트워크 내에서의 가상 스토리지 관리의 능동-능동 지원
KR101673882B1 (ko) * 2016-05-11 2016-11-09 (주)비즈머스 내장 디스크를 이용한 고가용성 가상화 기반 스토리지 시스템 및 이것의 동작방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005535962A (ja) * 2002-08-09 2005-11-24 ネットワーク・アプライアンス・インコーポレイテッド ファイルシステム上に仮想ディスクオブジェクトを階層化することによるストレージ仮想化
KR20090065135A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 스트리밍 데이터 공유를 위한 fc 기반의 네트워크스토리지 스트리밍 가속 장치 및 방법
KR20140019885A (ko) * 2009-04-23 2014-02-18 넷앱,인크. 스토리지 영역 네트워크 내에서의 가상 스토리지 관리의 능동-능동 지원
KR20110025052A (ko) * 2009-09-01 2011-03-09 엘에스아이 코포레이션 다중 경로화 제공 방법, 시스템 및 컴퓨터 판독 가능한 매체
KR101673882B1 (ko) * 2016-05-11 2016-11-09 (주)비즈머스 내장 디스크를 이용한 고가용성 가상화 기반 스토리지 시스템 및 이것의 동작방법

Similar Documents

Publication Publication Date Title
US11983083B2 (en) Trust relationship migration for data mirroring
JP4963892B2 (ja) 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
US20190310925A1 (en) Information processing system and path management method
US7689803B2 (en) System and method for communication using emulated LUN blocks in storage virtualization environments
US7941602B2 (en) Method, apparatus and program storage device for providing geographically isolated failover using instant RAID swapping in mirrored virtual disks
US6708265B1 (en) Method and apparatus for moving accesses to logical entities from one storage element to another storage element in a computer storage system
US6978324B1 (en) Method and apparatus for controlling read and write accesses to a logical entity
US6813686B1 (en) Method and apparatus for identifying logical volumes in multiple element computer storage domains
US9098466B2 (en) Switching between mirrored volumes
US7406039B2 (en) System and method for a failover protocol in storage area network controllers
US7716261B2 (en) Method and apparatus for verifying storage access requests in a computer storage system with multiple storage elements
US7620794B2 (en) Storage system with storage apparatuses including virtual switches
US7979647B2 (en) Method of storing data on a secondary storage device
US6842784B1 (en) Use of global logical volume identifiers to access logical volumes stored among a plurality of storage elements in a computer storage system
US20060161810A1 (en) Remote replication
US6912548B1 (en) Logical volume identifier database for logical volumes in a computer storage system
JP2010231807A (ja) 記憶装置システム
US6760828B1 (en) Method and apparatus for using logical volume identifiers for tracking or identifying logical volume stored in the storage system
JP2005267327A (ja) ストレージシステム
JP2005202495A (ja) データ移行方法
JP2008112399A (ja) ストレージ仮想化スイッチおよびコンピュータシステム
US7065610B1 (en) Method and apparatus for maintaining inventory of logical volumes stored on storage elements
JP2003216344A (ja) 分割されたデータライブラリにおける複数のデバイスへのアクセスを管理するシステム
JP5466650B2 (ja) ストレージ・コピー・サービス・システムを管理する装置および方法
US7836157B2 (en) File sharing system and file sharing system setting method

Legal Events

Date Code Title Description
GRNT Written decision to grant