KR20050033060A - 네트워크를 이용한 핫 스페어 구성 시스템 및 방법 - Google Patents

네트워크를 이용한 핫 스페어 구성 시스템 및 방법 Download PDF

Info

Publication number
KR20050033060A
KR20050033060A KR1020050022072A KR20050022072A KR20050033060A KR 20050033060 A KR20050033060 A KR 20050033060A KR 1020050022072 A KR1020050022072 A KR 1020050022072A KR 20050022072 A KR20050022072 A KR 20050022072A KR 20050033060 A KR20050033060 A KR 20050033060A
Authority
KR
South Korea
Prior art keywords
storage
disk
hot spare
virtual disk
vdp
Prior art date
Application number
KR1020050022072A
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 KR1020050022072A priority Critical patent/KR20050033060A/ko
Publication of KR20050033060A publication Critical patent/KR20050033060A/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A44HABERDASHERY; JEWELLERY
    • A44CPERSONAL ADORNMENTS, e.g. JEWELLERY; COINS
    • A44C11/00Watch chains; Ornamental chains
    • AHUMAN NECESSITIES
    • A44HABERDASHERY; JEWELLERY
    • A44CPERSONAL ADORNMENTS, e.g. JEWELLERY; COINS
    • A44C25/00Miscellaneous fancy ware for personal wear, e.g. pendants, crosses, crucifixes, charms

Abstract

본 발명은 스토리지의 네트워크를 통한 핫 스페어 구성 시스템 및 방법에 관한 것으로, 스토리지(100, 200, 300)는 각각, 다수 개의 디스크 (111-115, 211-215, 311-315)를 포함하는 저장부(110, 210, 310)와, 저장부에 대해 데이터 읽기 및 쓰기를 행하는 커널(130, 230, 330)과, 디스크 폴트시 제어 동작을 행하는 제어부(120, 220, 320) 로 이루어지며, 제어부는 다수 개의 스토리지 중의 해당 스토리지가 내부 디스크의 고장으로 핫 스페어가 필요하게 되면, 네트워크를 통하여 다른 스토리지에 핫 스페어를 요청함으로써, 핫 스페어를 동적으로 제공하며, 고장난 디스크 교체로 인한 데이터 리빌드(rebuild)를 하게 되면 다시 원래의 상태대로 상기 커널에 데이터 입출력을 넘겨 주는 것을 특징으로 함으로써, 디스크의 자원을 경제적으로 사용할 수 있게 된다.

Description

