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
- 작업 하는 PC 에서는 https://github.com/ 과 작업 대상 Cluster에 접근이 가능한 환경이어야 합니다.
12.2. 수동 ZDB 작업 절차
12.3. 수동 ZDB 작업 유형
구분 | 작업유형 | 작업설명 |
---|---|---|
mariadb | Slave 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 작업 전에 서비스 환경설정이 완료되어 있어야 합니다. | |
ZDB | ZDB 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>>