备份和恢复 Red Hat OpenStack Platform


Red Hat OpenStack Platform 8

备份和恢复 Director undercloud

OpenStack Documentation Team

摘要

在 Red Hat OpenStack Platform director 中备份和恢复 undercloud 的指南。

第 1 章 备份和恢复 Undercloud

本指南论述了如何备份 Red Hat OpenStack Platform director 中使用的 undercloud。undercloud 通常是单个物理节点(尽管高可用性选项使用在虚拟机中运行 director 的双节点 pacemaker 集群),用于部署和管理您的 OpenStack 环境。

1.1. 备份注意事项

制定可靠的备份和恢复策略,以便最大程度降低数据丢失和系统停机时间。在决定备份策略时,您需要回答以下问题:

  • 您需要多久才能从数据丢失中恢复?如果您根本无法丢失数据,除了使用备份外,还需要在部署策略中包含高可用性。您需要考虑获取物理备份介质所需的时间(包括从非站点位置、如果使用)以及可用于恢复操作的磁带驱动器。
  • 您应该保留多少个备份?您需要考虑法律和法规要求,它们会影响您期望存储数据的时间。
  • 您的备份是否应在现场保存?现场存储备份媒体将有助于降低您物理位置的灾难风险。
  • 应测试备份的频率?可靠的备份策略将包括备份数据的常规恢复测试。这有助于验证正确的数据是否仍然被备份,且在备份或恢复过程中不会引入任何崩溃。这些深入应该假定它们在实际的灾难恢复条件下执行。
  • 将备份什么?以下小节描述了组件的数据库和文件系统备份,以及恢复备份的信息。

1.2. Undercloud 节点的高可用性

您可以自由考虑 undercloud 节点的首选高可用性(HA)选项;红帽不规定这方面的任何特定要求。例如,您可以考虑将 Undercloud 节点作为 Red Hat Enterprise Virtualization (RHEV)中的高可用性虚拟机运行。您还可以考虑使用带有 Pacemaker 为所需服务提供 HA 的物理节点。

在解决 Undercloud 节点的高可用性时,您应查阅您决定最适合您的环境的解决方案的文档和良好做法。

1.3. 备份 Undercloud

完整的 undercloud 备份包括以下数据库和文件:

  • undercloud 节点上的所有 MariaDB 数据库
  • undercloud 上的 MariaDB 配置文件(以便您可以准确恢复数据库)
  • /var/lib/glance/images中的所有 glance 镜像数据
  • /srv/node中的所有 swift 数据
  • stack 用户主目录中的所有数据: /home/stack
  • /opt/stack中的所有数据

以 root 用户身份运行以下命令,将数据从 undercloud 节点转储到名为 undercloud-backup-[timestamp].tar.gz 的文件。

注意

确认您在执行备份过程前有足够的磁盘空间可用。tarball 可能至少为 3.5 GB,但这可能会变大。

# mysqldump --opt --all-databases > /root/undercloud-all-databases.sql
# tar -czf undercloud-backup-`date +%F`.tar.gz /root/undercloud-all-databases.sql /etc/my.cnf.d/server.cnf /var/lib/glance/images /srv/node /home/stack /etc/keystone/ssl /opt/stack
Copy to Clipboard Toggle word wrap

1.4. 验证完成备份

您可以通过运行和验证恢复过程来验证已完成的备份过程是否成功。有关从备份中恢复的详情,请查看下一部分。

第 2 章 恢复

本节论述了如何恢复 Red Hat OpenStack Platform Director 中使用的 undercloud。

2.1. 恢复 Undercloud

以下恢复过程假定您正在恢复失败的 undercloud 节点,您需要从头开始重新安装。它假定硬件布局相同,并且计算机的主机名和 undercloud 设置也相同。

安装机器并处于干净状态后,重新启用安装和运行 director 所需的所有订阅/存储库。以 root 用户身份运行以下命令:

1.安装 mariadb 服务器:

# yum install -y mariadb-server
Copy to Clipboard Toggle word wrap

2.恢复 MariaDB 配置文件和数据库备份,然后启动 MariaDB 服务器并载入备份数据:

a.root 用户身份,恢复 MariaDB 文件:

# tar -xzC / -f undercloud-backup-$DATE.tar.gz etc/my.cnf.d/server.cnf
# tar -xzC / -f undercloud-backup-$DATE.tar.gz root/undercloud-all-databases.sql
Copy to Clipboard Toggle word wrap

b.编辑 /etc/my.cnf.d/server.cnf,并注释掉 bind-address 条目。

c.启动 mariadb 服务:

# systemctl start mariadb
# cat /root/undercloud-all-databases.sql | mysql
Copy to Clipboard Toggle word wrap

d.清理某些权限(以后重新创建):

# for i in ceilometer glance heat ironic keystone neutron nova ; do mysql -e "drop user $i" ; done
# mysql -e 'flush privileges'
Copy to Clipboard Toggle word wrap

3.创建 stack 用户帐户:

# sudo useradd stack
# sudo passwd stack  # specify a password
# echo "stack ALL=(root) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/stack
# sudo chmod 0440 /etc/sudoers.d/stack
Copy to Clipboard Toggle word wrap

