4.3. 컨트롤 플레인 백업
컨트롤 플레인을 백업하려면 먼저 pacemaker 클러스터와 컨트롤 플레인 노드에서 작동하는 모든 컨테이너를 중지해야 합니다. 상태 일관성을 보장하기 위해 스택을 운영하지 마십시오. 백업 절차를 완료한 후 pacemaker 클러스터 및 컨테이너를 시작합니다.
Pacemaker 클러스터 및 컨테이너를 다시 시작한 후 데이터베이스를 복원할 수 있도록 사전에 데이터베이스를 백업해야 합니다.
컨트롤 플레인 노드를 동시에 백업합니다.
사전 요구 사항
- 백업 디렉터리를 생성하고 내보냈습니다. 자세한 내용은 백업 디렉터리 생성 및 내보내기를 참조하십시오.
- 언더클라우드 노드에 ReaR을 설치하고 구성했습니다. 자세한 내용은 ReaR 설치 및 구성을 참조하십시오.
절차
데이터베이스 암호를 찾습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD=$(/bin/hiera -c /etc/puppet/hiera.yaml mysql::server::root_password)
[heat-admin@overcloud-controller-x ~]# PASSWORD=$(/bin/hiera -c /etc/puppet/hiera.yaml mysql::server::root_password)
데이터베이스를 백업하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec galera-bundle-podman-X bash -c "mysql -uroot -p$PASSWORD -s -N -e \"SELECT CONCAT('\\\"SHOW GRANTS FOR ''',user,'''@''',host,''';\\\"') FROM mysql.user where (length(user) > 0 and user NOT LIKE 'root')\" | xargs -n1 mysql -uroot -p$PASSWORD -s -N -e | sed 's/$/;/' " > openstack-backup-mysql-grants.sql
[heat-admin@overcloud-controller-x ~]# podman exec galera-bundle-podman-X bash -c "mysql -uroot -p$PASSWORD -s -N -e \"SELECT CONCAT('\\\"SHOW GRANTS FOR ''',user,'''@''',host,''';\\\"') FROM mysql.user where (length(user) > 0 and user NOT LIKE 'root')\" | xargs -n1 mysql -uroot -p$PASSWORD -s -N -e | sed 's/$/;/' " > openstack-backup-mysql-grants.sql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec galera-bundle-podman-X bash -c "mysql -uroot -p$PASSWORD -s -N -e \"select distinct table_schema from information_schema.tables where engine='innodb' and table_schema != 'mysql';\" | xargs mysqldump -uroot -p$PASSWORD --single-transaction --databases" > openstack-backup-mysql.sql
[heat-admin@overcloud-controller-x ~]# podman exec galera-bundle-podman-X bash -c "mysql -uroot -p$PASSWORD -s -N -e \"select distinct table_schema from information_schema.tables where engine='innodb' and table_schema != 'mysql';\" | xargs mysqldump -uroot -p$PASSWORD --single-transaction --databases" > openstack-backup-mysql.sql
컨트롤 플레인 노드 중 하나에서 pacemaker 클러스터를 중지합니다.
중요스택을 작동시키지 마십시오. pacemaker 클러스터 및 컨테이너를 중지하면 컴퓨팅 노드에 대한 컨트롤 플레인 서비스가 일시적으로 중단됩니다. 또한 네트워크 연결, Ceph 및 NFS 데이터 플레인 서비스가 중단됩니다. 이 절차의 최종 단계에 따라 pacemaker 클러스터와 컨테이너가 서비스로 돌아갈 때까지 인스턴스를 마이그레이션하거나, 인스턴스를 마이그레이션, 요청을 인증하거나, 클러스터의 상태를 모니터링할 수 없습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs cluster stop --all
[heat-admin@overcloud-controller-x ~]# pcs cluster stop --all
각 컨트롤 플레인 노드에서 컨테이너를 중지합니다.
컨테이너를 중지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl stop tripleo_*
[heat-admin@overcloud-controller-x ~]# systemctl stop tripleo_*
ceph-mon@controller.service
컨테이너를 중지합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl stop ceph-mon@$(hostname -s)
[heat-admin@overcloud-controller-x ~]# sudo systemctl stop ceph-mon@$(hostname -s)
ceph-mgr@controller.service
컨테이너를 중지합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl stop ceph-mgr@$(hostname -s)
[heat-admin@overcloud-controller-x ~]# sudo systemctl stop ceph-mgr@$(hostname -s)
컨트롤 플레인을 백업하려면 각 컨트롤 플레인 노드의 명령줄 인터페이스에서
root
로 다음 명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow rear -d -v mkbackup
[heat-admin@overcloud-controller-x ~]# rear -d -v mkbackup
/ctl_plane_backups
디렉토리의 백업 노드에서 ReaR으로 만든 백업 ISO 파일을 찾을 수 있습니다.참고백업 명령을 실행하면 다음과 유사하게 tar 프로세스 중에 무시되는
tar
명령 및 소켓과 관련된 경고 메시지가 표시될 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow WARNING: tar ended with return code 1 and below output: ---snip--- tar: /var/spool/postfix/public/qmgr: socket ignored ... ... This message indicates that files have been modified during the archiving process and the backup might be inconsistent. Relax-and-Recover continues to operate, however, it is important that you verify the backup to ensure that you can use this backup to recover your system.
WARNING: tar ended with return code 1 and below output: ---snip--- tar: /var/spool/postfix/public/qmgr: socket ignored ... ... This message indicates that files have been modified during the archiving process and the backup might be inconsistent. Relax-and-Recover continues to operate, however, it is important that you verify the backup to ensure that you can use this backup to recover your system.
백업 프로세스에서 각 컨트롤 플레인 노드에 대한 ISO 이미지를 생성하면 pacemaker 클러스터 및 컨테이너를 다시 시작합니다.
컨트롤 플레인 노드 중 하나에서 다음 명령을 입력합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs cluster start --all
[heat-admin@overcloud-controller-x ~]# pcs cluster start --all
각 컨트롤 플레인 노드에서 컨테이너를 시작합니다.
ceph-mon@controller.service
컨테이너를 시작합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start ceph-mon@$(hostname -s)
[heat-admin@overcloud-controller-x ~]# systemctl start ceph-mon@$(hostname -s)
ceph-mgr@controller.service
컨테이너를 시작합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start ceph-mgr@$(hostname -s)
[heat-admin@overcloud-controller-x ~]# systemctl start ceph-mgr@$(hostname -s)