将 SUSE Multi-Linux Manager 服务器迁移到容器化环境
1. 要求和注意事项
1.1. 常规
-
To migrate a SUSE Multi-Linux Manager 4.3 Server to a container, you require a new machine with SL Micro 6.1 or SUSE Linux Enterprise Server 15 SP7 and
mgradm
installed.
-
An in-place migration from SUSE Multi-Linux Manager 4.3 to 5.1 is unsupported. The underlying operating system has been changed from SUSE Linux Enterprise Server 15 SP4 to SL Micro or SUSE Linux Enterprise Server 15 SP7.
-
Before migrating from SUSE Multi-Linux Manager 4.3 to 5.1, any existing traditional clients including the traditional proxies must be migrated to Salt. For more information about migrating traditional SUSE Multi-Linux Manager 4.3 clients to Salt clients, see https://documentation.suse.com/suma/4.3/en/suse-manager/client-configuration/contact-methods-migrate-traditional.html.
-
SUSE Multi-Linux Manager 5.0 及更高版本不再支持传统联系协议。
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>
将每个密钥添加到迁移的服务器。
-
2. 迁移
2.1. 旧 4.3 服务器上的初始准备
The migration can take a very long time depending on the amount of data that needs to be replicated. To reduce downtime it is possible to run the migration multiple times in a process of initial replication, re-replication, or final replication and switch over while all the services on the old server can stay up and running. 只有在最终迁移期间才需要停止旧服务器上的进程。 对于最终复制以外的所有复制,请添加参数 mgradm migrate podman <oldserver.fqdn> --prepare |
-
停止 SUSE Multi-Linux Manager 服务:
spacewalk-service stop
-
停止 PostgreSQL 服务:
systemctl stop postgresql
2.2. SSH 连接准备
Pre-installing SUSE Multi-Linux Manager on the prepared SL Micro or SUSE Linux Enterprise Server with mgradm
is not necessary. The migration process will take care of the server installation.
-
确保对于
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. 执行迁移
When planning your migration from SUSE Multi-Linux Manager 4.3 to SUSE Multi-Linux Manager 5.1, ensure that your target instance meets or exceeds the specifications of the old setup.
这包括但不限于内存 (RAM)、CPU 核心、存储和网络带宽。
-
此步骤是可选的。如果您的基础架构需要自定义的永久性存储,请使用
mgr-storage-server
工具。-
有关详细信息,请参见
mgr-storage-server --help
。此工具可以简化容器存储和数据库卷的创建。 -
如下所示使用命令:
mgr-storage-server <storage-disk-device> [<database-disk-device>]
例如:
mgr-storage-server /dev/nvme1n1 /dev/nvme2n1
此命令将在
/var/lib/containers/storage/volumes
中创建永久性存储卷。有关详细信息,请参见 Persistent Container Volumes。
-
-
执行以下命令来安装新的 SUSE Multi-Linux Manager 服务器。请将
<oldserver.fqdn>
替换为 4.3 服务器的 FQDN: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 软件包,因此迁移完成后,管理员必须手动从所安装的 4.3 系统中迁移这些证书文件。
-
将 4.3 服务器中的该文件复制到新服务器。 例如,复制为
/local/ca.file
。 -
使用以下命令将文件复制到容器中:
mgrctl cp /local/ca.file server:/etc/pki/trust/anchors/
成功运行 要将其重定向到 5.1 服务器,需要在基础架构级别(DHCP 和 DNS)重命名新服务器,以使用与 4.3 服务器相同的 FQDN 和 IP 地址。 |