存储副本概述
存储副本 (Storage Replica) 是一种 Windows Server 技术,它允许针对灾难恢复在服务器或群集之间进行卷的复制。 它还允许你创建跨越两个站点的拉伸故障转移群集,同时保持所有节点同步。
存储副本支持同步和异步复制:
- 同步复制映射低延迟网络站点中的数据和在崩溃时保持一致的卷,以确保在故障发生过程中文件系统级别的数据损失为零。
- 异步复制通过较高延迟网络链接映射都市范围外的站点之间的数据,但不保证在出现故障时两个站点具有完全相同的数据副本。
为什么要使用存储副本?
存储副本在 Windows Server 中提供了灾难恢复和预防准备功能。 Windows Server 做到了零数据丢失,免除你的后顾之忧,能够同步保护不同机架、楼层、建筑物、园区、县和城市的数据。 灾难发生后,所有数据将存在于其他地方,不会有任何丢失的情况的出现。 这同样适用灾难发生前;在授予片刻警告时,存储副本会在在灾难发生前切换到安全位置 - 再次声明,不会有数据丢失。
存储副本允许更有效地利用多个数据中心。 通过拉伸或复制群集,工作负荷可在多个数据中心中运行,以使本地邻近用户和应用程序能够更加快速地对其进行访问,以及更好地分布负载和使用计算资源。 如果灾难导致一个数据中心脱机,可以将其典型的工作负载暂时移动到另一个站点。
存储副本可能会允许取消配置作为低端灾难恢复解决方案的现有文件复制系统,如 DFSR。 DFS 复制在极低带宽网络上运行非常出色,同时其延迟时间很高 - 通常以小时或天为单位。 这是由文件关闭需求和防止网络拥塞的人为限制所引起。 正因具有这些设计特性,因此最不可能复制 DFS 复制副本中最新和最热门的文件。 存储副本在文件级别以下运行,并且没有这些限制。
存储副本还支持适用于更长范围和更高延迟网络的异步复制。 因为它不是基于检查点,而是持续复制,更改的增量将倾向于比基于快照的产品要低得多。 存储复制副本在分区层运行,因此可以复制由 Windows 服务器或备份软件创建的所有 VSS 快照。 通过使用 VSS 快照,能够使用应用程序一致性数据快照进行时间点恢复,尤其是异步复制的非结构化用户数据。
支持的配置
可以在拉伸群集中、在群集到群集配置之间和服务器到服务器配置之间部署存储复制(请参见图 1-3)。
拉伸群集允许在单个群集中配置计算机和存储,其中某些节点共享一组非对称存储,而另一些节点共享另一组,然后通过站点感知进行同步或异步复制。 此方案可以利用具有共享的 SAS 存储的存储空间、连接了 SAN 和 iSCSI 的 LUN。 它通过 PowerShell 和故障转移群集管理器图形工具进行管理,并允许自动化工作负载故障转移。
图 1:在拉伸群集中使用存储副本的存储复制
群集到群集允许两个独立群集之间的复制,其中一个群集与另一个群集进行同步复制或异步复制。 此方案可以利用存储空间直通、具有共享的 SAS 存储的存储空间以及连接了 SAN 和 iSCSI 的 LUN。 它使用 Windows Admin Center 和 PowerShell 进行管理,需要手动干预进行故障转移。
图 2:使用存储副本的群集到群集存储复制
服务器到服务器允许使用具有共享的 SAS 存储的存储空间、连接了 SAN 和 iSCSI 的 LUN 以及本地驱动器,在两个独立服务器之间进行同步和异步复制。 它使用 Windows Admin Center 和 PowerShell 进行管理,需要手动干预进行故障转移。
图 3:使用存储副本的服务器到服务器存储复制
注意
还可以在一台计算机上使用四个单独的卷配置服务器到自我复制。 但是,本指南不涉及这种情况。
存储副本功能
零数据丢失、块级复制。 使用同步复制,不可能丢失数据。 若使用块级复制,则不能进行文件锁定。
简单部署和管理。 存储副本具有易于使用的设计要求。 在两个服务器之间创建复制伙伴关系可以利用 Windows Admin Center。 拉伸群集的部署在熟悉的故障转移群集管理器工具中使用直观向导。
来宾和主机。 存储副本的所有功能均将在基于虚拟化来宾和主机的部署中公开。 这意味着只要在来宾中使用 Windows Server,即使数据卷在非 Windows 的虚拟化平台或在公有云中运行,来宾也可以复制其数据卷。
基于 SMB3。 存储副本使用 SMB 3 这一公认的成熟技术,该技术在 Windows Server 2012 中首次推出。 这意味着 SMB 的所有高级特性(如RoCE、iWARP 和 InfiniBand RDMA 网卡上的多通道和 SMB 直通支持)均可用于存储副本。
安全性。 与许多供应商的产品不同,存储副本由行业领先的安全技术提供支持。 这包括数据包签名、AES-128-GCM 完整数据加密、对 Intel AES-NI 加密加速的支持和完整预身份验证中间人攻击防护。 存储副本利用 Kerberos AES256 进行节点之间所有的身份验证。
高性能初始同步。存储副本支持种子初始同步,其中,数据的一个子集已存在于较旧的副本、备份或随附驱动器上的目标中。 初始复制将仅复制不同的块,这可能会缩短初始同步时间并防止数据耗尽有限的带宽。 存储副本阻止校验和计算,聚合意味着初始同步性能只受存储和网络速度限制。
一致性组。 写入排序可保证 Microsoft SQL Server 等应用程序可以写入多个复制的卷,并了解数据将按顺序写入到目标服务器上。
用户委派。 可对不是复制的节点上内置管理员组成员的用户委派管理复制的权限,从而限制他们对不相关区域的访问。
网络约束。 为了提供应用程序、备份和管理软件带宽,可由服务器和已复制的卷将存储副本限制到独立网络。
精简预配。 在很多情况下,为了提供近乎瞬间的初始复制时间,支持在存储空间和 SAN 设备中进行精简配置。 启动初始复制后,无法收缩或剪裁
压缩。 对源服务器和目标服务器之间通过网络传输的数据的存储副本压缩。 只有操作系统版本不低于 20348.1070 的 Windows Server Datacenter: Azure Edition (KB5017381) 才支持数据传输的存储副本压缩。
存储副本包括以下功能:
Feature | 详细信息 |
---|---|
类型 | 基于主机 |
同步 | 是 |
异步 | 是 |
存储硬件不可知 | 是 |
复制单元 | 卷(分区) |
Windows Server 拉伸群集创建 | 是 |
服务器到服务器复制 | 是 |
群集到群集复制 | 是 |
Transport | SMB3 |
网络 | TCP/IP 或 RDMA |
网络约束支持 | 是 |
网络压缩 | 是** |
RDMA* | iWARP、InfiniBand、RoCE v2 |
复制网络端口防火墙要求 | 单个 IANA 端口(TCP 445 或 5445) |
多路径/多通道 | 是 (SMB3) |
Kerberos 支持 | 是 (SMB3) |
通过有线加密和签名 | 是 (SMB3) |
允许按每个卷进行故障转移 | 是 |
精简配置的存储支持 | 是 |
管理 UI 内部 | PowerShell、故障转移群集管理器 |
*可能需要其他远程设备和电缆线路。 **使用操作系统版本不低于 20348.1070 的 Windows Server Datacenter: Azure Edition 时
存储副本先决条件
Active Directory 域服务林。
具有 SAS JBOD 的存储空间、存储空间直通、光纤通道 SAN、共享 VHDX、iSCSI 目标或本地 SAS/SCSI/SATA 存储。 对于复制日志驱动器,建议使用 SSD 或更快速度。 Microsoft 建议日志存储应比数据存储速度快。 日志卷不得用于其他工作负荷。
每个服务器上必须具有至少一个用于同步复制的以太网/TCP 连接,但最好是 RDMA。
至少 2 GB 的 RAM 且每台服务器具有两个内核。
服务器间的网络具有足够的带宽,以包含 IO 写入工作负载和平均值为 5 毫秒或更低的往返行程延迟(对于同步复制)。 异步复制没有延迟建议。
Windows Server、Datacenter Edition 或 Windows Server、Standard Edition。 在 Windows Server 标准版上运行的存储复制副本具有以下限制:
- 必须使用 Windows Server 2019 或更高版本
- 存储复制副本仅复制单个卷,而不是无限数量的卷。
- 卷的大小最多可以为 2 TB,而不是无限大小。
背景
本节包括有关高级行业术语、同步和异步复制以及关键行为的信息。
高级行业术语
灾难恢复 (DR) 是指从站点灾难恢复,以便业务继续运行的应急计划。 数据 DR 表示单独物理位置中的多个生产数据副本。 例如延伸群集,其中一半的节点在一个站点中,另一半则在另一个站点中。 灾难预防 (DP) 是指在灾难到来前(如飓风),提前将工作负载移动到另一个位置的应急计划。
服务级别协议 (SLA) 表示在已计划和非计划停机期间,企业的应用程序的可用性及其停机时间和数据丢失容差。 恢复时间目标 (RTO) 表示业务对数据不可访问的总承受时间。 恢复点目标 (RPO) 表示业务对丢失数据的承受量。
同步复制
同步复制可确保应用程序在 IO 操作完成之前将数据一次写入两个位置。 此复制更适合于任务关键型数据,因为需要网络和存储投资,并且由于需要在两个位置执行写入,因此可能会降低应用程序性能。
当源数据副本上发生应用程序写入操作时,源存储不会立即确认 IO。 相反,那些数据更改对远程目标副本的复制,并返回一条确认。 此时,应用程序才会收到 IO 确认。 这可确保远程站点与源站点的固定同步,有效地跨网络扩展存储 IO。 在源站点故障时,应用程序可以故障转移到远程站点并恢复其运行,同时保证零数据丢失。
模式 | 图表 | 步骤 |
---|---|---|
同步 零数据丢失 RPO |
1. 应用程序写入数据 2. 写入日志数据,并将数据复制到远程站点 3. 在远程站点写入日志数据 4. 从远程站点确认 5. 确认应用程序写入 t & t1:数据刷新到该卷,始终写入日志 |
异步复制
相反,异步复制意味着当应用程序写入数据时,将在没有立即确认保证的情况下将该数据复制到远程站点。 此模式允许更迅速地响应应用程序以及按地理位置工作的 DR 解决方案。
当应用程序写入数据时,复制引擎将捕获该写入并立即向应用程序确认。 然后,捕获的数据将复制到远程位置。 远程节点处理数据的副本,并延迟返回向源副本确认。 由于复制性能不再处于应用程序 IO 路径中,因此远程站点的响应速度和距离都是不太重要的因素。 如果源数据丢失,并且数据的目标副本仍在缓冲区而没有离开源,则存在数据丢失的风险。
使用其比 zero RPO 更高的版本,异步复制不太适用于 HA 解决方案,如故障转移群集,因为它们是为具有冗余和无数据丢失的连续操作而设计。
模式 | 图表 | 步骤 |
---|---|---|
异步 几乎零数据丢失 (取决于多种因素) RPO |
1. 应用程序写入数据 2. 写入日志数据 3. 确认应用程序写入 4. 数据复制到远程站点 5. 日志数据在远程站点写入 6. 从远程站点确认 t & t1:数据刷新到该卷,始终写入日志 |
7. 关键评估值和行为
具备最快存储速度的网络带宽和延迟。 同步复制方面存在一些物理限制。 因为存储副本实现使用日志和要求网络往返行程的 IO 筛选机制,同步复制可能会使应用程序写入速度较慢。 通过为日志使用低延迟、高带宽网络以及高吞吐量磁盘子系统,将尽量减少性能开销。
在 Windows Server 2016 中复制时目标卷不可访问。 在配置复制时,目标卷将卸除,这使得用户无法进行任何读取或写入。 其驱动器号可以显示在文件资源管理器等常见界面中,但是,应用程序无法访问卷本身。 数据块级复制技术与允许访问卷中目标的已装载文件系统的技术不兼容。 当块下方发生更改时,NTFS 和 ReFS 不支持用户将数据写入卷。
Windows Server 版本 1709 中首次引入了 Test-Failover cmdlet,并且此 cmdlet 包含在 Windows Server 2019 中。 此版本现在支持临时安装目标卷的读写快照以用于备份、测试等用途。有关详细信息,请访问关于存储副本的常见问题。
异步复制的 Microsoft 实现与大多数不同。 异步复制的大多数行业实现依赖于基于快照的复制,其中周期性差异传输移动到另一个节点并进行合并。 存储副本异步复制的操作与同步复制相同,只是它不需要从目标进行序列化同步确认。 这意味着存储副本理论上具有较低的 RPO,因为它会持续进行复制。 但是,这也意味着它依赖于内部应用程序一致性保证,而不是使用快照来强制实现应用程序文件一致性。 存储副本保证所有复制模式中的故障一致性
许多客户使用 DFS 复制作为灾难恢复解决方案,即使往往在这种情况下不切实际 - DFS 复制不能复制打开的文件,它旨在最小化带宽使用量,这会降低性能,从而导致较大的恢复点增量。 存储副本可能允许从这些类型的灾难恢复职责停用 DFS 复制。
存储副本不是备份解决方案。 某些 IT 环境部署复制系统作为备份解决方案,因为相比每日备份,它们具有零数据丢失选项。 存储副本将所有更改都复制到卷上的数据块,而不考虑更改类型。 如果用户从卷中删除所有数据,存储副本会立即将删除数据复制到另一个卷,且无法撤消地从这两个服务器中删除该数据。 不要使用存储副本来替换时间点备份解决方案。
存储副本不是 Hyper-V 副本或 Microsoft SQL AlwaysOn 可用性组。 存储副本是存储不可知的常规用途引擎。 根据定义,它不能像应用程序级别的复制一样理想地定制其行为。 这可能导致特定功能差距,它鼓励你部署或保持特定的应用程序复制技术。
存储副本术语
本指南经常使用以下术语:
源是计算机的卷,它允许本地写入和出站复制, 也称为“主要”。
目标是计算机的卷,它不允许本地写入和入站复制, 也称为“次要”。
复制合作关系是对一个或多个卷的源和目标计算机之间的同步关系,并利用单个日志。
复制组是合作关系内的卷及其复制配置的组织,在每个服务器上有所不同。 组可以包含一个或多个卷。
存储副本的新增功能
有关 Windows Server 2019 中存储副本中的新功能列表,请参阅存储方面的新增功能