在 Microsoft Azure 上规划灾难恢复策略 – 在 Azure 中使用数据备份

作者 : 慕源网 本文共3244个字,预计阅读时间需要9分钟 发布时间: 2021-11-2 共519人阅读

介绍

之前我们谈到了定义恢复需求。在本文中,我将讨论 Azure 中的数据备份。首先,我们将了解 Azure SQL、Cosmos DB 和存储帐户服务如何存储数据。然后我们将了解复制存储在 Cosmos DB、Azure SQL 数据库和存储帐户中的数据,这些都是流行的 Azure 平台即服务的一部分。最后,我们将看看如何在 Cosmos DB 中启用地理冗余和多区域写入。

Azure 平台即服务数据存储:Azure SQL、Cosmos DB 和存储帐户(Storage Account)

Cosmos DB、Azure SQL 和存储帐户都是 Azure 平台即服务数据存储的一部分。在本节中,我们将总结所有三个 Azure 服务数据存储平台。

Azure SQL 数据库

作为托管服务提供的通用关系数据库,通过这种类型的数据库,我们可以为我们在 Microsoft Azure 上构建的应用程序和解决方案建立一个高可用和高性能的数据存储层。我们可以使用 SQL 数据库创建现代云应用程序,因为它允许关系数据和已知的关系结构,例如图形、JSON 或 XML。

Azure Cosmos 数据库

现代应用程序需要高度响应并始终在线以实现低延迟和高可用性。这些应用程序需要部署在靠近最终用户的数据中心。这并不简单;应用程序必须实时响应大量使用时间的巨大变化。开始收集越来越多的数据,并在几毫秒内将其提供给用户。没有人喜欢等待数据。Microsoft Cosmos DB 是一种全球分布式多模式数据库服务。

Cosmos DB 为吞吐量、延迟、可用性和一致性提供了具有竞争力的服务级别协议,这是其他数据库服务无法提供的。

Microsoft Azure Storage Account 是一种适用于现代方案的基于云的数据存储解决方案。它为数据对象提供了一个可大规模扩展的对象存储、一个用于云的文件系统服务、一个用于可靠消息传递的消息存储,并且没有 SQL 存储。

Azure 存储持久且高度可用。如果出现暂时性的、困难的故障,冗余可确保我们的数据安全。从 Azure 存储读取数据也是安全的,因为它是加密的。它可以放大或缩小。为了满足当今应用程序的数据存储和性能需求,Azure 存储被设计为具有极大的可扩展性。

Azure SQL 中的数据异地复制

现在我们将讨论 Azure SQL 数据库中的数据异地复制,它会自动进行完整的数据库备份、每 12 小时的每周差异数据库备份以及每五到十分钟的事务日志备份。使用针对 SQL 数据库的 Azure 活动异地复制,数据库更改会自动复制到我们在相同或不同 Azure 区域中的辅助数据库。对于备份和恢复,还有一种手动方法。为了与 Azure SQL 数据库一起使用,可以使用导入-导出服务。我们相信通过将数据库导出为备份文件,将来可以重建数据库。

SQL 数据库业务连续性功能

  • 时态表是一项允许您从任何时间点访问行版本的功能。
  • 构建自动备份和时间点还原可用于将整个数据库还原到某个时间点。在数据中心中断或应用程序升级的情况下,主动异地复制允许您创建可读副本并手动故障转移到其中任何一个。
  • 在数据中心发生故障时,应用程序的自动故障转移组允许它立即恢复。
  • 长期备份策略允许备份最多保留十年。

将异地复制与故障转移组进行比较

异地复制 故障转移组
没有自动故障转移 自动故障转移

当我们将异地复制与故障转移组进行比较时,我们可以看到异地复制更胜一筹。首先,在异地复制的情况下没有自动故障转移。这意味着如果某个区域的其中一个数据库发生故障,我们必须手动故障转移到第二个区域才能访问数据。

异地复制 故障转移组
 多个数据库不会同时进行故障转移  同时对多个数据库进行故障转移
故障转移后需要更新连接字符串 故障转移后无需更新连接字符串

地理应用程序中的多个数据库不会同时进行故障转移。最后一个重要区别是,在异地复制的情况下,在故障转移之外的故障转移之后,我们必须手动更改连接字符串。Groups 是一项 SQL 数据库功能,可让我们管理 SQL 数据库服务器上的一组数据库或单个实例中的所有数据库到不同区域的复制和故障转移。

