메타 데이터

bsr은 복제 운영과 관련한 다양한 정보를 메타디스크로 지정한 볼륨 영역에 저장하고 있습니다. 메타데이터는 다음과 같은 정보들로 구성됩니다.

이 메타데이타는 복제 볼륨 내부 또는 외부 볼륨에 저장될 수 있으며 어떤 방식이든 1개 리소스 볼륨을 기준으로 1개의 메타데이터로 구성됩니다.

내부 메타 데이터

내부 메타 데이터를 사용하도록 리소스를 구성한다는 것은 메타 데이터를 실제 복제 데이터와 동일한 물리적 장치에 저장한다는 것을 의미합니다. 메타 데이터를 저장하기 위해 복제 장치의 끝 부분에 파티셔닝된 영역을 따로 두어 구성됩니다.

장점

메타 데이터는 실제 데이터와 불가분의 관계로 연결되어 있으므로 하드 디스크 장애시 관리자의 특별한 별도 조치가 필요하지 않습니다. 메타 데이터는 실제 데이터와 함께 손실되고 함께 복원됩니다.

단점

하위 레벨 장치가 단일 물리적 하드 디스크 인 경우 (RAID 세트가 아닌 디스크) 내부 메타 데이터는 쓰기 처리량에 부정적인 영향을 줄 수 있습니다. 응용 프로그램의 쓰기 요청에 따라 bsr에서 메타 데이터가 동시에 업데이트 될 수 있습니다. 메타 데이터가 하드 디스크의 동일한 자기 디스크에 저장된 경우, 쓰기 작업으로 인해 하드 디스크의 쓰기/읽기 헤드가 두 번 추가로 움직일 수 있으므로 성능에 영향을 줄 수 있습니다.

그리고 중요한 데이터가 이미 있는 볼륨에 대해선 내부 메타의 사용을 권장하지 않습니다. 특수한 경우가 아니면 외부 메타데이터 또는 루프 메타 형식으로 구성하십시오.

외부 메타 데이터

외부 메타 데이터는 단순히 실 데이터와 메타 데이터가 다른 볼륨에 저장되는 방식을 말합니다.

장점

실 데이터 IO와 메타 I/O 가 한 볼륨에서 수행되지 않기때문에 IO 수행 시간(latency)이 향상될 수 있습니다.

단점 

메타 데이터가 별도의 볼륨장치로 구성되어 실 데이터와 연계되어 있지 않습니다. 그래서 실 데이터가 손상된 경우(메타 데이터가 아닌) 관리자가 수동으로 후속 조치를 해줘야 합니다(손상된 디스크를 교체한 후 정상 노드를 통해 전체 데이터 동기화).

외부 메타 데이터는 아래의 경우에 대해서 사용합니다.

  • 이미 보관해야 할 데이터가 있는 볼륨을 bsr로 구성하는 경우

  • 볼륨 확장을 지원하지 못하는 경우

  • 볼륨 축소를 지원하지 못하는 경우

메타 데이터를 기록할 볼륨의 크기는 다음의 메타 데이터 크기 추정의 계산 방법을 참고합니다.



메타 데이터 크기 추정

메타 데이터의 크기는 1node , 1TB 복제볼륨 당 약 33MB를 요구합니다. 예를 들어 2 node 복제(1:2 구성), 3TB 복제 볼륨 일 경우 2 * 3 * 33MB = 198MB 의 메타디스크 크기가 필요합니다.

다음 공식을 사용하여 메타 데이터에 대한 정확한 크기를 계산할 수 있습니다.

그림 17.1. Calculating bsr meta data size (exactly)

Cs  는 섹터단위 디바이스 크기이고, Ms는 섹터단위 메타디스크의 크기, N 은 피어노드의 개수 입니다. MB로 전환하려면, 2048(일부를 제외한 대부분의 시스템에서 섹터의 크기는 512 바이트)로 나눕니다.

  • 윈도우즈에서 bsrcon /get_volume_size 또는 wmic logicaldisk get size,freespace,caption 을 명령을 수행하여 각 볼륨의 크기를 확인 할 수 있습니다.

  • 리눅스에선 fdisk 명령을 통해 볼륨의 크기를 구할 수 있습니다.

단, 여기서 말하는 볼륨의 크기는 파일시스템에서 인지하는 볼륨의 크기가 아닌 엄밀하게는 디스크 파티션의 크기를 의미합니다.

실제, 아래에 있는 근사치를 사용하면 되고, 이 공식에서 단위는 sectors가 아닌 megabytes입니다.

그림 17.2. Estimating bsr meta data size (approximately)