备份服务

已完成

没有什么比数据丢失更能引起 IT 人员内心的恐惧了。 防止数据丢失的最有效策略是备份存储卷、虚拟机、数据库和其他存储数据的系统,以便可以还原其数据。 云服务提供商仅出于此目的提供备份服务。 一般而言,这些服务可用于备份本地存储的数据以及云中存储的数据,并且备份可以在地理位置上进行复制和分散,以防止可能导致全球范围内整个数据中心或整个区域中的数据丢失的事件。

公有云是大量流动资源的交付者,不仅是大块的存储,而且是高度可缩放的存储池。 与要替换的备份存储系统和磁带驱动器相比,公有云至少具有多种用途,在某些情况下还具有更多用途。 而且,它们为组织提供了新的机会来实现冗余、故障转移和安全网,而在所有资产都是用营运资本购买的时代,这些都是许多服务无法提供的。 公共云存储选项实现了数据中心一直迫切需要的角色,但是直到最近才获得这一角色。

基于云的备份服务

公共云服务提供商 (CSP) 提供的新式备份服务的特点是,它们扩展了客户基础结构的方式。 在这些服务问世之前,组织的典型备份策略分为两层:备份托管数据库的数据卷和备份托管关键工作负载的虚拟机映像。 备份背后的理论是,当系统故障导致失败时,事件将关闭服务器。 然后,立即采取的操作变成从备份映像还原服务器的状态。

基于云的基础结构抛弃了旧的备份理论。 在新式系统中,服务器由软件而非硬件组成。 虚拟服务器要么由基于虚拟机监控程序的虚拟基础结构(例如 VMware 的 NSX)托管,要么由容器组装而成,并由虚拟化操作系统托管。 在这两种情况下,都将持续管理、更新和持续保护应用程序和服务的工作负载的软件映像。 实际上,活动软件组件本身就是这些安全主机的副本,或者对于容器化而言,初始主机的产品存储在容器存储库中,并根据需要自动组装。 导致服务器节点关闭的硬件故障只会使该节点托管的服务器暂时不可用,而基础结构只会重新路由节点周围的流量,并尽最大努力替换该流量。 在系统管理的常规过程中,基础结构管理器没有执行任何操作。

但是,即使对新式数据中心进行粗略的检查也会发现,并非所有新式基础结构都是基于云的基础结构。 服务仍托管在本地数据中心的裸机上。 使用中间件的客户端/服务器网络仍然很多。 而且,在几年前设计的一部分与上世纪设计的另一部分相连的混合系统中,仍然有必要存储有关系统组成部分的足够信息,以便在发生灾难时,通过任何可行但迅速有效的方法在新位置重建系统,并且对服务级别的影响最小。 使用新式备份策略,即使要拍摄快照的系统位于云外部,公有云也可能位于该位置。

AWS 备份

在 2019 年初,Amazon Web Services 针对客户的混合云环境重新设计了其基于云的备份服务。 策略引擎是新的 AWS 备份的中心,它基于浏览器的控制台(如图 2 所示)与防火墙规则的仲裁者没有什么不同。 使用此引擎,备份管理员可以编写指定以下内容的规则:

  • 系统中需要备份的资源

  • 每个备份的执行方式和执行频率

  • 备份映像的存储位置

  • 备份映像的完整性监视,包括监视频率

  • 备份映像的保留时长

  • 应进行恢复和还原的情况

备份计划是涵盖所有可用策略的完整行程。 在本文中,每个规则都指的是 AWS 云中需要通过其标签值进行备份的资源,该值是管理员指定的任意名称。 要将弹性块存储 (EBS) 卷等资源包含在备份计划中,其管理员只需给该资源指定 AWS 备份可以识别的标签名称。 这样,负责 AWS 资源的管理员或看管者无需使用 AWS 备份控制台,只需在看管者的权限范围内建立资源,并将其作为现有备份计划的一部分。

Figure 2: The AWS Backup console. [Courtesy Amazon]

图 2:AWS 备份控制台。 [Courtesy Amazon]

本地资源可以通过 AWS 存储网关合并到备份计划中。 出于 AWS 备份的目的,存储网关充当物理存储卷和设备的 API 包装器,使 AWS 服务可以访问它们。

