9.8. Oracle VDI 中心和故障转移

9.8.1. 如何更改复制数据库主机
9.8.2. 如何在 Oracle VDI 中心中更改主要主机
9.8.3. 如何手动触发故障转移
9.8.4. 如何从 Oracle VDI 中心中删除无响应的主机
9.8.5. 如何调整自动故障转移

故障转移使 Oracle VDI 中心可以自动恢复,避免丢失主要主机。仅在 Oracle VDI 中心配置为高可用性时提供故障转移。当您向 Oracle VDI 中心添加第一台辅助主机时,高可用性会自动启用。请参见第 3.1 节 “关于 Oracle VDI 中心和主机”,了解 Oracle VDI 中心配置和高可用性的详细信息。

您可以通过 vda-config 命令向 Oracle VDI 中心添加主机和从中删除主机。有关更多信息,请参见以下内容:

第 3.6 节 “如何在主要主机上配置 Oracle VDI”

第 3.7 节 “如何在辅助主机上配置 Oracle VDI”

第 3.9 节 “如何在主机上重新配置 Oracle VDI”

故障转移会自动进行,由 Oracle VDI 中心中的主要主机故障触发。故障转移过程中,会将包含复制数据库的辅助主机自动提升成为 Oracle VDI 中心中的新主要主机。原始主要主机的连接恢复后,该原始主要主机会被重新配置为辅助主机,并托管复制数据库。

一个 Oracle VDI 中心只能有一个复制数据库,所有其他辅助主机都没有数据库角色。要更改复制主机,请参见第 9.8.1 节 “如何更改复制数据库主机”。如果您使用的是远程数据库,而不是嵌入式 MySQL Server 数据库,则会在 Oracle VDI 外部配置数据库的高可用性。

要在 Oracle VDI 中心中手动更改主要主机,请参见第 9.8.2 节 “如何在 Oracle VDI 中心中更改主要主机”

Oracle VDI 中心代理是可在 Oracle VDI 主机之间提供安全通信的组件,它能处理自动故障转移以及对 Oracle VDI 中心的其他配置更改。

9.8.1. 如何更改复制数据库主机

如果您使用的是嵌入式 MySQL Server 数据库,则 Oracle VDI 中心中的主要主机运行 Oracle VDI 数据库(主数据库)。会将添加至 Oracle VDI 中心的第一台辅助主机配置为托管复制数据库(从数据库)。按照以下步骤更改复制数据库主机。要更改运行主数据库的主机,请参见第 9.8.2 节 “如何在 Oracle VDI 中心中更改主要主机”

Oracle VDI Manager 步骤

  1. 转至“设置“→“VDI 中心“。

  2. 转至“数据库“选项卡。

    将显示 VDI 中心中的 Oracle VDI 主机列表。

  3. 选择 Oracle VDI 主机并单击“激活 VDI 数据库复制“。

    将显示一条消息,说明新复制主机已激活。

CLI 步骤

  1. 更改复制主机。

    以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center setprops -p db.replication.host=<host name>

    如果您指定空 <host name>,则将关闭复制和高可用性。

  2. 检查更改是否生效。

    以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center status

9.8.2. 如何在 Oracle VDI 中心中更改主要主机

主要 Oracle VDI 主机可形成 Oracle VDI 中心。更改主要主机后,原始主要主机会被重新配置为辅助主机并托管复制数据库(如果您使用的是嵌入式 MySQL Server 数据库)。要更改复制数据库,请参见第 9.8.1 节 “如何更改复制数据库主机”。按照以下步骤更改主要主机。

CLI 步骤

  1. 更改主要主机。

    以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center setprops -p vda.primary.host=<host name>
  2. 检查更改是否生效。

    以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center status

9.8.3. 如何手动触发故障转移

在某些情况下(例如当自动故障转移不成功时),您可能想要手动触发故障转移。要手动触发故障转移,您要在 Oracle VDI 中心中将包含复制数据库的辅助主机更改为主要主机。有关详细信息,请参见第 9.8.2 节 “如何在 Oracle VDI 中心中更改主要主机”

9.8.4. 如何从 Oracle VDI 中心中删除无响应的主机

通常,您可以使用 vda-config 命令向 Oracle VDI 中心添加主机和从中删除主机。但是,如果某个主机无响应,您可能无法使用此命令。在这种情况下,您可以从 Oracle VDI 中心中强制删除该主机。

CLI 步骤

  1. 从 Oracle VDI 中心中删除主机。

    在 Oracle VDI 中心中其余任意主机上以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center purge <host name>
  2. 检查更改是否生效。

    以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center status

9.8.5. 如何调整自动故障转移

可以通过调整 Oracle VDI 中心的属性来调整自动故障转移行为。下表列出了可用属性及其控制的内容。

特性说明

db.connection.timeout

数据库连接的连接超时设置(以毫秒为单位)。

如果尝试连接 Oracle VDI 数据库的用时超过此超时设置,Oracle VDI 服务会向 Oracle VDI 中心代理报告数据库错误。

默认为 1000 毫秒。

db.failover.timeout

Oracle VDI 中心代理在开始故障转移之前所等待的时间段(以秒为单位)。

Oracle VDI 中心代理会监视来自 Oracle VDI 服务的数据库错误报告。如果这段时间连续报告数据库错误,则数据库被视为发生故障。如果使用的是嵌入式 Oracle VDI 数据库,则会触发故障转移。

默认为 15 秒。

db.replication.config

Oracle VDI 中心代理是否自动配置数据库复制。允许的值为 true 或 false。

如果设置为 true,当添加第一台辅助主机或执行故障转移时,会在辅助主机级上自动配置复制数据库。

如果设置为 false,则不会自动配置复制数据库。在管理员手动配置复制数据库主机之前,高可用性一直禁用,请参见第 9.8.1 节 “如何更改复制数据库主机”。这使您可以更好地控制用于复制数据库的主机,但也意味着必须手动配置高可用性。

默认值为 true。

CLI 步骤

  1. 配置所需属性。

    以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center setprops -p <key>=<value>

    例如:

    # /opt/SUNWvda/sbin/vda-center setprops -p db.failover.timeout=20
  2. 检查更改是否生效。

    以超级用户身份运行以下命令:

    # /opt/SUNWvda/sbin/vda-center listprops