목차

Openstack DB backup

RedHat Openstack 13/16 에서 컨테이너로 동작중인 Database의 백업하는 방법에 대해 설명한다.

아래 작업은 컨트롤러 노드에 접속해서 수행한다.

RHOSP13

$ galera_id=$(sudo docker ps --filter name=galera --format="{{.ID}}")
$ sudo docker exec ${galera_id} mysqldump --all-databases --single-transaction  --extended-insert=FALSE | gzip -9 > mysql-all-$HOSTNAME-$(date +%F_%H%M%S).sql.gz

RHOSP16

sudo podman exec $(sudo podman ps -f name=galera -q) mysqldump --all-databases --single-transaction  --extended-insert=FALSE | gzip -9 > mysql-all-$HOSTNAME-$(date +%F_%H%M%S).sql.gz

백업파일은 컨트롤러 노드에 생성됨

특정 테이블만 백업받는 경우

$ galera_id=$(sudo docker ps | grep galera | awk '{ print $1 }')
$ sudo docker exec ${galera_id} mysqldump --single-transaction  --extended-insert=FALSE nova > nova-$HOSTNAME-$(date +%F_%H%M%S).sql.gz
$ sudo docker exec ${galera_id} mysqldump --single-transaction  --extended-insert=FALSE nova_api > nova_api-$HOSTNAME-$(date +%F_%H%M%S).sql.gz

참조링크