备份和恢复


Red Hat build of MicroShift 4.18

备份和恢复 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& gt; )来手动创建备份:

    $ 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 命令来验证集群是否正在运行,然后检查恢复的数据。

第 2 章 从手动备份中自动恢复

当 MicroShift 无法使用 auto-recovery 功能启动时,您可以从手动备份中自动恢复数据。

您可以在此功能中的现有 备份和恢复 命令中 使用以下选项:

  • --auto-recovery :选择备份的最新版本,然后恢复它。这个选项将 PATH 参数视为一个路径,该路径包含自动恢复的所有备份,而不只是作为特定备份文件的路径。
  • --dont-save-failed: 禁用失败的 MicroShift 数据的备份。
注意
  • 您可以将 --auto-recovery 选项与 backuprestore 命令一起使用。
  • 您只能在 restore 命令中使用 the-dont-save-failed 选项。

2.1. 使用自动恢复功能创建备份

使用以下步骤创建备份。

注意

创建备份需要停止 MicroShift,因此您必须确定最佳时间来停止 MicroShift。

先决条件

  • 您已停止了 MicroShift。

流程

  • 运行以下命令,在您选择的目录中创建并存储备份:

    $ sudo microshift backup --auto-recovery <path_of_directory> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <path_of_directory > 替换为存储备份的目录的路径。例如: /var/lib/microshift-auto-recovery
    注意

    --auto-recovery 选项修改 PATH 参数从最终备份路径到包含自动恢复所有备份的目录的解释。

    输出示例

    ??? I1104 09:18:52.100725    8906 system.go:58] "OSTree deployments" deployments=[{"id":"default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1","booted":true,"staged":false,"pinned":false},{"id":"default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0","booted":false,"staged":false,"pinned":false}]
    ??? I1104 09:18:52.100895    8906 data_manager.go:83] "Copying data to backup directory" storage="/var/lib/microshift-auto-recovery" name="20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1" data="/var/lib/microshift"
    ??? I1104 09:18:52.102296    8906 disk_space.go:33] Calculated size of "/var/lib/microshift": 261M - increasing by 10% for safety: 287M
    ??? I1104 09:18:52.102321    8906 disk_space.go:44] Calculated available disk space for "/var/lib/microshift-auto-recovery": 1658M
    ??? I1104 09:18:52.105700    8906 atomic_dir_copy.go:66] "Made an intermediate copy" cmd="/bin/cp --verbose --recursive --preserve --reflink=auto /var/lib/microshift /var/lib/microshift-auto-recovery/20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1.tmp.99142"
    ??? I1104 09:18:52.105732    8906 atomic_dir_copy.go:115] "Renamed to final destination" src="/var/lib/microshift-auto-recovery/20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1.tmp.99142" dest="/var/lib/microshift-auto-recovery/20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1"
    ??? I1104 09:18:52.105749    8906 data_manager.go:120] "Copied data to backup directory" backup="/var/lib/microshift-auto-recovery/20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1" data="/var/lib/microshift"
    /var/lib/microshift-auto-recovery/20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1
    Copy to Clipboard Toggle word wrap

验证

  • 要验证备份是否已创建,请运行以下命令来查看您选择存储备份的目录:

    $ ls -la <path_of_directory> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <path_of_directory > 替换为存储备份的目录的路径。例如: /var/lib/microshift-auto-recovery

2.2. 使用自动恢复功能恢复备份

您可以在删除或损坏所需数据的系统事件后恢复备份。

使用以下步骤恢复备份。

先决条件

  • 您已停止了 MicroShift。