最初,存储网关可以使用同一接口将现有的物理存储资产替换为基于云的对等项。 例如,可以将现场 iSCSI 卷包装在 AWS 所谓的缓存卷中。 此包装器使现有本地应用程序可以访问云存储,而客户无需重新设计这些应用程序。 经常访问的数据可以继续作为缓存存储在 iSCSI 卷上,从而减少了延迟时间。 或者,可以将对网关卷的内容的最新更改以快照的形式存储在本地。 但存储网关还支持存储的卷,其中现场设备继续维护卷的完整本地副本,然后通过存储网关在云中进行镜像。 新的 AWS 备份利用了存储网关与物理卷的角色交换,从而使本地副本成为基于云的卷的备份,同时添加了集中式策略管理控制台,其中包含管理如何维护两个副本的规则。

出于灾难恢复的目的,CSP 提供的一项主要好处是,能够在遥远的位置快速存档组织的关键数据,以实现地理冗余或异地冗余。 对于任何 CSP,AWS 在数量最多的可用性区域中运行云数据中心。 它会公布其托管的应用程序自动故障转移到备用区域的本机功能,并将此功能扩展到数据备份冗余。 但故障转移区域位于同一 AWS 区域内。 在极端的灾害情况下(保险代理公司,也就是风险管理人员确实考虑到了这种情况),例如,电力公司电网故障,彼此相邻的可用性区域可能会出现断电。

具有开发人员经验的软件开发人员或 IT 操作员可以使用 AWS 的低级别路由服务 (Route 53) 为组织的特定地理冗余路由编写自定义策略。 但这种方法需要花费大量精力。 最近,AWS 提供了叫做 AWS Global Accelerator 的更易于使用的服务,它是另一个策略引擎,可指导流量并针对应在何处托管服务和存储指示 Route 53。1Global Accelerator 也可以作为一种“über-balancer”加以利用,从而能够在分散的可用性区域中分配多个用于托管应用程序的站点(以及它们的关键数据)。

正如 Amazon 技术人员所建议的那样,确保备份数据存储在相对较远的区域中的另一种方法是,建立 Bucket(AWS 的常规用途备份容器)作为初始备份目标,然后将该 Bucket 复制到任何指定可用性区域中的冗余位置。 AWS 提供了跨区域复制 (CRR) 作为一项单独的服务。2AWS 按存储每 GB 和还原每 GB 的卷对其备份服务定价。

从体系结构的角度来看,AWS 备份旨在用作 AWS 资源的镜像。 使本地资产成为该计划的一部分的方法是通过各种双重后门,首先是将这些本地资产转换为远程 AWS 卷(从 Amazon 的角度来看是远程的),然后将备份接口与这些本地资产的包装器连接起来。

Azure 备份

Azure 备份同样能够备份本地资源(服务器和虚拟机)和 Azure 中托管的资源。 它的目的不是更改数据中心中的现有备份策略,而只是将本地磁盘和磁带驱动器替换为云存储。 Azure 上基于云的备份文件和卷的位置称为“恢复服务保管库”,它的基于浏览器的控制台如图 3 所示。 在通过 Azure 门户设置此保管库的过程中,管理员下载并安装称为 Microsoft Azure 恢复服务代理 (MARS) 的客户端代理。在 Windows Server 中,MARS 作为应用程序运行,看起来非常像 System Center 加载项。 (或者,管理员可能更偏好使用已经内置了 MARS 功能的 System Center Data Protection Manager。)管理员在网络中找到其数据需要备份的卷和服务,然后 MARS 将其代理分发到负责这些组件的服务器地址。

Figure 3: The console for Azure Recovery Services Vault. [Courtesy Microsoft]

图 3:Azure 恢复服务保管库的控制台。 [Courtesy Microsoft]

Azure 备份的交付模型基于灾难恢复的服务级别目标,这提供了合理的指标,用于确定组织可以承受无法访问其业务引擎的时间期限以及可接受的在灾难事件中丢失的数据量。 下一课(灾难恢复)中将介绍这些特定目标(RPO、RTO 和保留期)。

