본문은 MySQL 콘솔을 통해 읽기 전용 인스턴스의 지연 복제 및 시작/중지 복제를 설정하는 방법을 소개합니다. 지연 복제(즉, 읽기 전용 인스턴스와 주 인스턴스 간의 지연) 설정 및 지연 기간 동안 지정된 시간 또는 GTID(글로벌 트랜잭션 식별자)로 복구 시작을 선택하여 효율적인 데이터 롤백과 신속한 장애 복구를 구현할 수 있습니다.
지연 복제: 사용자가 읽기 전용 인스턴스 RO 그룹 구성 또는 읽기 전용 인스턴스 관리 페이지를 통해 읽기 전용 인스턴스와 주 인스턴스 간의 지연 복제 시간을 켜고 설정할 수 있도록 지원합니다.
시작/중지 복제: 사용자가 수동으로 읽기 전용 인스턴스와 주 인스턴스 간의 데이터 동기화를 시작하거나 중지할 수 있도록 지원합니다.
지연 복제 설명
읽기 전용 인스턴스에서 지연 복제를 활성화하면, 해당 인스턴스는 읽기 전용 그룹에서 제외되고 가중치가 0으로 설정되며, 동시에 읽기 전용 인스턴스 제외 경보가 트리거됩니다. 이때 읽기 전용 그룹 VIP 주소를 사용하여 접속할 경우, 트래픽은 제외된 읽기 전용 인스턴스로 전달되지 않으며, 오직 해당 읽기 전용 인스턴스의 VIP 주소를 통해서만 접근이 가능합니다.
읽기 전용 그룹에서 지연 제외 기능이 활성화된 경우, 읽기 전용 인스턴스의 지연 복제를 중지한 후 해당 인스턴스의 지연 시간이 읽기 전용 그룹의 지연 임계값보다 작을 때만 인스턴스의 가중치가 복원됩니다. 가중치 복원 시 동시에 읽기 전용 인스턴스 제외 복구 경보가 트리거됩니다.
데이터를 지정된 위치로 복제를 시작하는 동안에는 재시작, 구성 조정, 버전 업그레이드, 커널 마이너 버전 업그레이드 작업을 동시에 수행할 수 없습니다.
RO 그룹이 Proxy 순수 네트워크 기본값으로 업그레이드된 경우, 업그레이드 후 읽기 전용 인스턴스 지연 복제 설정을 지원하지 않습니다. 업그레이드 관련 작업은 네트워크 전달 기능을 참조하십시오. 지연 복제 켜기
설명:
읽기 전용 인스턴스의 "지연 복제"는 기본적으로 "비활성화" 상태이며, 활성화하면 지연 복제 시간이 표시됩니다.
읽기 전용 인스턴스 RO 그룹 구성을 통해 활성화
1. MySQL 콘솔에 로그인한 후 인스턴스 목록에서 주 인스턴스 ID를 클릭하면 인스턴스 관리 페이지로 이동합니다. 2. 인스턴스 관리 페이지에서 읽기 전용 인스턴스 탭을 선택한 후 RO 그룹 열의 구성을 클릭하면 RO 그룹 구성 페이지로 이동합니다.
3. RO 그룹 구성 페이지에서 RO 그룹 정보 구성에 인스턴스 지연 복제를 활성화하고, 지연 시간 설정을 지정한 후 확인을 클릭합니다.
인스턴스 지연 복제: 지연 복제 설정 및 지연 기간 동안 지정된 시간 또는 GTID(글로벌 트랜잭션 식별자)로 복구 시작을 선택하여 효율적인 데이터 롤백과 신속한 장애 추적을 구현할 수 있습니다.
지연 시간: 읽기 전용 인스턴스와 주 인스턴스 간의 지연 복제 시간으로, 설정 가능 범위는 1초 - 259200초입니다.
인스턴스 지연 초과 제외: 제외 정책 활성화 여부입니다. 제외된 인스턴스의 가중치는 자동으로 0으로 설정됩니다. 읽기 전용 인스턴스의 지연이 임계값을 초과하여 제외될 경우 사용자에게 알람이 전송되며, 읽기 전용 인스턴스 제외 알람 구성 및 수신 대상 설정은 알람 기능을 참조하십시오. 지연 임계값: 읽기 전용 인스턴스에 대한 지연 초과 임계값을 설정합니다. 임계값을 초과하는 읽기 전용 인스턴스는 RO 그룹에서 제거됩니다.
최소 보유 인스턴스 수: 그룹 내에서 보장해야 하는 인스턴스의 최소 수입니다. 기존 읽기 전용 인스턴스 수가 이 최소값 이하이고 지연 시간이 임계값을 초과할 경우, 기존 읽기 전용 인스턴스는 모두 제거되지 않습니다.
읽기 가중치 할당: RO 그룹은 시스템 자동 가중치 할당과 사용자 정의 가중치 할당 두 가지 방식을 지원합니다. 가중치 입력 범위는 0 - 100이며 반드시 정수이어야 합니다.
재부하 분산:
재부하 분산을 비활성화한 상태에서 가중치를 수정하면 변경 사항이 새로 추가된 로드에만 적용되며, 기존 장기 연결이 액세스하는 읽기 전용 인스턴스는 변경되지 않아 데이터베이스 순단이 발생시키지 않습니다.
재부하 분산을 활성화할 경우, 모든 연결을 끊기 위해 데이터베이스에 초 단위 순단이 발생하며, 새로 추가된 연결은 설정된 가중치에 따라 균등하게 부하 분산됩니다.
읽기 전용 인스턴스 관리 페이지를 통해 활성화
1. MySQL 콘솔에 로그인한 후 인스턴스 목록에서 읽기 전용 인스턴스 ID를 클릭하거나 작업 열의 관리를 클릭하면 읽기 전용 인스턴스 세부 정보 페이지로 이동합니다. 2. 읽기 전용 인스턴스 세부 정보 페이지의 인스턴스 정보 > 지연 복제에서 활성화를 클릭하십시오.
3. 팝업 대화 상자에서 지연 시간을 설정한 후 확인을 클릭하십시오.
설명:
지연 시간 범위는 1초 - 259200초입니다.
RO 인스턴스 지연 시간 수정 시 해당 RO 그룹 내 다른 RO 인스턴스도 동기화되어 수정됩니다.
지연 복제 수정
읽기 전용 인스턴스 RO 그룹 구성을 통해 수정
1. MySQL 콘솔에 로그인한 후 인스턴스 목록에서 주 인스턴스 ID를 클릭하면 인스턴스 관리 페이지로 이동합니다. 2. 인스턴스 관리 페이지에서 읽기 전용 인스턴스 탭을 선택한 후, RO 그룹 열의 구성을 클릭하면 RO 그룹 구성 페이지로 이동합니다.
3. RO 그룹 구성 페이지에서 지연 시간을 수정하고 확인을 클릭합니다.
읽기 전용 인스턴스 관리 페이지를 통해 수정합니다
1. MySQL 콘솔에 로그인한 후 인스턴스 목록에서 읽기 전용 인스턴스 ID를 클릭하면 읽기 전용 인스턴스 세부 정보 페이지로 이동합니다. 2. 읽기 전용 인스턴스 세부 정보 페이지의 인스턴스 정보 > 지연 복제에서 편집 아이콘을 클릭하십시오.
3. 팝업 대화 상자에서 지연 시간을 설정한 후 확인을 클릭하십시오.
지연 복제 비활성화
읽기 전용 인스턴스 RO 그룹 구성을 통해 해제합니다
1. MySQL 콘솔에 로그인한 후 인스턴스 목록에서 주 인스턴스 ID를 클릭하면 인스턴스 관리 페이지로 이동합니다. 2. 인스턴스 관리 페이지에서 읽기 전용 인스턴스 탭을 선택한 후, RO 그룹 열의 구성을 클릭하면 RO 그룹 구성 페이지로 이동합니다.
3. RO 그룹 구성 페이지에서 인스턴스 지연 복제 뒤의 버튼을 비활성화한 후 확인을 클릭하십시오.
읽기 전용 인스턴스 관리 페이지에서 비활성화
1. MySQL 콘솔에 로그인한 후 인스턴스 목록에서 읽기 전용 인스턴스 ID를 클릭하면 읽기 전용 인스턴스 세부 정보 페이지로 이동합니다. 2. 읽기 전용 인스턴스 세부 정보 페이지의 인스턴스 정보 > 지연 복제에서 비활성화를 클릭하십시오.
3. 팝업 대화 상자에서 확인 후 확인을 클릭하십시오.
설명:
지연 복제를 비활성화하면 지연 복제 시간이 0초로 설정되어 읽기 전용 인스턴스와 주 인스턴스 간에 데이터의 실시간 동기화가 복원됩니다.
데이터 복제 시작
설명:
읽기 전용 인스턴스의 복제 상태는 기본적으로 정상입니다. 사용자가 지연 복제를 설정한 상태에서 지연 복제 기간 중 데이터를 실수로 삭제한 경우, 오작동 발생 시점의 위치 및 GTID를 활용하여 읽기 전용 인스턴스를 바이너리 로그 파일 위치 또는 GTID 이전 시점으로 복제하여 데이터를 신속하게 복구할 수 있는 기능을 제공합니다.
1. MySQL 콘솔에 로그인한 후 인스턴스 목록에서 읽기 전용 인스턴스 ID를 클릭하면 읽기 전용 인스턴스 세부 정보 페이지로 이동합니다. 2. 읽기 전용 인스턴스 세부 정보 페이지 아래의 인스턴스 정보 > 복제 상태에서 시작을 클릭하십시오.
3. 팝업 대화 상자에서 확인을 클릭하십시오.
설명:
복제를 시작하면 읽기 전용 인스턴스와 주 인스턴스 간의 데이터 동기화가 복원됩니다.
4. 인스턴스 정보 > 복제 작업에서 지정 위치로 복제를 선택할 수도 있습니다. 특정 시점 및 해당 GTID로의 시작을 지정할 수 있으며, 복구가 완료된 후 읽기 전용 인스턴스는 정상 시작 방식으로 전환될 때까지 복제가 중지되며 이후에야 복제가 재개됩니다.
시간: 선택 가능한 시간 범위는 복제 중지 시간부터 마스터 인스턴스의 현재 시간까지의 기간입니다.
GTID: 선택 가능한 범위는 읽기 전용 인스턴스의 미적용 바이너리 로그 이후의 모든 로그입니다. 시작 방식으로 GTID를 선택한 경우, 특정 트랜잭션 이전까지 정밀하게 복제 중지 시점을 설정할 수 있습니다.
인스턴스 server_uuid의 길이는 규정되어 있으며 모두 36자리입니다. GTID 형식은 server_uuid:transaction_id이어야 합니다.
주의:
입력한 바이너리 로그 위치가 이미 읽기 전용 인스턴스에 적용되었거나 주 인스턴스의 위치보다 큰 경우, 복제 시작이 실패하게 됩니다.
복제를 시작할 때 바이너리 로그에 단절점이 있는 경우, 복제 시작이 실패하게 됩니다.
지연으로 인해 읽기 전용 인스턴스의 복제 과정이 중지되고 디스크 공간 초과 사용이 발생하는 것을 방지하기 위해, 읽기 전용 인스턴스의 디스크 용량이 5GB 미만일 경우 읽기 전용 인스턴스의 IO 스레드를 일시 중지합니다.
5. 지정 위치로 복제하는 과정에서 복제 상태 옆의 데이터 재생 중을 클릭하여 작업 세부 정보를 조회할 수 있으며, 작업 세부 정보 새로고침이 지원됩니다.
6. 복제가 완료된 후 복제 상태 옆의 시작을 클릭하면 읽기 전용 인스턴스가 복제를 계속 진행할 수 있습니다.
데이터 복제 중지
설명:
지연 복제 기능이 켜져 있을 때만 복제 중지 기능을 조작할 수 있으며, 그렇지 않으면 중지 버튼이 사용 불가능 상태입니다.
복제 중지 후 IO/SQL 스레드도 함께 중지됩니다.
1. MySQL 콘솔에 로그인한 후 인스턴스 목록에서 읽기 전용 인스턴스 ID를 클릭하면 읽기 전용 인스턴스 상세 페이지로 진입합니다. 2. 읽기 전용 인스턴스 세부 정보 페이지 아래의 인스턴스 정보 > 복제 상태에서 중지를 클릭하십시오.
3. 팝업 대화 상자에서 확인 후 확인을 클릭하십시오.
자주 묻는 질문
GTID는 어떻게 획득하나요?
flush log 명령을 실행하여 binlog 파일을 확보하는 것이 좋습니다. 이를 통해 오작동 발생 시점의 위치와 GTID를 확인할 수 있습니다.
어떻게 지연 시간을 확인할 수 있나요?
콘솔의 인스턴스 상세 정보 페이지 > 인스턴스 아키텍처 다이어그램에서 읽기 전용 인스턴스와 주 인스턴스 간의 지연 시간을 확인할 수 있습니다. 지정 위치로 복제를 시작하는 작업 정보는 어떻게 확인하나요?
콘솔의 작업 목록 페이지를 통해 작업 진행 상황 및 세부 정보 등을 확인할 수 있습니다.