此示例的目的是配置复制属性,以确保项目在群集接管、群集故障恢复之后或者在对目标设备执行了反向复制之后,项目继续复制。
在配置群集设备的复制时,请遵循以下准则:
确保复制源和复制目标设备处于 CLUSTERED 状态。有关详细信息,请参见图 13, 表 13, 群集状态。
选择在复制源和目标设备上要用于复制通信的网络接口和 IP 地址。
选择单件网络接口。与专用网络接口不同,当群集中的控制器之一断开连接后,单件网络接口将由未发生故障的控制器接管。使用单件接口可确保在群集接管或故障恢复转换之后成功完成复制。有关单件接口的更多信息,请参见图 12, 表 12, 群集资源管理。
确保在源设备上选择的网络接口和要从中复制数据的池分配给相同的控制器。当源群集处于 CLUSTERED 状态时,始终是这种情况。
目标群集的情况类似,在目标设备上选择的网络接口和要向其中复制数据的池必须分配给相同的控制器。如果在目标群集处于 CLUSTERED 状态时执行复制配置,则肯定有这种关联。
源和目标设备必须能使用所选网络接口和 IP 地址成功通信。
在目标设备与源设备之间创建静态 /32 基于主机的路由以确保以下复制反转;当反转将当前目标转换为复制源时,所选接口用于出站复制通信。
在创建静态路由后,使用所选的目标 IP 地址在源设备上配置复制目标对象。
当目标设备处于 "OWNER"(所有者)状态时,所有共享资源(包括网络接口和存储池)会由一个未发生故障的控制器(现在处于 OWNER 状态的控制器)接管和拥有。在处于 OWNER 状态的控制器上,可以选择分配给一个控制器的网络接口,并使用它向分配给不同控制器的池提供复制通信。在控制器返回到 CLUSTERED 状态时,网络接口和存储池将返回到为其分配的控制器。由于源设备将使用不再拥有池的目标控制器上的网络接口,因此,可能无法进行复制更新。如果在目标设备处于 CLUSTERED 状态时执行复制配置,则不可能发生这种配置错误。
该示例过程使用以下源和目标网络接口及 IP 地址:
源设备群集包含源控制器 S1 和 S2。存储池 sp1 分配给 S1,池 sp2 分配给 S2。群集网络接口包括:
S1 上的专用接口 ixgbe0,IP 地址为 198.51.100.81/24
S2 上的专用接口 ixgbe0,IP 地址为 198.51.100.82/24
分配给 S1 的单件接口 ixgbe1,IP 地址为 192.0.2.101/25
分配给 S2 的单件接口 ixgbe2,IP 地址为 192.0.2.102/25
分配给 S1 的单件接口 ixgbe3,IP 地址为 192.0.2.201/25
分配给 S2 的单件接口 ixgbe4,IP 地址为 192.0.2.202/25
设备最初处于 CLUSTERED 状态,其中:
S1 拥有 sp1、ixgbe1 和 ixgbe3
S2 拥有 sp2、ixgbe2 和 ixgbe4
目标设备群集包括控制器 T1 和 T2。存储池 tp1 分配给 T1,池 tp2 分配给 T2。群集网络接口包括:
T1 上的专用接口 ixgbe0,IP 地址为 198.51.100.83/24
T2 上的专用接口 ixgbe0,IP 地址为 198.51.100.84/24
分配给 T1 的单件接口 ixgbe1,IP 地址为 192.0.2.103/25
分配给 T2 的单件接口 ixgbe2,IP 地址为 192.0.2.104/25
分配给 T1 的单件接口 ixgbe3,IP 地址为 192.0.2.203/25
分配给 T2 的单件接口 ixgbe4,IP 地址为 192.0.2.204/25
设备最初处于 CLUSTERED 状态,其中:
T1 拥有 tp1、ixgbe1、ixgbe3
T2 拥有 tp2、ixgbe2 和 ixgbe4
以下步骤介绍如何使用 CLI 为项目 Red、Blue 和 Green 配置复制。
选择网络接口和 IP 地址。
首先选择用于项目 Red 复制的网络接口和 IP 地址。
因为源 S 处于 CLUSTERED 状态,因此足以确保所选网络接口和 IP 地址不是专用的。因此,在 S1 上使用 ixgbe1 或 ixgbe3。
同样的情况也适用于 T,因此在设备 T1 上使用 ixgbe1 或 ixgbe3。因为 ixgbe1 和 ixgbe3 在 S1 和 T1 上都属于同一个子网,因此可选择任意一个来执行项目 Red 的复制。在此示例中,在 S1 上和 T1 上选择接口 ixgbe1。
在 S1 上设置静态路由。
以下示例在源控制器 S1 上为项目 Red 的复制设置静态路由:
S1:configuration net routing> create S1:configuration net route (uncommitted)> set family=IPv4 family = IPv4 (uncommitted) S1:configuration net route (uncommitted)> set destination=192.0.2.103 destination = 192.0.2.103 (uncommitted) S1:configuration net route (uncommitted)> set mask=32 mask = 32 (uncommitted) S1:configuration net route (uncommitted)> set interface=ixgbe1 interface = ixgbe1 (uncommitted) S1:configuration net route (uncommitted)> set gateway=192.0.2.1 gateway = 192.0.2.1 (uncommitted) S1:configuration net route (uncommitted)> commit S1:configuration net routing> list ROUTE DESTINATION GATEWAY INTERFACE TYPE STATUS ... route-003 192.0.2.103/32 192.0.2.1 ixgbe1 static active
在 T1 上设置静态路由。
以下示例在目标控制器 T1 上设置用于复制项目 Red 的静态路由:
T1:configuration net routing> create T1:configuration net route (uncommitted)> set family=IPv4 family = IPv4 (uncommitted) T1:configuration net route (uncommitted)> set destination=192.0.2.101 destination = 192.0.2.101 (uncommitted) T1:configuration net route (uncommitted)> set mask=32 mask = 32 (uncommitted) T1:configuration net route (uncommitted)> set interface=ixgbe1 interface = ixgbe1 (uncommitted) T1:configuration net route (uncommitted)> set gateway=192.0.2.1 gateway = 192.0.2.1 (uncommitted) T1:configuration net route (uncommitted)> commit T1:configuration net routing> list ROUTE DESTINATION GATEWAY INTERFACE TYPE STATUS ... route-003 192.0.2.101/32 192.0.2.1 ixgbe1 static active
在 S1 上创建一个复制目标。
以下示例在 S1 上创建复制目标,用于将项目 Red 从 sp1 复制到 tp1:
S1:shares replication targets>target S1:shares replication target (uncommitted)> set hostname=192.0.2.103 hostname = 192.0.2.103 (uncommitted) S1:shares replication target (uncommitted)> set label=t1-1 label = t1-1 (uncommitted) S1:shares replication target (uncommitted)> set root_password=(set) root_password = (set) (uncommitted) S1:shares replication target (uncommitted)> commit
为每个项目创建复制操作。
将项目 Red 从池 sp1 复制到 tp1
将项目 Blue 从池 sp1 复制到池 tp2
将项目 Green 从池 sp2 复制到 tp2
以下示例为项目 Red 创建复制操作:
S1:> shares select Red replication action S1:shares Red action (uncommitted)> set target=t1-1 target=t1-1 (uncommitted) S1:shares Red action (uncommitted)> set pool=tp1 pool=tp1 (uncommitted) S1:shares Red action (uncommitted)> commit
进行设置以将项目 Blue 从池 sp1 复制到 tp2。
首先进行接口和地址选择,选择接口 S1/ixgbe3 和 T2/ixgbe4,知道 S 和 T 都处于 CLUSTERED 状态,并且接口地址在同一个子网 192.0.2.128/25 上。接下来,与上例类似,在两个设备上定义静态路由。然后,使用目标对象 t2-2,为项目 Blue 在 S1 上创建复制目标对象 t2-2,在 S1 上创建复制操作。
进行设置以将项目 Green 从池 sp2 复制到 tp2。
首先进行接口选择,选择接口 S2/ixgbe2 和 T2/ixgbe2。使用所选接口及其地址在 S2 和 T2 上创建静态路由,使用 T2/ixgbe2 的地址定义复制目标对象 t2-1,最后使用目标对象 t2-1 为项目 Green 创建复制操作。
为全部三个操作启动复制。
从项目 Red 开始:
S1:> shares select Red replication select action-000 S1:shares Red action-000> sendupdate
按上个示例的做法,为项目 Blue 和 Green 的操作启动复制。
下图展示了复制更新过程中项目 Red、Blue 和 Green 的复制操作的复制数据路径:
图 26 正常复制数据路径
假定控制器 T2 已停机进行维护。T1 执行了接管,现在拥有所有资源。如果在接管过程中正在进行项目 Blue 和 Green 的复制更新,则将取消更新。在 T1 接管之后,可以手动恢复这些复制更新;如果为对应的复制操作配置了时间安排,则将自动恢复更新。
在控制器 T1 完成接管之后,它拥有接口 ixgbe2 和 ixgbe4,这些是继续进行项目 Blue 和 Green 的复制更新所必需的接口。下图展示了在 T1 完成接管后的复制数据路径。
图 27 T1 接管后的复制数据路径
在 T2 恢复联机后,对 T1 执行故障恢复并接管其资源。如果正在进行项目 Blue 和 Green 的复制更新,则将取消更新,并可在完成故障恢复后恢复更新。
然后,控制器 S2 被停机维护,并且在 S1 控制器上发生的接管导致它获得所有资源的所有权,包括继续复制 Green 项目所需的接口。如果正在进行 Green 项目的复制更新,则将取消更新,并可在接管完成后恢复更新。
图 28 T1 上进行故障恢复后以及 S1 上进行接管后的数据路径
相关主题