12. Cloud Z DB 장애상황에서 수동 작업

Print

12.1. 수동 ZDB 작업


장애로 인하여 Cloud Z DB Portal에서의 작업이 불가능할 때 다음을 참고하여 작업을 진행할 수 있습니다.

필요한 도구

  • curl : command line 용 data transfer tool 

  • kubectl : Kubernetes의 자원 생성/관리를 위한 커맨드라인 도구

  • Cloud Service Provider 의 CLI 도구 : Kubernetes 클러스터에 접근하기 위한 도구

실행 환경

  • Linux 기반 OS
    • Linux VM
    • Mac PC
  • (warning) 작업 하는 PC 에서는 https://github.com/ 과 작업 대상 Cluster에 접근이 가능한 환경이어야 합니다.


12.2. 수동 ZDB 작업 절차



12.3. 수동 ZDB 작업 유형


구분작업유형작업설명
mariadbSlave Restore

Slave Replication 문제가 발생하여, Master DB 기준으로 Slave를 복원하는 작업입니다.

Slave 복원 이후에 Replication 설정도 정상적으로 설정됩니다.

Fail Over

클러스터 모드에서 특수한 목적에 따라서 Slave DB 로 서비스를 하는 작업입니다.

Master DB는 구동 유무와 상관없이 DB 트랜잭션 유입이 차단됩니다.

Fail Back

Fail Over 상황에서 클러스터 모드를 정상적으로 돌리는 작업입니다.

해당 작업은 서비스 다운타임이 발생합니다.

Restore

특정 백업을 기준으로 복원작업을 수행하는 작업입니다.

현재 Data는 모두 삭제되며, 서비스 다운타임이 발생합니다.

Migration

호환이 되는 Binary backup 결과를 가지고 Migration을 수행합니다.

Migration 작업 전에 서비스 환경설정이 완료되어 있어야 합니다.

ZDBZDB App Install

ZDB Portal을 특정 클러스터에 설치 하는 작업입니다.

작업전에 클러스터의 정보 확인이 필요합니다.


12.4. 수동 작업 수행 방법


mariadb - 수동 Slave Restore

$ curl https://raw.githubusercontent.com/cnpst/zdb-shell/master/zdb-restore/zdb-slave-restore.sh > zdb-slave-restore.sh 2>/dev/null
$ chmod +x zdb-slave-restore.sh
$ ./zdb-slave-restore.sh <<DB_SERVICE_NAME>> <<NAMESPACE>>

mariadb - 수동 Fail Over

$ curl https://raw.githubusercontent.com/cnpst/zdb-shell/master/zdb-failover/zdb-failover.sh > zdb-failover.sh 2>/dev/null
$ chmod +x zdb-failover.sh
$ ./zdb-failover.sh <<DB_SERVICE_NAME>> <<NAMESPACE>>

mariadb - 수동 Fail Back

$ curl https://raw.githubusercontent.com/cnpst/zdb-shell/master/zdb-failback/zdb-failback.sh > zdb-failback.sh 2>/dev/null
$ chmod +x zdb-failback.sh
$ ./zdb-failback.sh <<DB_SERVICE_NAME>> <<NAMESPACE>>

mariadb - 수동 Restore

## 추후 제공

mariadb - 수동 Migration

### cluster mode 설정에 따라서 mig_noncluster.sh / mig_cluster.sh 을 구별해서 사용한다.
## Non-cluster mode
$ curl https://raw.githubusercontent.com/cnpst/zdb-shell/master/zdb-migration/mig_noncluster.sh 2>/dev/null > mig_noncluster.sh
$ chmod 755 ./mig_noncluster.sh
$ ./mig_noncluster.sh <<DB_SERVICE_NAME>> <<NAMESPACE>> <<AS_IS_DB_ROOT_PASSWORD>>
 
 
## cluster mode
$ curl https://raw.githubusercontent.com/cnpst/zdb-shell/master/zdb-migration/mig_cluster.sh 2>/dev/null > mig_cluster.sh
$ chmod 755 ./mig_cluster.sh
$ ./mig_noncluster.sh <<DB_SERVICE_NAME>> <<NAMESPACE>> <<AS_IS_DB_ROOT_PASSWORD>>

ZDB App 수동 Install

$ curl https://raw.githubusercontent.com/cnpst/zdb-shell/master/zdb-install/zdb-install.sh 2>/dev/null > zdb-install.sh
$ chmod 755 ./zdb-install.sh
$ ./zdb-install.sh <<CLUSTER_NAME>> <<DOMAIN>> <<IAM_SECRET>> <<STORAGE_ACCESS_KEY>> <<STORAGE_API_KEY>> <<STORAGE_SECRET_KEY>> <<PUBLIC_TYPE>> <<DB_PASSWORD>>

이 답변이 유용합니까? 아니오

Send feedback
도움이 되어드리지 못해 죄송합니다. 아티클 개선을 위해 의견을 제공해 주시기 바랍니다.