Compartilhar via

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

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

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

支持的方案

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

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

排除限制

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

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

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

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

禁用并重新启用对于 VM 的复制。
不能排除正在复制的磁盘。 不能排除正在复制的磁盘。
Mobility service (VMware) 不相关 只能在安装了Mobility service的 VM 上排除磁盘。

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

或者,通过将Azure Automation集成到恢复计划,可以在 VM 故障转移期间创建磁盘。
如果排除应用所需的磁盘,请在故障转移后在Azure手动创建它。 如果排除了应用需要的磁盘,请在故障转移后在 Azure 上手动创建它。
本地故障回复磁盘 - 手动创建的 不相关 Windows虚拟机:在Azure中手动创建的磁盘不会被恢复。 例如,如果对三个磁盘进行故障转移,并直接在 Azure 虚拟机上创建两个磁盘,则只有那三个故障转移的磁盘会被故障恢复。

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

典型方案

非常适合排除的数据变动示例包括对分页文件(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 VM 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 VM 上。 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 VM。 磁盘大小应等于或大于源 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 VM 恢复到原位置之前,Azure VM 的磁盘设置如下。

客户操作系统磁盘 驱动器号 磁盘数据类型
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 复制过程中被排除的磁盘。

将 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 上的分页文件设置包括:

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

后续步骤

  • 详细了解临时存储磁盘的指南:
    • 了解 在 Azure VM 中使用 SSD 存储 SQL Server 的 TempDB 和缓冲池扩展。
    • 查看在 Azure 虚拟机中使用 SQL Server 的性能最佳实践。
  • 部署运行后, 详细了解 不同类型的故障转移。