与 Azure 备份相关的恢复类型(与 Microsoft 的灾难恢复服务 Azure Site Recovery 相对)完全围绕数据复制而不是服务还原。 例如,客户可以使用 Azure 备份生成虚拟机映像文件 (VHD) 的副本。 但是,还原 VHD 只是简单地再次在本地存储中重现存档的图像文件,而不会基于该 VHD 重启虚拟服务器。

你只需按每月使用的存储空间为 Azure 备份付费,而无需支付额外的还原费用。 Azure 备份的存储定价模型与冗余选项关联。 当前,Azure 提供了以下两个选项:本地冗余存储 (LRS),它成本最低且可在 Azure 数据中心内复制三次数据;异地冗余存储 (GRS),它可以将数据复制到在地理上与主要区域相距较远的次要区域中。

Google Cloud 存储备份

Google 根据要存储的数据类别提供各种云存储层,例如持久可用的文件、用于虚拟机映像的块存储、用于视频的对象存储。 尽管肯定可以将存储服务用于(也已经用于)备份和恢复,但它并未明确针对这些层中的任何一个层销售品牌备份服务。 Google 确实认为备份将是企业大量投资云存储的主要原因之一。

Figure 4: The contents of a Google Cloud Storage bucket. [Courtesy Google]

图 4:Google Cloud 存储备份桶的内容。 [Courtesy Google]

与 AWS 一样,Google 将其常规用途的存储容器称为 Bucket。 图 4 显示了将数据从本地存储导入 Google Cloud 存储 (GCS) Bucket 这一过程中的一个步骤。 与 Azure 基于三个关键参数构建交付模型的方式类似,GCS 的关键参数是:

  • 性能 - 在此上下文中,它是可用性的代名词(服务器将以多快的速度响应客户对数据读取的请求)

  • 保留期 - 再次提及客户期望将数据存储在云中多长时间

  • 访问模式 - 与可访问性有关(客户期望读取或调用存储数据的频率)

初始化 Bucket 时,GCS 客户选择其存储类,这会指定其复制策略。 此选择确定开始将 Bucket 用于备份后所存储数据的分散程度。 目前,GCS 提供了三种地理位置选择:

  • 区域 - 仅存储在 Google 服务区域的一个选定区域中

  • 双区域 - 跨两个选定的服务区域进行复制

  • 多区域 - 跨多个服务区域冗余分布

接下来,GCS 根据访问 Bucket 的频率对其 Bucket 存储类进行细分:

  • 标准/高可用性 - 供应用程序和用户随时访问的数据

  • Coldline - 允许客户将每月存储费用中的一部分用于访问和传输费用,以使每年要访问的数据不超过几次

  • Nearline - 更多的中端交易,计划每月大约访问一次数据

Google 向企业推销其云基础结构的方法是将其服务以一种无形的设备形式提供。 在这方面,Google 可能会重复努力,既提供设备的含义,又提供如何以单独的服务形式使用它,例如出售烤箱,然后订阅烹饪食品作为增值服务。

这样,GCS 客户组织就可以为其考虑的工作选择所需的基础结构,并为该基础结构(如设备功能)量身定制设置。 (与 AWS 和 Azure 一样,Google 为数据中心提供了机架式安装设备,其明确目的是在本地存储和云存储之间进行高速传输。)然后,这些功能可能会随着时间的推移进行调整,具体取决于存储的使用方式如何变化。 例如,假设一家视频制作公司需要大量备份存储,以用于正在编辑的电影版本。 在编辑过程中,这些副本可能会经常被检索到,因此客户可以将 Bucket 设置为“区域”地区中的“标准”存储。 视频制作完成并公开发布后,尽管可能不会经常访问这些副本,但仍有必要将现有副本保留到下一年。 在这种情况下,出于存档和安全目的,可以将标准 Bucket 转移到具有双区域地区的 Coldline Bucket。

参考资料

  1. Amazon Web Services, Inc.“使用 AWS 全局加速器管理流量”https://aws.amazon.com/blogs/networking-and-content-delivery/traffic-management-with-aws-global-accelerator/

  2. Amazon Web Services, Inc.“设置复制概述”https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html

知识检查

1.

基于云的备份服务的主要目标是: