[MariaDB] 갈레라 클러스터 SST 속도 비교(wsrep_sst_method=clone)
마리아DB에서의 각 노드간 데이터를 전송할때 사용 되는 메소드에 관한 것입니다.
가장 최근에 지원을 하게 된 clone 방식을 선택하면 가장 빠른 전송 결과를 얻을 수 있습니다. 마리아DB, MySQL 기본적인 설정 방법과 옵션은 크게 다르지 않습니다.
● MariaDB 갈레라 클러스터 SST 속도 비교
State Snapshot Transfers — Galera Cluster Documentation
위에서 아무것도 설정하지 않으면 rsync로 적용 됩니다.
● 전송 방식(순서)
제공자 (donor) -> SST (State Snapshot Transfer) 메소드를 사용 -> Joiner라고하는 새 노드
● clode에 대한 설정
MySQL의 경우는 8.0.22 버전부터 지원이 되며 wsrep_sst_auth 부분을 필수로 넣어 줘야 합니다.
처음 테스트 할대는 별도 계정 추가 없이 root 계정의 정보를 넣어 주면 됩니다. 우선 잘 된 다음 필요하면 별도계정을 추가 하여 적용 시키면 됩니다. 처음 설정 할때는 가능하면 안 될 수 있는 요소들이 없는것이 좋습니다. 방화벽이나 관련하여 시스템에서 제한을 하는 selinux 등 해제하고 설정이 마무리 된 다음 다시 적용 시키면서 확인 하는 과정이 삽질의 시간을 줄일 수 있습니다.
이것은 현재는 마리아DB는 지원하지 않습니다.
wsrep_sst_method=clone
wsrep_sst_auth=root:비밀번호
Physical State Snapshot — Galera Cluster Documentation
● 참고사항
테이블에 Lock을 걸고, Unlock하는 기능은 지원 하지 않습니다. 사용해도 무시 됩니다.
쿼리 로그는 테이블에 기록될수 없고, 파일로만 기록 가능합니다.
Logical State Snapshots
데이터베이스 서버와 클라이언트를 통해 인터페이스 하는것
Physical State Snapshots
노드에서 노드로 직접 데이터 파일을 복사하는것
wsrep_slave_threads: 기본값 1
슬레이브 기록 집합을 적용하기 위해 얼마나 많은 스레드를 사용할지 정의.
wsrep_notify_cmd:
갈레라 이벤트 발생 시 스크립트를 실행합니다.
스크립트를 실행해서 알림 메일을 발송 가능.