5.12 高级工作负载防护主题

5.12.1 防护 Windows 群集

PlateSpin Protect 支持防护 Microsoft Windows 群集的业务服务。支持的群集技术为:

  • 基于 Windows 2003 Server 的 Windows 群集服务器(单仲裁设备群集模式)

  • 基于 Windows 2008 Server 的 Microsoft 故障转移群集(节点和磁盘多数非多数: 仅磁盘模式)

群集防护通过增量复制流向虚拟单节点群集的主动节点上的更改来实现,对源基础结构进行查错时可使用该操作。

当前版本中支持群集迁移的范围取决于以下条件:

  • 执行添加工作负载操作时,必须确定由群集的 IP 地址(虚拟 IP 地址)标识的主动节点(当前拥有群集的仲裁资源的节点)。指定单个节点的 IP 地址将使该节点被盘点为普通的非群集感知的 Windows 工作负载。

  • 群集的仲裁资源必须与受防护群集的资源组(服务)一起配置。

如果在受防护群集的两次增量复制之间发生了节点故障转移,PlateSpin Protect 会生成防护事件。如果新主动节点的配置文件与有故障的主动节点的配置文件类似,防护安排将继续;否则命令将失败。在以下情况下,群集节点的配置文件将被视为类似:

  • 它们具有相同的卷数量

  • 每个卷在每个节点上的大小完全相同

  • 它们具有相同的网络连接数

要防护 Windows 群集,请遵循正常的工作负载防护工作流程(请参见工作负载防护与恢复的基本工作流程)。

故障回复后,PlateSpin Protect 会提供验证结果,帮助您确保将共享卷布局保留在目标上。请确保卷映射正确。

5.12.2 在 Xen on SLES 上将 Linux 故障回复到半虚拟化 VM

在 Xen on SLES(仅限版本 10)上,可以故障回复到半虚拟化 VM。这要通过两步间接完成。半虚拟化 VM 需要首先转换成完全虚拟化 VM,然后再转换回半虚拟化。实用程序 (xmpsadministrator-) 包含在 PlateSpin 引导 ISO 映像中,可用于转换 VM。

过程稍有不同,具体取决于目标是新的还是现有的半虚拟化 VM。

将 Linux 故障回复到新的半虚拟化 VM

  1. 将 PlateSpin Linux 引导 ISO 复制到目标 Xen on SLES 服务器。请参见表 5-2, 目标物理机的引导 ISO 映像

  2. 启动 Virtual Machine Manager 并创建完全虚拟化 VM:

    1. 选择我需要安装操作系统选项。

    2. 为磁盘映像选择合适大小(磁盘大小应大于等于故障转移 VM 的磁盘大小)。

    3. 选择引导 ISO 作为安装源。

      VM 引导进入 PlateSpin OS 环境,它用于故障回复到物理机设置。

  3. 完成故障回复过程。请参见半自动故障回复到物理机

    完成后,VM 应完全作为完全虚拟化计算机工作。

  4. 重引导 VM,确保它仍引导进入 PlateSpin OS 环境。

  5. boot: 提示符处,键入 switch 并按 Enter。

    这会将操作系统重配置为可作为半虚拟化计算机引导。完成后,输出应与以下内容类似:

    注意输出最后一段中的 bootloader 自变量:

    Please apply the following data as bootloader_args for
    switching Xen fully-virt machine to Para-virt machine:
     
    '-entry=xvda1:/vmlinuz-2.6.16.60-0.54.5-xen, /initrd-2.6.16.60-0.54.5-xen'
    

    xmps 实用程序使用这些自变量来设置内核的位置及 initrd 映像,半虚拟化计算机从 initrd 映像引导。

  6. 关闭虚拟机:

    [DB]$ poweroff

  7. 用户身份登录 XEN on SLES 服务器,并装入 PlateSpin Linux 引导 ISO(命令示例假设 ISO 已复制到 /root 目录下):

    # mkdir /mnt/ps
    # mount -o loop /root/linuxfailback.iso /mnt/ps
    
  8. 运行 xmps 实用程序来基于完全虚拟化 VM 的配置创建半虚拟化 VM:

    # /mnt/ps/tools/xmps --pv --vm_name=SLES10-FV --new_vm_name=SLES10-PV --bootloader_args="--entry=xvda1:/vmlinuz-2.6.16.60-0.54.5-xen, /initrd-2.6.16.60-0.54.5-xen"
    

    实用程序将以下内容作为输入:

    • 作为半虚拟化计算机配置基础的完全虚拟化 VM 的名称 (SLES10-FV)

    • 要创建的虚拟机的名称 (SLES10-PV)

    • 半虚拟化计算机的 bootloader 自变量 "--bootloader_args"(如步骤 5所示)

    如果已存在名称与作为 new_vm_name 传递的名称相同的 VM,则 xmps 实用程序将失败。

    新建的半虚拟化 VM (SLES10-PV) 现在应该已在 Virtual Machine Manager 中,已准备好能够打开。相应的完全虚拟化计算机将被淘汰且无法引导。可安全删除该 VM(将只去除 VM 配置)。

  9. 卸载 PlateSpin Linux 引导 ISO:

    # umount /mnt/ps
    

将 Linux 故障回复到现有的半虚拟化 VM

  1. 将 PlateSpin Linux 引导 ISO 复制到目标 Xen on SLES 服务器。请参见表 5-2, 目标物理机的引导 ISO 映像

  2. 用户身份登录 XEN SLES 服务器,并装入 PlateSpin Linux 引导 ISO:

    # mkdir /mnt/ps
    # mount -o loop /root/linuxfailback.iso /mnt/ps
    
  3. 运行 xmps 实用程序来基于半虚拟化 VM(所需故障回复目标)的配置创建完全虚拟化 VM:

    # /mnt/ps/tools/xmps --fv --vm_name=SLES10-PV --new_vm_name=SLES10-FV --bootiso=/root/linuxfailback.iso
    

    实用程序将以下内容作为输入:

    • 作为所需故障回复目标的现有半虚拟化计算机的名称 (SLES10-PV)

    • 将为两步故障回复操作创建的临时完全虚拟化计算机的名称 (SLES10-FV)

    • 引导 ISO 的完整路径(假设 ISO 文件位于 /root: /root/linuxfailback.iso 下)

    如果已存在名称与作为 new_vm_name 传递的名称相同的 VM,则 xmps 实用程序将失败。

    新建的完全虚拟化计算机 (SLES10-FV) 现在应该已在 Virtual Machine Manager 中。

  4. 打开新建的完全虚拟化计算机 (SLES10-FV)。

    VM 引导进入 PlateSpin OS 环境,它用于故障回复到物理机设置。

  5. 完成故障回复过程。请参见半自动故障回复到物理机

  6. 重引导 VM,运行 switch,并按将 Linux 故障回复到新的半虚拟化 VM(仅从步骤 4步骤 9)中所述重配置工作负载。

5.12.3 通过 PlateSpin Protect Web 服务 API 使用工作负载防护功能

您可以通过应用程序内的 protection.webservices API,以编程方式使用工作负载防护功能。可以使用任何支持 Web 服务的编程语言或脚本编写语言。

http://<主机名 | IP 地址>/protection.webservices

<主机名 | IP 地址> 替换为 PlateSpin Protect Server 主机的主机名或 IP 地址。

图 5-3 Protection Web Services API 的首页

要编写常用工作负载防护操作的脚本,请使用以 Python 编写的参照样本作为指导。另外还提供 Microsoft Silverlight 应用程序及其源代码供您参照。