4.恢复 stack 用户主目录:

# tar -xzC / -f undercloud-backup-$DATE.tar.gz home/stack
Copy to Clipboard Toggle word wrap

5.安装 swiftglance 基础软件包,然后恢复其数据:

# yum install -y openstack-glance openstack-swift
# tar -xzC / -f undercloud-backup-$DATE.tar.gz srv/node var/lib/glance/images
Copy to Clipboard Toggle word wrap

6.确认数据归正确的用户所有:

# chown -R swift: /srv/node
# chown -R glance: /var/lib/glance/images
Copy to Clipboard Toggle word wrap

7.恢复 HAproxy SSL 证书:

# tar -xzC / -f undercloud-backup-$DATE.tar.gz etc/keystone/ssl
# semanage fcontext -a -t etc_t "/etc/keystone/ssl(/.*)?"
# restorecon -R /etc/keystone/ssl
Copy to Clipboard Toggle word wrap

8.stack 用户身份重新运行 undercloud 安装,确保在 stack 用户主目录中运行它:

# su - stack
$ sudo yum install -y python-tripleoclient
Copy to Clipboard Toggle word wrap

9.确认在 /etc/hosts 中正确设置了主机名。

10.重新安装 undercloud:

$ openstack undercloud install
Copy to Clipboard Toggle word wrap

2.2. 将恢复的 undercloud 重新连接到 overcloud

完成上述步骤后,undercloud 可以自动将其连接恢复到 overcloud。节点将继续轮询待处理任务的编排(heat),每几秒钟使用一个简单的 HTTP 请求。

2.3. 验证完成恢复

使用以下命令对新恢复的环境执行健康检查:

2.3.1. 检查 Identity Service (Keystone)操作

此步骤通过查询用户列表来验证 Identity Service 操作。

# source overcloudrc
# keystone user-list
Copy to Clipboard Toggle word wrap

从控制器运行时,此命令的输出应包含您环境中创建的用户的列表。此操作表明 keystone 正在运行并成功验证用户请求。例如:

# keystone user-list
+----------------------------------+------------+---------+----------------------+
|                id                |    name    | enabled |        email         |
+----------------------------------+------------+---------+----------------------+
| 9e47bb53bb40453094e32eccce996828 |   admin    |   True  |    root@localhost    |
| 9fe2466f88cc4fa0ba69e59b47898829 | ceilometer |   True  | ceilometer@localhost |
| 7a40d944e55d422fa4e85daf47e47c42 |   cinder   |   True  |   cinder@localhost   |
| 3d2ed97538064f258f67c98d1912132e |    demo    |   True  |                      |
| 756e73a5115d4e9a947d8aadc6f5ac22 |   glance   |   True  |   glance@localhost   |
| f0d1fcee8f9b4da39556b78b72fdafb1 |  neutron   |   True  |  neutron@localhost   |
| e9025f3faeee4d6bb7a057523576ea19 |    nova    |   True  |    nova@localhost    |
| 65c60b1278a0498980b2dc46c7dcf4b7 |   swift    |   True  |   swift@localhost    |
+----------------------------------+------------+---------+----------------------+
Copy to Clipboard Toggle word wrap

2.3.2. 检查 OpenStack 服务

运行 openstack-status 命令来查看 OpenStack 服务的状态:

# openstack-status
Copy to Clipboard Toggle word wrap

法律通告

版权所有 © 2015 Red Hat, Inc.
本文档内容及图解由红帽根据 Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA")授权。http://creativecommons.org/licenses/by-sa/3.0/ 中提供了CC-BY-SA 的说明。根据 CC-BY-SA,如果发布本文档或提供此文档,则必须提供原始版本的 URL。
作为本文档的许可者,红帽可能会放弃强制制执行 CC-BY-SA 第4d 条款,且不声明该条款在适用条款允许的最大限度内有效。
OpenStack 配置参考中采用的部分内容。请参阅 Red Hat OpenStack Platform Licenses 中的"配置参考"文档
Red Hat、Red Hat Enterprise Linux、Shadowman 徽标、JBoss、MetaMatrix、Fedora、Infinity 徽标和 RHCE 是 Red Hat, Inc. 在美国和其他国家/地区注册的商标。
Linux® 是 Linus Torvalds 在美国和其它国家的注册商标。
Java® 是 Oracle 和/或其附属公司注册的商标。
XFS® 是 Silicon Graphics International Corp. 或其子公司在美国和/或其他国家的商标。
MySQL® 是 MySQL AB 在美国、美国和其他国家注册的商标。
Node.js® 是 Joyent 的官方商标。Red Hat Software Collections 与官方 Joyent Node.js 开源或商业项目没有正式关联或被正式认可。
OpenStack® Word Mark 和 OpenStack 标识是 OpenStack Foundation 在美国和其他国家/地区注册商标/服务标记或商标/服务标记,适用于 OpenStack Foundation 的权限。我们不附属于 OpenStack Foundation 或 OpenStack 社区。
所有其他商标均由其各自所有者所有。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat