Go to main content

Oracle® ZFS Storage Appliance 管理指南,发行版 OS8.8.x

退出打印视图

更新时间: 2021 年 8 月
 
 

多目标反转

在包含将项目复制到多个目标的源的灾难恢复设置中,在其中一个目标上执行反转时,多目标反转功能能够继续将增量更新从新源发送到所有其他最初配置的目标。

基本设置

典型的多目标反转设置包含以下实体:

  • -负责发出复制更新和执行快照管理的复制源。应该只有一个源。

  • 潜在源-潜在源是多目标反转配置中的复制目标,它需要接管向所有目标发出增量复制更新的作业(以及其他任务,例如快照管理等)应该至少有一个潜在源。

  • 专用目标-专用目标是多目标反转配置中的复制目标,它不能执行反转操作。专用目标所需的快照少于潜在源。运行早期版本的软件的设备可以配置为多目标反转设置中的专用目标。多目标反转设置中可能存在、也可能不存在专用目标。

  • 多目标反转组-一组用于同一数据集的复制操作,允许在其中一个潜在源上执行反转。执行反转后,新源可以继续向所有最初配置的目标发送增量更新。

在下图中,此多目标反转设置示例包含一个源 (S)、三个潜在源 (PS1, PS2, PS3) 和一个专用目标 (DT1)。该源负责向目标发送更新。当该源关闭后,选择其中一个潜在源(在此示例中为 PS1)作为新源。

image:图中显示多目标反转组设置

在此新源上执行反转后,它继续向其他目标发送增量更新,如下图中所示。

image:图中显示在新源上执行了反转操作的多目标反转组

多目标反转组管理

可通过至少将一个项目级操作配置为潜在源来创建多目标组。如果缺少潜在源,则无法创建多目标反转组,允许在任何目标上执行反转,但反转只能创建复制回原始源的复制操作。


注 -  使用多目标反转时,可以为多目标反转组中的每个操作维护多个复制快照。

创建多目标反转组

  1. 配置潜在源。

    可以在项目级复制操作上配置潜在源,如以下 BUI 图中所示。

    对复制操作的配置更改作为复制更新的一部分进行传播。无法保证此类配置更改将同时传送到多目标组的所有成员。

    image:图中显示在 BUI 中配置潜在源
  2. 创建复制目标 (BUI)创建复制目标 (CLI)中所述在潜在源上创建复制目标。

    在潜在源上执行反转时,将创建要对所有原始目标执行的操作。如果潜在源上没有配置复制目标,则新创建的操作将没有复制目标。因此,这些新操作将被取消绑定。以后创建了适当的复制目标时,取消绑定的操作将自动绑定到正确的目标。


    注 -  由于自动绑定过程会使用目标的 IP 地址,因此需要创建指向原始源上使用的相同设备和相同 IP 地址的目标。

    使用 CLI 查看源上已取消绑定的操作

    1. 选择适当的项目。

    2. 转到该项目的 replication 子节点下。

    3. 使用 show 命令显示操作,如下图中所示。已取消绑定的操作具有 <undefined> 目标。

    image:图中显示在 CLI 中查看源上已取消绑定的操作

    使用 BUI 查看源上已取消绑定的操作

    1. 选择适当的项目。

    2. 单击 Replication(复制)。

    3. 已取消绑定的操作具有未定义的目标 (<None>)。

    image:图中显示在 BUI 中查看源上已取消绑定的操作

监视潜在目标

潜在源上的复制数据包显示潜在目标列表。在反转过程中,除了创建复制回原始源的操作外,还将创建要对潜在目标执行的操作。该列表包含对应目标的目标名称(或 IP 地址)和数据包 ID。

可以监视潜在目标,如以下 CLI 图中所示。

image:图中显示在 CLI 中监视潜在目标

可以监视潜在目标,如以下 BUI 图中所示。

image:图中显示在 BUI 中监视潜在目标

冲突检测和解决

在以下多目标反转组图中,A 是组中的源。

image:图中显示以 A 作为组源的多目标反转组

在任何时候,一个多目标反转组中应该只存在一个源。存在多个源时,可能会发生冲突,如在以下情形中所示。

  • 由于在两个或更多从同一复制源接收更新的潜在源上执行反转时出现管理错误。

  • 存在网络分段时,管理员可能会选择创建多个多目标反转段,每个段都有自己的源。从此类网络分段恢复后,每个多目标反转段的源都会尝试向彼此发送更新,这会导致发生冲突。

如下图中所示,现在有两个源:A1B

image:图中显示两个源:A1 和 B

