云上自建数据库,秒级备份,看这篇就对了!
导读:数据是企业重要资产,作为存储数据的介质,IT设施发生问题是不可避免。因此,每一个企业都应该做好数据备份,保证数据的安全与业务的可用。
本次分享将重点介绍如何利用阿里云快照极速可用特性和一致性快照组,便捷地完成云上自建数据库的数据备份。
作者 | 阿里云技术专家 余初武
来源 | 弹性计算百晓生
极速可用特性——秒级,非一致性数据备份
阿里云ECS的极速可用特性主要包括四个方面,分别是快照秒级可用、云盘回滚性能0损失、ESSD增值特性以及全地域支持等。阿里云ECS极速可用特性的典型使用场景包括快速搭建研发测试环境;业务关键配置的变更保护,实现秒级备份相关磁盘数据;云盘极速回滚,并实现回滚的磁盘性能无损耗。
基于极速可用的特性,用户仅需要几秒钟的时间就可以复制出一个新磁盘。
这一过程也非常简单,首先创建一个带极速可用特性的快照,关键参数的设置如下图所示,主要包括InstantAccess和InstantAccessRetentionDays,前者设置为True就可以设置成为极速可用的快照,后者则是极速可用特性的保留天数,可以让这特性到期之后就会自动被关闭。当快照创建完成(极速可用特性开启的情况下,不需要等快照进度完成)之后,就能够快速创建磁盘并立即挂载使用。
案例:自建数据库,磁盘空间不够,怎么办?
在这样的情况下,最直接能想到的解决方案是纯人工方式。
- 首先,对于需要扩容的磁盘打好一个普通快照,这个过程一般都比较慢,往往需要几分钟、几小时以及几天不等的时间
- 其次,需要人工登录到控制台对磁盘进行在线扩容。
- 再次,要登录到实例内部找到相应的磁盘进行扩展分区以及文件系统等各种命令的操作,而这些命令往往是非常复杂的,也是非常容易出错的。
这一方案的缺点十分明显,那就是耗时很久,平均需要1到2小时,而且很容易出错。
而目前阿里云推荐的最佳解决方案是将上述过程全部通过编码实现自动化,做成OOS(运维编排,Operation Orchestration Service)的模板,通过OOS模块实现一键扩容,完成上述方案的全部过程。
这种方案的使用方式就非常简单了,用户可以直接进入到OOS控制台,找到相应的模板并创建一个相应的执行即可,整个过程只需要几十秒就可以完成,而且可以进一步优化至十几秒。
OOS一键扩容关键技术讲解
接下来对于刚才提到的OOS一键扩容的关键技术内幕进行讲解。
其实在该方案背后主要包括三个关键技术:分别是快照的极速可用特性、通过云助手执行扩展分区的命令以及磁盘的序列号。
这里值得注意的是通过云助手执行扩展分区命令时,我们无法知道具体扩展的是哪一块磁盘,因此才需要磁盘的序列号。
磁盘序列号这一特性目前在公有云ECS上也已经上线了,用户通过DescribeDisks就可以返回磁盘序列号SerialNumber,之后通过云助手将磁盘序列号传递给GuestOS内部的脚本,而GuestOS内部的脚本则可以通过udevadm info这串命令获取任意一块磁盘已挂载设备的序列号,这个序列号与DescribeDisks返回的序列号是完全一致的,而且从磁盘诞生之后,序列号就不会再发生任何改变,因此可以作为磁盘在GuestOS内部的唯一标识,并且与OpenABI的接口实现唯一关联。
这样才能帮助我们准确无误地找到需要扩展的磁盘去执行相应的命令。同时,因为ECS具有快照极速可用特性,秒级地打出了一个数据备份,一旦发生任何意外,还可以通过快照实现秒级回滚,基本可以做到万无一失地实现自动扩容过程。
一致性快照组——崩溃一致性数据备份
介绍完快照极速可用特性,我们继续跟大家分享下一致性快照组。
一致性快照组的主要特点主要包括四点:即多云盘IO写入一致性、ESSD云盘增值特性、实例级别保护以及功能免费。
适用的场景主要有三种:
- 企业上云的时候可以实现实例级别整机的保护和备份;
- 自建数据库特别是跨多云盘自建数据的模式下,一定要使用一致性快照来备份;
- SAP HANA的整机一致性保护,也需要用到一致性快照
案例:使用多数据盘自建数据库
这里要介绍的案例是自建数据库时使用了多数据盘,这样的做法主要是为了将数据库常见的日志和数据拆分到独立的云盘上去,使得整个数据库的性能和稳定性都能够得到较大的提升,同时实现日志和数据的读写隔离。
在这种情况下,一旦需要拆分就会遇到两块磁盘上数据存在强关联关系的问题。熟悉数据库的同学都知道,任何一次写操作都会先进行日志操作,日志写完之后再去修改真正的数据,当数据写入完成之后再回来修改日志,比如像MySQL的Redo日志等。
可见,日志和数据存在强依赖逻辑关系,此时如果打普通快照,那么存在任何一点点时差都会导致写入数据在两块磁盘上存在不一致的问题,此时就必须要用到一致性快照,实现崩溃一致性的数据备份。
对于这样的案例场景,阿里云也提供了最佳实践,也就是使用ROS(资源编排,Resource Orchestration Service)。
该方案的基本过程就是将上述理念通过ROS实现模板化,通过ROS创建完全一样的数据库系统。方案关键点在于创建两块独立的数据盘,一块放数据,另外一块放日志,同时对于两块数据盘赋予系统的数据库快照策略Auto Snapshot Policy,并定期地对于两块盘进行数据备份,并且使用一致性快照进行备份,避免出现废弃数据的问题。
总结与思考
以上的案例都是基于自建数据库的,这两个案例的关键点在于多数据盘和自动扩容磁盘。
将上述两个案例进行串联才能够看到真实的使用场景,也就是先用ROS固化上述提到的最佳实践过程,也就是实现多数据盘,即日志盘和数据盘的隔离,并且使用自动快照的策略定期地打一致性快照。
与此同时,配上云监控就能够在磁盘空间不足的时候,及时报警,此时再通过OOS一键扩容实现磁盘的自动扩容。
当然,这个过程还可以更进一步优化,在OOS控制台配置相应的云监控项目,当收到监控项报警之后自动触发OOS运行和扩容的模板进行一键扩容,真正地实现自动扩容,也就是所谓“无人值守”。
对于本次介绍的新特性进行总结,本次主要介绍了极速可用和一致性快照两个新特性,这两个新特性很快就会上线供大家使用。
对于极速可用特性而言,建议结合OOS、云助手磁盘或者其他场景的自动运维实践。如果要对云盘进行操作或者自动化运维则需要使用磁盘序列号在GuestOS内部唯一地标识一块磁盘,这样才能做到准确无误。一致性快照则是在MySQL这种多盘场景下才会使用,主要用来实现奔溃一致性备份。
本次分享到此结束,感兴趣的同学可持续关注和学习云上环境数据保护最佳实践。
关注百晓生,笑谈云计算

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
带你了解计算机百年趣味史
今天跟大家分享的是计算机百年趣味史,下拉文末获取网盘链接 1.硬件革命 1.1数字计算机失败的传奇 1.2人类首台计算机诞生 1.3半导体和集成电路发展历程 1.4蓝色巨人IBM 1.5 大机时代崛起 1.6小型机的发展 1.7 PC时代的到来 2.Linux萌芽 2.1 UNIX诞生 2.2 Minux 2.3 Linux 点击链接获取完整文档 链接:https://pan.baidu.com/s/1ELPd0Jk6IX3KYVz9y1gByA 提取码:uayy ※部分文章来源于网络,如有侵权请联系删除;更多文章和资料|点击后方文字直达 ↓↓↓ 100GPython自学资料包 阿里云K8s实战手册 [阿里云CDN排坑指南]CDN ECS运维指南 DevOps实践手册 Hadoop大数据实战手册 Knative云原生应用开发指南 OSS 运维实战手册 云原生架构白皮书 Zabbix企业级分布式监控系统源码文档 10G大厂面试题戳领
- 下一篇
你用过这款软件吗?
在逛逛的交流群里,有粉丝问我 “为啥你的桌面上啥都没有,咋启动软件呢?”其实每次重装系统后,我会重新装一些常用的软件,有一个软件逛逛永远不会丢弃,这个软件就是:Wox。我相信有很多兄弟都在用这款小软件。它是一款国产开源免费的软件快捷启动工具。 Wox 有丰富的插件,解放生产力,效率蹭蹭蹭的提升。 截止今日,在 GitHub 上已经有 18.9k 的 Star,受欢迎程度可想而知。 你可以将Wox看作一个高效的本地快速搜索框,通过快捷键呼出,然后输入关键字来搜索程序进行快速启动,或者搜索本地硬盘的文件,打开百度、Google 进行搜索,甚至是通过一些插件的功能实现单词翻译、关闭屏幕、查询剪贴板历史、查询编程文档、查询天气等更多功能。 下载地址:github.com/Wox-launcher/Wox/releases 1. 背景 发现这款软件的背景是这样的。 公司数据库存的是时间戳,每次转换都得复制到网页里,找个某某在线转换。这个需求对我来说十分平常,所以就会浪费大量的时间。偶尔有一天,发现公司架构师在转时间戳时,没有打开任何软件,跑去问了下。他的用 mac,mac 上有款神器叫 alfr...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS6,CentOS7官方镜像安装Oracle11G