다음을 통해 공유

将磁盘排除在灾难恢复之外

本文介绍如何在使用 Azure Site Recovery 从本地到 Azure 的灾难恢复期间从复制中排除磁盘。 出于多种原因,你可能要将磁盘排除在复制之外:

  • 为了避免复制在排除的磁盘上处理的非重要数据。
  • 您想要优化已消耗的复制带宽或目标端资源。
  • 你希望通过不复制不需要的数据来保存存储和网络资源。
  • Azure VM 达到了 Site Recovery 复制限制。

支持的方案

可以从复制中排除磁盘,如下表所述。

Azure 到 Azure VMware 到 Azure Hyper-V 到 Azure 物理服务器迁移到 Azure
是的 是的 是的 是(仅在经典体系结构中)

排除限制

限制 Azure VM VMware VM Hyper-V VM
磁盘类型 可将基本磁盘排除在复制之外。

不能排除操作系统磁盘或动态磁盘。 默认排除临时磁盘。
可将基本磁盘排除在复制之外。

不能排除操作系统磁盘或动态磁盘。
可将基本磁盘排除在复制之外。

不能排除操作系统磁盘。 不要排除动态磁盘。 Site Recovery 无法识别来宾 VM 中的 VHS 是基础磁盘还是动态磁盘。 如果未排除所有依赖的动态卷磁盘,受保护的动态磁盘将成为故障转移 VM 上的故障磁盘,并且该磁盘上的数据不可访问。
复制磁盘 不能排除正在复制的磁盘。

禁用并重新启用对于 VM 的复制。
不能排除正在复制的磁盘。 不能排除正在复制的磁盘。
移动服务 (VMware) 不相关 只有在安装了移动服务的虚拟机上,才能排除磁盘。

此要求意味着必须在要排除磁盘的 VM 上手动安装移动服务。 不能使用推送安装机制,因为它只有在启用复制后才能安装移动服务。
不相关。
添加/删除 可在已启用复制且具有托管磁盘的 Azure VM 上添加托管磁盘。 无法在已启用复制的 Azure VM 上删除磁盘。 启用复制后,无法添加或删除磁盘。 需要禁用复制,然后重新启用,以添加磁盘。 启用复制后,无法添加或删除磁盘。 先禁用,然后再重新启用复制。
故障转移 如果某项应用需要你已排除的某个磁盘,则需要在故障转移后手动创建该磁盘,以便复制应用能够运行。

或者,可以通过将 Azure 自动化集成到恢复计划中,在 VM 故障转移期间创建磁盘。
如果排除某应用需要的磁盘,则要在故障转移后在 Azure 中手动创建该磁盘。 如果排除某应用需要的磁盘,则要在故障转移后在 Azure 中手动创建该磁盘。
本地故障回复磁盘 - 手动创建的 不相关 Windows 虚拟机:在 Azure 中手动创建的磁盘不会恢复。 例如,如果对 3 个磁盘进行了故障转移并直接在 Azure VM 上创建了 2 个磁盘,则之后仅会对故障转移的 3 个磁盘进行故障转回。

Linux 虚拟机:在 Azure 中手动创建的磁盘将会恢复到故障前的状态。 例如,如果故障转移三个磁盘并在 Azure VM 上创建两个磁盘,则所有五个磁盘都会故障回复。 无法将手动创建的磁盘排除在故障恢复之外。
Azure 中手动创建的磁盘不会故障回复。 例如,如果你让三个磁盘发生故障,并直接在 Azure 虚拟机上创建两个磁盘,则只有三个发生故障的磁盘被备份。
本地故障回复 - 排除的磁盘 不相关 如果回退到原始机器,则回退的虚拟机磁盘配置不包含被排除的磁盘。 从 VMware 到 Azure 复制中排除的磁盘在故障回复虚拟机上不可用。 故障回复到原始 Hyper-V 位置时,故障回复 VM 磁盘配置与原始源 VM 磁盘的配置保持一致。 故障回复 VM 上提供了从 Hyper-V 站点到 Azure 复制中排除的磁盘。

