备份和恢复


Red Hat build of MicroShift 4.16

备份和恢复 MicroShift 数据库的红帽构建

Red Hat OpenShift Documentation Team

摘要

了解如何备份和恢复 MicroShift 数据库的红帽构建。

第 1 章 备份和恢复 MicroShift 数据

您可以在所有支持的系统中手动备份和恢复 MicroShift 数据库。必须完成 greenboot 健康检查,且必须在任何备份前停止 MicroShift 服务。

注意

只有 MicroShift 数据需要按照以下步骤备份。不包含应用程序数据。

  • rpm-ostree 系统中,MicroShift 会在每次启动时自动创建一个备份。每次系统重启时,这些自动备份都会被删除,并替换为最新的备份。
  • 如果您使用 rpm-ostree 系统,则 Greenboot 回滚系统后会自动恢复数据。此数据恢复可确保数据库在回滚完成后与主机上运行的软件匹配。
  • 在其他系统类型中,您必须手动备份和恢复数据。

1.1. 停止 MicroShift 服务

使用以下步骤停止 MicroShift 服务。

先决条件

  • MicroShift 服务正在运行。

流程

  1. 输入以下命令停止 MicroShift 服务:

    $ sudo systemctl stop microshift
    Copy to Clipboard Toggle word wrap
  2. MicroShift 上部署的工作负载可能会继续运行,即使 MicroShift 服务已停止。输入以下命令显示正在运行的工作负载:

    $ sudo crictl ps -a
    Copy to Clipboard Toggle word wrap
  3. 输入以下命令停止部署的工作负载:

    $ sudo systemctl stop kubepods.slice
    Copy to Clipboard Toggle word wrap

1.2. 手动备份 MicroShift 数据

您可以随时手动备份 MicroShift 数据。在系统更新前备份您的数据,以便在更新失败或其他系统出现问题时保留它。自动备份在 /var/lib/microshift-backups 目录中创建。您可以通过在每个命令中指定这个目录来手动备份和恢复数据。在创建备份时,您必须为输出文件使用整个文件路径。

先决条件

  • 有对主机的 root 访问权限。
  • MicroShift 已停止。

流程

  1. 运行以下命令,使用父目录手动创建备份并指定名称,如 /var/lib/microshift-backups/<my_manual_backup > :

    $ sudo microshift backup /var/lib/microshift-backups/<my_manual_backup>
    Copy to Clipboard Toggle word wrap

    <my_manual_backup > 替换为您要使用的备份名称。

    输出示例

    ??? I1017 07:38:16.770506    5900 data_manager.go:92] "Copying data to backup directory" storage="/var/lib/microshift-backups" name="test" data="/var/lib/microshift"
    ??? I1017 07:38:16.770713    5900 data_manager.go:227] "Starting copy" cmd="/bin/cp --verbose --recursive --preserve --reflink=auto /var/lib/microshift /var/lib/microshift-backups/test"
    ??? I1017 07:38:16.776162    5900 data_manager.go:241] "Finished copy" cmd="/bin/cp --verbose --recursive --preserve --reflink=auto /var/lib/microshift /var/lib/microshift-backups/test"
    ??? I1017 07:38:16.776256    5900 data_manager.go:125] "Copied data to backup directory" backup="/var/lib/microshift-backups/test" data="/var/lib/microshift"
    Copy to Clipboard Toggle word wrap

  2. 可选:通过运行以下命令,在带有自定义名称的特定父目录中手动创建备份:

    $ sudo microshift backup /mnt/<other_backups_location>/<another_manual_backup>
    Copy to Clipboard Toggle word wrap

    <other_backups_location > 替换为您要使用的目录,将 < my_manual_backup > 替换为您要使用的备份名称。

验证

  • 您可以通过查看您选择的目录中的数据来验证备份是否存在。例如: /var/lib/microshift-backups/<my_manual_backup>/ 或 / mnt/<other_backups_location>/<another_manual_backup>

1.3. 手动恢复 MicroShift 数据备份

您可以从备份中手动恢复 MicroShift 数据。备份可以在更新后恢复,也可以在删除或损坏所需数据的其他系统事件后恢复。默认情况下,自动备份位于 /var/lib/microshift-backups 目录中。您可以通过在每个命令中指定这个目录来手动备份和恢复数据。恢复备份时,必须使用整个文件路径。

注意

rpm-ostree 系统中,MicroShift 会自动备份和恢复数据。

先决条件

  • 对主机的 root 访问权限。
  • 数据备份文件的完整路径。
  • MicroShift 服务已停止。

流程

  1. 运行以下命令,使用您要恢复的备份的完整文件路径手动恢复 MicroShift 数据:

    $ sudo microshift restore /var/lib/microshift-backups/<my_manual_backup>
    Copy to Clipboard Toggle word wrap

    <my_manual_backup > 替换为您使用的备份名称。可选: 您还可以使用完整文件路径恢复自动 ostree 备份。

    输出示例

    ??? I1017 07:39:52.055165    6007 data_manager.go:131] "Copying backup to data directory" storage="/var/lib/microshift-backups" name="test" data="/var/lib/microshift"
    ??? I1017 07:39:52.055243    6007 data_manager.go:154] "Renaming existing data dir" data="/var/lib/microshift" renamedTo="/var/lib/microshift.saved"
    ??? I1017 07:39:52.055326    6007 data_manager.go:227] "Starting copy" cmd="/bin/cp --verbose --recursive --preserve --reflink=auto /var/lib/microshift-backups/test /var/lib/microshift"
    ??? I1017 07:39:52.061363    6007 data_manager.go:241] "Finished copy" cmd="/bin/cp --verbose --recursive --preserve --reflink=auto /var/lib/microshift-backups/test /var/lib/microshift"
    ??? I1017 07:39:52.061404    6007 data_manager.go:175] "Removing temporary data directory" path="/var/lib/microshift.saved"
    ??? I1017 07:39:52.063745    6007 data_manager.go:180] "Copied backup to data directory" name="test" data="/var/lib/microshift"
    Copy to Clipboard Toggle word wrap

  2. 可选。使用备份的完整文件路径,从自定义目录中手动恢复数据。运行以下命令:

    $ sudo microshift restore /<mnt>/<other_backups_location>/<another_manual_backup>
    Copy to Clipboard Toggle word wrap

    <other_backups_location > 替换为您使用的目录,将 < my_manual_backup > 替换为您在创建您要恢复的备份时使用的备份名称。

  3. 重启主机。重启主机可让所有工作负载和 pod 重启。

验证

  • 使用 oc get pods -A 命令验证集群是否正在运行,然后检查恢复的数据。

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat