对注册克隆的客户端时出现的问题进行查错

如果您使用 SUSE Manager 来管理虚拟机,您可能发现创建 VM 的克隆版本会很有用。克隆版本是使用主磁盘(与现有磁盘完全相同的副本)的 VM。

虽然克隆 VM 可以节省大量时间,但磁盘上复制的标识信息有时会导致问题。

如果您有一个已注册的客户端,并创建了该客户端的克隆版本,在尝试注册该克隆版本时,您可能希望 SUSE Manager 将原始客户端和克隆版本注册为两个不同的客户端。但是,如果原始客户端和克隆版本中的计算机 ID 相同,则 SUSE Manager 会将这两个客户端注册为一个系统,并且现有客户端数据将由克隆版本的数据重写。

可以通过更改克隆版本的计算机 ID 来解决此问题,以便 SUSE Manager 将它们识别为两个不同的客户端。

此过程的每个步骤都在克隆的客户端上执行。此过程不会对原始客户端进行操作,原始客户端仍保持注册到 SUSE Manager。

过程:解决克隆的 Salt 客户端中的重复计算机 ID
  1. 在克隆的计算机上,更改主机名和 IP 地址。 确保 /etc/hosts 包含您所做的更改和正确的主机项。

  2. 对于支持 systemd 的发行套件:如果您的计算机具有相同的计算机 ID,请以 root 身份删除复制的每个客户端上的文件,然后重新创建这些文件:

    rm /etc/machine-id
    rm /var/lib/dbus/machine-id
    rm /var/lib/zypp/AnonymousUniqueId
    dbus-uuidgen --ensure
    systemd-machine-id-setup
  3. 对于不支持 systemd 的发行套件:以 root 身份从 dbus 生成计算机 ID:

    rm /var/lib/dbus/machine-id
    rm /var/lib/zypp/AnonymousUniqueId
    dbus-uuidgen --ensure
  4. 如果您的客户端仍然具有相同的 Salt 客户端 ID,请删除每个客户端上的 minion_id 文件(这样就会使用在客户端重启动时重新生成的 FQDN)。对于 Salt 受控端客户端:

    rm /etc/salt/minion_id
    rm -rf /etc/salt/pki

    对于 Salt 捆绑包客户端:

    rm /etc/venv-salt-minion/minion_id
    rm -rf /etc/venv-salt-minion/pki
  5. 从初始配置页面中删除接受的密钥并从 SUSE Manager 中删除系统配置文件,然后使用以下命令重启动客户端:

    service salt-minion restart
  6. 重新注册客户端。 每个客户端现在都有一个不同的 /etc/machine-id,并且应会正确显示在系统概览页面上。

过程:解决克隆的传统客户端中的重复计算机 ID
  1. 在克隆的计算机上,更改主机名和 IP 地址。 确保 /etc/hosts 包含您所做的更改和正确的主机项。

  2. 在 Red Hat Enterprise Linux Server 6 和 SUSE Linux Enterprise 11 上使用以下命令停止 rhnsd 守护程序:

    /etc/init.d/rhnsd stop

    或者,在基于 systemd 的较新系统上使用以下命令:

    service rhnsd stop
  3. 使用以下命令停止 osad

    /etc/init.d/osad stop

    或:

    service osad stop

    或:

    rcosad stop
  4. 去除 osad 身份验证配置文件和系统 ID:

    rm -f /etc/sysconfig/rhn/{osad-auth.conf,systemid}
  5. 删除包含计算机 ID 的文件:

    • SLES 12:

      rm /etc/machine-id
      rm /var/lib/dbus/machine-id
      dbus-uuidgen --ensure
      systemd-machine-id-setup
    • SLES 11:

      suse_register -E
  6. 去除身份凭证文件:

    • SLES 客户端:

      rm -f /etc/zypp/credentials.d/{SCCcredentials,NCCcredentials}
    • Red Hat Enterprise Linux 客户端:

      rm  -f /etc/NCCcredentials
  7. 重新运行引导脚本。 现在应会在 SUSE Manager 中看到克隆的系统,而不会覆盖该系统的源系统。