数据存储是各类应用的核心,它决定着应用的生死存亡。所存储的数据的安全性,与上层应用的安全性、可靠性、可用性息息相关。应用层的Bug、运维人员的误操作、不可预知的环境因素,都有可能会危及数据的完整性与可用性,进而导致应用的不可用。无数次的运维人员误删数据库、硬盘损坏、施工挖断电缆,正向我们展示了数据存储的脆弱性,也警示着我们要时刻关注数据安全性问题。而备份,则是提升数据安全性的重要手段之一,它可以以额外的存储空间、带宽消耗以及CPU消耗来换取更高的数据安全性。
阿里云文件存储(NAS,Network Attached Storage)是一种分布式的网络文件存储系统,为ECS、HPC、Docker、Batch Compute等提供安全、无限容量、高性能、高可靠、简单易用的文件存储服务。
作为直接支持用户应用的存储服务,NAS在数据可用性、数据可靠性、数据安全性上进行了大量的开发、优化与支持,并提供了一系列的服务帮助用户更好地了解他们的数据、管理他们的数据。备份服务是NAS提供的诸多功能之一,以帮助用户进一步提高他们的数据安全性,使得数据不再畏惧于天灾或者人祸。目前,NAS备份服务还处于公测当中,正式版本的备份服务也在紧张的设计与开发当中。接下来,本文将介绍NAS正在公测的备份服务的使用方法与典型实践。
NAS备份服务架构
NAS备份服务架构如图所示:
Backup Service会根据Backup Plan来将任务下发到Backup Executor,Backup Executor会将待备份文件系统的数据从一个可用区传输到另外一个可用区中。
备份实践
在对数据进行备份时,我们需要考虑三个问题:
- 备份的触发:我们在什么情况下需要进行一次备份?
- 备份的历史变更:一系列备份后形成的版本历史线。
- 备份的使用:主数据出现问题时,我们需要从备份版本历史线中选出一个版本,并进行恢复。
我们将从这三个维度来介绍NAS备份服务的使用与实践。
备份的触发
新建备份时,用户可以指定文件系统的备份触发策略,备份触发策略由两个参数值确定:备份开始时间与备份间隔时间。备份开始时间指定了备份操作第一次被触发的时间,备份间隔时间指定了上一次备份完成后下一次备份执行的时间。两个值协同起来,定义了时间维度上一系列备份的触发。那么,我们应该如何设置这两个值呢?
NAS备份服务在对源文件系统进行备份时,会发生数据传输,而数据传输的过程会消耗一定的CPU与带宽。为了避免影响用户的正常服务,备份服务会对整个备份过程进行流控。另一方面,整个过程视源文件系统的大小而消耗不同的时间。显然,备份服务会对源文件系统的IOPS与带宽有略微的消耗。如果希望完全避免备份服务对文件系统正常服务的影响,我们需要精心设置备份开始时间与备份间隔时间。一种可行的方法是将备份开始时间设置为00:00,将间隔时间设置为24小时。这样,备份服务会总是在业务压力较小的凌晨运行,从而做到普通用户无感知。
除了自动触发备份外,NAS备份服务还提供了手动触发备份,给用户以最大的灵活性来进行数据备份。
备份历史
每一次的备份运行,都会生成文件系统的一个实时备份,一系列的备份组成了文件系统的一个备份历史。我们在创建备份时,可以设置备份保留份数。显然,保留的份数越多,当系统不幸出现数据损坏时,我们可以追溯的时间越久,我们甚至可以追溯到数天、数周、甚至数月以前的数据。然而,备份需要消耗大量的存储资源,保留的备份份数越多,所付出的成本也就越大。当然,目前正在公测中的NAS备份服务是完全免费的。为了在数据安全性与成本之间做出妥善的权衡,我们需要认真思考备份开始时间、备份间隔时间、备份保留份数。一个可行的方案是每天凌晨备份一次,保留三份备份。这种设置可以将备份对业务的压力降到最低,同时,在数据出现故障时,留给运维人员一定的时间(三天)去发现它,并进行恢复。
备份恢复
当主数据不幸出现故障而被损坏时,我们需要使用备份过的副本进行恢复。数据恢复涉及到线上数据的变更,这是一个高危操作,操作失误可能会误覆盖掉线上正确的数据。为了尽可能的避免运维人员此类误操作,NAS备份服务对备份恢复添加了较为严格的限制:恢复的目标文件系统必须是一个空文件系统。这种强制限制为用户提供了多一次的思考机会,并且在很大程度上杜绝了运维人员覆盖其他可用线上数据的情况。
备份服务使用示例
下面演示NAS备份服务的使用方法。
- 申请公测资格
- 创建备份任务
- 手动触发一次备份(一般不需要,自动触发足够了)
- 查看备份进度
- 数据恢复
结语
数据可靠性、可用性、安全性是用户应用的生死线,阿里云文件存储致力于为用户提供高性能、高一致性的共享文件存储服务,同时,数据可靠性、可用性、安全性也是我们从不妥协的底线,我们将一直心怀敬畏、砥砺前行,为用户提供更好、更强、更宜用的文件存储服务。欢迎广大用户参与进来,提出宝贵的意见,帮助我们做到更好。您的每一次使用,都是我们前进的无限动力。