代理迁移

1. 要求和注意事项

要将 SUSE Manager 4.3 代理迁移到 SUSE Multi-Linux Manager 5.1,您需要一台新机器,配备 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 并安装 mgrpxy

从 SUSE Manager 4.3 就地迁移到 5.1 需要重新安装主机操作系统,无论所选主机操作系统是 SL Micro 6.1 还是 SUSE Linux Enterprise Server 15 SP7。

在从 SUSE Manager 4.3 迁移到 5.1 之前,必须将所有现有的传统客户端(包括传统代理)迁移到 Salt。 有关将传统 SUSE Multi-Linux Manager 4.3 客户端迁移到 Salt 客户端的更多信息,请参见 https://documentation.suse.com/suma/4.3/en/suse-manager/client-configuration/contact-methods-migrate-traditional.html.。

SUSE Multi-Linux Manager 5.0 及更高版本不再支持传统联系协议。

在将 SUSE Manager 4.3 代理迁移到 SUSE Multi-Linux Manager 5.1 之前,必须先迁移 SUSE Manager 4.3 服务器,请参见 将 SUSE Multi-Linux Manager 服务器迁移到容器化环境

2. 简介

在 SUSE Multi-Linux Manager 5.1 中,可以使用两种不同的方法部署代理:

  • 基于 Podman 运行的容器化部署

  • 基于 k3s 运行的容器化部署

在 SUSE Multi-Linux Manager 5.1 中,已移除基于 RPM 的支持,仅支持使用 podman 或 k3s 运行的容器化版本。 使用 Podman 运行的容器化代理的管理是通过 mgrpxy 工具完成的。

43 proxy migration.mmaid

3. 备份现有 SUSE Multi-Linux Manager Proxy 数据

SUSE Multi-Linux Manager for Retail 5.1.2 包括针对两种 SUSE Multi-Linux Manager Proxy 变体的自动备份迁移程序。此程序收集所有所需数据并将其上传到 SUSE Multi-Linux Manager 服务器。对于 SUSE Multi-Linux Manager Retail Branch Server,此工具还创建并迁移与 Saltboot 相关的实体,请参见 Migrating from SUSE Multi-Linux Manager Retail Branch Server 4.3

启动 SUSE Multi-Linux Manager Proxy 4.3 迁移流程的方式有多种:

  • 调用 API

    $proxyid 替换为分支代理的服务器 ID,或用逗号分隔的多个服务器 ID。

    mgrctl api login
    mgrctl api post proxy/backupConfiguration '{\"sids\":[$proxyid]}'
  • Salt 调用

    将下方命令中的 $proxy 替换为分支代理 minion ID,或在寻址多个分支代理时替换为 -L proxyminionid1,proxyminionid2,…​

    salt $proxy proxy.backup

建议您同时手动备份代理,尤其是当存在自定义修改时。

备份步骤完成后,SUSE Multi-Linux Manager Proxy 仍然可以正常运行,但请在执行备份后尽快迁移服务器主机,以防止潜在的不一致性。

4. 部署一个新的 SUSE Multi-Linux Manager Proxy

您可以使用 AutoYaST 将现有主机升级到 SUSE Linux Enterprise Server 15 SP7,或对 SL Micro 6.1 进行全新安装。

4.1. 使用 AutoYaST 升级到 SUSE Linux Enterprise Server 15 SP7

创建并使用 AutoYAST 控制文件以迁移或重新安装代理主机。

4.1.1. 准备基于 SUSE Linux Enterprise Server 15 SP7 的自动安装发行版

  • 将 SUSE Linux Enterprise Server 15 SP7 安装 ISO 下载或放置到服务器主机中

  • 使用 mgradm distribution copy $path_to_the_iso 将安装文件复制到容器中

  • 注册自动安装发行版,参见 可自动安装的发行套件

4.1.2. 能够访问安装媒体

有关更多信息,请参见 自动安装配置文件

4.1.3. 置备代理的自动安装

使用上一步创建的控制文件,在旧 SUSE Multi-Linux Manager SUSE Manager 4.3 代理上安排自动安装。

  • 使用迁移分支服务器的 Provisioning 视图中的 Web UI 界面 System 选项卡

  • 或者使用 API 调用 system/provisionSystem 来安排迁移。例如,从 SUSE Multi-Linux Manager 主机执行以下代码片段:

    mgrctl api login
    mgrctl api post system/provisionSystem '{\"sid\":$proxyid,\"profileName\":\"$profileName\"}'

