...
bsr은 로컬 노드의 데이터를 클러스터의 모든 다른 노드로 복제하는 블록 장치를 구현합니다. 여기서 실제 데이터 및 이와 관련한 메타 데이터는 각 클러스터 노드의 "일반"블록 장치 볼륨에 (일반적으로 외부메타일 경우)개별적으로 저장됩니다. 복제 블록 장치는 기본적으로 /dev/drbd<minor>형식으로 bsr<minor>형식으로 명명하거나 또는 장치의 심볼릭 링크(레터)로 직접 지정해야 합니다. 리소스 당 하나 이상의 장치들이 그룹화 되고 각각의 장치들을 병렬적으로 복제합니다. 리소스 내부의 장치를 volume으로 규정하며 두 개 이상의 클러스터 노드간에 리소스를 복제 할 수 있습니다. 클러스터 노드 간 연결은 지점 간 링크이며 TCP 프로토콜을 사용합니다. bsr은 구성파일을 이해하고 처리하는 기본 구성요소 bsradm 과 저수준의 구성요소 bsrsetup, bsrmeta, bsrcon으로 구성됩니다. 기본적인 bsr 구성은 /etc/drbdbsr.conf 및 여기에 포함 된 추가 파일들(일반적으로 global_common.conf 및 /etc 경로의 안에 있는 모든 * .res 파일)로 구성됩니다. 보통 각 리소스를 etc/bsr.d/. 경로에서 별도의 * .res 파일들로 정의하는 것이 유용합니다. 구성 파일은 각 클러스터 노드가 전체 클러스터 구성의 동일한 사본을 포함하도록 설계되었습니다. 그러나 때로는 노드 별로 각기 다른 구성파일의 내용을 가져야 할 수도 있어서 절대적인 것은 아닙니다.
...
특정 device와 관련된 이벤트의 경우: 장치의 부 번호는 BSR_MINOR, 장치의 볼륨 번호는 BSR_VOLUME 에 있습니다.
특정 peer의 특정 device와 관련된 이벤트의 경우: BSR_MY_ADDRESS, BSR_MY_AF, BSR_PEER_ADDRESS 및 BSR_PEER_AF에 connection 엔드 포인트가 있습니다; BSR_MINOR에 있는 장치의 로컬 부 번호 및 BSR_VOLUME에 장치의 볼륨 번호가 있습니다.
특정 connection과 관련된 이벤트의 경우: BSR_MY_ADDRESS, BSR_MY_AF, BSR_PEER_ADDRESS 및, BSR_PEER_AF에 connection 엔드 포인트; 그리고 해당 connection에 대해 정의된 각 device의 장치 부 번호가 DRBDBSR_MINOR_volume-number에 있습니다.
장치를 식별하는 이벤트의 경우 하위 장치가 연결되어 있으면 하위 장치의 장치 이름이 BSR_BACKING_DEV (또는 BSR_BACKING_DEV_volume-number)로 전달됩니다.
...
bsr 에선 이중 primary 모드를 지원하지 않습니다.
connect-int time
drbdsetup bsrsetup connect로 두 노드 간 연결이 구성되는 즉시 연결 설정을 시도합니다. 이것이 실패하면 bsr은 connect-int초 동안 기다렸다가 반복합니다. connect-int의 기본값은 3초입니다.
...
dont-care 펜싱 조치가 수행되지 않습니다. 이것이 기본 정책입니다.
resource-only 노드가 연결이 끊긴 Primary 노드가 되면 피어를 차단하려고 합니다. 이것은 "fence-peer" 핸들러를 호출하여 수행됩니다. 핸들러는 대체 통신 경로를 통해 피어에 도달하여 'drbdadm bsradm outdate minor'를 호출해야 합니다.
resource-and-stonith 노드가 연결이 끊긴 Primary 노드가 되면 모든 IO 작업을 중지하고 fence-peer 핸들러를 호출합니다. fence-peer 핸들러는 대체 통신 경로를 통해 피어에 도달하여 'drbdadm bsradm outdate minor'를 호출해야 합니다. 그렇게 할 수없는 경우에는 상대방을 (전원 제어)차단해야 합니다. 상황이 해결 되자마자 IO가 재개됩니다. 펜스 피어 핸들러가 실패한 경우 잠재적으로 스플릿 브레인이 발생했다고 판단하고 수동으로 복구해야 합니다.
...
verify-alg hash-algorithm
온라인 검증 (drbdadm bsradm verify)은 디스크 블록 (즉, 해시 값)의 체크섬을 계산하고 비교하여 서로 다른지를 감지합니다. verify-alg 매개 변수는 이러한 체크섬에 사용할 알고리즘을 결정합니다. 온라인 검증을 사용하기 전에 커널이 지원하는 보안 해시 알고리즘 중 하나로 설정해야합니다. /proc/ crypto에 나열된 shash 알고리즘을 참조하십시오. 운영 부하가 적은 시점에 정기적으로(예 : 한 달에 한 번) 온라인 확인을 예약하는 것이 좋습니다.
...
클러스터에서 노드의 고유 노드 식별자를 정의합니다. 노드 식별자는 네트워크 프로토콜에서 개별 노드를 식별하고 메타 데이터의 노드에 비트 맵 슬롯을 할당하는 데 사용됩니다. 클러스터가 작동 중지 된 경우에만 클러스터에서 노드 식별자를 재 지정할 수 있습니다. 구성 및 장치 메타 데이터의 노드 식별자는 모든 호스트에서 일관되게 변경되어야합니다. 메타 데이터를 변경하려면, drbdmeta bsrmeta dump-md로 현재 상태를 덤프하고 비트 맵 슬롯 할당을 조정 한 다음, drbdmeta bsrmeta restore-md로 메타 데이터를 업데이트 하십시오. node-id 파라미터는 필수적으로 설정해야 합니다. 값의 범위는 0에서 16입니다. 기본값이 없습니다.
...
모든 피어가 연결될 때까지 init 스크립트가 대기하는 시간을 정의 합니다. 이는 bsr 자원을 관리 할 수없는 클러스터 관리자와 결합하여 유용할 수 있습니다. 클러스터 관리자가 시작되면 bsr 자원이 이미 실행 중입니다. 시간 초과는 초 단위로 지정됩니다. 기본값은 0이며 무한 시간 초과를 나타냅니다. degr-wfc-timeout 파라미터도 참조하십시오.
volume 섹션
device /dev/drbdbsrminor-number
복제 된 블록 장치의 장치 이름과 부 번호를 정의합니다. 이것은 응용 프로그램이 액세스 해야 하는 장치입니다. 대부분의 경우 장치는 직접 사용되지 않고 파일 시스템으로 사용됩니다. 이 매개 변수는 필수이며 표준 장치 이름 지정 규칙이 전제됩니다.
disk {[disk] | none}
DRBD가 bsr가 실제 데이터를 저장하는 데 사용할 하위 레벨 블록 장치를 정의하십시오. 복제 된 drbd 장치가 bsr장치가 구성되어있는 동안 하위 장치를 직접 사용해서는 안됩니다. dumpe2fs(8) 및 이와 유사한 도구를 사용한 읽기 전용 액세스도 허용되지 않습니다. 키워드 none은 하위 블록 장치가 구성되지 않았음을 나타냅니다. 이것은 또한 하위 수준 장치의 상속을 무시합니다.
...