典型方案

数据改动是排除的理想候选者的例子包括对页面文件 (pagefile.sys) 的写入,以及对 Microsoft SQL Server 的 tempdb 文件的写入。 分页文件和 tempdb 文件可能会记录大量频繁变化,具体取决于工作负载和存储子系统。 将此类型的数据复制到 Azure 需耗用大量资源。

  • 若要优化包含操作系统和分页文件的单个虚拟磁盘的虚拟机(VM)的复制,可以:

    1. 将单个虚拟磁盘拆分成两个虚拟磁盘。 一个虚拟磁盘包含操作系统,另一个包含页面文件。
    2. 将存储页面文件的磁盘从复制过程中排除。
  • 若要优化包含Microsoft SQL Server tempdb 文件和系统数据库文件的磁盘的复制,可以:

    1. 在两个不同的磁盘上保存系统数据库和 tempdb。
    2. 从复制中排除 tempdb 磁盘。

示例 1:排除 SQL Server tempdb 磁盘

让我们来看看如何处理源 SQL Server Windows 虚拟机 SalesDB* 的磁盘排除、故障转移和恢复,以及如何排除 tempdb。

从复制中排除磁盘

这些磁盘在源 Windows VM SalesDB 上。

磁盘名称 客户操作系统磁盘 驱动器号 磁盘数据类型
DB-Disk0-OS Disk0 C:\ 操作系统磁盘。
DB-Disk1 Disk1 D:\ SQL 系统数据库和用户数据库 1。
DB-Disk2(已从保护中排除该磁盘) Disk2 E:\ 临时文件。
DB-Disk3(已从保护中排除该磁盘) Disk3 F:\ SQL tempdb 数据库。

文件夹路径 - F:\MSSQL\Data。 请在故障转移之前记下文件夹路径。
DB-Disk4 Disk4 G:\ 用户数据库 2
  1. 为 SalesDB VM 启用复制。
  2. 将 Disk2 和 Disk3 排除在复制之外,因为这些磁盘上的数据改动是临时的。

在故障转移期间处理磁盘

因为磁盘没有被复制,所以在发生故障转移到 Azure 时,这些磁盘不会出现在故障转移后创建的 Azure 虚拟机上。 Azure VM 使用下表中汇总的磁盘配置。

客户操作系统磁盘 驱动器号 磁盘数据类型
Disk0 C:\ 操作系统磁盘。
Disk1 E:\ 临时存储

Azure 添加了该磁盘。 由于 Disk2 和 Disk3 已被排除在复制之外,因此 E: 是可用列表中的第一个驱动器号。 Azure 将 E: 分配给临时存储卷。 已复制磁盘的其他驱动器号保持不变。
Disk2 D:\ SQL 系统数据库和用户数据库 1
Disk3 G:\ 用户数据库 2

在此示例中,从复制中排除了 Disk3(SQL tempdb 磁盘)。 由于它在 Azure VM 上不可用,因此 SQL 服务处于停止状态,并且需要 F:\MSSQL\Data 路径。 可通过多种方式创建此路径:

  • 在故障转移后添加一个新磁盘,然后分配 tempdb 文件夹的路径。
  • 使用现有临时存储磁盘作为 tempdb 文件夹路径。

在故障转移后添加新磁盘

  1. 在故障转移之前记下 SQL tempdb.mdf 和 tempdb.ldf 文件的路径。
  2. 在 Azure 门户中,将新磁盘添加到 Azure 故障转移虚拟机。 磁盘大小应等于或大于源 SQL tempdb 磁盘 (Disk3) 的大小。
  3. 登录 Azure VM。
  4. 在磁盘管理 (diskmgmt.msc) 控制台中,初始化并格式化新添加的磁盘。
  5. 分配 SQL tempdb 磁盘使用的同一驱动器号(F:)。
  6. 在 F: 卷上创建 tempdb 文件夹 (F:\MSSQL\Data)。
  7. 从服务控制台启动 SQL 服务。

