将 SUSE Multi-Linux Manager 服务器迁移到容器化环境
1. 要求和注意事项
1.1. 一般要求
-
要将 SUSE Multi-Linux Manager 4.3 服务器迁移到容器,需要一台安装了 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 和
mgradm的新计算机。 -
无论所选主机操作系统是 SL Micro 6.1 还是 SUSE Linux Enterprise Server 15 SP7,均不支持从 SUSE Multi-Linux Manager 4.3 就地迁移到 5.1。
在从 SUSE Multi-Linux Manager 4.3 迁移到 5.1 之前,必须将所有现有的传统客户端(包括传统代理)迁移到 Salt。有关将传统 SUSE Multi-Linux Manager 4.3 客户端迁移到 Salt 客户端的详细信息,请参见 将传统客户端迁移到 Salt 客户端。
-
SUSE Multi-Linux Manager 5.0 及更高版本不再支持传统联系协议。
|
本指南仅涵盖从 SUSE Multi-Linux Manager 4.3 到 5.1 的迁移流程。
|
1.2. 主机名
-
当前的迁移过程不包含重命名主机名的功能。因此,新服务器的完全限定域名 (FQDN) 将与旧服务器的一样。
-
IP 地址必须保持不变,以确保客户端可以连接到服务器。
|
迁移之后,需要手动更新 DHCP 和 DNS 记录以指向新的服务器。 |
1.3. GPG 密钥
-
自信任 GPG 密钥不会迁移。
-
仅在 RPM 数据库中可信的 GPG 密钥不会迁移。因此,使用
spacewalk-repo-sync同步通道可能会失败。 -
在完成服务器的实际迁移后,管理员必须手动将这些密钥从所安装的 4.3 系统迁移到容器主机。
过程:手动将 4.3 GPG 密钥迁移到新服务器-
将 4.3 服务器中的密钥复制到新服务器的容器主机。
-
稍后,使用命令
mgradm gpg add <PATH_TO_KEY_FILE>将每个密钥添加到迁移的服务器。
-
1.4. SSL 证书
后续流程需要 SSL 证书。如果不使用自我签名的 CA 和证书,请在开始前准备好以下内容:
-
证书颁发机构 (CA) SSL 公共证书。如果您使用 CA 链,则所有中间 CA 也必须可用。
-
SSL 数据库私用密钥。
-
SSL 数据库证书。
所有文件必须采用 PEM 格式。
SSL 服务器证书的主机名必须与部署证书的计算机的完全限定主机名匹配。您可以在证书的 X509v3 Subject Alternative Name 部分中设置主机名,也可以根据环境的需要列出多个主机名。支持的密钥类型为 RSA 和 EC(椭圆曲线)。
|
数据库 SSL 证书的 |
迁移过程中,会从源服务器复制服务器 SSL 证书和 CA 链,这意味着您只需准备数据库证书即可
2. 迁移
2.1. 准备 SUSE Multi-Linux Manager 5.1 服务器主机
|
请勿在已准备好的 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7 系统上预先安装 SUSE Multi-Linux Manager。 迁移流程设计为自动执行服务器安装。不支持先运行 在以下步骤中,我们只会准备主机系统,而不实际安装 SUSE Multi-Linux Manager 5.1 服务器。 |
您可使用基于 SL Micro 6.1 的 VM 映像作为迁移目标。在此场景下,您可按照以下指南中的说明准备主机系统:
但请注意,最后一步需要执行命令 mgradm migrate <FQDN>,而非 mgradm install <FQDN>。
2.1.1. 准备 SL Micro 6.1 主机
2.1.1.1. 下载安装媒体
访问 https://www.suse.com/download/sle-micro/,找到 SL Micro 6.1 的安装媒体,并下载相应媒体文件。
将下载下来的
.iso映像放入一个 DVD 或 USB 闪存盘以进行安装。
2.1.1.2. 安装 SL Micro 6.1
插入包含 SLE Micro 6.1 安装映像的 DVD 或 USB 闪存盘(USB 磁盘或密钥)。
引导或重引导您的系统。
使用箭头键选择
安装。调整键盘和语言。
单击
复选框接受许可协议。单击
下一步继续。选择注册方法。在本示例中,我们将在 SUSE Customer Center 中注册服务器。
SUSE Multi-Linux Manager 5.1 容器会安装为扩展。根据以下列出的所需特定扩展,您还需要有各个扩展的 SUSE Customer Center 注册代码。
SUSE Multi-Linux Manager 5.1 服务器
SUSE Multi-Linux Manager 5.1 代理
SUSE Multi-Linux Manager 5.1 零售分支服务器
SL Micro 6.1 权利包含在 SUSE Multi-Linux Manager 权利中,因此不需要单独的注册代码。
输入您的 SUSE Customer Center 电子邮件地址。
输入您的 SL Micro 6.1 注册代码。
单击
下一步继续。要安装代理,请选中 SUSE Multi-Linux Manager 5.1 代理扩展;要安装服务器,请选中 SUSE Multi-Linux Manager 5.1 服务器扩展对应的
复选框。单击
下一步继续。输入您的 SUSE Multi-Linux Manager 5.1 扩展注册代码。
单击 下一步 继续。
在
NTP 配置页面上,单击 下一步。在
系统身份验证页面上,输入 root 用户的口令。单击 下一步。在
安装设置页面上单击 安装。
至此,SL Micro 6.1 及 SUSE Multi-Linux Manager 5.1 扩展的安装已完成。有关虚拟机或物理机准备工作的详细信息,请参见 SL Micro 部署指南。
2.1.1.3. 从命令行注册(可选)
如果您在安装 SL Micro 6.1 期间已将 SUSE Multi-Linux Manager 5.1 添加为扩展,则可以跳过此过程。不过,您也可以选择在安装 SL Micro 6.1 期间单击 跳过注册 按钮来跳过注册。本节提供了在安装 SL Micro 6.1 后注册产品的步骤。
|
以下步骤将注册 x86-64 体系结构的 SUSE Multi-Linux Manager 5.1 扩展,因此需要提供适用于 x86-64 体系结构的注册代码。要注册 ARM 或 s390x 体系结构,请使用正确的注册代码。 |
运行以下命令列出可用扩展:
transactional-update --quiet register --list-extensions从可用扩展列表中选择一个要安装的扩展:
如果要安装服务器,请使用您的 SUSE Multi-Linux Manager Server Extension 5.1 x86_64 注册代码运行以下命令:
transactional-update register -p Multi-Linux-Manager-Server/5.1/x86_64 -r <reg_code>如果要安装代理,请使用您的 SUSE Multi-Linux Manager Proxy Extension 5.1 x86_64 注册代码运行以下命令:
transactional-update register -p Multi-Linux-Manager-Proxy/5.1/x86_64 -r <reg_code>重引导。
2.1.1.4. 更新系统
以 root 身份登录。
运行 transactional-update:
transactional-update重引导。
|
SL Micro 设计为默认自动更新,并会在应用更新后重引导。但是,这种行为对于 SUSE Multi-Linux Manager 环境而言是不利的。为了防止服务器自动更新,SUSE Multi-Linux Manager 会在引导过程中禁用 transactional-update 计时器。 如果您希望保留 SL Micro 的默认行为,请运行以下命令来启用计时器:
|
2.1.2. 准备 SUSE Linux Enterprise Server 15 SP7 主机
或者,您也可以在 SUSE Linux Enterprise Server 15 SP7 上部署 SUSE Multi-Linux Manager。
下面的过程介绍安装流程的主要步骤。
2.1.2.1. 在 SUSE Linux Enterprise Server 上安装 SUSE Multi-Linux Manager 扩展
访问 https://www.suse.com/download/sles/,找到并下载 SUSE Linux Enterprise Server 15 SP7
.iso。确保您拥有主机操作系统 (SUSE Linux Enterprise Server 15 SP7) 和扩展的注册代码
启动 SUSE Linux Enterprise Server 15 SP7 的安装流程。
在
语言、键盘和产品选择中选择要安装的产品。在
许可协议中,阅读协议并选中我同意许可条款。选择注册方法。在本示例中,我们将在 SUSE Customer Center 中注册服务器。
输入您的 SUSE Customer Center 电子邮件地址。
输入 SUSE Linux Enterprise Server 15 SP7 的注册代码。
单击
下一步继续。
请注意,对于 SUSE Linux Enterprise Server 15 SP7,您需要拥有有效的 SUSE Linux Enterprise Server 订阅及相应的注册代码,并在此界面提供。您还需要在下方输入 SUSE Multi-Linux Manager 扩展的注册代码。
在
扩展和模块选择屏幕中,选中以下几项:
选择 SUSE Multi-Linux Manager 服务器扩展以安装服务器,或选择 SUSE Multi-Linux Manager 代理扩展以安装代理。
Basesystem 模块
Containers 模块
单击
下一步继续。输入您的 SUSE Multi-Linux Manager 5.1 扩展注册代码。
单击 下一步 继续。
完成安装。
安装完成后,以 root 身份登录新安装的服务器。
更新系统(可选,如果在安装期间未将系统设置为自动下载更新):
zypper up重引导。
2.1.2.2. 从命令行注册(可选)
如果您在安装 SUSE Linux Enterprise Server 期间已将 SUSE Multi-Linux Manager 5.1 添加为扩展,则可以跳过此过程。
不过,您也可以选择在安装 SUSE Linux Enterprise Server 期间单击 跳过注册 按钮来跳过注册。本节提供了在安装 SUSE Linux Enterprise Server 后注册产品的步骤。
|
以下步骤将注册 x86-64 体系结构的 SUSE Multi-Linux Manager 5.1 扩展,因此需要提供适用于 x86-64 体系结构的注册代码。 要注册 ARM 或 s390x 体系结构,请使用正确的注册代码。 |
运行以下命令列出可用扩展:
SUSEConnect --list-extensions从可用扩展列表中选择一个要安装的扩展:
如果要安装服务器,请提供您的 SUSE Multi-Linux Manager Server Extension 5.1 x86_64 注册代码。例如,对于 SUSE Linux Enterprise 15 SP7,请运行以下命令:
+
SUSEConnect -r <regcode> SUSEConnect -p sle-module-containers/15.7/x86_64 SUSEConnect -p Multi-Linux-Manager-Server-SLE/5.1/x86_64 -r <regcode>
如果要安装代理,请运行以下命令,并提供您的 SUSE Multi-Linux Manager Proxy Extension 5.1 x86_64 注册代码:
SUSEConnect -p Multi-Linux-Manager-Proxy-SLE/5.1/x86_64 -r <regcode>
2.1.2.3. 安装并启用 podman
podman
以
root身份登录并安装产品软件包。
在服务器上:
zypper in podman zypper in -t product SUSE-Multi-Linux-Manager-Server在代理上:
zypper in podman zypper in -t product SUSE-Multi-Linux-Manager-Proxy
请确保已安装软件包
podman。此外,服务器上需要安装mgradm和mgradm-bash-completion;代理上需要安装mgrpxy和mgrpxy-bash-completion。重引导系统或运行以下命令,以启动 Podman 服务:
systemctl enable --now podman.service
2.2. SSH 连接准备
此步骤可确保新的 SUSE Multi-Linux Manager 5.1 服务器无需口令便可通过 SSH 连接至现有 4.3 服务器。操作包括生成和配置 SSH 密钥、设置 SSH 代理,以及将公共密钥复制到旧服务器。要使迁移流程在没有人工干预的情况下运行,必须进行该设置。
确保对于
root,新 5.1 服务器上存在 SSH 密钥。如果不存在密钥,请使用以下命令创建一个:ssh-keygen -t rsa新服务器上的 SSH 配置和代理应准备就绪,这样在连接 4.3 服务器时就不会提示输入口令。
eval $(ssh-agent); ssh-add
迁移脚本依赖新服务器上运行的 SSH 代理来建立不提示输入口令的连接。如果该代理尚未激活,请运行
eval $(ssh-agent)将其启动。然后,使用ssh-add(后跟私用密钥的路径)将 SSH 密钥添加到正在运行的代理。在此过程中,系统将提示您输入私用密钥的口令。使用
ssh-copy-id将公共 SSH 密钥复制到 SUSE Multi-Linux Manager 4.3 服务器 (<oldserver.fqdn>)。将<oldserver.fqdn>替换为 4.3 服务器的 FQDN:ssh-copy-id <old server.fqdn>SSH 密钥将会被复制到旧服务器的
~/.ssh/authorized_keys文件中。有关详细信息,请参见ssh-copy-id手册页。在新服务器上与旧的 SUSE Multi-Linux Manager 服务器建立 SSH 连接,检查是否不需要口令。此外,主机指纹不得有任何问题。如果遇到问题,请从
~/.ssh/known_hosts文件中去除旧指纹。然后重试。指纹将存储在本地~/.ssh/known_hosts文件中。
2.3. 执行迁移
在规划从 SUSE Manager 4.3 到 SUSE Multi-Linux Manager 5.1 的迁移时,请确保您的目标实例达到或超出旧设置的规格。
这包括但不限于内存 (RAM)、CPU 核心、存储和网络带宽。
|
经过安全加固的 SUSE Multi-Linux Manager 服务器主机可能会限制从 例如:
在 SUSE Multi-Linux Manager 的后续更新中,相关工具将进行优化,届时无需再使用此临时解决方案。 |
|
从 SUSE Manager 4.3 迁移时,系统会提示您输入 输入错误口令会导致数据库证书生成失败,进而使迁移中止并显示以下错误: 错误:无法配置数据库容器:无法生成数据库证书:CA 验证失败! 请在启动迁移流程前,确认已准备好正确的 CA 口令。 |
此步骤并非强制性步骤。如果您的基础架构需要自定义的永久性存储空间,请使用
mgr-storage-proxy工具。有关mgr-storage-server的详细信息,请参见 installation-and-upgrade:hardware-requirements.adoc#install-hardware-requirements-storage。执行以下命令来迁移并设置新的 SUSE Multi-Linux Manager 5.1 服务器。请将
<oldserver.fqdn>替换为 4.3 服务器的 FQDN:
请务必在开始迁移前升级 4.3 服务器并应用所有可用更新。此外,还需去除所有不必要的通道,以便缩短总迁移时间。
迁移可能需要很长时间,具体取决于需要复制的数据量。为了减少停机时间,可以在初始复制、重新复制或最终复制和切换过程中多次运行迁移,同时旧 4.3 服务器上的所有服务都可以保持正常运行。
只有在最终迁移期间才需要停止旧 4.3 服务器上的进程。
对于最终复制以外的所有复制,请添加参数
--prepare,以防止自动停止旧 4.3 服务器上的服务。
多次运行失败的迁移会创建多个大型备份目录,这些目录会不断累积并占用大量空间,因为每次迁移失败都会在
/var/lib/containers/storage/volumes中创建新的备份目录。这些备份不会被迁移工具自动去除。如果迁移失败,您必须手动检查并清理旧的备份目录,以确保有足够空间用于下次尝试。
若未妥善管理此空间,可能导致下次迁移尝试失败。
迁移完成且所有功能验证通过后,可去除
var-pgsql-backup卷。
仅当最终迁移尚未启动时,
--prepare步骤才可多次运行。一旦最终迁移启动并进入数据库升级阶段,切勿再次运行
--prepare命令,否则可能导致数据损坏。mgradm migrate podman <oldserver.fqdn> --prepare
停止 4.3 服务器上的 SUSE Manager 服务:
spacewalk-service stop停止 4.3 服务器上的 PostgreSQL 服务:
systemctl stop postgresql在 SUSE Multi-Linux Manager 5.1 服务器上执行迁移
mgradm migrate podman <oldserver.fqdn>迁移可信 SSL CA 证书。
2.3.1. 证书的迁移
作为 RPM 的一部分安装并存储在 SUSE Multi-Linux Manager 4.3 上 /usr/share/pki/trust/anchors/ 目录中的可信 SSL CA 证书将不会迁移。由于 SUSE 不会在容器中安装 RPM 软件包,因此迁移完成后,管理员必须手动从 SUSE Manager 4.3 服务器迁移这些证书文件。
将 SUSE Manager 4.3 服务器中的该文件复制到新 SUSE Multi-Linux Manager 5.1 服务器。 例如,复制为
/local/ca.file。使用以下命令将文件复制到容器中:
mgrctl cp /local/ca.file server:/etc/pki/trust/anchors/
|
成功运行 要将其重定向到 5.1 服务器,需要在基础架构级别(DHCP 和 DNS)重命名新服务器,以使用与 4.3 服务器相同的 FQDN 和 IP 地址。 如果客户端上安装了最新版本的受控端,则无需调整 IP 地址,因为较新版本仅通过 FQDN 就能自动重新连接服务器。 |
3. 客户端工具品牌更新
SUSE Multi-Linux Manager 5.1 为所有受支持的操作系统推出了一套重新命名的客户端工具。此过渡过程无缝衔接,执行新产品同步的用户仅会注意到通道名称已更新。
此前注册到 SUSE Multi-Linux Manager 4.3 或 5.0 的客户端所使用的 SUSE Manager Client Tools for XYZ 通道在版本 5.1 中已不再提供,且不会在 5.1 中继续接收更新。
尽管迁移后旧版通道仍会分配给现有客户端,但对应的储存库已被去除。
为确保客户端能持续接收更新,用户必须执行以下操作:
-
为相关产品同步新的
SUSE Multi-Linux Manager Client Tools for XYZ通道,并将其分配给相应的客户端。 -
取消分配过时的
SUSE Manager Client Tools for XYZ通道。
这也意味着,任何基于旧客户端工具的 CLM 项目都必须相应调整。
示例工作流程请参见 Switch to new client tools channels。