Documentation survey

将 SUSE Manager 服务器迁移到容器化环境

1. 要求和注意事项

1.1. 常规

  • 要将 SUSE Manager 4.3 服务器迁移到容器,需要一台安装了 SLE Micro 5.5 / SUSE Linux Enterprise Server 15 SP6 和 mgradm 的新计算机。

  • 无论所选主机操作系统是 SLE Micro 5.5 还是 SUSE Linux Enterprise Server 15 SP6,均不支持从 SUSE Manager 4.3 到 5.0 的就地迁移。

  • 在从 SUSE Manager 4.3 迁移到 5.0 之前,必须将所有现有的传统客户端(包括传统代理)迁移到 Salt。

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

本指南仅涵盖从 SUSE Manager 4.3 迁移至 5.0 的场景。mgradm migrate 命令无法在迁移主机操作系统(从 SLE Micro 5.5 迁移至 SUSE Linux Enterprise Server 15 SP6 或反向迁移)时将现有 SUSE Manager 5.0 实例的版本保持不变。

1.2. GPG 密钥

  • 自信任 GPG 密钥不会被迁移。

  • 仅在 RPM 数据库中可信的 GPG 密钥不会迁移。因此,使用 spacewalk-repo-sync 同步通道可能会失败。

  • 在完成服务器的实际迁移后,管理员必须手动将这些密钥从所安装的 4.3 系统迁移到容器主机。

    过程:将 4.3 GPG 密钥手动迁移到新服务器
    1. 将 4.3 服务器中的密钥复制到新服务器的容器主机。

    2. 稍后,使用命令 mgradm gpg add <PATH_TO_KEY_FILE> 将每个密钥添加到迁移的服务器。

2. 迁移

2.1. 准备 SUSE Manager 5.0 服务器主机

请勿在已准备好的 SLE Micro 5.5 或 SUSE Linux Enterprise Server 15 SP6 系统上预先安装 SUSE Manager。迁移流程设计为自动执行服务器安装。不支持先运行 mgradm install 再运行 mgradm migrate,此操作将导致系统处于不受支持的状态。

在以下步骤中,我们只会准备主机系统,而不实际安装 SUSE Manager 5.0 服务器。

2.1.1. 准备 SLE Micro 5.5 主机

2.1.1.1. 下载安装媒体
过程:下载安装媒体
  1. https://www.suse.com/download/sle-micro/ 上找到 SLE Micro 5.5 安装媒体。

  2. 下载 SLE-Micro-5.5-DVD-x86_64-GM-Media1.iso

  3. 将下载下来的 .iso 映像放入一个 DVD 或 USB 闪存盘以进行安装。

2.1.1.2. 安装 SLE Micro 5.5

有关准备计算机(虚拟机或物理机)的详细信息,请参见 SLE Micro 5.5 部署指南

过程:安装 SLE Micro 5.5
  1. 插入包含 SLE Micro 5.5 安装映像的 DVD 或 USB 闪存盘(USB 磁盘或密钥)。

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

  3. 使用箭头键选择安装

  4. 调整键盘和语言。

  5. 单击复选框接受许可协议。

  6. 单击下一步继续。

  7. 选择注册方法。在本示例中,我们将在 SUSE Customer Center 中注册服务器。

    SUSE Manager 5.0 容器会安装为扩展。根据以下列出的所需特定扩展,您还需要有各个扩展的 SUSE Customer Center 注册代码。

    • SUSE Manager 5.0 服务器

    • SUSE Manager 5.0 代理

    • SUSE Manager 5.0 零售分支服务器

    SLE Micro 5.5 权利包含在 SUSE Manager 权利中,因此不需要单独的注册代码。

  8. 输入您的 SUSE Customer Center 电子邮件地址。

  9. 输入您的 SLE Micro 5.5 注册代码。

  10. 单击下一步继续。

  11. 要安装代理,请选中 SUSE Manager 5.0 代理扩展;要安装服务器,请选中 SUSE Manager 5.0 服务器扩展对应的复选框

  12. 单击下一步继续。

  13. 输入您的 SUSE Manager 5.0 扩展注册代码。

  14. 单击 下一步 继续。

  15. NTP 配置页面上,单击 下一步

  16. 系统身份验证页面上,输入 root 用户的口令。单击 下一步

  17. 安装设置页面上单击 安装

