将代理从 4.3 迁移到 5.1

1. 要求和注意事项

  • 要将 SUSE Manager 4.3 代理迁移到 SUSE Multi-Linux Manager 5.1,需要一台安装了 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 和 mgrpxy 的新计算机。

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

在从 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 替换为分支代理受控端 ID;如果需要操作多个分支代理,可使用 -L proxyminionid1,proxyminionid2,…​

    salt $proxy proxy.backup

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

备份完成后,SUSE Multi-Linux Manager Proxy 仍可照常运行,但请在执行备份后尽快迁移服务器主机,以避免潜在的数据不一致问题。

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

SUSE Multi-Linux Manager Proxy 主机的操作系统可为 SUSE Linux Enterprise Server 15 SP7 或 SL Micro 6.1。但本指南仅涵盖基于 AutoYAST 的 SUSE Linux Enterprise Server 15 SP7 安装方案。SL Micro 6.1 需要手动重新部署,请参见 SUSE Multi-Linux Manager 5.1 代理部署

4.1. 准备基于 SUSE Linux Enterprise Server 15 SP7 的自动安装发行套件

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

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

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

4.2. 准备自动安装配置文件

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

基于之前创建的发行套件创建自动安装配置文件。可使用以下地址提供的配置文件:https://github.com/SUSE/manager-build-profiles/blob/master/AutoYaST/SUSE-Multi-Linux-Manager/SUSE%20Multi-Linux%20Manager%20Proxy/MLM_Proxy-51-SLES-Install.xml - 配置文件创建完毕后,切换至变量选项卡,填写所需变量:

+

org='组织_id'
distrotree='上一步中的自动安装发行套件标签'
channel_prefix='clm_通道前缀'(如果使用 SCC 通道,则留空)
registration_key='升级后的激活密钥'
  • 自动安装文件选项卡中,您可以查看完整的渲染配置文件以进行进一步检查

4.3. 置备代理的自动安装

使用上一步创建的配置文件,在旧 SUSE Multi-Linux Manager Proxy 4.3 上安排自动安装。

  • 通过 Web UI 界面,在迁移分支服务器系统视图中的置备选项卡中操作

  • 或通过调用 API (system/provisionSystem) 安排迁移。例如,在 SUSE Multi-Linux Manager 主机上执行以下命令:

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

5. 验证代理功能

迁移完成且 Salt 首次启动后,备份的代理配置会在硬件更新步骤中自动部署。

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

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 服务器容器中,手动从文件 /etc/cobbler/settings.yamlproxies 设置中去除相关代理。如果不存在剩余的 4.3 代理,则手动将 proxies 列表完全去除。