Versions Compared

Key

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

Table of Contents

스플릿 브레인

개요

...

--discard-my-data 로 연결을 수립하여 SB를 해결하면 희생노드는 상대노드를 기준으로 재 동기화하여 최신 복제 데이터 셋으로 복구 합니다.

Info

1:N 복제의 경우 여러 노드 사이에서 SB 가 발생할 수 있는데 이를 다중 SB가 발생한 상태로 규정 합니다. 다중 SB가 발생한 경우, 희생노드 간 동기화는 발생하지 않으므로 경우에도 위 절차와 다르지 않게 모든 희생 노드에서 --discard-my-data 로 연결을 수립하여 해결할 수 있습니다SB를 해결합니다.

장애 대응

FSR 은 다음의 오류 상황들을 장애로 규정하고 해당 장애가 발생할 경우 이에 다음의 장애 상황에 대한 후속 대응을 수동으로 수행해야 합니다설명합니다.

  • 복제 대상 오류
  • 디스크 장애
  • FSR 엔진의 파일 I/O 오류

...

디스크 장애

복제 대상이 위치한 볼륨이 운영 중 의도치 않게 마운트 해제 되거나 물리적 파손으로 인해 저장매체 자체에서 문제가 되는 등 복제 대상 디스크 자체에서 장애가 발생할 수 있습니다.. 이 경우 사용자는 복제 대상을 다시 복구하여 볼륨 장치가 다시 가동될 수 있도록 조치해야 합니다. 수동 복구가 완료되면 전체 동기화를 통해 복제를 재 시작 해야 합니다.

디스크 상태 모니터링

FSR은 디스크의 상태를 주기적으로 모니터링하여 디스크에 이상이 발생할 경우 이를 감지합니다. 이는 S.M.A.R.T.(Self-Monitoring, Analysis, and Reporting Technology) 기술을 기반으로 하며 모니터링의 주기는 다음과 같이 지정할 수 있습니다.

Code Block
"disk": {
	"health": {
		"period": 10
	}
},



엔진 파일 I/O 오류

파일 I/O 는 파일경로 문제로 인한 오류, 계정에 따른 권한 문제 등  다양한 상황에서 오류가 발생될 수 있습니다. I/O 오류가 자주 발생되는 것은 아니지만 의도치 않은 환경의 변화가 있거나 예외 상황에 대해 유연하게 대응하도록 작성되지 못한 응용에 의해 오류가 발생되는 것은 서비스 운영 중에 발생할 수 있는 통상적인 상황 입니다. I/O 오류가 발생되면 해당 예외 상황에 대해 응용 프로그램들은 예외 처리를 수행하게 되어 있으며 이후 동작은 응용 프로그램에 따라 다르게 대응됩니다. 이렇게 소스 측 응용 프로그램에 의한 파일 I/O의 오류는 언제든지 발생될 수 있는 일반적인 파일 I/O 오류로 보며 장애로 간주하지 않습니다. 보며 이는 장애가 아닙니다.

그러나 fsr 엔진에서 수행하는 파일 I/O 에서오류가 O에서 오류가 발생한다면 이는 장애가 됩니다장애입니다. fsr 이 파일 I/O 를 할 수 없으면 미러링 연산이 미러링이 근본적으로 불가하며 불가하므로 복제를 즉시 중단합니다.

fsr 엔진에서 발생한 I/O 오류의 오류 코드는 로그로 기록되며 해당 오류 코드를 통해 오류의 원인을 추정할 수 있습니다. 관리자는 이를 통해 장애를 수동으로 복구해야 하며 fsr의 I/O를 정상화해야 합니다. 정상화된 환경에서 최종적으로 리소스를 다시 기동시키고 전체동기화를 수행하여 복제를 재개합니다.

...

통상 이러한 유틸리티를 사용할 경우에는 볼륨을 언마운트한 후 사용하는게 안전하며, 그리고 이 검사 과정에서 결함감지를 통한 논리적 결함감지와 그에 따른 복구가 있었다면 타깃과의 정합성 일치를 위해 해당 볼륨을 다시 복제 리소스로 기동한 후 다시 반드시 전체 동기화를 시켜 주어야 합니다.


파일 잠금

파일 핸들 닫기 오류

파일 잠금의 과정에서 복제 대상 파일들 중 이미 열려져 있던 파일의 핸들을 정리하는 절차가 있습니다. 이 절차를 수행하는 과정에서 다음과 같은 오류 메시지가 발생할 경우에 대한 설명 입니다.

Info

ERR handle closed error="attach: operation not permitted" exec=handle group= key=2 name=/opt/data/b/1234.txt node=b pid=76716 resource=r0

위 오류는 리눅스에서만 발생하며 해당 제어를 수행하는 ptrace 유틸의 권한이 없기 때문에 발생하는 문제로 이를 해결하기 위해선 시스템의 권한 설정을 조정해야 합니다. /proc/sys/kernel/yama/ptrace_scope 의 값이 3 으로 설정된 경우 이 값을 0~2 사이의 값으로 조정해야 하고 설정을 조정한 후 리부팅을 해야 합니다. 만약 시스템의 ptrace_scope 설정 값을 조정할 수 없다면 파일을 열고 있는 프로세스들을 모두 종료하도록 수동으로 조치해야 합니다.