带你读《从基础到应用云上安全航行指南》——万字干货教你如何保证业务数据全流程安全(1):https://developer.aliyun.com/article/1441579
三、关键业务数据的可用性备份与恢复方案
ECS在数据的备份与恢复上提供了较为丰富的产品安全能力,以保证用户对数据可用性的诉求。产品安全能力方案包括使用快照备份以恢复数据,使用镜像备份以恢复数据,数据盘分区数据丢失恢复方案,多可用区部署架构实现数据容灾与恢复。
首先来看一下快照备份与恢复。
什么是快照,云上快照指的是云盘数据在某个时间的完整拷贝或镜像。阿里云的快照服务是一种无代理的数据备份方式,可以为单个云盘或者云盘组上的数据块创建某一个时刻或者多个时刻的完整拷贝。云盘创建的第一份快照是所有数据快的全量快照,后续创建的快照是增量快照。快照是一种重要的容灾手段,当云盘数据丢失或者异常的时候,可以通过快照将云盘数据完整的恢复到某一个时间点。
快照是云盘在某个或者多个时间点的数据备份。快照分为全量快照和增量快照。全量快照和增量快照的元信息中都会存储全量的数据块信息,所以使用任意一个快照回滚云盘的时候,都可以恢复对应时间点之前的所有数据。
快照的创建原理如图所示的第一次创建快照是云盘的全量快照,后续每次创建的快照都是增量快照,不管云盘新增数据还是删除数据,增量快照只记录以最近一次快照对比云盘新增的数据。和创建快照相反的是,删除快照需要根据快照包含数据块以及云盘数据块的引用关系来进行释放。
快照的删除原理如图所示,第一份全量快照删除以后,全量快照的属性会顺延到后面的第一个增量快照,同时该全量快照只保留当前有磁盘引用关系的数据。云盘历史已删除的数据不会在最新的全量快照中。
快照通常有以下几种使用场景。快照回滚云盘,当云盘它因为误删除、误修改或者因为勒索病毒的原因造成数据丢失的事故的时候,使用云盘的历史快照可以对云盘进行回滚操作,从而使云盘的数据恢复到创建快照的时候的状态。
另外,快照也可以创建新盘,使用快照创建一个新盘,新的云盘的数据块和原来的硬盘完全一样,可以实现硬盘的快速复制,以便于在不同场景中使用。另外,快照还支持拷贝,同地域或者跨地域的复制快照,可以实现同地域或者跨地域的数据备份。
快照共享,将您已经创建好的系统盘或者数据盘的快照,可以共享给其他域名账号或者基于资源目录在企业组织内进行共享。快照创建自定义镜像,即已有的快照创建自定义镜像,可以将一台ECS操作系统数据制作成环境副本,再通过自定义镜像创建多台ECS实例,快速复制系统环境。
快照也有一些使用限制。快照无法导出,但系统盘创建的快照可以使用快照创建自定义镜像,用户可以导出自定义镜像。不过要注意的是,数据盘快照是无法创建自定义镜像的。另外,历史系统盘快照也不能用于回滚新的系统盘。还有本地盘无法支持创建快照。
使用快照备份关键业务数据是非常有意义的。但是通过手工打快照的方式,是很容易造成数据遗漏、不及时等等问题,这时就需要使用自动快照策略。自动快照功能通过自动快照策略实现,自动快照可以在预设的时间点周期性的创建快照,保护系统盘和数据盘的数据。
合理的使用自动快照功能可以提高系统数据安全和操作容错率。自动快照和手动快照的主要区别在于创建方式、快照来源以及快照的命名方式上差别。比如自动快照以auto2.0开头命名,而手动快照是自定义命名的。
自动快照可以通过四种方式进行释放,包括手动释放、随云盘释放、到期自动释放以及超过配额释放。我们强烈建议您使用自动快照策略对关键业务数据的云盘进行定期数据备份,应对因误删除、勒索病毒造成的数据丢失或者应用系统故障,需要时可以快速找回云盘数据,以保证业务的连续性。
除了使用快照备份数据之外,也可以使用镜像。
镜像是ECS实例的装机盘,为ECS实例提供了操作系统初始化的应用数据、预装软件。创建ECS实例时必须选择镜像,镜像相当于副本文件,副本文件中可以包含一块或者多块硬盘的所有数据,通过云盘可以是单块系统盘,也可以是系统盘和数据盘的组合。
镜像按照来源去区分,主要是分公共镜像,自定义镜像、共享镜像、云市场镜像、社区镜像这五种,公共镜像是阿里云官方提供的操作系统镜像,都有正版的授权,而且提供了阿里云官方的安全与稳定性测试。自定义镜像,顾名思义就是您自己创建管理的镜像,来源可以通过实例快照创建或者使用OSS导入,也可以从本地导入。共享镜像是其他账号共享给的镜像,云市场镜像是阿里云或者第三方ISV提供的,镜像中会包含一些预安装的一些软件,社区镜像是任意的阿里云用户在镜像社区发布的公开镜像。
自定义镜像可以包括系统盘和数据盘的所有数据,比如实例的配置、操作系统、安装的软件以及全量的数据的备份,所以可以通过自定义镜像对ECS实例数据进行备份。需要注意的是,镜像备份只能通过手动触发。镜像备份完成以后,可以使用备份的镜像创建新的ECS实例,快速部署相同的操作系统和数据环境的ECS实例,以达到数据恢复的效果。
同时,快照和镜像也支持跨地域、跨用户的数据备份效果,使用快照以镜像拷贝能力,可以支持数据的跨定义备份与恢复能力,使用快照和镜像的共享能力,可以支持数据的跨账号备份与恢复能力。
除了使用快照镜像备份恢复数据之外,也支持数据盘分区数据丢失的恢复方案。
在处理磁盘相关问题时,您可能会碰到操作系统中数据盘分区丢失的情况。Linux实例下可以使用fdisk等对应的一些工具,有些是Linux系统会默认安装的,有些是您可以自己安装。像fdisk、partprobe工具主要用于恢复Linux系统的磁盘分区和数据,Linux系统不会默认安装,需要自己安装。
像Windows实例可以使用系统自带的磁盘管理以及一些商业化的数据恢复软件。数据盘分区恢复以及数据的恢复是处理数据丢失问题的最后一道防线,但未必能够恢复数据。我们强烈建议您对数据创建快照,可以通过手动或者自动的方式进行备份,以最大程度的保护数据安全。
像使用快照、使用镜像、数据盘分区数据恢复的方案,都是数据在丢失之后事后的恢复方案,也可以通过多可用区部署架构,实现在事中的数据容灾恢复。
以同城两个可用区机房部署ECS机型为例,ECS实例通过多可用区部署架构实现应用的高可用性和容错能力。通过在应用前端购买的SLB产品部署多台ECS服务器,使用弹性伸缩技术,您可以实现ECS的容灾恢复。即使其中一台ECS服务器故障或者因为资源利用率超负荷,服务器仍可以对外持续提供服务,从而保障业务的连续性和可用性。
负载均衡设备通过多可用区级别的SLB做首层流量的接入,当用户请求到达时,负载均衡首先接收流量并且智能的路由到不同的可用区的ECS集群中,之后由每个可用区内部署的ECS集群来处理负载均衡分配的用户请求,这样可以增加系统的容灾的能力。
ECS集群分布在不同的可用区的机房内,每个ECS节点都配置有相同的能力,以确保在单个节点发生故障的时候整体服务不受影响。这些对等的节点共同支撑着数据层的应用和服务器管理的一些功能。
如果某个ECS节点出现故障,系统将自动执行热迁移,将受影响节点上的业务无缝迁移到其他健康的ECS节点上。这个过程确保业务访问的持续性,且最大化的减少了单点故障或者热迁移过程中可能出现的故障对业务的影响。
如果热迁移失败,系统会有事件记录并通知故障。您可以通过系统事件或知故障原因并步入新的ECS节点来替换受影响的节点,以此维护服务的正常运行和业务的连续性。通过这种自动化的和监控机制,确保系统的高可用性和业务的稳定性。
数据层可以使用对象的OSS存储,在第一级别部署对象的存储OSS,不同可用器机房的ECS节点可以直接访问存储在对象存储的文件,提高数据访问速度和可靠性。
另外,数据库应用可以推荐使用支持多可能区服务器部署的。在选择多可用区部署时,主节点支持多可用区的读写操作,可与应用层的数据流量无冲突的操作。同时被节点也会在多个可用区进行部署,并具备多可用区的读能力。这样在主节点发生故障的时候,ECS节点仍可以从被节点读数据,以确保数据的可用性和业务的连续性。
带你读《从基础到应用云上安全航行指南》——万字干货教你如何保证业务数据全流程安全(3):