Versions Compared

Key

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

...

복제 방식

bsr은 3가지 복제 방식을 지원합니다.

Protocol A. 비동기 방식

비동기 방식은 Primary 노드에서 로컬 디스크에 쓰기를 마치고 동시에 TCP의 송신 버퍼에 쓰기가 완료 되었을 때 복제 완료로 간주합니다. 따라서 이 방식은 절체(Fail-over)를 할 경우 로컬에는 썼지만 버퍼에 있던 데이터가 대기노드로 완전히 넘어가지 못할 수 있습니다. 절체 후 대기노드의 데이터는 일관성은 가지지만, 절체 시 발생한 쓰기의 일부 전송되지 못한 업데이트 내용은 손실될 수 있습니다. 이 방식은 로컬 I/O 응답성능이 좋으며 원거리 복제 환경에 적합한 방식입니다.

Protocol B. 반동기 방식

...

동기 방식 (Protocol C)

동기 방식은 로컬과 원격 양쪽 디스크에 모두 쓰기를 완료한 후 로컬 측 쓰기를 완료합니다. 따라서 어느 한쪽 노드에서 손실이 발생하더라도 데이터가 유실되지 않음을 보장합니다.

물론, 양쪽 노드(또는 노드의 스토리지 서브시스템) 모두가 동시에 되돌릴 수 없는 손상을 입는다면 데이터의 손실은 불가피합니다.

일반적으로 HA 미러링 구성에서 동기 방식을 주로 사용합니다.

Info

동기 방식 복제는 로컬과 원격노드의 정합성을 완전히 보장하지만, 하나의 쓰기 I/O 에 대해 원격노드가 쓰기 완료할 때까지 대기하므로 이에 따른 로컬 I/O의 지연 성능 저하는 감안해야 합니다.

반동기 방식 (Protocol B)

반동기 방식은 로컬 노드에서 디스크 쓰기가 발생하면 복제 패킷을 상대 측 노드에서 수신 완료한 단계에서 복제 완료로 간주합니다.

일반적으로 강제 절체(Fail-over)시 데이터 손실이 발생되지는 않는 편이지만 양쪽 노드의 전원이 동시에 나가거나 Primary 로컬 스토리지에서 복구할 수 없는 손상이 발생한다면 Primary에서 로컬에서 가장 최근에 기록된 데이터는 손실될 수 있습니다.

Protocol C. 동기 방식

...

비동기 방식(Protocol A)

비동기 방식은 로컬 노드에서 디스크에 쓰기를 마치고 동시에 TCP의 송신 버퍼에 쓰기가 완료 되었을 때 복제 완료로 간주합니다. 따라서 어느 한쪽 노드에서 손실이 발생하더라도 데이터가 유실되지 않음을 보장합니다.

물론, 양쪽 노드(또는 노드의 스토리지 서브시스템) 모두가 동시에 되돌릴 수 없는 손상을 입는다면 데이터의 손실은 불가피합니다.

일반적으로 bsr은 Protocol C 방식을 많이 사용합니다이 방식은 절체(Fail-over)를 할 경우 로컬에는 썼지만 버퍼에 있던 데이터가 대기노드로 완전히 넘어가지 못할 수 있습니다. 절체 후 대기노드의 데이터는 일관성은 가지지만, 절체 시 발생한 쓰기의 일부 전송되지 못한 업데이트 내용은 손실될 수 있습니다. 이 방식은 로컬 I/O 응답성능이 좋으며 DR 원거리 복제 환경에 적합한 방식입니다.

복제 방식은 운영정책을 결정하는 요소인 데이터 정합성 여부와 로컬 I/O 지연(Latency) 성능, 처리량(Throughput) 등에 의해 결정되어야 합니다.

...

합니다.

복제 모드를 구성하는 예제는 리소스 작성 부분을 참고하세요.

...