安得世上无双法,数据丢失回复来——浅析Azure备份服务(一)

数据丢失几乎是每个人都遇到过的痛,无论是个人的照片、视频等资料还是工作中的数据(如数据库、邮件等),无论是误删除还是错误修改,一旦丢失就会造成不可挽回的损失。而备份,则是防止数据丢失的最常见方案。虽然备份的RPO和RTO都不是非常好,但是在长期数据保存中,却是一个最合适的方法。

为了协助客户保护数据,Azure也推出了备份服务,而且不只是针对在Azure云端的数据,包括客户机房的物理机、虚机、文件、应用等,提供了一揽子解决方案(此处应有掌声)。下边,就来看看Azure的备份服务。

备份体系架构

备份架构

在传统备份方案中,一般会采用如下架构:

mark

可以看到,传统备份系统的架构组成要素为:

  • 备份服务器:安装备份管理软件,负责整个备份系统的运维,制定备份计划、发起备份指令、选择备份集、备份数据生命周期管理、备份介质调度等
  • 备份客户端:名字是客户端,但实际一般是服务器,指需要备份数据的电脑,通常装有备份软件的客户端
  • 链路:早期一般采用Lan作为备份链路,随着FC网络的发展,逐步改为LAN-Free即FC网络的链路越来越广泛应用,但是目前源端消重技术大大降低了数据传输量,所以Lan链路又重新开始走入备份环境
  • 备份介质:备份数据的存放地,通常要求大容量(一份数据可能有多分备份)、低成本(没有数据实时访问要求)、高安全(最后一根救命稻草);以往磁带作为最广泛的备份介质,后来基于Disk的虚拟带库逐步走入主流,现在云也慢慢成为很多备份软件可使用的备份介质。作为备份介质,云有着先天优势:价格低(按需付费、选择冷存储)、容量大(可认为无限扩容)、高安全(底层有数据保护)、天然容灾性质(与用户环境隔离)

备份设计

除了架构,备份设计通常还会考虑:

  • 备份方式:文件级备份、物理机裸机备份、虚拟机镜像备份、应用级备份(如数据库等);例如虚机的整体备份虽然可以把虚机完整备份下来,但是对应用的一致性兼容并不好,所以在备份环境里,通常需要针对不同需求制定不同的备份方式
  • 备份级别:全备、增量、差异等不同备份级
  • 备份策略:为了避免对生产系统影响,一般会把备份放置在业务低谷期;以及备份的频率
  • 数据生命周期:备份的数据多长时间作废,可以丢弃
  • 备份窗口:完成一次备份所需时间,过长的备份窗口失去备份意义,所以要通过指定备份方式、策略等来降低备份窗口
  • 恢复演练:制定合理的恢复演练是对备份的验证,确保故障时可以找回数据

————————————————————————————————————————

备份在IT架构中不可或缺,但结构复杂。所以近来备份架构的发展出现几个趋势:整合化(将备份服务器、备份介质等整合成一个黑盒子,简化部署、降低运维难度)、云端化(将备份数据放到云端、降低成本和风险)、虚拟化(为虚拟数据中心和云数据中心提供备份服务)。最终的走向是实现Baas(Backup as a Service),即备份即服务。

Azure备份服务综述

作为公有云提供商,Azure天生具备实现BaaS的优势。

有不少合作伙伴例如Veritas等已在Azure的镜像市场提供了备份服务。但是最近,Azure也在ARM Portal提供了原生的备份服务。

在ARM,备份(Backup)和站点级容灾(Site Recovery)被整合在一起,放到服务Recovery Service Vault里:

mark

mark

在这里,我们无需关注备份软件、拓扑等复杂环境,只需专注在需要保护的数据即可。

点击Backup,可以看到Azure的备份服务不仅可以对Azure云端数据备份,也可以对On-Premises的本地数据进行备份:

mark

分别选择Azure和On-Premises,可以看到Azure支持vm备份,而On-Premises则可以支持大量的备份类型,特别是对应用和裸机的备份,不仅可以用作本地数据,还可以用作对其它云数据的备份:

mark

mark

下边,就从最简单也是最常见的文件备份开始介绍Azure备份服务。

Azure文件备份

整理一下Azure备份服务:

mark

文件备份(Files and folders)虽然是针对On-Premises,但云上(包括Azure)的VM都可以看作广义的On-Premises,所以本测试就以Azure VM作为需要备份文件的机器(备份客户端)。

新建Site Recovery Vault

