Versions Compared

Key

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

...

에러처리 정책은 리소스가 운영중이더라도 adjust 명령을 통해 실시간 적용할 수 있습니다.

Info

복제 운영 경험에 따르면 디스크 장애는 디스크 I/O 오류는 생각보다 자주 발생합니다. 이러한 결과는 이것은 bsr 복제가 하위 디스크 계층에 의존적이며 표준 SCSI 계층의 에러가 임의의 시점에 언제든지 발생할 수 있다는 점에서 봤을 때 디스크의 안정성과는 별개로 다루어야 하고, 복제 측면에서도 이러한 디스크 I/O 오류에 유연하게 대처할 수 있어야 함을 의미합니다. 그동안 디스크 장애 정책으로 제공해 왔던 detach 정책은 서비스 운영관점에선 복제가 특정시점에 일방적으로 중단되는 정책이었습니다. 이러한 방식은 사후 복구도 어렵고 서비스 운영 지속 측면에서도 불리합니다. 우리는 이러한 문제를 해결하기 위해 문제에 대응하여 passthrough 정책을 고안하였으며 bsr의 기본정책으로 기본 정책으로 설정하게 되었습니다. 패스스루 정책은 I/O 에러가 발생할 경우 해당 블럭에 대해서 OOS 를 기록하고 실패된 I/O 결과를 파일시스템으로 전달합니다. 이 때 파일시스템이 에러가 발생한 블럭에 대해 쓰기 재시도하여 성공하고 다시 쓰기하여 이를 통해 OOS를 해소한다면 이는 일시적인 디스크 계층의 에러를 파일시스템 스스로 극복하도록 유도하게 됩니다. 비록 파일시스템의 동작 특성에 따라 완전히 OOS가 해소되지 못한다고 하더라도 일부 남겨진 OOS 는 연결 재시도 등을 통해 재동기화 하여 해결할 수도 있습니다. 즉 패스스루 정책은 에러 블럭을 FS가 스스로 해결하거나 동기화를 통해 해소하도록 유도하고, 기본적으로 디스크 I/O에 문제가 있더라도 서비스 운영을 지속하도록 보장합니다.

...