Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

위에서 언급한 구성요소들을 구성파일로 작성합니다. 즉, 노드(호스트) 정보와 볼륨, 연결 정보를 정해진 구역(섹션)내에서 속성에 맞는 키워드들을 통해 기술하면 됩니다.

몇 가지 약속된 구역을 기준으로 속성을 기술하는 데 이 구역을 섹션이라고 합니다. 섹션은 Global, Common, Resource 섹션이 있으며 각 섹션내의 속셩 별 하위 섹션들이 존재합니다.

bsr의 모든 구성 파일은 설치경로의 하위 etc 디렉터리에 위치하고 bsr 유틸리티들은 해당 경로에서 구성파일을 로드합니다.

...

Info

include "bsr.d/global_common.conf";
include "bsr.d/*.res";

우선 관례적으로 bsr의 전역(global), 공통(common) Global, Common 섹션을 /etc/bsr.d/global_common.conf 파일에서 작성합니다. 그리고 리소스 파일들을 각각의 .res 파일들로 작성하여 모든 .res 파일들을 포함(include)하도록 하여 시켜 둡니다. 이렇게 리소스 별로 파일을 분리해서 관리할 수 있도록 하는 관리하는 체계를 권장합니다.

몇 가지 약속된 구역을 기준으로 속성을 기술하는데 이 구역을 섹션이라고 합니다. 섹션은 최상위 구역으로 Global, Common, Resource 섹션이 있으며, 각 섹션내에서 속셩 별 하위 섹션들이 있습니다. 여기서는 주요한 섹션과 일부 기본적인 속성에 대해서만 설명합니다. 구성파일과 관련한 자세한 내용은 부록의 구성파일을 참고하세요.

Global 섹션

...

Global 섹션

이 섹션은 전역적으로 한번 만 사용 할 수 있으며, 일반적으로 /etc/bsr.d/global_common.conf 파일 안에 있습니다. 단일 파일로 구성한다면 구성 파일의 맨 상단에 작성하면 됩니다.

...

한 개의 리소스 구성 파일명은 보통 /etc/bsr.d/<resource>.res 형태로 생성합니다. 여기서 사용된 리소스 이름은 리소스파일 내에서 명시해야 합니다. 이름을 정하는 것은 임의로 식별 가능하게 명명하지만 US-ASCII 형식이어야 하며 공백문자를 포함해선 안됩니다. 또한 모든 리소스 구성에는 <host> 하위 섹션이 두 개 이상 있어야 합니다. 다른 모든 구성 설정은 Common 섹션으로부터 상속되거나 bsr의 기본값으로 설정됩니다. 양쪽 호스트에 공통적인 값을 가진 옵션은 <host>의 상위 <resource> 섹션 부분에서 한 번에 바로 지정해도 되는데 다음 예제처럼 기술하여 간소화 시킬 수 있습니다.

...

...

각 노드의 노드 id(node-id) 의 지정은 필수사항 입니다.

Code Block
resource r0 {
  device    d minor 1;
  disk      d;
  meta-disk f;
  on alice {
    address   10.1.1.31:7789;
    node-id 0;
  }
  on bob {
    address   10.1.1.32:7789;
    node-id 1;
  }
}

리소스 섹션에서 필수로 기술해야 하는 속성들은 다음과 같습니다.

disk

복제 장치를 지정합니다. 플랫폼에 따라 백킹디바이스 또는 볼륨 레터로 지정합니다.

device

bsr 논리 장치 정보를 지정합니다. /dev/bsr1 과 같이 장치명으로 직접 지정하거나 minor 1; 과 같이 부번호로 지정할 수 있습니다.

윈도우즈에선 레터와 함께 부번호를 지정하는 방식만 사용됩니다. 윈도우즈에서 장치 부번호는 C 드라이브 볼륨을 0번으로 하고 레터값이 증가 할 수록 1 씩 증가시켜서(D 는 1, E 는 2 , F 는 3, …) 부번호를 지정하면 됩니다.

meta-disk

메타디스크 정보를 기술합니다.

on host 섹션

호스트 정보를 기술하는 섹션입니다. node-id 와 연결정보를 기술합니다.

node-id

0번 부터 노드 id 를 임의로 지정할 수 있습니다. 주 역할을 하는 노드일 수록 작은 숫자로 지정하는게 좋습니다.

연결

ip 와 포트 정보를 지정합니다.

연결은 다음과 같이 connection 섹션을 이용하여 별도 기술할 수도 있습니다. n node 복제 구성에서 많이 사용합니다.

Code Block
resource "r0" {
  device    minor 1;
  disk      "/dev/sda7";
  meta-disk internal;

  on "alice" {
    node-id 0;
  }
  on "bob" {
    node-id 1;
  }
  connection {
    host "alice" address 10.1.1.31:7789;
    host "bob" address 10.1.1.32:7789;
  }
}

그 외 섹션 및 하위섹션, 개별 옵션에 대한 구체적인 설명은 부록의 구성파일 내용을 참고하세요.

...

  • 구성파일 host 섹션에 호스트 이름을 기술해야 합니다.(floating peer 방식은 예외)

  • 구성파일 host 섹션에 node-id 항목이 기술되어 있어야 합니다.

연결

  • 미러링 주소와 포트에 대한 로컬 방화벽 예외정책을 추가해야 합니다.

  • NIC 에 설정된 네트워크 주소가 net 섹션의 IP 주소로 기술되어야 합니다.

...