네트워크를 이용한 핫 스페어 구성 시스템 및 방법{SYSTEM AND METHOD FOR CONSTRUCTING A HOT SPARE USING A NETWORK}
본 발명은 스토리지의 네트워크를 통한 핫 스페어 구성 시스템 및 방법에 관한 것으로, 스토리지들이 네트워크를 통해 통신을 하여 핫 스페어를 구성함으로써 네트워크를 통해 연결된 스토리지 중 어느 하나가 디스크의 고장으로 핫 스페어가 필요하게 되면, 다른 스토리지에서 핫 스페어를 동적으로 제공하며, 고장난 디스크 교체로 인한 데이터 리빌드(rebuild)를 하게 되면 다시 원상 복구되는 시스템에 관한 것으로서, 디스크의 자원을 경제적으로 사용할 수 있게 된다.
일반적으로, 스토리지는 기본적으로 레이드를 구성할 때, 고장난 이전의 활성 모듈을 대체하도록 가동될 수 있는 여분의 기억 모듈인 핫 스페어(Hot Spare)를 두는 것이 일반적이다. 한편, 레이드(RAID: Redundant Array of Independent Disks)란 중요한 데이터를 여러 개의 하드 디스크에 중복하여 저장함으로써 안전하게 데이터를 보관하는 기술을 말하는 바, 레이드 기술에는 데이터를 저장하는 방식에 따라 9가지의 레벨을 제공하며, 논리적으로 연속되는 데이터를 디스크의 빈 공간에 순차적으로 저장하는 레벨0 (R0), 중복 저장되는 데이터를 가지고 있어 최소 두 개의 디스크 드라이브로 구성되는 레벨1 (R1) 및 데이터를 쓰기 위한 디스크의 할당 주소를 지정하고 패리티 정보를 저장하는 레벨5 (R5) 방식이 주로 사용된다.
그런데, 기존의 스토리지는 핫 스페어를 따로 두어서 사용중인 디스크가 고장이 나면 핫 스페어 디스크로 데이터를 리빌드(Rebuild)하게 된다. 따라서 핫 스페어 디스크를 항상 따로 두어서 관리하는 것이 일반적이다. 예를들어, 도1에서와 같이 R5 구성 시에 각 스토리지에 디스크가 4개인 경우, 각 스토리지에서 마지막 디스크(Disk4)를 핫 스페어로 두고 나머지 3개의 디스크를 R5로 구성하게 된다. 그때 핫 스페어 디스크는 다른 디스크가 고장날 때까지는 아무런 역할도 하지 못하므로 전체 공간에서 25%는 사용하지 못하는 공간으로 되어 디스크 자원의 낭비를 초래하게 된다는 문제점이 있다.
한편, 각 스토리지에서의 핫 스페어를 별도로 두는 대신, 각 스토리지가 공통의 핫 스페어를 갖도록 하는 네트워크를 이용하여 핫 스페어 드라이브를 공유하기 위한 장치로서 대한민국 특허 제288020호와 같은 것이 있다.
즉, 상기 종래의 방식의 데이터 처리 시스템은 도6에 도시되어 있는 바와 같이, 스토리지로서의 서브시스템(3, 4, 5)에 연결된 컴퓨터 시스템(1, 2)을 포함한다. 이들 서브시스템은 도시된 예에서 디스크 드라이브 서브시스템이다. 컴퓨터 시스템(1,2)은 버스 (9)에 의해 서브시스템 (3, 4, 5)에 연결되어 있으며, 각 서브 시스템은 글로벌 핫 스페어 풀(Global Hot Spare Pool : GHSP)(6, 7, 8)과 공통 접속되어 있다. GHSP(6, 7, 8) 각각은 도시된 예에서 디스크 드라이브를 포함하고 있으며 핫 스페어 장치(Hot Spare Device : HSD)를 구비하도록 채용되며, GHSP는 저장 서브시스템에 버스(9)에 의해 연결된다. 따라서 이들 GHSP내의 디스크 드라이브는 서브시스템 사이에서 공유되며, 이들 버스를 통해 공통으로 접속된 GHSP는 데이터 처리 시스템에 요구되는 복수의 HSD를 감축시키는데 사용된다. 아울러, 상기 서브시스템은 콘트롤러들을 포함하는 디스크 드라이브 시스템으로서, 각 콘트롤러는 디스크 드라이브 및 버스 상에서의 디스크 드라이브의 데이터 송수신을 제어한다. 역시, 글로벌 핫 스페어 풀(GHSP)은 버스에 접속될 수 있으며, 상기 버스에 접속되는 HSD들을 포함하며, 디스크 드라이브 저장 서브시스템은 GHSP 내의 HSD들을 공유한다. 예를들어 상기 예에서 각 서브시스템은 12개의 HSD를 포함하며, 디스크 드라이브 저장 서브시스템 사이에 공유되어 있어, 어느 하나의 저장 서브시스템에서 디스크 드라이브가 고장난 경우 RAID 콘트롤러와 같은 고장난 HSD를 관리하기 위한 콘트롤러는 GHSP 중 사용이 자유로운 드라이브를 결정하고, 버스를 통하여 필요한 핫 스페어링(hot sparing) 동작을 수행하기 위하여 선택된 HSD를 사용하는 바, 이는 마치 자신의 서브시스템의 일부인 것처럼 HSD를 사용한다는 것을 의미한다. 일단 서브시스템에서 고장난 드라이브가 수리되거나 또는 대체되는 경우 HSD는 더 이상 필요하지 않으며 콘트롤러는 다른 서브시스템이 HSD를 자유롭게 사용하도록 한다.
따라서, 전체 시스템 내에서 핫 스페어의 공간을 약간은 줄일 수 있을 지 모르나, 이 경우에도 어디까지나 정해진 핫 스페어 저장 공간은 서브 시스템이 고장나지 전까지는 비워두어야 하므로, 저장 공간의 낭비는 피할 수 없다는 문제점은 남는다.
본 발명의 목적은 상기와 같은 문제점을 해결하기 위한 것으로, 스토리지들이 네트워크를 통해 통신을 하여 핫 스페어를 구성하되, 별도의 핫 스페어 저장 공간을 비워두는 것이 아니고 모든 디스크를 사용하되, 네트워크로 연결된 여러 스토리지 중 하나가 디스크의 고장으로 핫 스페어가 필요하게 되면, 스토리지 간의 통신을 하여 n개의 스토리지 중 가장 여유 공간이 많은 스토리지에서 핫 스페어를 동적으로 제공하여 주도록 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 일측면에 따르는 핫 스페어 구성 시스템은, 다수 개의 스토리지가 네트워크를 통해 접속되어 있는 네트워크를 이용한 핫 스페어 구성 시스템으로서, 상기 스토리지(100, 200, 300)는 각각, 다수 개의 디스크 (111-115, 211-215, 311-315)를 포함하는 저장부(110, 210, 310)와, 상기 저장부에 대해 데이터 읽기 및 쓰기를 행하는 커널(130, 230, 330)과, 디스크 폴트시 제어 동작을 행하는 제어부(120, 220, 320) 로 이루어지며, 상기 제어부는, 상기 다수 개의 스토리지 중의 해당 스토리지가 내부 디스크의 고장으로 핫 스페어가 필요하게 되면, 네트워크를 통하여 다른 스토리지에 핫 스페어를 요청함으로써, 핫 스페어를 동적으로 제공하며, 고장난 디스크 교체로 인한 데이터 리빌드(rebuild)를 하게 되면 다시 원래의 상태대로 상기 커널에 데이터 입출력을 넘겨 주는 것을 특징으로 한다.
바람직하게는, 상기 제어부는, 상기 다수 개의 스토리지의 시스템 자원을 검사하고, 해당 스토리지의 디스크 폴트를 인식하여 다른 스토리지의 제어부에 핫 스페어를 요청하거나, 다른 스토리지로부터의 핫 스페어 요청을 받아들이는 버츄얼 디스크 서비스(Virtual Disk Service: VDS)(121; 221; 321), 다른 스토리지로부터의 핫 스페어 요청에 따라 핫 스페어 제공 서비스를 행하는 버츄얼 디스크 프로바이더(Virtual Disk Provider: VDP)(122; 222; 322), 및 다른 스토리지의 버츄얼 디스크 프로바이더(VDP)와 함께 핫 스페어 제공 서비스를 행하는 버츄얼 디스크 클라이언트(Virtual Disk Client: VDC)(123; 223; 323)로 구성되며,
더욱 바람직하게는, 상기 저장부는, 상기 다수 개의 디스크와의 인터페이싱을 제공하며, 디스크 폴트를 인식하여 상기 제어부에 디스크 폴트를 알리는 레이드 프로세서(116, 216, 316)를 더 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 측면에 따르는 핫 스페어 구성 방법은, 다수 개의 스토리지가 네트워크를 통해 접속되어 있는 네트워크를 이용한 핫 스페어 구성 시스템의 핫 스페어 제공 방법으로서, (a) 각 스토리지간 통신으로, 각 스토리지의 디스크의 정보, 레이드 정보, 남은 디스크 용량 정보 등의 스토리지 정보를 교환하는 단계 (S2); (b) 각 스토리지의 디스크 폴트가 발생하였는지 여부를 검사하는 단계 (S3); (c) 상기 (b) 단계에서 어느 특정 스토리지의 디스크 폴트가 감지되면, 디스크 폴트난 스토리지에서 기 설정된 조건에 맞는 적당한 스토리지에게 가상 디스크 제공을 요청하는 단계 (S4); 및 (e) 상기 (c) 단계에서 가상 디스크 제공을 요청받은 스토리지는 상기 가상 디스크 제공을 요청한 스토리지의 폴트난 디스크에 저장되어야 할 데이터를 자신의 스토리지의 저장부에 저장하는 단계 (S6); 를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (e) 단계 이전에, (d) 상기 가상 디스크 제공을 요청받은 스토리지에서 가상 디스크 제공 서비스를 시작하는 단계 (S6)를 더 포함하는 것을 특징으로 하며,
더욱 바람직하게는, (f) 상기 폴트난 디스크 교체 후, 핫 스페어를 제공한 스토리지에서 디스크 폴트난 스토리지의 해당 디스크로 데이터를 전송하는 단계 (S7, S8)를 더 포함하는 것을 특징으로 하건,
상기 (c) 단계는, 상기 가상 디스크를 요청받은 스토리지에 대해 정보전송을 요청하는 단계 (S71); 상기 가상 디스크를 요청받은 스토리지가 디스크 빌드를 행하고 가상 디스크를 요청한 스토리지에 통지하는 단계 (S72, S73); 상기 가상 디스크를 요청받은 스토리지의 VDP가 활성화 되었는지를 검사하는 단계 (S74); 및 상기 가상 디스크를 요청한 스토리지의 VDC에게 상기 가상 디스크를 요청한 스토리지의 VDP의 가상 디스크 제공 서비스의 정상 시작을 알리는 단계 (S75); 를 포함하거나,
상기 (d) 단계는, 상기 가상 디스크를 요청받은 스토리지의 VDS가 상기 가상 디스크를 요청받은 스토리지의 VDP에 서비스 활성화를 명령하는 단계 (S64); 상기 가상 디스크를 요청받은 스토리지의 VDP로부터 I/O 승인을 체크하여 승인이 되면 다음 단계로 넘어가고, 승인을 받지 못하면 대기하는 단계 (S66); 상기 가상 디스크를 요청받은 스토리지의 VDP의 활성화 여부를 체크하는 단계 (S66); 및 상기 VDP의 활성화 여부를 체크하여 활성화되었으면 VDS에 정상 시작을 알리고, 그렇지 않은 경우에는 서비스 제공 불가를 알리는 단계 (S67, S68); 를 포함하거나,
상기 (e) 단계는, 상기 가상 디스크를 요청한 스토리지에서 I/O가 발생한 경우, 폴트된 디스크에 대해 발생한 I/O인가 여부를 체크하는 단계 (S84); 상기 폴트된 디스크에 대해 발생한 I/O인 경우, I/O 리다이렉트 프로세서 (I/O RP) 가 활성화 되었는지를 체크하는 단계 (S87); 및 I/O RP가 활성화되어 있는 경우, I/O RP에 I/O를 전달하고, VDC에 I/O를 전달하여 상기 가상 디스크를 요청한 스토리지에 대해 I/O를 수행하는 단계 (S88, S89); 를 포함한다.
이하, 첨부한 도면을 참조하여 본 발명에 따르는 네트워크를 이용한 핫 스페어 구성 시스템 및 방법을 상세하게 설명하기로 한다.
도 1은 본 발명의 핫 스페어 구성 시스템에 대한 개략적인 구성도이고, 도 2는 본 발명의 핫 스페어 구성 시스템에 대한 상세 블록도이며, 도 3은 본 발명의 핫 스페어 구성 방법에 대한 전체 흐름도이다.
도 1에서 보는 바와 같이, 본 발명의 시스템에서의 기본 구조는 각각 4개의 디스크(11-14, 21-24, 31-34, 41-44)를 갖는 n개의 스토리지들(10, 20, 30. 40)이 각각의 제어부(15, 25, 35, 45) 및 네트워크(60)를 통해 통신을 하도록 구성되는 바, 각 스토리지 내에서 별도의 핫 스페어 저장 공간을 비워두는 것이 아니며, 도 6에서와 같은 시스템 전체로서의 별도의 핫 스페어 저장 공간(도6의 6, 7, 8)을 비워 두는 것도 아니다. 비 설명 부호 50은 서버이다.
즉, 모든 스토리지의 모든 디스크를 모두 사용하되, 네트워크로 연결된 여러 스토리지 중 어느 하나가 디스크 (예를들어, 제1 스토리지의 디스크4 (14)) 의 고장으로 제1 스토리지(10)가 핫 스페어를 필요로 하게 되면, 스토리지 간의 통신을 하여 n개의 스토리지 중 가장 여유 공간이 많은 스토리지에서 핫 스페어를 동적으로 제공하여 주도록 한다. 예를들어 스토리지3이 가장 여유 공간이 많다면 스토리지3에서 핫 스페어를 제공하여 리빌드를 시작하며, 스토리지1의 디스크4를 교체하여 주면 다시 스토리지3에서 리빌드된 데이터를 스토리지1의 디스크4에 리빌드하여 주고 스토리지3은 데이터를 삭제하게 된다. 이런 식으로 하여 n개의 스토리지가 항상 네트워크를 통하여 통신을 하다가 어느 한 스토리지에서 디스크가 고장이 나게 되어 핫 스페어가 필요하게 되면 스토리지 중 가장 여유공간이 많은 스토리지에서 핫 스페어를 제공하여 주는 방식을 반복하게 된다, 마찬가지로, 여러 스토리지가 동시에 디스크가 고장나서 동시에 핫 스페어를 필요로 할 경우에도, 디스크가 고장이 난 스토리지나 다른 스토리지에게 핫 스페어를 제공하고 있는 스토리지 이외의 스토리지 중에서 여유 공간이 많은 스토리지가 핫 스페어를 제공하여 주면 된다. 이를 위해 각 스토리지의 제어부(15, 25, 35, 45)는 스토리지가 정상 동작시에도 다른 스토리지의 제어부와 통신을 하면서 다른 스토리지의 디스크 정보를 교환하고 있게 된다.
도 2는 본 발명의 핫 스페어 구성 시스템에 대하여 이상의 제어부를 좀더 상세히 도시한 상세 블록도인 바, 도 2에서 보는 바와 같이, 각 스토리지(100, 200, 300)는 저장부(110, 210, 310)와 제어부(120, 220, 320) 및 커널(130, 230, 330)로 이루어지며, 다시 저장부(110, 210, 310)는 각각, 디스크 인터페이스(117, 217, 317)를 갖는 레이드 프로세서(116, 216, 316)와 상기 디스크 인터페이스와 연결된 디스크1 내지 디스크N (111-115, 211-215, 311-315)으로 구성된다. 커널(130)은 기존의 스토리지와 마찬가지로 커널 I/O(140, 150)를 통해 디스크 인터페이스(117)와 연결되어 있어 정상적인 데이터 입출력의 경우 커널 I/O(130, 140, 150)를 통해 커널 I/O 프로세서(118)와 접속되며, 다시 디스크 인터페이스(117)를 통해 디스크(111-115)에 읽기 및 쓰기가 행하여 진다.
그런데, 본 발명에 관한 스토리지는, 이외에도 버츄얼 디스크 서비스(Virtual Disk Service: VDS)(121), 버츄얼 디스크 프로바이더(Virtual Disk Provider: VDP)(122), 버츄얼 디스크 클라이언트(Virtual Disk Client: VDC)(123)로 구성되는 제어부(120)를 포함한다. VDP 및 VDC는 TCP/IP 채널(612, 613)을 통해 시스템의 전체 네트워크(600)와 연결되어 있으며, 각각 커널 I/O(150) 및 버츄얼 디스크 I/O(160)를 통해 커널 I/O 프로세서(118) 및 I/O 리다이렉트 프로세서(I/O PR)(119)와 접속되어 있다. 상술한 바와 같이, 커널 I/O 프로세서(118) 및 I/O 리다이렉트 프로세서(I/O PR)(119)는 디스크 인터페이스(117)를 통해 디스크(111-115)에 읽기 및 쓰기를 행하게 된다.
이제, 도 2 및 도 3을 참조하여 본 발명의 핫 스페어 구성 방법에 대하여 개략적으로 설명하면, 먼저 각 스토리지 간의 VDS를 시작하게 되면 (S1), 각 스토리지간 통신으로, 각 스토리지의 VDS(121, 131, 141)는 해당 스토리지의 디스크의 정보, 레이드 정보, 남은 디스크 용량 정보 등의 스토리지 정보를 교환하게 된다 (S2).
이제 레이드 프로세서(116)는 자신의 스토리지의 디스크 폴트가 발생하였는지 여부를 검사하게 되는 바 (S3), 디스크 폴트가 감지되면 디스크 폴트난 스토리지에서 VDC를 수행하게 된다 (S4). 예를들어, 스토리지1의 디스크N (115)이 디스크 폴트인 경우, I/O 리다이렉트 프로세서(119)는 VDS(121)에 가상 디스크를 요구하게 되는 바, 남은 용량이 가장 많은 스토리지 (예를들어 스토리지2) 의 VDS(221)에게 가상 디스크를 요청하게 된다.
이 경우, 스토리지2의 VDS(221)는 해당 VDP(222)에게 VDP를 수행할 것을 명령함으로써, 스토리지2에서 VDP가 수행되도록 한다 (S5). 따라서 폴트난 디스크 (115)에 저장되어야 할 데이터가 스토리지2의 VDP(222)를 통해 스토리지2의 저장부(210)에 저장되며 (S6), 폴트난 디스크 교체를 행하게 되는 바 (S7), 교체가 완료되면 VDP 제공 스토리지 (핫 스페어를 제공한 스토리지)(일례로 스토리지2)에서 VDC 스토리지 (디스크 폴트난 스토리지)(일례로 스토리지1)의 해당 디스크로 데이터를 전송하고 (S8), VDP 제공 스토리지(일례로 스토리지2)의 핫 스페어 데이터를 삭제함으로써 종료된다 (S9).
상기 예에서는 스토리지1의 디스크가 폴트되고, 스토리지2에서 핫 스페어를 제공하는 것으로 하여 스토리지1의 VDC가 동작하고, 스토리지2가 VDP를 제공하는 것으로 설명하였으나, 이는 예에 불과하고, 어떤 스토리지도 VDP가 될 수 있으며, 역으로 VDC가 될 수도 있다.
한편, 도 4a 내지 도 4c는 본 발명의 핫 스페어 구성 방법에 대한 보다 상세한 흐름도이며, 도 5는 본 발명에 관한 각 스토리지의 레이드 프로시저 내의 상세 흐름도인 바, 도2, 도 4a 내지 도 5를 참조하여 본 발명의 핫 스페어 구성 방법을 상세히 설명한다.
편의상, 상기 예에서와 마찬가지로 스토리지1이 VDC가 되고 스토리지2에서 VDP를 제공하는 것으로 하여, 상술한다.
먼저 본 발명의 시스템이 시작되면, 각 스토리지의 VDS (121, 221, 321)는 시스템 메모리의 사이즈, 디스크 수, 각각의 디스크 사이즈 등의 시스템 자원을 검사하고 (S41, S51), 시스템 정보를 시스템 정보 테이블에 저장한다. 아울러 다른 VDS에게 자신이 활성화되었음을 알리면서 시스템 정보를 전송한다 (S42, S52). 이후 각각의 VDS는 다른 VDS들로부터 전송되어 온 시스템 정보를 수집하는 바 (S43, S53), 수집된 정보는 각각의 VDS 정보 테이블에 저장된다.
여기까지는 VDS를 수행하기 위한 준비단계에 속하는 바, 이제 각 VDS는 외부로부터의 이벤트가 발생하였는지 여부를 체크하여 (S44), 발생하지 않았다면 계속해서 수행하고, 발생한 경우에는 외부로부터 발생한 이벤트의 종류를 체크하는 바 (S45), 이벤트는 VDS에 대한 이벤트인 경우와 VDP에 대한 이벤트인 경우 및 VDC에 대한 이벤트인 경우의 3가지 종류가 있다.
먼저, VDC에 대한 이벤트인 경우 (C로 분기)를 도 4c를 참조하여 설명하면, 이는 I/O RP (119)로부터의 VDS의 요청이 있는 경우이므로, VDS1은 가장 여유 공간이 많은 스토리지에게 VDS 서비스 정보를 전송하면서 VDS 서비스를 요구하게 된다 (S71). 이는 가장 여유 공간이 많은 스토리지의 VDS 의 포트 번호 (여기서는 2번)를 VDC (123) 에게 알려주어 스토리지2에 대해 VDP 서비스를 요청하도록 명령함으로써 시작되며, 1번 VDC (123)는 1번 VDS (121)이 알려준 포트 번호 (2번 VDP의 번호) 로 현재 폴트된 디스크 크기 등의 필요한 VDS 서비스 정보를 알려주게 됨으로써 이루어진다.
그러면 2번 VDP (222)는 소요되는 크기의 디스크 공간을 마련하는 디스크 빌드를 행하는 바 (S72), 이를 1번 VDC에게 알려준다. 이제 1번 VDC가 2번 VDP로부터 통지를 받으면 (S73), 2번 VDP의 활성화 여부를 체크하여 (S74), 활성화되지 않았으면 S71 단계부터 반복하고, 활성화된 상태이면 1번 VDC (123)에게 2번 VDP (222)의 VDP 서비스의 정상시작을 알려주어 (S75), 핫 스페어가 필요할 때에 직접 1번 VDC와 2번 VDP가 직접 데이터를 주고 받아 핫 스페어로서 읽기 쓰기가 가능하도록 한다.
한편, 도 4a에서의 S45의 판단 결과, 외부로부터의 이벤트가 VDS에 대한 이벤트인 경우에는(B로 분기), 도 4b에서 보는 바와 같이, 어떤 이벤트인지를 다시 체크하여 (S61), 다른 스토리지로부터 VDP 서비스를 요청받은 이벤트라면, S63으로 분기하여 S63 내지 S68까지의 VDP 서비스 요청에 대한 처리를 행하게 된다. 이는 상기 2번 스토리지가 프로바이딩을 행하는 예라면, 2번 스토리지의 VDS가 행하게 되는 루틴에 해당한다.
이를 좀더 상술하면, VDP 서비스 활성화가 시작되면 (S63), 2번 VDS (221)는 2번 VDP (222)에 VDP 서비스 활성화를 명하게 되며 (S64), 이는 실제로는 VDP 셋업 패킷을 VDP에 전송함으로써 이루어질 수 있다. 그리고 나서, VDS는 VDP로부터 I/O 승인을 기다리게 되며 (S65), I/O 승인이 떨어지면 VDP가 활성화 되었는지를 판단하여 (S66), 활성화되어 있는 경우에는 VDS (221)에게 VDP 서비스가 정상적으로 시작됨을 알리고 (S68), 그렇지 않은 경우에는 VDS (221)에게 VDP 서비스를 제공할 수 없음을 알린다 (S67).
한편, 상기 S61 단계에서의 판단 결과, 발생한 이벤트가 VDS 서비스 요구에 대한 처리 결과를, VDS1이 VDS2로부터 단순히 응답받은 것에 불과한 경우라면, 이상이 없는 한 처음으로 리턴하면 된다.
다른 한편, 상기 S61 단계에서의 판단 결과, 발생한 이벤트가 2번 VDS로부터의 호스트 정보를 요구받은 경우라면, 2번 VDS에게 호스트 정보를 전송하고 (S62), VDP의 승인을 기다리게 된다. 이는 상기 스토리지의 예에서 1번 VDS의 처리 루틴이다.
이제 다시 도 6a의 S45 단계로 돌아가서, 상기 발생한 이벤트가 VDP에 관한 경우라면, VDP로부터 VDP 셋업 패킷을 수신하고 (S46), VDP로부터 I/O 승인을 기다리면 된다 (S47).
마지막으로 도 5를 참조하여, 핫 스페어 처리를 행하여 데이터를 디스크에 기록하거나 판독할 경우의 각 스토리지의 레이드 프로시저 내의 흐름을 상세히 설명한다.
이 경우에도 일단은 일반적인 레이드 프로세서가 구동되고 나서, 입출력 대기를 행하여 (S81), 커널로부터 I/O 요구가 있는가 여부를 검출하는 바 (S83), 커널로부터 I/O 요구가 있는 경우에는 (S82), 요구되는 I/O가 문제가 있는 디스크 (일례로 디스크5 : 115)에서 또는 상기 문제가 있는 디스크에 대해 발생하였는지를 판단하여(S84), 그렇지 않은 경우에는 디스크1 내지 디스크4 (111-114)에 대한 일반적인 I/O 프로세스를 수행하면 되나 (S85), 폴트된 디스크에서 (또는, 폴트된 디스크에 대해) 발생한 I/O인 경우에는 본 발명에 대한 VDS 루틴 (S87-S99)을 수행하게 된다.
VDS 루틴은 먼저, I/O 리다이렉트 프로세서 (I/O RP)(119, 219) 가 활성화되어 있는지 여부를 체크하여 (S87), 그러한 경우에는 I/O RP에 I/O를 전달하고 (S88), 다시 VDC에 I/O를 전달하여 (S89), 별도의 VDC 서브루틴 (S99)이 수행되도록 한다. 이제, VDC 서브루틴(S99)이 수행되고 나면, 이는 다시 원래의 루틴으로 통보되는 바, VDC로부터 I/O 결과를 기다려 (S90), 링크 오류와 같은 I/O에 오류가 발생하였는가를 판단하게 되며 (S91), 오류가 발생하지 않았으며 처음(S81)으로 리턴하고, 오류가 발생한 경우에는 오류 발생 횟수를 카운트하여 (S92), 오류 발생 횟수가 소정 횟수 미만이면 VDC를 다시 수행하도록 S89로 리턴하고, 오류 발생 횟수가 소정 횟수 이상이면 I/O RP를 비활성 상태로 전환하고 (S94), 루틴을 종료하여 버리게 되는 바, 이는 본 발명의 시스템을 이용하여 핫 스페어를 수행할 수 없는 네트워크 등의 치명적인 문제가 있음을 알리게 되는 것이다.
한편, 상기 S87 단계에서 I/O RP가 활성화되어 있는가 여부의 판단 결과, 활성화되어 있지 않는 경우에는, I/O RP를 시작하고 나서 (S95), VDC에게 I/O RP 시작을 알려주게 되며 (S96), VDC로부터 I/O 승인을 기다려 (S97), I/O RP를 활성화시키고 나서 (S98), 상기 S97 단계로 리턴하여 VDC를 수행하면 된다.
이상에서는 본 발명의 일실시예 및 다른 실시예에 따라 본 발명을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 변경 및 변형한 것도 본 발명에 속함은 당연하다.
상기와 같은 본 발명의 스토리지의 네트워크를 통한 핫 스페어 구성 시스템 및 방법에 의하면, 별도로 정상 I/O 동작 시에 쉬고 있는 여분의 저장 공간을 확보하여 두고 있지 않더라도, 핫 스페어를 네트워크를 통해 연결된 스토리지 중 어느 하나가 디스크의 고장으로 핫 스페어가 필요하게 되더라도 다른 스토리지에서 핫 스페어를 동적으로 제공하며, 고장난 디스크 교체로 인한 데이터 리빌드를 하게 되면 다시 원상 복구되므로, 디스크의 자원을 100% 활용할 수 있어 저장 공간을 보다 경제적으로 사용할 수 있게 된다.
도 1은 본 발명의 핫 스페어 구성 시스템에 대한 개략적인 구성도.
도 2는 본 발명의 핫 스페어 구성 시스템에 대한 상세 블럭도.
도 3은 본 발명의 핫 스페어 구성 방법에 대한 전체 흐름도.
도 4a 내지 도 4c는 본 발명의 핫 스페어 구성 방법에 대한 상세 흐름도.
도 5는 본 발명에 관한 각 스토리지의 레이드 프로시저 내의 상세 흐름도.
도 6은 종래의 핫 스페어 드라이브를 공유하기 위한 시스템 구성도.
*도면의 주요부분에 대한 부호의 설명*
10, 20, 30, 40 : 스토리지 11-14, ... 41-44 : 디스크
15, 25, 35, 45 : 제어부 50 : 서버
60 : 네트워크망
100, 200, 300 : 스토리지 600 : TCP/IP 또는 UDP
110, 210, 310 : 저장부 120, 220, 320 : 제어부
130, 230 : 커널

