将代理从 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 工具完成。
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.yaml 的 proxies 设置中去除相关代理。如果不存在剩余的 4.3 代理,则手动将 proxies 列表完全去除。