升级和迁移

  • 升级前必须停止 SUSE Multi-Linux Manager 5.0。

  • 在 SL Micro 6.1 和 SUSE Linux Enterprise Server 15 SP7 上,SUSE Multi-Linux Manager 5.0 不支持作为主机操作系统。

经过安全加固的 SUSE Multi-Linux Manager 服务器主机可能会限制从 /tmp 文件夹执行文件。 在这种情况下,作为临时解决方案,请在运行 mgradm 之前,将 TMPDIR 环境变量导出到另一个现有路径。

例如:

export TMPDIR=/path/to/other/tmp

在 SUSE Multi-Linux Manager 更新中,工具将被更改,使此临时解决方案变得不必要。

1. 要求和注意事项

1.1. SSL 证书

从 SUSE Multi-Linux Manager 5.1 开始,PostgreSQL 数据库在一个单独的容器中运行,该容器在迁移过程中需要自己的 SSL 证书。 这就是为什么即使服务器证书和 CA 链从源复制,数据库证书仍然是必需的。

在迁移时,SUSE Multi-Linux Manager 默认使用自签名证书。 要使用来自外部 PKI(证书颁发机构)的证书,您可以在运行 mgradm 升级 时使用 --ssl* 标志提供所有证书文件。

Table 1. 快速参考:迁移所需的标志
迁移情况 所需标志

自签名 CA,所有内容保持不变

无

新服务器证书(相同 CA)

--ssl-server-cert、--ssl-server-key

新数据库证书(相同 CA)

--ssl-db-cert、--ssl-db-key

新服务器和数据库证书(相同 CA)

--ssl-server-cert、--ssl-server-key、--ssl-db-cert、--ssl-db-key

新服务器证书 + 新 CA

--ssl-server-cert、--ssl-server-key、--ssl-ca-root、--ssl-ca-intermediate

新数据库证书 + 新 CA

--ssl-db-cert、--ssl-db-key、--ssl-db-ca-root、--ssl-db-ca-intermediate

仅更改 CA(相同证书文件,不同 CA 链)

--ssl-ca-root、--ssl-ca-intermediate、--ssl-db-ca-root、--ssl-db-ca-intermediate

完全替换 — 两个组件的新证书和 CA

请参见下面的 "来自外部 PKI 的所有证书"

任何未指定的 --ssl* 标志将使用源服务器中的相应值。 仅为与当前设置不同的文件提供标志。

1.1.1. 标志参考

mgradm migrate 和 mgradm upgrade 支持以下 --ssl* 标志:

标志 说明

--ssl-ca-root

签署服务器证书的根 CA 证书的路径(默认为源服务器 CA)

--ssl-ca-intermediate

链中中间 CA 证书的路径(可以多次指定;默认为源服务器)

--ssl-server-cert

服务器证书的路径(默认为源服务器证书)

--ssl-server-key

服务器私钥的路径(默认为源服务器密钥)

--ssl-db-ca-root

签署数据库证书的根 CA 证书的路径

--ssl-db-ca-intermediate

数据库证书链中中间 CA 证书的路径(可以多次指定)

--ssl-db-cert

数据库证书的路径

--ssl-db-key

数据库私钥的路径

数据库证书链与服务器证书链完全独立。 必须提供 --ssl-db-* 标志,即使使用相同的 CA,因为数据库容器需要在迁移期间生成自己的证书。

1.1.2. 证书要求

以下要求适用于与 mgradm migrate 一起使用的所有证书文件:

  • 所有证书文件必须为 PEM 格式。 如果您的证书为 DER 格式,请先将其转换。

  • 证书 X509v3 Subject Alternative Name 部分中的主机名必须与证书部署的机器的完全限定主机名匹配。

  • 数据库证书需要 reportdb 和 db 作为 Subject Alternative Name (SAN)。

  • 支持的密钥类型为 RSA 和 EC (椭圆曲线)。

  • 使用 CA 链时,首先将证书与服务器或数据库证书连接,然后按顺序添加所有中间 CA 证书。 根 CA 证书应单独存放在一个独立的文件中。 要合并文件,可以使用以下命令:

    cat server.pem intermediate-ca1.pem intermediate-ca2.pem > combined-server.pem

有关证书准备的完整详细信息,请参见 Import SSL Certificates.

1.1.3. 方案:来自外部 PKI 的所有证书

此场景涵盖迁移一个服务器,其中 Web 和数据库组件均使用来自第三方 CA 的证书。 组织必须收集以下证书文件:

  • Web 组件的根 CA 证书

  • Web 组件的中间 CA 证书(如适用)

  • Web 组件的服务器证书

  • Web 组件的私钥

  • 数据库组件的根 CA 证书

  • 数据库组件的中间 CA 证书(如适用)

  • 数据库组件的服务器证书(包含 reportdb 和 db 作为 SAN)

  • 数据库组件的私钥