Claims (9)

  1. 다수 개의 스토리지가 네트워크를 통해 접속되어 있는 네트워크를 이용한 핫 스페어 구성 시스템으로서,
    상기 스토리지(100, 200, 300)는 각각, 다수 개의 디스크 (111-115, 211-215, 311-315)를 포함하는 저장부(110, 210, 310)와, 상기 저장부에 대해 데이터 읽기 및 쓰기를 행하는 커널(130, 230, 330)과, 디스크 폴트시 제어 동작을 행하는 제어부(120, 220, 320) 로 이루어지며,
    상기 제어부는, 상기 다수 개의 스토리지 중의 해당 스토리지가 내부 디스크의 고장으로 핫 스페어가 필요하게 되면, 네트워크를 통하여 다른 스토리지에 핫 스페어를 요청함으로써, 핫 스페어를 동적으로 제공하며, 고장난 디스크 교체로 인한 데이터 리빌드(rebuild)를 하게 되면 다시 원래의 상태대로 상기 커널에 데이터 입출력을 넘겨 주는 것을 특징으로 하는 네트워크를 이용한 핫 스페어 구성 시스템.
  2. 제 1 항에 있어서, 상기 제어부는,
    상기 다수 개의 스토리지의 시스템 자원을 검사하고, 해당 스토리지의 디스크 폴트를 인식하여 다른 스토리지의 제어부에 핫 스페어를 요청하거나, 다른 스토리지로부터의 핫 스페어 요청을 받아들이는 버츄얼 디스크 서비스(Virtual Disk Service: VDS)(121; 221; 321),
    다른 스토리지로부터의 핫 스페어 요청에 따라 핫 스페어 제공 서비스를 행하는 버츄얼 디스크 프로바이더(Virtual Disk Provider: VDP)(122; 222; 322), 및
    다른 스토리지의 버츄얼 디스크 프로바이더(VDP)와 함께 핫 스페어 제공 서비스를 행하는 버츄얼 디스크 클라이언트(Virtual Disk Client: VDC)(123; 223; 323)로 구성되는 것을 특징으로 하는 시스템.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 저장부는,
    상기 다수 개의 디스크와의 인터페이싱을 제공하며, 디스크 폴트를 인식하여 상기 제어부에 디스크 폴트를 알리는 레이드 프로세서(116, 216, 316)를 더 포함하는 것을 특징으로 하는 시스템.
  4. 다수 개의 스토리지가 네트워크를 통해 접속되어 있는 네트워크를 이용한 핫 스페어 구성 시스템의 핫 스페어 제공 방법으로서,
    (a) 각 스토리지간 통신으로, 각 스토리지의 디스크의 정보, 레이드 정보, 남은 디스크 용량 정보 등의 스토리지 정보를 교환하는 단계 (S2);
    (b) 각 스토리지의 디스크 폴트가 발생하였는지 여부를 검사하는 단계 (S3);
    (c) 상기 (b) 단계에서 어느 특정 스토리지의 디스크 폴트가 감지되면, 디스크 폴트난 스토리지에서 기 설정된 조건에 맞는 적당한 스토리지에게 가상 디스크 제공을 요청하는 단계 (S4); 및
    (e) 상기 (c) 단계에서 가상 디스크 제공을 요청받은 스토리지는 상기 가상 디스크 제공을 요청한 스토리지의 폴트난 디스크에 저장되어야 할 데이터를 자신의 스토리지의 저장부에 저장하는 단계 (S6);
    를 포함하는 것을 특징으로 하는 네트워크를 이용한 핫 스페어 구성 방법.
  5. 제 4 항에 있어서, 상기 (e) 단계 이전에,
    (d) 상기 가상 디스크 제공을 요청받은 스토리지에서 가상 디스크 제공 서비스를 시작하는 단계 (S6)를 더 포함하는 것을 특징으로 하는 네트워크를 이용한 핫 스페어 구성 방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    (f) 상기 폴트난 디스크 교체 후, 핫 스페어를 제공한 스토리지에서 디스크 폴트난 스토리지의 해당 디스크로 데이터를 전송하는 단계 (S7, S8)를 더 포함하는 것을 특징으로 하는 네트워크를 이용한 핫 스페어 구성 방법.
  7. 제 4 항 또는 제 5 항에 있어서, 상기 (c) 단계는,
    상기 가상 디스크를 요청받은 스토리지에 대해 정보전송을 요청하는 단계 (S71);
    상기 가상 디스크를 요청받은 스토리지가 디스크 빌드를 행하고 가상 디스크를 요청한 스토리지에 통지하는 단계 (S72, S73);
    상기 가상 디스크를 요청받은 스토리지의 VDP가 활성화 되었는지를 검사하는 단계 (S74); 및
    상기 가상 디스크를 요청한 스토리지의 VDC에게 상기 가상 디스크를 요청한 스토리지의 VDP의 가상 디스크 제공 서비스의 정상 시작을 알리는 단계 (S75);
    를 포함하는 것을 특징으로 하는 네트워크를 이용한 핫 스페어 구성 방법.
  8. 제 5 항에 있어서, 상기 (d) 단계는,
    상기 가상 디스크를 요청받은 스토리지의 VDS가 상기 가상 디스크를 요청받은 스토리지의 VDP에 서비스 활성화를 명령하는 단계 (S64);
    상기 가상 디스크를 요청받은 스토리지의 VDP로부터 I/O 승인을 체크하여 승인이 되면 다음 단계로 넘어가고, 승인을 받지 못하면 대기하는 단계 (S66);
    상기 가상 디스크를 요청받은 스토리지의 VDP의 활성화 여부를 체크하는 단계 (S66); 및
    상기 VDP의 활성화 여부를 체크하여 활성화되었으면 VDS에 정상 시작을 알리고, 그렇지 않은 경우에는 서비스 제공 불가를 알리는 단계 (S67, S68);
    를 포함하는 것을 특징으로 하는 네트워크를 이용한 핫 스페어 구성 방법.
  9. 제 4 항 또는 제 5 항에 있어서, 상기 (e) 단계는,
    상기 가상 디스크를 요청한 스토리지에서 I/O가 발생한 경우, 폴트된 디스크에 대해 발생한 I/O인가 여부를 체크하는 단계 (S84);
    상기 폴트된 디스크에 대해 발생한 I/O인 경우, I/O 리다이렉트 프로세서 (I/O RP) 가 활성화 되었는지를 체크하는 단계 (S87); 및
    I/O RP가 활성화되어 있는 경우, I/O RP에 I/O를 전달하고, VDC에 I/O를 전달하여 상기 가상 디스크를 요청한 스토리지에 대해 I/O를 수행하는 단계 (S88, S89);
    를 포함하는 것을 특징으로 하는 네트워크를 이용한 핫 스페어 구성 방법.
