备份和恢复
第 1 章 备份和恢复 MicroShift 数据 复制链接链接已复制到粘贴板!
您可以在所有支持的系统中手动备份和恢复 MicroShift 数据库。必须完成 greenboot 健康检查,且必须在任何备份前停止 MicroShift 服务。
只有 MicroShift 数据需要按照以下步骤备份。不包含应用程序数据。
-
在
rpm-ostree系统中,MicroShift 会在每次启动时自动创建一个备份。每次系统重启时,这些自动备份都会被删除,并替换为最新的备份。 -
如果您使用
rpm-ostree系统,则 Greenboot 回滚系统后会自动恢复数据。此数据恢复可确保数据库在回滚完成后与主机上运行的软件匹配。 - 在其他系统类型中,您必须手动备份和恢复数据。
1.1. 停止 MicroShift 服务 复制链接链接已复制到粘贴板!
使用以下步骤停止 MicroShift 服务。
先决条件
- MicroShift 服务正在运行。
流程
输入以下命令停止 MicroShift 服务:
sudo systemctl stop microshift
$ sudo systemctl stop microshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow MicroShift 上部署的工作负载可能会继续运行,即使 MicroShift 服务已停止。输入以下命令显示正在运行的工作负载:
sudo crictl ps -a
$ sudo crictl ps -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令停止部署的工作负载:
sudo systemctl stop kubepods.slice
$ sudo systemctl stop kubepods.sliceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2. 手动备份 MicroShift 数据 复制链接链接已复制到粘贴板!
您可以随时手动备份 MicroShift 数据。在系统更新前备份您的数据,以便在更新失败或其他系统出现问题时保留它。自动备份在 /var/lib/microshift-backups 目录中创建。您可以通过在每个命令中指定这个目录来手动备份和恢复数据。在创建备份时,您必须为输出文件使用整个文件路径。
先决条件
- 有对主机的 root 访问权限。
- MicroShift 已停止。
流程
运行以下命令,使用父目录手动创建备份并指定名称,如
/var/lib/microshift-backups/<my_manual_backup> :sudo microshift backup /var/lib/microshift-backups/<my_manual_backup>
$ sudo microshift backup /var/lib/microshift-backups/<my_manual_backup>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<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"
??? 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 Copied! Toggle word wrap Toggle overflow 可选:通过运行以下命令,在带有自定义名称的特定父目录中手动创建备份:
sudo microshift backup /mnt/<other_backups_location>/<another_manual_backup>
$ sudo microshift backup /mnt/<other_backups_location>/<another_manual_backup>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<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 服务已停止。
流程
运行以下命令,使用您要恢复的备份的完整文件路径手动恢复 MicroShift 数据:
sudo microshift restore /var/lib/microshift-backups/<my_manual_backup>
$ sudo microshift restore /var/lib/microshift-backups/<my_manual_backup>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<my_manual_backup> 替换为您使用的备份名称。可选: 您还可以使用完整文件路径恢复自动ostree备份。输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选。使用备份的完整文件路径,从自定义目录中手动恢复数据。运行以下命令:
sudo microshift restore /<mnt>/<other_backups_location>/<another_manual_backup>
$ sudo microshift restore /<mnt>/<other_backups_location>/<another_manual_backup>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<other_backups_location> 替换为您使用的目录,将 <my_manual_backup> 替换为您在创建您要恢复的备份时使用的备份名称。- 重启主机。重启主机可让所有工作负载和 pod 重启。
验证
-
使用
oc get pods -A命令验证集群是否正在运行,然后检查恢复的数据。