将 SLE Micro 5.5 和 SUSE Manager 5.0 安装为扩展的过程到此完成。

2.1.1.3. 从命令行注册(可选)

如果您在安装 SLE Micro 5.5 期间已将 SUSE Manager 5.0 添加为扩展,则可以跳过此过程。不过,您也可以选择在安装 SLE Micro 5.5 期间单击 跳过注册 按钮来跳过注册。本节提供了在安装 SLE Micro 5.5 后注册产品的步骤。

以下步骤将注册 x86-64 体系结构的 SUSE Manager 5.0 扩展,因此需要提供适用于 x86-64 体系结构的注册代码。要注册 ARM 或 s390x 体系结构,请使用正确的注册代码。

过程:从命令行注册
  1. 运行以下命令列出可用扩展:

    transactional-update --quiet register --list-extensions
  2. 从可用扩展列表中选择一个要安装的扩展:

    1. 如果要安装服务器,请使用您的 SUSE Manager Server Extension 5.0 x86_64 注册代码运行以下命令:

      transactional-update register -p SUSE-Manager-Server/5.0/x86_64 -r <注册代码>
    2. 如果要安装代理,请使用您的 SUSE Manager Proxy Extension 5.0 x86_64 注册代码运行以下命令:

      transactional-update register -p SUSE-Manager-Proxy/5.0/x86_64 -r <reg_code>
  3. 重引导。

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

  2. 运行 transactional-update

    transactional-update
  3. 重引导。

SLE Micro 设计为默认自动更新,并在应用更新后会重引导。但是,这种行为对于 SUSE Manager 环境而言是不利的。为了防止服务器自动更新,SUSE Manager 会在引导过程中禁用 transactional-update 计时器。

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

systemctl enable --now transactional-update.timer

2.1.2. 准备 SUSE Linux Enterprise Server 15 SP6 主机

或者,您也可以在 SUSE Linux Enterprise Server 15 SP6 上部署 SUSE Manager。

下面的过程介绍安装过程的主要步骤。

过程:在 SUSE Linux Enterprise Server 15 SP6 上安装 SUSE Manager
  1. https://www.suse.com/download/sles/ 上查找并下载 SLE Micro SUSE Linux Enterprise Server 15 SP6 .iso

  2. 确保您拥有宿主操作系统 (SUSE Linux Enterprise Server 15 SP6) 和扩展的注册代码。

  3. 在 SUSE Linux Enterprise Server 15 SP6 上启动安装过程。

    1. 语言、键盘和产品选择中选择要安装的产品。

    2. 许可协议中,阅读协议并选中我同意许可条款

  4. 选择注册方法。在本示例中,我们将在 SUSE Customer Center 中注册服务器。

  5. 输入您的 SUSE Customer Center 电子邮件地址。

  6. 输入 SUSE Linux Enterprise Server 15 SP6 的注册代码。

  7. 单击下一步继续。

    请注意,对于 SUSE Linux Enterprise Server 15 SP6,您需要拥有有效的 SUSE Linux Enterprise Server 订阅及相应的注册代码,并在此界面提供。您还需要在下方输入 SUSE Manager 扩展的注册代码。

  8. 扩展和模块选择屏幕中,选中以下几项:

    • 选择 SUSE Manager 服务器扩展以安装服务器,或选择 SUSE Manager 代理扩展以安装代理。

    • Basesystem 模块

    • Containers 模块

  9. 单击下一步继续。

  10. 输入您的 SUSE Manager 5.0 扩展注册代码。

  11. 单击 下一步 继续。

  12. 完成安装。

  13. 安装完成后,以 root 身份登录新安装的服务器。

  14. 更新系统(可选,如果在安装期间未将系统设置为自动下载更新):

    zypper up
  15. 重引导。

  16. 以 root 身份登录并安装 podmanmgradmmgradm-bash-completion(如果尚未自动安装)。

    zypper install podman mgradm mgradm-bash-completion
  17. 重引导系统或运行以下命令,以启动 Podman 服务:

    systemctl enable --now podman.service

2.2. SSH 连接准备

此步骤可确保新的 SUSE Manager 5.0 服务器无需口令便可通过 SSH 连接至现有 4.3 服务器。操作包括生成和配置 SSH 密钥、设置 SSH 代理,以及将公共密钥复制到旧服务器。

