4.3. 备份 control plane


要备份 control plane,您必须首先停止 pacemaker 集群,以及 control plane 节点上运行的所有容器。不要操作堆栈以确保状态一致性。完成备份过程后,启动 pacemaker 集群和容器。

作为前提条件,您必须备份数据库,以确保在重启 pacemaker 集群和容器后可以恢复数据库。

同时备份 control plane 节点。

前提条件

流程

  1. 查找数据库密码:

    [heat-admin@overcloud-controller-x ~]# PASSWORD=$(sudo /bin/hiera -c /etc/puppet/hiera.yaml mysql::server::root_password)
    Copy to Clipboard Toggle word wrap
  2. 备份数据库:

    [heat-admin@overcloud-controller-x ~]# 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
    Copy to Clipboard Toggle word wrap
    [heat-admin@overcloud-controller-x ~]# 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 Toggle word wrap
    注意

    备份数据库是一种预报措施。此步骤可确保如果 Galera 集群没有自动恢复,则可以手动恢复 Galera 集群。有关恢复 Galera 集群的更多信息,请参阅 对 Galera 集群进行故障排除

  3. 在其中一个 control plane 节点上,停止 pacemaker 集群:

    重要

    不要操作堆栈。当您停止 pacemaker 集群和容器时,这会导致将 control plane 服务临时中断到 Compute 节点。网络连接、Ceph 和 NFS data plane 服务也会中断。您不能创建实例、迁移实例、验证请求或监控集群的运行状况,直到 pacemaker 集群和容器按照此流程的最后一步返回服务。

    [heat-admin@overcloud-controller-x ~]# sudo pcs cluster stop --all
    Copy to Clipboard Toggle word wrap
  4. 在每个 control plane 节点上,停止容器:

    1. 停止容器:

      [heat-admin@overcloud-controller-x ~]# sudo docker stop $(sudo docker ps -a -q)
      Copy to Clipboard Toggle word wrap
    2. 停止 ceph-mon@controller.service 容器:

      [heat-admin@overcloud-controller-x ~]# sudo systemctl stop ceph-mon@$(hostname -s)
      Copy to Clipboard Toggle word wrap
    3. 停止 ceph-mgr@controller.service 容器:

      [heat-admin@overcloud-controller-x ~]# sudo systemctl stop ceph-mgr@$(hostname -s)
      Copy to Clipboard Toggle word wrap
  5. 可选:如果您使用 ganesha-nfs,请在一个控制器中禁用文件服务器:

    [heat-admin@overcloud-controller-x ~]# sudo pcs resource disable ceph-nfs
    Copy to Clipboard Toggle word wrap
  6. 可选:如果您使用 ceph 服务 ceph-mdsceph-rgw,请停止这些服务:

    [heat-admin@overcloud-controller-x ~]# sudo systemctl stop ceph-mds@$(hostname -s)
    
    [heat-admin@overcloud-controller-x ~]# sudo systemctl stop ceph-rgw@$(hostname -s)
    Copy to Clipboard Toggle word wrap
  7. 要备份 control plane,请在每个 control plane 节点上运行 control plane 备份:

    [heat-admin@overcloud-controller-x ~]# sudo rear -d -v mkbackup
    Copy to Clipboard Toggle word wrap

    您可以在 /ctl_plane_backups 目录下找到您在备份节点上使用 ReaR 创建的备份 ISO 文件。

    注意

    执行备份命令时,您可能会看到有关 tar 过程中忽略的 tar 命令和套接字的警告信息,类似于以下警告:

    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.
    Copy to Clipboard Toggle word wrap
  8. 当备份过程为每个 control plane 节点生成 ISO 镜像时,重启 pacemaker 集群。在其中一个 control plane 节点上,输入以下命令:

    [heat-admin@overcloud-controller-x ~]# sudo pcs cluster start --all
    Copy to Clipboard Toggle word wrap
  9. 在每个 control plane 节点上,启动容器:

    1. 启动容器:

      [heat-admin@overcloud-controller-x ~]# sudo systemctl restart docker
      Copy to Clipboard Toggle word wrap
    2. 启动 ceph-mon@controller.service 容器:

      [heat-admin@overcloud-controller-x ~]# sudo systemctl start ceph-mon@$(hostname -s)
      Copy to Clipboard Toggle word wrap
    3. 启动 ceph-mgr@controller.service 容器:

      [heat-admin@overcloud-controller-x ~]# sudo systemctl start ceph-mgr@$(hostname -s)
      Copy to Clipboard Toggle word wrap
  10. 可选:如果您使用 ceph-mdsceph-rgw,请启动这些服务:

    [heat-admin@overcloud-controller-x ~]# sudo systemctl start ceph-rgw@$(hostname -s)
    [heat-admin@overcloud-controller-x ~]# sudo systemctl start ceph-mds@$(hostname -s)
    Copy to Clipboard Toggle word wrap
  11. 可选:如果您使用 ganesha-nfs,请在一个控制器中启用文件服务器:

    [heat-admin@overcloud-controller-x ~]# sudo pcs resource enable ceph-nfs
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat