Versions Compared

Key

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

...

체크섬 데이터 요약을 사용하면 동기화 알고리즘의 효율성을 더욱 개선할 수 있습니다. 체크섬 기반 동기화는 동기화하기 전에 블록을 읽고 현재 디스크에 있는 내용의 해시(hash) 요약을 구한 다음, 상대 노드로부터 같은 섹터를 읽어 구한 해쉬 요약 내용과 비교합니다. 해시 내용이 일치하면 해당 블럭에 대한 동기화 쓰기(re-write)를 생략합니다. 이 방식은 동기화 해야 될 블럭을 단순히 덮어쓰는 방식에 비해 성능에서 유리할 수 있으며 연결이 끊어진(disconnect 상태) 동안 파일 시스템이 섹터에 같은 내용을 다시 썼다면 해당 섹터에 대해선 재동기화를 생략하게 되므로 전체적으로 동기화 시간을 단축시킬 수 있습니다.

동기화 대역 지정

앞서, 동기화와 복제는 동시에 수행될 수 있다고 했습니다있습니다. 이를 위해 동시에 수행되는 양 측 동작 간의 대역폭 경계를 지정해야 합니다.

...

디스크 장비에서 장애가 발생할 경우 bsr은 디스크 장애 정책의 사전 설정을 통해 해당 I/O 오류를 상위 계층(대부분 파일시스템)으로 단순히 전달해서 처리하거나 복제 디스크를 detach 하여 복제를 중단하도록 합니다. 전자는 패스스루 정책, 후자는 분리 정책입니다.

패스스루(passthrough)

하위 디스크 계층에서 오류 발생 시 별도 처리없이 상위(파일시스템) 계층으로 오류내용을 전달합니다. 오류에 따른 그에 상응한 처리는 상위 계층에게 맡깁니다. 예를 들어, 파일 시스템이 오류 내용을 보고 디스크 쓰기 재시도를 하거나 read-only 방식으로 다시 마운트를 시도할 수 있습니다. 이렇게 오류를 상위 계층으로 전달하는 방식을 통해 파일시스템 스스로가 오류를 인지할 수 있도록 하여 스스로 대처할 수 있는 기회를 부여합니다.

분리(detach)

오류 정책을 detach 방식으로 구성하였다면 하위 계층에서 오류 발생 시 bsr이 자동으로 디스크를 분리(detach)하는 방식으로 처리합니다. 디스크가 detach 되면 diskless 상태가 되고 디스크로의 I/O 가 차단되며, 이에 따라 디스크 장애가 인지되고 장애 후속조치가 취해져야 합니다. bsr에서 diskless 상태는 디스크에 I/O 가 유입되지 못하도록 차단된 상태로 정의합니다. 보다 자세한 내용은 문제해결의 디스크 장애에서 설명합니다.

이와 관련한 자세한 사항은 https://mantech.jira.com/wiki/spaces/BSRUG/pages/1366262571#%EB%94%94%EC%8A%A4%ED%81%AC-%EC%9E%A5%EC%95%A0의 내용을 참고하세요.