使用存储空间直通进行灾难恢复

适用范围:Windows Server 2022、Windows Server 2019、Windows Server 2016

本主题提供有关如何为灾难恢复配置超融合基础设施 (HCI) 的方案。

有非常多的公司在运行超融合解决方案和规划灾难恢复,以便在灾难发生时能够保持现状或快速恢复生产。 为灾难恢复配置 HCI 的方法有多种,本文档介绍当前可用的选项。

当灾难发生时恢复可用性的讨论是围绕所谓的“恢复时间目标”(RTO) 展开的。 RTO 是指一种目标持续时间,必须在此时限内恢复服务,以避免对业务造成不可接受的后果。 在某些情况下,此过程可以自动发生,因而几乎立即就能恢复生产。 而在其他一些情况下,必须由管理员手动干预才能恢复服务。

当前的超融合灾难恢复选项包括:

  1. 利用存储副本的多个群集
  2. 群集之间的 Hyper-V 副本
  3. 备份和还原

利用存储副本的多个群集

使用存储副本可以复制卷并支持同步和异步复制。 在同步或异步复制之间进行选择时,应考虑恢复点目标 (RPO)。 恢复点目标是指在认为发生重大损失之前,你愿意承担的可能数据丢失量。 如果你使用同步复制,则会同时按顺序写入两端。 如果你使用异步复制,则写入内容的复制速度非常快,但仍可能会丢失数据。 应考虑应用程序或文件的使用情况,以确定哪种复制方式最适合你。

存储副本是块级而不是文件级复制机制;这意味着,复制哪种类型的数据并不重要。 这使其成为超融合基础设施的热门选择。 存储副本还可以在复制伙伴之间利用不同类型的驱动器,因此,可以完美地在一个 HCI 上使用一种类型的存储,并在另一个 HCI 上使用另一种类型的存储。

存储副本的一项重要功能是它可以在 Azure 和本地运行。 可以设置本地到本地、Azure 到 Azure,甚至本地到 Azure(或相反方向)的复制。

在这种情况下,有两个独立的群集。 若要在 HCI 之间配置存储副本,可以按照群集到群集存储的复制中的步骤操作。

Storage Replication diagram

部署存储副本时需要注意以下事项。

  1. 配置复制是在故障转移群集外部完成的。
  2. 根据你的网络延迟和 RPO 要求选择复制方法。 同步方法会在崩溃一致性的低延迟网络上复制数据,以确保在发生故障时不会丢失数据。 异步方法通过较高延迟的网络复制数据,但每个站点在发生故障时可能没有相同的副本。
  3. 发生灾难时,群集之间的故障转移不是自动的,需要通过存储副本 PowerShell cmdlet 手动协调。 在上图中,ClusterA 是主要节点,ClusterB 是辅助节点。 如果 ClusterA 发生故障,你需要先手动将 ClusterB 设置为主要节点,然后才能启动资源。 备份 ClusterA 后,需要将其设为辅助节点。 同步所有数据后,进行更改并将角色切换回最初的设置方式。
  4. 由于存储副本仅复制数据,因此需要在副本伙伴上的故障转移群集管理器中创建利用此数据的新虚拟机或横向扩展文件服务器 (SOFS)。

如果在群集上运行虚拟机或 SOFS,则可以使用存储副本。 使用 PowerShell 脚本可以手动或自动使副本 HCI 中的资源联机。

Hyper-V 副本

Hyper-V 副本为超融合基础设施上的灾难恢复提供虚拟机级复制。 Hyper-V 副本可以获取虚拟机并将其复制到辅助站点或 Azure(副本)。 然后,Hyper-V 副本可以将虚拟机从辅助站点复制到第三个站点(扩展副本)。

Hyper-V Replication diagram

使用 Hyper-V 副本时,复制由 Hyper-V 负责。 当你首次启用某个虚拟机进行复制时,可以通过三种方式将初始副本发送到相应的副本群集。

  1. 通过网络发送初始副本
  2. 将初始副本发送到外部媒体,以便可以手动将其复制到服务器
  3. 使用已在副本主机上创建的现有虚拟机