KR1020050022072A 2005-03-17 2005-03-17 네트워크를 이용한 핫 스페어 구성 시스템 및 방법 KR20050033060A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050022072A KR20050033060A (ko) 2005-03-17 2005-03-17 네트워크를 이용한 핫 스페어 구성 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050022072A KR20050033060A (ko) 2005-03-17 2005-03-17 네트워크를 이용한 핫 스페어 구성 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20050033060A true KR20050033060A (ko) 2005-04-08

Family

ID=37237351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050022072A KR20050033060A (ko) 2005-03-17 2005-03-17 네트워크를 이용한 핫 스페어 구성 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20050033060A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107911158A (zh) * 2017-09-27 2018-04-13 西安空间无线电技术研究所 一种基于虚拟数据平面的服务架构以及提供服务的方法
US10928871B2 (en) 2017-10-31 2021-02-23 SK Hynix Inc. Computing device and operation method thereof
US11016666B2 (en) 2017-11-08 2021-05-25 SK Hynix Inc. Memory system and operating method thereof
US11048573B2 (en) 2018-01-12 2021-06-29 SK Hynix Inc. Data processing system and operating method thereof
US11221931B2 (en) 2019-01-15 2022-01-11 SK Hynix Inc. Memory system and data processing system
US11636014B2 (en) 2017-10-31 2023-04-25 SK Hynix Inc. Memory system and data processing system including the same
CN116149574A (zh) * 2023-04-20 2023-05-23 苏州浪潮智能科技有限公司 Raid阵列的管理方法、装置、raid卡及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107911158A (zh) * 2017-09-27 2018-04-13 西安空间无线电技术研究所 一种基于虚拟数据平面的服务架构以及提供服务的方法
CN107911158B (zh) * 2017-09-27 2020-05-08 西安空间无线电技术研究所 一种基于虚拟数据平面的服务系统以及提供服务的方法
US10928871B2 (en) 2017-10-31 2021-02-23 SK Hynix Inc. Computing device and operation method thereof
US11636014B2 (en) 2017-10-31 2023-04-25 SK Hynix Inc. Memory system and data processing system including the same
US11016666B2 (en) 2017-11-08 2021-05-25 SK Hynix Inc. Memory system and operating method thereof
US11048573B2 (en) 2018-01-12 2021-06-29 SK Hynix Inc. Data processing system and operating method thereof
US11221931B2 (en) 2019-01-15 2022-01-11 SK Hynix Inc. Memory system and data processing system
CN116149574A (zh) * 2023-04-20 2023-05-23 苏州浪潮智能科技有限公司 Raid阵列的管理方法、装置、raid卡及存储介质

