在 Oracle® Solaris 中安装和配置 OpenStack (Juno)

退出打印视图

更新时间: 2016 年 6 月
 
 

迁移和清除 VM 实例

在 Oracle OpenStack for Oracle Solaris 中,VM 实例是内核或非全局区域,是 Oracle Solaris 的可伸缩高密度虚拟环境。

有关区域实时迁移的更多信息,请参见关于迁移内核区域的《创建和使用 Oracle Solaris 内核区域》。此书位于 Operating Systems Documentation(操作系统文档)中您 Oracle Solaris 版本相应的库中。另请参见 zoneadm(1M)solaris-kz(5) 手册页。

若要成功完成节点迁移,必须确保将每个计算节点的 SSH 密钥添加到每个节点的授权密钥文件中。因此,节点共享完全相同的授权密钥文件,如下图中所示:

image:实时迁移中的共享密钥。

通过完成以下步骤来准备 VM 实例迁移:

  1. 在每个节点上,创建一个 SSH 密钥。

    # su - nova -c "ssh-keygen -N '' -f /var/user/nova/.ssh/id_rsa -t rsa"
  2. 将来自不同节点的所有密钥文件放到其中一个节点中的公共位置。

  3. 将所有密钥组合成 authorized_keys 文件。

    例如:

    # cat nova(1)/id_rsa.pub nova(n)/id_rsa.pub >> /var/user/nova/.ssh/authorized_keys

    其中 nova(1)nova(n) 表示参与节点的 SSH 密钥。

  4. authorized_keys 文件分发到所有其他参与节点的 /var/user/nova/.ssh 目录。

  5. (可选)在每个计算节点的 /etc/nova/nova.conf 文件中的 live_migration_cipher 参数上指定要在迁移过程中使用的口令。

    但是,如果希望进程自动选择合适的口令,请保持该参数的未设置状态。

要迁移实例,请在设置了全局 shell 变量后使用以下语法:

要将正在运行的服务器实时迁移到其他计算机,请在设置全局 shell 变量后使用以下语法:

# nova live-migration server [host]

其中,server 可以是服务器的名称或 ID,可选 host 是目标服务器的名称。

如果当前实例的节点发生故障,或者 Nova 服务本身被禁用一段时间,则可通过使用 nova evacuate 命令移动实例并在其他节点上重建该实例。这样便可以恢复节点。

请注意,只能清除内核区域。当根设备在共享存储上时,配置中支持清除。

要将所有 VM 实例从一个主机实时迁移到另一个主机,请在设置全局 shell 变量后使用以下语法。

# nova host-evacuate-live [--target-host target] server