如果你希望控制此初始复制的发生时间,可以使用另一个选项。

  1. 立即开始复制
  2. 计划初始复制的发生时间。

需要注意的其他事项包括:

  • 要复制哪些 VHD/VHDX。 可以选择复制所有这些磁盘,或仅复制其中的一个。
  • 要保存的恢复点数。 如果你希望使用多个选项来指定要还原的时间点,请指定所需的恢复点数。 如果你只想要一个还原点,也可以选择它。
  • 希望卷影复制服务 (VSS) 复制增量卷影副本的频率。
  • 复制更改的频率(30 秒、5 分钟、15 分钟)。

当 HCI 参与 Hyper-V 副本时,必须在每个群集中创建 Hyper-V 副本代理资源。 此资源执行以下几项操作:

  1. 为每个群集提供单一命名空间,Hyper-V 副本将连接到该命名空间。
  2. 确定该副本(或扩展副本)在首次接收副本时将驻留在该群集中的哪个节点上。
  3. 跟踪当虚拟机移动到另一个节点时,由哪个节点拥有该副本(或扩展副本)。 它之所以需要跟踪此信息,是因为在复制发生时,它可以将此信息发送到正确的节点。

备份和还原

一个讨论不多但同样重要的传统灾难恢复选项适合用于整个群集或群集中某个节点发生故障的情况。 对于此方案,任一选项都使用 Windows Server 备份。

始终建议定期备份超融合基础设施。 当群集服务正在运行时,如果你创建系统状态备份,则群集注册表数据库将成为该备份的一部分。 可以通过两种不同的方法(非权威和权威)还原群集或数据库。

非权威

可以使用 Windows Server 备份完成非权威还原,这相当于仅完全还原群集节点本身。 如果你只需还原某个群集节点(和群集注册表数据库),并且所有当前群集信息正常,请使用非权威方法来还原。 可以通过 Windows Server 备份界面或命令行 WBADMIN.EXE 完成非授权还原。

还原节点后,让它加入群集。 将发生的情况是,该节点将加入现有的正在运行的群集,并使用该群集中当前存在的信息更新其自身的所有信息。

权威

另一方面,对群集配置进行权威还原可以及时恢复群集配置。 仅当群集本身的信息已丢失并需要还原时,才应该完成这种类型的还原。 例如,某人意外删除了包含 1000 多个共享的文件服务器,而你需要恢复这些共享。 完成群集的权威还原需要从命令行运行备份。

在群集节点上启动权威还原时,群集视图中所有其他节点上的群集服务将会停止,群集配置将会冻结。 正因如此,首先启动执行还原的节点上的群集服务至关重要,以便使用群集配置的新副本构成群集。

若要运行授权还原,请完成以下步骤。

  1. 从管理命令提示符运行 WBADMIN.EXE 以获取要安装的最新版备份,并确保系统状态是可以还原的组件之一。

    wbadmin get versions
    
  2. 确定你的版本备份是否将群集注册表信息作为一个组件包含在内。 需要在此命令中指定几个项:在步骤 3 中使用的版本以及应用程序/组件。 例如,对于版本,假设备份是在 2018 年 1 月 3 日凌晨 2:04 创建的,并且这就是需要还原的版本。

    wbadmin get items -backuptarget:\\backupserver\location
    
  3. 启动权威还原以便仅恢复所需的群集注册表版本。

    wbadmin start recovery -version:01/03/2018-02:04 -itemtype:app -items:cluster
    

一旦执行还原,此节点就必须是第一个启动群集服务并构成群集的节点。 然后需要启动所有其他节点并将其加入群集。

总结

综上所述,超融合灾难恢复应该经过精心规划。 可能有好几种方案最符合你的需求,应对其进行全面测试。 如果你过去熟悉故障转移群集,需要注意的是,近年来非常流行使用拉伸群集。 超融合解决方案的设计发生了一些变化,它现在基于复原能力。 如果超融合群集中丢失两个节点,整个群集就会关闭。 在这种情况下,不支持在超融合环境中使用拉伸方案。