产品迁移

通过产品迁移,您可以将基于 SLE 的客户端系统从服务包 (SP) 级别升级到更高级别。例如,您可以将 SUSE Linux Enterprise Server 15 SP1 升级到 SUSE Linux Enterprise Server 15 SP2。

产品迁移用于在同一主要版本内升级。您无法通过产品迁移从 SUSE Linux Enterprise Server 12 迁移到 SUSE Linux Enterprise Server  15。有关主要升级的详细信息,请参见 客户端 - 主要版本升级

您还可以将 openSUSE Leap 迁移到更高的次要版本或对应的 SUSE Linux Enterprise Server SP 级别,例如:

  • 将 openSUSE Leap 15.1 迁移到 15.2,或

  • 将 openSUSE Leap 15.1 迁移到 SUSE Linux Enterprise Server 15 SP1,或

  • 将 openSUSE Leap 15.5 迁移到 SUSE Linux Enterprise Server 15 SP5

在 SUSE Linux Enterprise Server 12 及更高版本中,SUSE 支持跳过服务包(如果 SUSE Customer Center 提供该服务包)。例如,您可以从 SUSE Linux Enterprise Server 15 升级到 SP2,而无需安装 SP1。

有关支持的 SUSE Linux Enterprise Server 升级路径,请参见 https://documentation.suse.com/sles/15-SP4/html/SLES-all/cha-upgrade-paths.html#sec-upgrade-paths-supported

迁移期间,SUSE Manager 会在安装前自动接受任何必要的许可协议 (EULA)。

1. 单系统迁移

开始迁移产品之前:

  • 确保没有待处理更新或补丁。请检查客户端系统细节  概览页面上的系统状态,然后安装提供的所有更新或补丁。如果您的客户端系统不是最新的,产品迁移可能会失败。

  • 确保目标产品的所有通道都已完全同步。要在 Web UI 中检查同步状态,请导航到管理  安装向导  产品页面。

  • 请确保您具有有效的系统备份,以防万一。产品迁移没有回滚功能。迁移过程一旦开始,就无法回滚。

过程:执行单系统迁移
  1. 系统  概览页面中,选择一个客户端。

  2. 从客户端的系统细节页面,导航到软件  产品迁移选项卡。

  3. 选择目标迁移路径,然后单击 选择通道

  4. 产品迁移 - 通道页面选择正确的基础通道,包括必需的子通道和任何其他可选的子通道

  5. 可选:选中允许供应商更改,以允许安装供应商发生更改的软件包。如果发生此情况,开始迁移前会显示一条包含相关细节的通知。

    要将 openSUSE Leap 迁移到 SUSE Linux Enterprise Server,必须选中允许更改供应商选项。

  6. 正确配置您的通道后,单击 安排迁移

2. 产品大量迁移

如果您要将大量客户端迁移到下一 SP 版本,可以使用 SUSE Manager API 调用。

spacecmd 命令行工具提供了 system_scheduleproductmigration 子命令,可用于安排将大量客户端迁移到下一次要版本。

2.1. 执行产品大量迁移

产品大量迁移操作非常危险,该过程应经过全面测试。至少应先进行试运行。

请务必小心,不要无意中升级系统。

过程:执行产品大量迁移
  1. 列出可用的迁移目标,并记下要迁移的系统 ID:

    spacecmd api -- system.listMigrationTargets -A 1000010001
  2. 针对每个系统 ID 调用 listMigrationTarget,并查看所需的目标产品是否可用。

    • 如果系统 ID 有可用目标,则调用 system. scheduleProductMigration

    • 如果所需目标不可用,则跳过该系统。

  3. 根据您的环境调整以下模板:

    target = '[....]'
    basechannel = 'channel-label'
    system_ids = [1, 2, 3]
    
    session = auth.login(user, pass)
    for system in system_ids
       if system.listMigrationTargets(session, system).ident == target
         system.scheduleProductMigration(session, system, target, basechannel, [] , False, <now>)
       else
         print "无法迁移到请求的目标 -- 正在跳过系统"
       endif
    endfor

2.2. 示例:从 SLES 15 SP2 迁移到 SLES 15 SP3

对于此示例,将会创建一个组,以便于进行大量迁移。

过程:创建大量产品迁移组
  1. 在 SUSE Manager Web UI 中,导航到系统  系统组,然后单击 创建组

  2. 将该组命名为 mpm-target-sles15sp3

过程:将系统添加到组
  1. 运行以下命令,以获取该组中所有系统的目标:

    spacecmd -- system_listmigrationtargets group:mpm-target-sles15sp3
  2. 命令的输出为由多个 ID 组成的字符串。

    • 请只选择一个目标,这样为*所有*系统报告的就是该目标。

    • 该字符串是另一个命令的 MIGRATIONTARGET 的标识符。

      spacecmd 的子命令 system_scheduleproductmigrationsystem_listmigrationtargets 会遍历该组中的所有系统。

      如果该组中有 100 个系统,您会发现安排了 100 个操作。

      该组中的所有系统都必须支持相同的迁移目标。

过程:运行大量迁移命令
  1. system_scheduleproductmigration 命令的语法如下:

    spacecmd -- system_scheduleproductmigration <SYSTEM> <BASE_CHANNEL_LABEL> \
        <MIGRATION_TARGET> [选项]
  2. 对于此示例,要将 mpm-target-sles15sp3 组中的所有系统从 SLES 12 SP2 升级到 SLES 15 SP3,请在命令行上输入以下命令:

    spacecmd -- system_scheduleproductmigration group:mpm-target-sles15sp3 \
        sle-product-sles15-sp3-pool-x86_64 "[190,203,195,1242]" -d

2.2.1. 命令语法说明

要查看 system_scheduleproductmigration 的语法和选项,请运行以下命令:

spacecmd system_scheduleproductmigration help
<SYSTEM>

对于此示例,我们将使用我们创建的组选择该组中的所有系统:

group:mpm-target-sles15sp3
<BASE_CHANNEL_LABEL>

这是目标基础通道的标签。在本例中,系统将升级到 SLES 15 SP3,且标签为 sle-product-sles15-sp3-pool-x86_64

要查看当前镜像的所有基础通道的列表,请运行以下命令:

spacecmd softwarechannel_listbasechannels

请注意,除非通道是当前基础通道的可用目标,否则您无法升级到该通道。

<MIGRATION_TARGET>

要为 group:mpm-target-sles15sp3 组中的系统确定此值,请运行以下命令:

spacecmd -- system_listmigrationtargets group:mpm-target-sles15sp3

必须采用以下格式传递 MIGRATION_TARGET 参数;请注意需要使用引号将其括住以防中括号会产生问题:

"[190,203,195,1242]"
选项
  • -s START_TIME

  • -d 如果您要执行试运行,请传递此标志(建议在实际执行迁移前执行试运行)

  • -c CHILD_CHANNELS(逗号分隔的子通道标签(不带空格))

    在本例中,我们包含了 -d 选项,在成功执行试运行后可以将其去除。

如果成功,安排的每个系统的命令输出将如下所示:

正在为以下系统安排产品迁移 mpm-sles152-1
已安排操作 ID:66

您可以在 Web UI 中跟踪该组中某个指定系统的操作,在本例中即为试运行。从客户端的系统细节页面导航到事件  历史。如果试运行期间出现任何失败,应对系统进行调查。

如果一切正常,则可从命令中去除 -d 选项,以运行实际的迁移。

完成迁移后,您可以从 SUSE Manager Web UI 中重引导系统。