要使迁移流程在没有人工干预的情况下运行,必须进行该设置。

过程:准备 SSH 连接
  1. 确保对于 root,新 5.0 服务器上存在 SSH 密钥。如果不存在密钥,请使用以下命令创建一个:

    ssh-keygen -t rsa
  2. 新服务器上的 SSH 配置和代理应准备就绪,这样在连接 4.3 服务器时就不会提示输入口令。

    eval $(ssh-agent); ssh-add

    迁移脚本依赖新服务器上运行的 SSH 代理来建立不提示输入口令的连接。如果该代理尚未激活,请运行 eval $(ssh-agent) 将其启动。然后,使用 ssh-add(后跟私用密钥的路径)将 SSH 密钥添加到正在运行的代理。在此过程中,系统将提示您输入私用密钥的口令。

  3. 使用 ssh-copy-id 将公共 SSH 密钥复制到 SUSE Manager 4.3 服务器 (<oldserver.fqdn>)。将 <oldserver.fqdn> 替换为 4.3 服务器的 FQDN:

    ssh-copy-id <old server.fqdn>

    SSH 密钥将会被复制到旧服务器的 ~/.ssh/authorized_keys 文件中。有关详细信息,请参见 ssh-copy-id 手册页。

  4. 在新服务器上与旧的 SUSE Manager 服务器建立 SSH 连接,检查是否不需要口令。此外,主机指纹不得有任何问题。如果遇到问题,请从 ~/.ssh/known_hosts 文件中去除旧指纹。然后重试。指纹将存储在本地 ~/.ssh/known_hosts 文件中。

2.3. 执行迁移

在规划从 SUSE Manager 4.3 到 SUSE Manager 5.0 的迁移时,请确保您的目标实例达到或超出旧设置的规格。

这包括但不限于内存 (RAM)、CPU 核心、存储和网络带宽。

过程:执行迁移
  1. 此步骤并非强制性步骤。如果您的基础架构需要自定义的永久性存储空间,请使用 mgr-storage-proxy 工具。有关 mgr-storage-server 的详细信息,请参见 installation-and-upgrade:hardware-requirements.adoc#install-hardware-requirements-storage

  2. 执行以下命令来安装新的 SUSE Manager 服务器。请将 <oldserver.fqdn> 替换为 4.3 服务器的 FQDN:

    请务必在开始迁移前升级 4.3 服务器并应用所有可用更新。此外,还需去除所有不必要的通道,以便缩短总迁移时间。

    迁移可能需要很长时间,具体取决于需要复制的数据量。为了减少停机时间,可以在_初始复制_、_重新复制_或_最终复制和切换_过程中多次运行迁移,同时旧服务器上的所有服务都可以保持正常运行。

    只有在最终迁移期间才需要停止旧服务器上的进程。

    对于最终复制以外的所有复制,请添加参数 --prepare,以防止自动停止旧服务器上的服务。例如,在 SUSE Manager 服务器上:

    mgradm migrate podman <oldserver.fqdn> --prepare
过程:最终迁移
  1. 停止 4.3 服务器上的 SUSE Manager 服务:

    spacewalk-service stop
  2. 停止 4.3 服务器上的 PostgreSQL 服务:

    systemctl stop postgresql
  3. 在 SUSE Manager 服务器上执行迁移

    mgradm migrate podman <oldserver.fqdn>
  4. 迁移可信 SSL CA 证书。

2.3.1. 证书的迁移

作为 RPM 的一部分安装并存储在 SUSE Manager 4.3 上 /usr/share/pki/trust/anchors/ 目录中的可信 SSL CA 证书将不会迁移。由于 SUSE 不会在容器中安装 RPM 软件包,因此迁移完成后,管理员必须手动从所安装的 4.3 系统中迁移这些证书文件。

过程:迁移证书
  1. 将 4.3 服务器中的该文件复制到新服务器。 例如,复制为 /local/ca.file

  2. 使用以下命令将文件复制到容器中:

    mgrctl cp /local/ca.file server:/etc/pki/trust/anchors/

成功运行 mgradm migrate 命令后,所有客户端上的 Salt 设置仍会指向旧的 4.3 服务器。

要将其重定向到 5.0 服务器,需要在基础架构级别(DHCP 和 DNS)重命名新服务器,以使用与 4.3 服务器相同的 FQDN 和 IP 地址。