流程

  • 运行以下命令,从保存备份的目录中恢复备份:

    $ sudo microshift restore --auto-recovery <path_of_directory> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <path_of_directory > 替换为存储备份的目录的路径。例如: /var/lib/microshift-auto-recovery
    注意

    --auto-recovery 选项将 MicroShift 数据复制到 /var/lib/microshift-auto-recovery/failed/ failed/ 以供稍后的调查,选择最新的备份并恢复它。--dont-save-failed 选项禁用对失败的 MicroShift 数据的备份。

    输出示例

    ??? I1104 09:19:28.617225    8950 state.go:80] "Read state from the disk" state={"LastBackup":"20241022101528_default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0"}
    ??? I1104 09:19:28.617323    8950 storage.go:78] "Auto-recovery backup storage read and parsed" dirs=["20241022101255_default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0","20241022101520_default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0","20241022101528_default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0","20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1","restored"] backups=[{"CreationTime":"2024-10-22T10:12:55Z","Version":"default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0"},{"CreationTime":"2024-10-22T10:15:20Z","Version":"default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0"},{"CreationTime":"2024-10-22T10:15:28Z","Version":"default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0"},{"CreationTime":"2024-11-04T09:18:52Z","Version":"default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1"}]
    ??? I1104 09:19:28.617350    8950 storage.go:40] "Filtered list of backups - removed previously restored backup" removed="20241022101528_default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0" newList=[{"CreationTime":"2024-10-22T10:12:55Z","Version":"default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0"},{"CreationTime":"2024-10-22T10:15:20Z","Version":"default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0"},{"CreationTime":"2024-11-04T09:18:52Z","Version":"default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1"}]
    ??? I1104 09:19:28.633237    8950 system.go:58] "OSTree deployments" deployments=[{"id":"default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1","booted":true,"staged":false,"pinned":false},{"id":"default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0","booted":false,"staged":false,"pinned":false}]
    ??? I1104 09:19:28.633258    8950 storage.go:49] "Filtered list of backups by version" version="default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1" newList=[{"CreationTime":"2024-11-04T09:18:52Z","Version":"default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1"}]
    ??? I1104 09:19:28.633268    8950 restore.go:170] "Potential backups" bz=[{"CreationTime":"2024-11-04T09:18:52Z","Version":"default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1"}]
    ??? I1104 09:19:28.633277    8950 restore.go:173] "Candidate backup for restore" b={"CreationTime":"2024-11-04T09:18:52Z","Version":"default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1"}
    ??? I1104 09:19:28.634007    8950 disk_space.go:33] Calculated size of "/var/lib/microshift-auto-recovery/20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1": 261M - increasing by 10% for safety: 287M
    ??? I1104 09:19:28.634096    8950 disk_space.go:44] Calculated available disk space for "/var/lib": 1658M
    ??? I1104 09:19:28.634507    8950 disk_space.go:33] Calculated size of "/var/lib/microshift": 261M - increasing by 10% for safety: 287M
    ??? I1104 09:19:28.634522    8950 disk_space.go:44] Calculated available disk space for "/var/lib/microshift-auto-recovery": 1658M
    ??? I1104 09:19:28.649719    8950 system.go:58] "OSTree deployments" deployments=[{"id":"default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1","booted":true,"staged":false,"pinned":false},{"id":"default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0","booted":false,"staged":false,"pinned":false}]
    ??? I1104 09:19:28.653880    8950 atomic_dir_copy.go:66] "Made an intermediate copy" cmd="/bin/cp --verbose --recursive --preserve --reflink=auto /var/lib/microshift /var/lib/microshift-auto-recovery/failed/20241104091928_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1.tmp.22742"
    ??? I1104 09:19:28.657362    8950 atomic_dir_copy.go:66] "Made an intermediate copy" cmd="/bin/cp --verbose --recursive --preserve --reflink=auto /var/lib/microshift-auto-recovery/20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1 /var/lib/microshift.tmp.482"
    ??? I1104 09:19:28.657385    8950 state.go:40] "Saving intermediate state" state="{\"LastBackup\":\"20241104091852_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1\"}" path="/var/lib/microshift-auto-recovery/state.json.tmp.41544"
    ??? I1104 09:19:28.662438    8950 atomic_dir_copy.go:115] "Renamed to final destination" src="/var/lib/microshift.tmp.482" dest="/var/lib/microshift"
    ??? I1104 09:19:28.662451    8950 state.go:46] "Moving state file to final path" intermediatePath="/var/lib/microshift-auto-recovery/state.json.tmp.41544" finalPath="/var/lib/microshift-auto-recovery/state.json"
    ??? I1104 09:19:28.662521    8950 atomic_dir_copy.go:115] "Renamed to final destination" src="/var/lib/microshift-auto-recovery/failed/20241104091928_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1.tmp.22742" dest="/var/lib/microshift-auto-recovery/failed/20241104091928_default-b3442053c9ce69310cd54140d8d592234c5306e4c5132de6efe615f79c84300a.1"
    ??? I1104 09:19:28.662969    8950 atomic_dir_copy.go:115] "Renamed to final destination" src="/var/lib/microshift-auto-recovery/20241022101528_default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0" dest="/var/lib/microshift-auto-recovery/restored/20241022101528_default-a129624b9233fa54fe3574f1aa211bc2d85e1052b52245fe7d83f10c2f6d28e3.0"
    ??? I1104 09:19:28.662983    8950 restore.go:141] "Auto-recovery restore completed".
    Copy to Clipboard Toggle word wrap

    注意
    • 恢复后,restore 命令不会启动 MicroShift。执行此命令时,MicroShift 服务已经失败,或者需要停止它。
    • MicroShift 不监控任何文件系统的磁盘空间。您需要确保自动化处理旧的备份被删除。

验证

  • 验证 MicroShift 是否已成功启动。

2.3. 使用 RPM 系统的 systemd 自动化集成过程

注意

microshift.service 进入失败状态时,systemd 将启动 microshift-auto-recovery.service 单元。这个单元执行 自动恢复恢复过程 并重启 MicroShift。

作为用例,请考虑以下示例情况,其中您要为使用 systemd 的 RPM 系统自动化自动 恢复过程

