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

退出打印视图

更新时间: 2016 年 6 月
 
 

迁移和清除 VM 实例

在 Oracle OpenStack for Oracle Solaris 中,VM 实例是内核或非全局区域,是 Oracle Solaris 的可伸缩高密度虚拟环境。对区域实时迁移的支持已扩展到 Nova VM 实例。

可以通过使用 Horizon 服务的系统信息显示板或 nova 命令启动实时迁移。调度程序从参与节点中选择迁移的目标主机。为确保安全性,迁移机制将自动选择相应的加密算法以执行迁移。但是,通过 /etc/nova/nova.conf 文件中的参数可以选择要使用的首选加密。

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

若要成功完成节点迁移,必须确保将每个计算节点的 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 变量后使用以下语法:

# nova live-migration server [host]

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

如果当前实例的节点失败,或者如果 Nova 服务本身已被禁用一段时间,则可以移动或清除该实例并在其他节点上重新生成它。这样便可以恢复节点。


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

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

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