在源和目标上检测冲突

  1. 如下图中所示,当两个或更多源尝试向同一目标发送更新时,在目标上检测到冲突。在此情形下,来自一个源的更新将成功,并且该源将能够继续向目标发送成功的更新。来自其他源的更新将失败并显示特定警报,并且目标将显示冲突通知,以提示管理员通过选择正确源来解决冲突。解决了冲突后,目标将接收来自管理员设置的源的更新。但是,如果不正确的源继续发送更新,将在不正确的源上引发新警报,并在目标上再次引发冲突解决通知。

    image:图中显示在目标上检测到冲突
  2. 当一个组中的源(节点 B)向另一个组中的源(节点 A1)发送更新时,检测到冲突,如下图中所示。发送节点(节点 B)上的更新将失败并显示警报,并且接收更新的源(节点 A1)将显示冲突通知,以提示管理员通过选择正确源来解决冲突。解决了冲突后,不正确的源将在下次更新时将其项目转换为数据包,并且因此变为目标。

    image:图中显示一个组中的源向另一个组中的源发送更新时检测到冲突

    注 -  目标从不正确的源接收更新时,在从正确源接收第一个更新的过程中,可能会执行数据回滚。

    在导致发生冲突的源上引发的 CLI 警报示例:

    image:图中显示 CLI 中在导致发生冲突的源上引发的警报

    在导致发生冲突的源上引发的 BUI 警报示例:

    image:图中显示 BUI 中在导致发生冲突的源上引发的警报

解决冲突的一般步骤

  1. 禁止来自所有源的更新。

  2. 选择正确源。

  3. 在目标上,通过执行以下 CLI 或 BUI 目标过程来设置正确源,从而解决冲突。

  4. 在不正确的源上,通过执行以下 CLI 或 BUI 源过程来设置正确源,从而解决冲突。

  5. 允许来自正确源的更新。


    注 -  1) 来自其他源的更新将导致显示对应的冲突通知。

    2) 冲突解决工具不会永久存储信息。如果节点出于某种原因而重新启动,则冲突和解决方案选择将会被丢弃,并且来自重新启动之前导致发生冲突的源的任何更新都将再次导致显示冲突通知。


目标:使用 CLI 解决冲突

  1. 选择适当的复制数据包,转到项目下,然后选择replication

  2. 检查 conflict_detected 属性值。如果它为 true,则指示检测到冲突。

  3. 转到子节点 conflict 下,通过将 source 属性值设置为正确源来解决冲突,如下图中所示。

    image:图中显示使用 CLI 解决冲突(目标)

目标:使用 BUI 解决冲突

  1. 选择复制数据包。

  2. 单击 Replication(复制)。

    应该会显示冲突通知,如下图中所示。

    image:图中显示 BUI 中的冲突通知(目标)
  3. 单击冲突通知以打开复制冲突解决方案对话框,如下图中所示。

    image:图中显示 BUI 中的复制冲突解决方案对话框(目标)
  4. 选择正确源,然后单击 APPLY(应用)。

    现在,来自该源的更新将成功。

源:使用 CLI 解决冲突

  1. 选择未正确反转的项目。

  2. 转到该项目的子节点 replication 下。

  3. 检查 conflict_detected 属性值。如果它为 true,则指示检测到冲突。

  4. 转到子节点 conflict 下,通过将 source 属性值设置为正确源来解决冲突,如下图中所示。

    在此之后,来自所选源的更新将使项目转换为复制数据包。

    image:图中显示使用 CLI 解决冲突(源)

源:使用 BUI 解决冲突

  1. 在不正确的源上,选择非预期反转创建的项目。

  2. 单击 Replication(复制)。

    应该会显示冲突通知,如下图中所示。

    image:图中显示 BUI 中的冲突通知(源)
  3. 单击冲突通知以打开复制冲突解决方案对话框,如下图中所示。

    image:图中显示 BUI 中的复制冲突解决方案对话框(源)
  4. 选择正确源,然后单击 APPLY(应用)。

    来自该源的第一个更新会将项目转换为复制数据包,并且来自该源的更新应该会成功。

兼容性注意事项

    配置多目标反转时,请遵循以下兼容性规则:

  • 只有支持多目标反转或运行 OS8.7.0 及更高版本的固件的目标可以作为多目标反转组的成员。

  • 只有支持多目标反转的目标可以配置为潜在源。

  • 只有运行 OS8.7.0 及更高版本的固件的目标可以配置为多目标反转组中的专用目标。

    不兼容性会导致出现以下故障。此列表并不详尽。

  • 在要对不支持多目标反转的目标执行的复制操作上配置潜在源时出错。

  • 在数据集(该数据集已有对运行的固件低于 OS8.7.0 的目标执行的复制操作)下配置潜在源时出错。

  • 在配置要对现有多目标反转组中运行的固件低于 OS8.7.0 的目标执行的复制操作时出错。

  • 如果目标属于多目标反转组且配置为专用目标,但运行的固件低于 OS8.8.6,这些目标可以执行复制反转。但是,它们不能往回向其源执行复制更新。在此类情况下,无法恢复复制关系。

自动快照保留影响

将自动快照保留用于一个多目标反转设置中的一些目标,而未用于另一些目标时,反转后,未指定自动快照保留值的目标会与新源保持相同的快照数,这可能与这些目标以前具有的快照不同。为了避免出现这种情况,应将应用于多目标组中每个目标的保留策略配置为 "independent"(独立)。有关更多信息,请参见在目标上配置自动快照保留 (BUI)在目标上配置自动快照保留 (CLI)

相关主题