Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

개요

복제를 구축하기 위해서 노드(호스트)와 복제 대상 볼륨, 그리고 복제 노드간의 통신 채널을 위한 네트워크가 구성되어야 합니다. 그리고 이러한 구성요소들을 하나의 리소스 단위로 구성파일에 기술하여 복제 클러스터를 정의합니다.

구성 요소

BSR 이 요구하는 복제 클러스터의 구성요소는 노드, 볼륨, 네트워크 입니다. 사용자는 복제 클러스터의 운영환경에 맞게 다음의 구성요소들을 미리 준비합니다.

노드

기본적으로 운영노드와 대기노드를 준비해야 하며 대기노드는 N 개의 노드로 운영할 수 있습니다. 노드는 호스트와 구분되는 용어 이지만 엄격하게 구분하지는 않으며 노드와 호스트 모두 같은 의미로 기술합니다.

볼륨

데이터 볼륨

클러스터 노드 모두에서 동일한 크기의 저장 장치를 준비해야 합니다. 크기가 다른 볼륨으로 구성할 경우, 최소한 타겟 노드의 볼륨의 크기가 소스노드의 볼륨 크기보다 커야합니다.

볼륨은 운영체제에 따라 적당한 파일시스템으로 포맷되어야 하며 윈도우즈와 리눅스에서 제공하는 NTFS/ReFS, ext/xfs 등의 파일시스템을 사용합니다. 볼륨은 파티셔닝 방식에 따라 MBR, GPT, 확장파티션의 논리적드라이브 또는 장치가 될 수 있으며 스팬, 스트라이프, 미러 등 RAID 형식의 동적디스크를 모두 포함하여 구성할 수 있습니다. 만일 볼륨이 이미 포맷된 상태이고 중요한 데이터를 포함하고 있다면 볼륨의 데이터를 초기화 시키는 포맷의 과정은 당연히 생략해야 합니다.

  1. 복제를 위한 볼륨에 가상메모리 운영을 위한 페이징 파일 설정이 있어서는 안됩니다. 페이징 파일 설정이 있을 경우 볼륨에 대한 umount 를 수행할 수 없습니다.

  2. 복제 볼륨의 최대 크기는 1PB 이며 통상 10TB 이상의 볼륨을 대용량 볼륨으로 간주합니다.

메타 볼륨

BSR은 복제를 운영하기 위해 필요한 부가 정보들을 별도의 비휘발성 저장공간에 보관하고 이 데이터를 실시간 쓰고 읽는 작업을 복제 중에 동시에 수행합니다. 이러한 부가정보를 메타 데이터라고 하고 이를 기록하는 저장장치 볼륨을 메타 볼륨이라고 합니다. 메타 볼륨은 복제 대상 볼륨에 1:1 대응하도록 준비해야 합니다. 메타볼륨의 크기는 1 node 복제를 기준으로 1TB 당 약 33MB의 공간을 필요로 합니다. 예를 들어 1:2 복제, 3TB 복제 볼륨의 경우 2 * 3 * 33MB = 198MB 크기가 필요합니다.

메타 데이터는 위치하는 경로에 따라 복제볼륨과 같은 디스크 장치에 있을 경우 내부메타(Internal Meta)라고 하며, 이와 다르게 복제볼륨이 아닌 다른 외부 디스크에 메타데이터가 위치할 경우 외부메타(External Meta)라고 합니다. 내부메타는 별도의 디스크 장치를 준비할 필요가 없는 장점이 있지만 성능 상으로는 외부메타 방식이 조금이라도 더 유리합니다. 내부메타는 구성 파일에서 Internal 이라는 키워드로 기술하며, 외부 메타는 메타디스크 장치를 직접 지정해 주면 됩니다.

외부 메타 디스크에 대한 지정은 운영체제의 특성에 따라 Windows 에선 마운트 포인트로 지정하고, Linux 에서는 디스크 장치의 장치명으로 기술할 수 있습니다. 그리고 BSR 에선 가상디스크 장치에 대한 메타볼륨을 지원하여 별도의 디스크 장치없이 가상의 볼륨을 메타 볼륨으로 사용할 수 있는 편의를 제공합니다. 가상볼륨장치는 Windows 에선 VHD, Linux 에선 Loop 장치로 준비합니다.

다음은 외부 메타디스크에 대한 지정의 예 입니다.

Windows Letter Mount Point

resource r0 {
...
meta-disk m;
...
}

Windows GUID Mount Point

resource r0 {
...
meta-disk "\\?\Volume{d41d41d8-17fb-11e6-bb93-000c29ac57ee}\";
...
}

Windows GUID Mount Point + VHD

resource r0 {
...
meta-disk "\\\\?\\Volume{ed8a8f02-18b3-11e6-91b4-000c29ac57f8}\\" "c:\r0_meta.vhd"
...
}

Linux device name

resource r0 {
...
meta-disk /dev/sdc1;
...
}

Linux loop device

resource r0 {
...
meta-disk /dev/loop0 /bsr_meta/r0_meta;
...
}

네트워크

리소스

구성파일

  • No labels