流程

  1. 运行以下命令,为 microshift.service 创建目录:

    $ sudo mkdir -p /usr/lib/systemd/system/microshift.service.d
    Copy to Clipboard Toggle word wrap
  2. microshift.service 失败时,指示 systemd 运行 microshift-auto-recovery.service,请运行以下命令来创建 10-auto-recovery.conf 文件:

    $ sudo tee /usr/lib/systemd/system/microshift.service.d/10-auto-recovery.conf > /dev/null <<'EOF'
    [Unit]
    OnFailure=microshift-auto-recovery.service
    EOF
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令来创建 microshift-auto-recovery.service 文件:

    $ sudo tee /usr/lib/systemd/system/microshift-auto-recovery.service > /dev/null <<'EOF'
    [Unit]
    Description=MicroShift auto-recovery
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/microshift-auto-recovery
    
    [Install]
    WantedBy=multi-user.target
    EOF
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令来创建 microshift-auto-recovery 脚本:

    $ sudo tee /usr/bin/microshift-auto-recovery > /dev/null <<'EOF'
    #!/usr/bin/env bash
    set -xeuo pipefail
    
    # If greenboot uses a non-default file for clearing boot_counter, use boot_success instead.
    if grep -q  "/boot/grubenv" /usr/libexec/greenboot/greenboot-grub2-set-success; then
        if grub2-editenv - list | grep -q ^boot_success=0; then
            echo "Greenboot didn't decide the system is healthy after staging new deployment."
            echo "Quitting to not interfere with the process"
            exit 0
        fi
    else
        if grub2-editenv - list | grep -q ^boot_counter=; then
            echo "Greenboot didn't decide the system is healthy after staging a new deployment."
            echo "Quitting to not interfere with the process"
            exit 0
        fi
    fi
    
    /usr/bin/microshift restore --auto-recovery /var/lib/microshift-auto-recovery
    /usr/bin/systemctl reset-failed microshift
    /usr/bin/systemctl start microshift
    
    echo "DONE"
    EOF
    Copy to Clipboard Toggle word wrap
  5. 运行以下命令使脚本可执行:

    $ sudo chmod +x /usr/bin/microshift-auto-recovery
    Copy to Clipboard Toggle word wrap
  6. 运行以下命令来重新载入系统配置:

    $ sudo systemctl daemon-reload
    Copy to Clipboard Toggle word wrap

2.4. 使用 OSTree 系统的 systemd 自动化集成过程

重要

您必须包含蓝图文件中使用 systemd 的 OSTree 系统的整个 自动恢复过程

作为用例,请考虑以下示例情况,其中您要为使用 systemd 的 OSTree 系统自动化自动 恢复过程

流程

  1. 使用以下示例创建蓝图文件:

    [[customizations.files]]
    path = "/usr/lib/systemd/system/microshift.service.d/10-auto-recovery.conf"
    data = """
    [Unit]
    OnFailure=microshift-auto-recovery.service
    """
    
    [[customizations.files]]
    path = "/usr/lib/systemd/system/microshift-auto-recovery.service"
    data = """
    [Unit]
    Description=MicroShift auto-recovery
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/microshift-auto-recovery
    
    [Install]
    WantedBy=multi-user.target
    """
    
    [[customizations.files]]
    path = "/usr/bin/microshift-auto-recovery"
    mode = "0755"
    data = """
    #!/usr/bin/env bash
    set -xeuo pipefail
    
    # If greenboot uses a non-default file for clearing boot_counter, use boot_success instead.
    if grep -q  "/boot/grubenv" /usr/libexec/greenboot/greenboot-grub2-set-success; then
        if grub2-editenv - list | grep -q ^boot_success=0; then
            echo "Greenboot didn't decide the system is healthy after staging a new deployment."
            echo "Quitting to not interfere with the process"
            exit 0
        fi
    else
        if grub2-editenv - list | grep -q ^boot_counter=; then
            echo "Greenboot didn't decide the system is healthy after staging a new deployment."
            echo "Quitting to not interfere with the process"
            exit 0
        fi
    fi
    
    /usr/bin/microshift restore --auto-recovery /var/lib/microshift-auto-recovery
    /usr/bin/systemctl reset-failed microshift
    /usr/bin/systemctl start microshift
    
    echo "DONE"
    """
    Copy to Clipboard Toggle word wrap
  2. 有关后续步骤,请参阅准备镜像构建

2.5. 使用 systemd 为 bootc 系统自动化集成过程

重要

您必须包含在容器文件中使用 systemd 的 bootc 系统的完整自动 恢复过程

作为用例,请考虑以下示例情况,其中您要为使用 systemd 的 bootc 系统自动化自动 恢复过程

先决条件

  • 您已创建了 10-auto-recovery.confmicroshift-auto-recovery.service 文件,如 "Automating the integration process with systemd for RPM system" 部分所述。
  • 您已创建了 microshift-auto-recovery 脚本,如 "Automating the integration process with systemd for RPM system" 部分所述。

流程

  • 使用以下示例更新您用来准备 bootc 镜像的 Containerfile。

    RUN mkdir -p /usr/lib/systemd/system/microshift.service.d
    COPY ./auto-rec/10-auto-recovery.conf /usr/lib/systemd/system/microshift.service.d/10-auto-recovery.conf
    COPY ./auto-rec/microshift-auto-recovery.service /usr/lib/systemd/system/
    COPY ./auto-rec/microshift-auto-recovery /usr/bin/
    RUN chmod +x /usr/bin/microshift-auto-recovery && systemctl daemon-reload
    Copy to Clipboard Toggle word wrap

法律通告

Copyright © 2024 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

© 2026 Red Hat