4.2. 使用 SL Micro 6.1 重新安装

SL Micro 6.1 需要在主机上进行全新安装。

在继续主机重新安装之前,请备份现有的 4.3 代理。 有关更多信息,请参见 备份现有 SUSE Multi-Linux Manager Proxy 数据

4.3. 准备 SL Micro 6.1 主机

4.3.1. 任务:下载安装媒体

过程:升级下载安装媒体
  1. 在 SL Micro 6.1 找到 安装媒体 https://www.suse.com/download/sle-micro/, 并下载相应的媒体文件。

  2. 准备 DVD 或 USB U 盘,并将下载的 .iso 映像烧录到其上以进行安装。

4.3.2. 安装 SL Micro 6.1

有关准备您的机器(虚拟或物理)的更多信息,请参见 SL Micro 部署指南

过程:升级正在安装 SL Micro 6.1
  1. 插入包含 SLE Micro 6.1 安装映像的 DVD 或 USB U盘。

  2. 引导或重引导您的系统。

  3. 使用箭头键选择 Installation

  4. 调整键盘和语言。

  5. 单击 checkbox 以接受许可协议。

  6. 单击 Next 以继续。

  7. 代理注册SL Micro 6.1 授权包含在 SUSE Multi-Linux Manager 授权中,因此不需要单独的注册代码。

  8. 单击 下一步 继续。

  9. NTP Configuration 页面上,单击 下一步

  10. Authentication for the System 页面上,输入 root 用户的密码。 单击 下一步

  11. Installation Settings 页面上,单击 安装

这结束了 SL Micro 6.1 和 SUSE Multi-Linux Manager 5.1 作为扩展的安装。

4.3.3. 更新系统

过程:升级更新系统
  1. root 身份登录。

  2. 运行 transactional-update

    transactional-update
  3. 重引导。

SL Micro 默认情况下设计为自动更新,并将在应用更新后重新启动。 然而,这种行为在 SUSE Multi-Linux Manager 环境中并不理想。 为了防止服务器上的自动更新,SUSE Multi-Linux Manager 在启动过程中禁用事务更新计时器。

如果您希望保留 SL Micro 的默认行为,请运行以下命令来启用计时器:

systemctl enable --now transactional-update.timer

4.3.4. 注册并部署代理

过程:升级正在注册和部署代理
  1. 一旦主机准备就绪,将新的 SL Micro 6.1 系统注册为 SUSE Multi-Linux Manager 服务器的客户端。 建议使用与原始 4.3 代理相同的从属 ID。 有关更多信息,请参见 客户端注册

  2. 在 SUSE Multi-Linux Manager 服务器上,为新的代理服务器生成代理配置。 有关更多信息,请参见 installation-and-upgrade:container-deployment/mlm/proxy-deployment-mlm.adoc#generate-proxy-config

  3. 将配置传输到 SL Micro 6.1 主机并安装代理:

    mgrpxy install podman config.tar.gz
  4. 启动代理:

    mgrpxy start
  5. 一旦代理正常运行,SUSE Multi-Linux Manager 服务器将在下一个 Hardware Refresh 步骤中自动部署备份的配置。

5. 验证代理容器

迁移完成且 salt 首次启动后,备份的代理配置会在 Hardware refresh 步骤中自动部署。

完成所有初始配置步骤后,验证代理的必要功能

6. TFTP 文件同步

容器化代理不使用 tftpsync 机制来传输 tftproot 文件。 相反,这些文件会根据需要透明地下载和缓存。

为避免在 cobbler sync 运行期间出现误报错误,需要将迁移后的 4.3 代理从 tftpsync 机制中去除。

如果您之前已将 4.3 代理配置为接收 TFTP 文件,则需要选择以下配置选项之一:

要在容器内访问外壳,请在容器主机上运行以下命令:

mgrctl term

在 SUSE Multi-Linux Manager 5.1 服务器容器中,运行 configure-tftpsync.sh,并将剩余的 4.3 代理列表作为参数。 如果没有剩余的 4.3 代理,请运行 configure-tftpsync.sh 且不带任何参数。

在 SUSE Multi-Linux Manager 5.1 服务器容器中,手动从 proxies 文件的 /etc/cobbler/settings.yaml 设置中删除相关代理。 如果没有剩余的 4.3 代理,则手动完全去除 proxies 列表。