Similar Documents

Publication Publication Date Title
JP3732869B2 (ja) 外部記憶装置
EP2182443B1 (en) Storage device, and data path failover method of internal network of storage controller
CN101571815B (zh) 信息系统及i/o处理方法
US6061750A (en) Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
US6446141B1 (en) Storage server system including ranking of data source
US6601138B2 (en) Apparatus system and method for N-way RAID controller having improved performance and fault tolerance
TWI450087B (zh) 複數個磁碟陣列系統之資料儲存方法及資料儲存系統
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
US8504765B2 (en) Method of improving efficiency of capacity of volume used for copy function and apparatus thereof
US7607035B2 (en) Disk array apparatus and method for controlling the same
EP1895414B1 (en) Storage control apparatus and failure recovery method for storage control apparatus
US7984260B2 (en) Storage system provided with a plurality of controller modules
US7464220B2 (en) Storage apparatus and method of controllng the same
JP2005326935A (ja) 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
KR20050033060A (ko) 네트워크를 이용한 핫 스페어 구성 시스템 및 방법
JPH09146842A (ja) 記憶サブシステム
JP2006031630A (ja) ストレージ装置及びストレージ装置の消費電力制御方法
US20070050544A1 (en) System and method for storage rebuild management
JP3284963B2 (ja) ディスクアレイの制御装置及び制御方法
US10572188B2 (en) Server-embedded distributed storage system
JP4454299B2 (ja) ディスクアレイ装置及びディスクアレイ装置の保守方法
JPH09269871A (ja) ディスクアレイ装置におけるデータ再冗長化方式
WO2021088367A1 (zh) 数据恢复方法及相关设备
CN110674539B (zh) 一种硬盘保护设备、方法及系统
JP3776438B2 (ja) 記憶装置

Legal Events

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