它的附加抽象级别建立在活动的异地复制功能之上,旨在使异地复制数据库的大规模部署和管理变得更加容易。

Azure Cosmos DB 中的数据 GEO 复制

本节重点介绍 Cosmos DB 中支持高可用性和灾难恢复的一些可用功能。Azure Cosmos DB 的备份保存在不同的存储服务中,我在全球复制该服务以抵御区域性灾难。每四个小时,Cosmos DB 会对我们的数据库进行一次备份,并且在任何给定时刻只存储最近的两个备份。

即使容器或数据库被破坏,Azure Cosmos DB 也会持续存在。过去 40 天,某个容器或数据库的现有快照。因此,如果您误删除了数据库,请不要担心;你有机会把它拿回来。如果数据大小小于 100 TB。

Azure Cosmos DB 确保在引入附加区域后 30 分钟内数据可用于操作。因此,如果您决定添加另一个区域,您可以放心,您的数据将在 30 分钟后可供访问。在配置两个或多个区域时,有两种常见的情况。首先是为最终用户提供低延迟的数据访问,无论他们身在何处。

对于第一个场景,第二个场景为业务连续性和灾难恢复增加了区域弹性。对于第二种情况,建议我们在应用程序和 Azure Cosmos DB 上方部署应用程序用户所在区域,为最终用户提供低延迟。因此,建议在其他地点进行业务连续性和灾难恢复,具体取决于地区。在第一个模块中,我们讨论了pairs。

Multi-master

Multi-master 是 Cosmos DB 的另一个很棒的功能。当一个账户被复制到多个区域时,每个区域都作为一个主区域,平等地参与我们的任何地方模型。对于 Cosmo DB 帐户,可以通过 Azure 门户激活此功能。

Azure Cosmos DB 中的多主机提供高可用性、个位数毫秒的写入延迟、必要时通过构建压缩的可扩展性以及可自定义的冲突解决方案。支持。多主区域由许多主区域组成,这些区域并不都以相同的方式参与活动黄油模型。

它用于确保信息在我们需要时可以访问。对单个区域的更新可能会同步传播到所有其他区域,然后这些区域成为我们的主区域。在多主架构中,充当主区域的 Azure Cosmos DB 区域会自动运行以转换所有副本的数据并保持全局弹性和数据完整性。

读取区域优先级

另一个有趣的功能是 Azure Cosmos DB。它被称为“区域优先事项”。通过自动故障转移选项,我们可以优先使用 Dragon Drop 优先读取哪些区域。

Azure 存储帐户中的数据 GEO 复制

Azure 存储帐户中数据的异地复制。值得注意的是,Azure 存储帐户中的数据总是被复制以提供持久性和高可用性。Azure 会在同一 Azure 区域内的各个完整域中自动将数据存储在 Azure 存储帐户中三次。开启异地复制后,数据会在不同区域复制三遍。

本地冗余存储 (LRS)

在单个数据中心内,本地冗余存储将数据复制 3 次。如果数据中心发生灾难或治愈,使用本地冗余存储的存储帐户中的所有副本可能会丢失且无法恢复。因此,建议另外两种方法。

  • 使用区域冗余存储
  • 使用异地冗余存储

使用区域冗余存储

区域冗余存储在单个区域中的空闲存储集群之间同步复制数据。每个存储集群都有自己的可用区,并且在物理上与其他集群隔离。当数据存储在使用区域冗余存储复制的存储帐户中时,如果其中一个可用区域变得不可访问,则数据访问和管理仍然是可能的。

使用异地冗余存储

如果需要异地冗余存储,则将数据复制到距离主要区域数百英里的次要区域。在存储帐户上设置异地冗余存储后,即使在完全区域中断的情况下,数据也会保留。它被异步复制到次要区域,这意味着在将数据写入主要区域和从次要区域读取数据之间存在延迟。当帐户的关键信息丢失时,通常会丢失一些数据。理解启动帐户故障转移的后果至关重要。这意味着我们必须接受这样一个事实,即在故障转移期间,某些数据可能会丢失并且不会被保存。

总结

我们在本文中了解了 Azure 平台即服务数据存储,包括 Cosmos DB、Azure SQL 和存储帐户。对于这些服务,我们学习了各种数据异地复制的想法。


慕源网 » 在 Microsoft Azure 上规划灾难恢复策略 – 在 Azure 中使用数据备份

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录