使用现有的临时存储磁盘

  1. 打开命令提示符。

  2. 通过命令提示符在恢复模式下运行 SQL Server。

    Net start MSSQLSERVER /f / T3608
    
  3. 运行以下 sqlcmd,将 tempdb 路径更改为新路径。

    sqlcmd -A -S SalesDB		**Use your SQL DBname**
    USE master;		
    GO		
    ALTER DATABASE tempdb		
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\MSSQL\tempdata\tempdb.mdf');
    GO		
    ALTER DATABASE tempdb		
    MODIFY FILE (NAME = templog, FILENAME = 'E:\MSSQL\tempdata\templog.ldf');		
    GO
    
  4. 停止 Microsoft SQL Server 服务。

    Net stop MSSQLSERVER
    
  5. 启动 Microsoft SQL Server 服务。

    Net start MSSQLSERVER
    

VMware 虚拟机:故障恢复期间将磁盘恢复到原始位置

接下来,了解在故障切换回原始本地位置时如何管理 VMware VM 上的磁盘。

  • 在 Azure 中创建的磁盘:由于此示例使用 Windows VM,因此在故障回复或重新保护 VM 时,在 Azure 中手动创建的磁盘不会复制回站点。
  • Azure 中的临时存储磁盘:临时存储磁盘不会复制回到本地主机。
  • 排除的磁盘:从 VMware 到 Azure 复制中排除的磁盘在故障恢复后将不再在本地 VM 上可用。

在准备将 VMware 虚拟机故障回复到原始位置之前,Azure 虚拟机的磁盘设置如下所示。

客户操作系统磁盘 驱动器号 磁盘数据类型
Disk0 C:\ 操作系统磁盘。
Disk1 E:\ 临时存储。
Disk2 D:\ SQL 系统数据库和用户数据库 1。
Disk3 G:\ 用户数据库 2。

故障恢复后,位于原始位置的 VMware VM 具有如下表所示的汇总磁盘。

客户操作系统磁盘 驱动器号 磁盘数据类型
Disk0 C:\ 操作系统磁盘。
Disk1 D:\ SQL 系统数据库和用户数据库 1。
Disk2 G:\ 用户数据库 2。

Hyper-V VM:在故障回复期间将磁盘恢复到原始位置

现在,让我们看看在故障恢复到原始的本地位置时如何处理 Hyper-V 虚拟机上的磁盘。

  • 在 Azure 中创建的磁盘:在故障回复或重新保护 VM 时,你在 Azure 中手动创建的磁盘不会复制回到你的站点。
  • Azure 中的临时存储磁盘:临时存储磁盘不会复制回到本地主机。
  • 排除的磁盘:故障回复后,VM 磁盘配置与原始 VM 磁盘配置相同。 从 Hyper-V 到 Azure 的复制中排除的磁盘在故障回复 VM 上可用。

在将 Hyper-V VM 回切到原始位置之前,Azure VM 磁盘设置如下所示。

客户操作系统磁盘 驱动器号 磁盘数据类型
Disk0 C:\ 操作系统磁盘。
Disk1 E:\ 临时存储。
Disk2 D:\ SQL 系统数据库和用户数据库 1。
Disk3 G:\ 用户数据库 2。

在计划的故障转移(或故障恢复)从 Azure 到本地 Hyper-V 后,原始位置的 Hyper-V VM 的磁盘汇总在下表中。

磁盘名称 来宾操作系统磁盘号 驱动器号 磁盘数据类型
DB-Disk0-OS Disk0 C:\ 操作系统磁盘。
DB-Disk1 Disk1 D:\ SQL 系统数据库和用户数据库 1。
DB-Disk2(排除的磁盘) Disk2 E:\ 临时文件。
DB-Disk3(排除的磁盘) Disk3 F:\ SQL tempdb 数据库