在portal界面的左边栏选择Recovery Service Vault,点解add,创建一个新的y Vault:

mark

Vault可以看作一个备份一体机引用设备,里边包含了备份所有的组件。

进入新建好的Vault,选择Backup——On-Premises——Files and folders:

mark

准备好文件备份。

备份客户端安装

点击上一步出来的Prepare Infrastructure,可以看到文件备份需要做的准备工作及步骤:

mark

可以看到,通过Azure去备份文件很简单,下载对应的客户端软件,以及Vault的认证文件在需要备份的电脑上安装即可。

目前在Azure文件备份服务中只有Windows的客户端,所以现阶段只支持Windows的文件备份。

下载客户端软件及vault认证文件上传到需要备份的虚机:

mark

运行客户端安装,如果没有特殊设置(如目录、上网代理等)就一路next,并选择用microsoft update去更新客户端,即可完成安装:

mark

下一步在Vault注册客户端,选择下载好的证书文件即可:

mark

为备份创建密码,可以自己选择也可以生成一个密码,并选择目录保存密码文件,这个一定不要弄丢,否则无法恢复:

mark

可以看到在所选目录生成了一个文本文件,记录了备份密码:

mark

客户端注册完成即可运行Microsoft Azure Backup软件开始备份:

mark

文件备份

现在就可以开始备份文件了,以D:\temp\目录为例:

mark

点击Schedule Backup Wizard启动备份设置向导:

mark

点击Add Items添加需要备份的目录:

mark

制定备份策略,可以看到以天为周期或者周为周期,但是有限制,每天的备份不能超过3次,这里我们选择上班、中午、下班三个时间点做备份:

mark

Tips:备份的时间以客户端时间为标准

选择备份数据保留的周期:

mark

选择备份链路(直接通过网络备份到Azure还是备份到本地):

mark

Tips:备份到本地不是做本地备份,而是在数据量比较大时例如期初备份可以先备份到本地然后将磁盘快递到Azure,通过Azure的数据导入服务导入备份数据

最后一步,确认无误,完成备份配置:

mark

mark

这样,我们就配置完成了一个文件备份,等到备份时间点,会自动备份。

如果希望马上发起备份验证设置是否正确,可以点击右边栏的Backup Now,然后在弹出界面里点击Backup:

mark

可以看到备份开始:

mark

整个过程是先创建一个SnapShot,然后提取创建元数据,最后将备份文件传递到Azure,备份很快完成:

mark

在Activity里可以看到备份执行情况:

mark

整个过程轻松愉快,很方便就完成了。

文件恢复

备份不是目的,恢复才是根本。见到并且听到过很多备份不能恢复例子,例如磁带损坏、设备故障、备份不完整等。所以,定期的恢复演练是整个备份架构中不可或缺的一个环节。

下边,就对Azure文件备份进行恢复测试。

本机恢复

还是进入Microsoft Azure Backup,点击右边栏的Recover Data:

mark

可以看到,即支持本机恢复,也可以做异机恢复。这样,当整个电脑出现故障时,可以从另一台电脑恢复数据。这里,先选择This Server,点击下一步:

mark

选择独立文件和文件夹,点击下一步,这里要选择恢复哪个驱动器的数据:

mark

选择后会出来一个日历和时间,在此可以选择恢复哪一个备份,如果文件被误删改,可以恢复不同时间的版本来比较:

mark

可以看到,恢复时并不是简单的覆盖文件,而是通过mount的方式挂载到一个没有使用的临时驱动器,避免覆盖正确数据(可能一个文件夹里只有部分文件需要恢复),此处挂载到了F盘:

mark

打开F盘,可以看到备份的目录及文件,可以将需要恢复的文件直接拷贝即可:

mark

异机恢复

新建一台windows vm,同样安装Microsoft Azure Backup 并注册到Vault:

mark

点击Recover Data,选择Another Server,需要连接到一个备份数据的服务器备份到的Vault,测试环境中只有一个Vault,所以还是选择原有的证书文件:

mark

由于是异机恢复,所以需要选择原来备份的服务器,这里需要原来备份服务器的密码:

mark

后续的过程就和本机恢复一样,选择恢复的时间点,mount到一个临时盘符,根据需要恢复相应的文件:

mark

mark

mark

mark

——————————————————————————————————————————————————

以上简单描述了通过Azure备份服务进行文件备份和恢复。后续将逐一介绍其他备份方式及相应的恢复。

未完待续。。。。。。