在大多数部署中,单个 CA 同时服务于服务器和数据库组件。 在这种情况下,--ssl- 和 --ssl-db- 标志使用相同的证书文件。 下面的示例使用不同的文件名以便于区分。

Listing 1. 包含所有 --ssl* 标志的示例迁移命令
mgradm 升级 podman <oldserver.fqdn> \
  --ssl-ca-root rootCAweb.pem \
  --ssl-ca-intermediate intermediateCAweb.pem \
  --ssl-server-cert webcert.pem \
  --ssl-server-key webkey.key \
  --ssl-db-ca-root rootCAdb.pem \
  --ssl-db-ca-intermediate intermediateCAdb.pem \
  --ssl-db-cert dbcert.pem \
  --ssl-db-key dbkey.key
外部 CA 证书的客户端部署

在成功迁移外部 PKI 证书后,将 CA 证书部署到所有客户端,以便它们可以验证新的服务器证书:

mgrctl exec -- 'salt -b 50 * state.apply certs'

1.1.4. 方案:混合外部和自签名证书

在使用混合外部和自签名证书进行迁移时,仅在服务器或数据库证书及其私钥也在同一链中被替换时,才替换证书链中的 CA。 例如,在用外部 PKI 版本替换服务器证书和密钥时,还应提供相应的 CA 证书。 然而,当仅替换数据库证书时,如果重新使用原始 CA,则仍然需要自签名 CA 密码。

在迁移过程中,服务器 SSL 证书和 CA 链从源服务器复制。

2. 客户端工具品牌更新

SUSE Multi-Linux Manager 5.1 引入了一套重新品牌的客户端工具,适用于所有受支持的操作系统。此过渡过程无缝,进行新产品同步的用户只会注意到更新的通道名称。

名为 SUSE Manager Client Tools for XYZ 的通道(由之前注册到 SUSE Multi-Linux Manager 4.3 或 5.0 的客户端使用)在 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。

3. SLE Micro 5.5 到 SL Micro 6.1

本文件提供了将部署了 SLE Micro 5.0 服务器的 SUSE Multi-Linux Manager 5.5 主机升级到 SL Micro 6.1 并迁移到 SUSE Multi-Linux Manager 5.1 的测试程序。

3.1. 先决条件

  • SUSE Multi-Linux Manager 5.0 已安装并在 SLE Micro 5.5 上运行。

  • 系统已注册到 SCC 且拥有有效的订阅。

3.2. 发行套件升级和服务器迁移

过程:升级从 SUSE Multi-Linux Manager 5.0 迁移到 SUSE Multi-Linux Manager 5.1
  1. 校验当前产品状态

    SUSEConnect --status-text

    确认以下信息:

    • 基础操作系统:SUSE Linux Enterprise Micro 5.5

    • 扩展:SUSE Manager Server 5.0 Extension

  2. 确保系统已更新

    transactional-update patch
    • 如果已应用补丁,请在继续迁移前**重引导系统**:

      mgradm stop
      reboot
    • 如果未发现更新,可直接进入迁移步骤。

  3. 启动迁移流程:

    transactional-update migration --auto-agree-with-licenses --gpg-auto-import-keys

    按照提示操作,选择可用的迁移目标:SUSE Linux Micro 6.1 和 SUSE Multi-Linux Manager Server Extension 5.1。

  4. 停止服务器后重引导,使更改生效。

    mgradm stop
    reboot
  5. 重引导后的检查:

    验证升级后的操作系统和 SUSE Multi-Linux Manager 扩展:

    cat /etc/os-release
    SUSEConnect --status-text

    您应看到以下内容:

    • PRETTY_NAME="SUSE Linux Micro 6.1"

    • SUSE Multi-Linux Manager Server 5.1 Extension

  6. 启用 root SSH 访问(如有需要)。

    SL Micro 6.1 默认禁用通过 SSH 的根登录。

    编辑 /etc/ssh/sshd_config.d/sshd.conf:

    PermitRootLogin yes

    重启动 spacewalk 服务:

    systemctl restart sshd

    有关更多信息,请参见 在 SL Micro 上远程登录为 root。

  7. 验证 SUSE Multi-Linux Manager 工具

    mgradm --version

    预期输出:

    • 版本 5.1.11 或更高版本

    • 参考 5.1.0 或更高版本

  8. 升级服务器容器

    自动版本降级和PTF丢失的风险

    在没有可用新版升级的情况下运行`mgradm upgrade podman`命令将导致系统自动恢复到基础版本。 该处理会在没有确认提示的情况下去除所有当前已应用的程序临时修复(PTF)。

    为避免意外的数据或修复丢失,请在执行前验证升级的可用性。 未来的版本将包括确认提示,以防止这种行为。

    mgradm start
    mgradm upgrade podman

    按照提示操作,然后等待设置过程完成。

  9. 检查正在运行的容器:

    podman ps

    您应看到以下内容:

    • server:5.1.0 或更高版本

    • server-postgresql:5.1.0 或更高版本

如果之前未安装 uyuni-db 或 saline 等服务,升级过程中出现的相关缺失服务错误可忽略。

3.3. 迁移完成

系统现在在 SL Micro 6.1 上运行 SUSE Multi-Linux Manager 5.1。 在恢复生产操作之前,请验证您的设置。 如果您有一个连接到此服务器的 SUSE Multi-Linux Manager 5.0 代理,请参阅 代理迁移 指南以升级代理主机。

3.4. 数据库备份卷

使用 mgradm migration 或 mgradm upgrade 进行服务器迁移或升级时,可以创建一个包含数据库备份的卷。

当 PostgreSQL 数据库版本增加时,旧数据库必须在运行升级之前存储在一个单独的位置。 为此,mgradm 会动态创建卷 var-pgsql-backup。 当迁移或升级完成后,用户验证新系统正常工作后,可以安全地去除该卷。

4. SUSE Linux Enterprise Server 15 SP6 升级到 15 SP7

本文提供了经过测试的步骤,用于将部署了 SUSE Multi-Linux Manager 5.0 服务器的 SUSE Linux Enterprise Server 15 SP6 主机升级到部署了 SUSE Multi-Linux Manager 5.1 的 SUSE Linux Enterprise Server 15 SP7。

4.1. 先决条件

  • SUSE Multi-Linux Manager 5.0 已在 SUSE Linux Enterprise Server 15 SP6 上安装并运行。

  • 系统已注册到 SUSE Customer Center (SCC) 且拥有有效的订阅。

  • 继续操作前请务必创建备份。

4.2. 发行套件升级和服务器迁移

过程:升级 从 SUSE Multi-Linux Manager 5.0 迁移到 SUSE Multi-Linux Manager 5.1
  1. 校验当前产品状态

    SUSEConnect --status-text

    确认以下信息:

    • 基础操作系统:SUSE Linux Enterprise Server 15 SP6

    • 扩展:SUSE Manager Server 5.0 Extension

  2. 应用所有系统补丁

    zypper patch
  3. 如果更新了更新栈,则停止服务器后重引导。

    mgradm stop
    reboot
  4. 启动 Zypper 迁移工具

    zypper migration

    Zypper 会显示可能的迁移目标以及详细摘要。

  5. 选择适当的目标,并按照提示完成迁移。

  6. 完成迁移后,重引导系统:

    mgradm stop
    reboot
  7. 重引导后的检查:

    验证升级后的操作系统和 SUSE Multi-Linux Manager 扩展。

    cat /etc/os-release
    SUSEConnect --status-text

    您应看到以下内容:

    • VERSION="15-SP7"

    • SUSE Multi-Linux Manager Server 5.1 Extension for SLE

  8. 验证 SUSE Multi-Linux Manager 工具版本。

    mgradm --version

    预期输出:

    • 版本 5.1.11 或更高版本

    • 镜像标签 5.1.0 或更高版本

  9. 升级服务器容器

    自动版本降级和PTF丢失的风险

    在没有可用新版升级的情况下运行`mgradm upgrade podman`命令将导致系统自动恢复到基础版本。 该处理会在没有确认提示的情况下去除所有当前已应用的程序临时修复(PTF)。

    为避免意外的数据或修复丢失,请在执行前验证升级的可用性。 未来的版本将包括确认提示,以防止这种行为。

    mgradm start
    mgradm upgrade podman

    按照提示拉取新的容器映像并重新配置环境。

  10. 检查正在运行的容器:

    podman ps

    更新容器

    • server:5.1.0 或更高版本

    • server-postgresql:5.1.0 或更高版本

4.3. 迁移完成

系统现在在 SUSE Linux Enterprise Server 15 SP7 上运行 SUSE Multi-Linux Manager 5.1。 在恢复生产操作之前,请验证您的设置。 如果您有一个连接到此服务器的 SUSE Multi-Linux Manager 5.0 代理,请按照 代理迁移 进行操作。

4.4. 数据库备份卷

使用 mgradm migration 或 mgradm upgrade 进行服务器迁移或升级时,可以创建一个包含数据库备份的卷。

当 PostgreSQL 数据库版本增加时,旧数据库必须在运行升级之前存储在一个单独的位置。 为此,mgradm 会动态创建卷 var-pgsql-backup。 当迁移或升级完成后,用户验证新系统正常工作后,可以安全地去除该卷。