文件夹路径 (F:\MSSQL\Data)。
DB-Disk4 Disk4 G:\ 用户数据库 2

示例 2:排除页面文件磁盘

此示例展示如何处理源 Windows VM 的磁盘排除、故障转移和故障恢复。 你希望排除 D 驱动器和备用驱动器上的 pagefile.sys 磁盘。

D 驱动器上的页面文件

源 VM 具有以下磁盘:

磁盘名称 客户操作系统磁盘 驱动器号 磁盘数据类型
DB-Disk0-OS Disk0 C:\ 操作系统磁盘
DB-Disk1(从复制中排除) Disk1 D:\ pagefile.sys
DB-Disk2 Disk2 E:\ 用户数据 1
DB-Disk3 Disk3 F:\ 用户数据 2

源 VM 上的分页文件设置包括:

“虚拟内存”对话框的屏幕截图,其中高亮显示了“D 盘 [页面文件卷]”行,显示“分页文件大小(MB)”为 3000-7000。

  1. 为 VM 启用复制。
  2. 将 DB-Disk1 排除在复制之外。

故障转移后的磁盘

故障切换后,Azure VM 的磁盘汇总在下表中:

磁盘名称 来宾操作系统磁盘号 驱动器号 磁盘上的数据类型
DB-Disk0-OS Disk0 C:\ 操作系统磁盘
DB-Disk1 Disk1 D:\ 临时存储/pagefile.sys

由于排除 DB-Disk1(D:),D: 是可用列表中的第一个驱动器号。

Azure 将 D: 分配给临时存储卷。

由于 D:可用,因此 VM 分页文件设置保持不变。
DB-Disk2 Disk2 E:\ 用户数据 1
DB-Disk3 Disk3 F:\ 用户数据 2

Azure VM 上的分页文件设置包括:

Azure 虚拟机上的分页文件设置。

其他驱动器(非 D:)上的页面文件

让我们来看一个示例,其中页面文件不位于 D 驱动器上。

源 VM 具有以下磁盘:

磁盘名称 客户操作系统磁盘 驱动器号 磁盘数据类型
DB-Disk0-OS Disk0 C:\ 操作系统磁盘
DB-Disk1(从复制中排除) Disk1 G:\ pagefile.sys
DB-Disk2 Disk2 E:\ 用户数据 1
DB-Disk3 Disk3 F:\ 用户数据 2

本地 VM 使用以下分页文件设置:

本地虚拟机上的分页文件设置。

  1. 为 VM 启用复制。
  2. 将 DB-Disk1 排除在复制之外。

故障转移后的磁盘

故障切换后,Azure VM 的磁盘汇总在下表中:

磁盘名称 来宾操作系统磁盘号 驱动器号 磁盘数据类型
DB-Disk0-OS Disk0 C:\ 操作系统磁盘
DB-Disk1 Disk1 D:\ 临时存储

由于 D: 是可用列表中的首个驱动器号,Azure 将 D: 分配给临时存储卷。

对于所有复制的磁盘,驱动器号保持不变。

由于 G: 磁盘不可用,因此系统将 C: 驱动器用于分页文件。
DB-Disk2 Disk2 E:\ 用户数据 1
DB-Disk3 Disk3 F:\ 用户数据 2

Azure VM 上的分页文件设置包括:

“虚拟内存”对话框的屏幕截图,其中突出显示了 C: 驱动器行,其中显示了“系统托管”的分页文件大小设置。

后续步骤

  • 详细了解临时存储磁盘的指导原则:
    • 了解如何 在 Azure VM 中使用 SSD 来存储 SQL Server TempDB 和缓冲池扩展。
    • 查看 Azure VM 中 SQL Server 的性能最佳做法。
  • 部署运行后, 详细了解 不同类型的故障转移。