发现在创建云服务器ecs实例的磁盘快照时_玩转ECS第7讲|ECS数据保护-数据备份新特性与最佳实践...

简介: 本文中,阿里云智能弹性计算专家余初武(悟元)将结合阿里云近期推出的数据备份新特性(快照极速备份、一致性快照组)来介绍云上环境如何做数据备份的最佳实践;适合需要构建云上架构的工程师,架构师和云上实施从业人员收看。

关键词:极速备份、崩溃一致性、异地备份

演讲嘉宾简介:余初武(悟元),阿里云技术专家,2011年加入阿里巴巴,一直从事服务端研发工作;2015年加入阿里云ECS团队,在ECS管控、云盘、快照等多个管控领域有丰富的研发经验。

以下内容根据演讲视频以及PPT整理而成。观看回放
更多课程请进入“玩转ECS详情页”了解

本次分享主要围绕以下三个方面:

一、快照极速可用特性
二、一致性快照组
三、总结与思考

数据是企业重要资产,作为存储数据的介质,IT设施发生问题是不可避免的,人为误操作或者程序bug导致数据丢失的情况也偶有发生。因此,每一个企业都应该做好数据备份,保证数据的安全与业务的可用。

为了提升备份与同步的性能,阿里云推出了快照极速可用特性和一致性快照组,为了客户提供更高性能的数据备份功能。

本文将重点介绍如何利用这两个新特性,以及阿里云提供的各种运维部署工具,便捷地完成云上自建数据库的数据备份的两个最佳实践。

第一个是自建数据库的磁盘扩容场景,适用于大多数的企业;第二个则是使用了多磁盘自建数据库的场景,则更多见于大型复杂的业务。

一、极速可用特性——秒级,非一致性数据备份

阿里云ECS的极速可用特性主要包括四个方面,分别是快照秒级可用、云盘回滚性能0损失、ESSD增值特性以及全地域支持等。阿里云ECS极速可用特性的典型使用场景包括快速搭建研发测试环境;业务关键配置的变更保护,实现秒级备份相关磁盘数据;云盘极速回滚,并实现回滚的磁盘性能无损耗。

b3caeb36cfb00235b104ef7b0c03f16c.png

基于极速可用的特性,用户仅需要几秒钟的时间就可以复制出一个新磁盘。

这一过程也非常简单,首先创建一个带极速可用特性的快照,关键参数的设置如下图所示,主要包括InstantAccess和InstantAccessRetentionDays,前者设置为True就可以设置成为极速可用的快照,后者则是极速可用特性的保留天数,可以让这特性到期之后就会自动被关闭。当快照创建完成(极速可用特性开启的情况下,不需要等快照进度完成)之后,就能够快速创建磁盘并立即挂载使用。

5b541f3fd6c6f1caa9fc37db309020d6.png

案例:自建数据库,磁盘空间不够,怎么办?

在这样的情况下,最直接能想到的解决方案是纯人工方式。

首先,对于需要扩容的磁盘打好一个普通快照,这个过程一般都比较慢,往往需要几分钟、几小时以及几天不等的时间。

其次,需要人工登录到控制台对磁盘进行在线扩容。

再次,要登录到实例内部找到相应的磁盘进行扩展分区以及文件系统等各种命令的操作,而这些命令往往是非常复杂的,也是非常容易出错的。

这一方案的缺点十分明显,那就是耗时很久,平均需要1到2小时,而且很容易出错。

bd235032a8813a93302cba558fed28d6.png

而目前阿里云推荐的最佳解决方案是将上述过程全部通过编码实现自动化,做成OOS(运维编排,Operation Orchestration Service)的模板,通过OOS模块实现一键扩容,完成上述方案的全部过程。

这种方案的使用方式就非常简单了,用户可以直接进入到OOS控制台,找到相应的模板并创建一个相应的执行即可,整个过程只需要几十秒就可以完成,而且可以进一步优化至十几秒。

cee34b828cbbe47a6c317b5eb6216161.png

接下来对于刚才提到的OOS一键扩容的关键技术内幕进行讲解。

其实在该方案背后主要包括三个关键技术:分别是快照的极速可用特性通过云助手执行扩展分区的命令以及磁盘的序列号

这里值得注意的是通过云助手执行扩展分区命令时,我们无法知道具体扩展的是哪一块磁盘,因此才需要磁盘的序列号。

磁盘序列号这一特性目前在公有云ECS上也已经上线了,用户通过DescribeDisks就可以返回磁盘序列号SerialNumber,之后通过云助手将磁盘序列号传递给GuestOS内部的脚本,而GuestOS内部的脚本则可以通过udevadm info这串命令获取任意一块磁盘已挂载设备的序列号,这个序列号与DescribeDisks返回的序列号是完全一致的,而且从磁盘诞生之后,序列号就不会再发生任何改变,因此可以作为磁盘在GuestOS内部的唯一标识,并且与OpenABI的接口实现唯一关联。

这样才能帮助我们准确无误地找到需要扩展的磁盘去执行相应的命令。同时,因为ECS具有快照极速可用特性,秒级地打出了一个数据备份,一旦发生任何意外,还可以通过快照实现秒级回滚,基本可以做到万无一失地实现自动扩容过程。

eec40f968c3ca92f0dcbe8ad0a741b87.png

二、一致性快照组——崩溃一致性数据备份

介绍完快照极速可用特性,我们继续跟大家分享下一致性快照组。

一致性快照组的主要特点主要包括四点:即多云盘IO写入一致性、ESSD云盘增值特性、实例级别保护以及功能免费。

适用的场景主要有三种:

第一种场景,企业上云的时候可以实现实例级别整机的保护和备份;
第二种场景,自建数据库特别是跨多云盘自建数据的模式下,一定要使用一致性快照来备份;
第三种场景是SAP HANA的整机一致性保护,也需要用到一致性快照。

9a55e5ee4c040a78c7d46643f7a3282c.png

案例:使用多数据盘自建数据库

这里要介绍的案例是自建数据库时使用了多数据盘,这样的做法主要是为了将数据库常见的日志和数据拆分到独立的云盘上去,使得整个数据库的性能和稳定性都能够得到较大的提升,同时实现日志和数据的读写隔离。

在这种情况下,一旦需要拆分就会遇到两块磁盘上数据存在强关联关系的问题。熟悉数据库的同学都知道,任何一次写操作都会先进行日志操作,日志写完之后再去修改真正的数据,当数据写入完成之后再回来修改日志,比如像MySQL的Redo日志等。

可见,日志和数据存在强依赖逻辑关系,此时如果打普通快照,那么存在任何一点点时差都会导致写入数据在两块磁盘上存在不一致的问题,此时就必须要用到一致性快照,实现崩溃一致性的数据备份。

b5a1e3e480c897406a823fe81e27da5d.png

对于这样的案例场景,阿里云也提供了最佳实践,也就是使用ROS(资源编排,Resource Orchestration Service)。

该方案的基本过程就是将上述理念通过ROS实现模板化,通过ROS创建完全一样的数据库系统。方案关键点在于创建两块独立的数据盘,一块放数据,另外一块放日志,同时对于两块数据盘赋予系统的数据库快照策略Auto Snapshot Policy,并定期地对于两块盘进行数据备份,并且使用一致性快照进行备份,避免出现废弃数据的问题。

c3c0971cb551c99314cf20c5504eab17.png

三、总结与思考

以上的案例都是基于自建数据库的,这两个案例的关键点在于多数据盘和自动扩容磁盘。

将上述两个案例进行串联才能够看到真实的使用场景,也就是先用ROS固化上述提到的最佳实践过程,也就是实现多数据盘,即日志盘和数据盘的隔离,并且使用自动快照的策略定期地打一致性快照。

与此同时,配上云监控就能够在磁盘空间不足的时候,及时报警,此时再通过OOS一键扩容实现磁盘的自动扩容。

当然,这个过程还可以更进一步优化,在OOS控制台配置相应的云监控项目,当收到监控项报警之后自动触发OOS运行和扩容的模板进行一键扩容,真正地实现自动扩容,也就是所谓“无人值守”。

d0891e4c5df379d723e931eeeeacd1c9.png

对于本次介绍的新特性进行总结,本次主要介绍了极速可用和一致性快照两个新特性,这两个新特性很快就会上线供大家使用。

对于极速可用特性而言,建议结合OOS、云助手来磁盘或者其他场景的自动运维实践。如果要对云盘进行操作或者自动化运维则需要使用磁盘序列号在GuestOS内部唯一地标识一块磁盘,这样才能做到准确无误。一致性快照则是在MySQL这种多盘场景下才会使用,主要用来实现奔溃一致性备份。

feac9ac669bc9023d7c975e62676d0ef.png

本次分享到此结束,感兴趣的同学可持续关注和学习云上环境数据保护最佳实践。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二分法求方程的根_快速求解方程的根——二分法与牛顿迭代法

今天是周四高等数学专题的第7篇文章。之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西。我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题。而说到数学问题就离不开方程,在数学上我们可以用各种推…

关于android开发环境的创建

最近想暑假找个实习单位,想想java android方面的应该比c、C要好点,然后就想重操旧业学习android 大三的时候我学过一个学期的android知识。当时创建开发环境我很快就弄好了,但是环境创建险些让我崩溃。 环境搭建包括四步: 1、JDK安…

Android多种View动画:EasyAndroidAnimations

Android多种View动画:EasyAndroidAnimations EasyAndroidAnimations是Android的一个动画库,使用起来简单方便,EasyAndroidAnimations将一个Android View以各种形式的动画动起来。 其中如图: EasyAndroidA…

关于ubuntu无法启动nginx的问题

在ubuntu13.04上使用apt方式安装nginx发现无法启动nginx,也不报错 查看nginx运行状态,显示未启动 搜索无果,想起了原来的遇到的一个问题,那时候是安装了nginx和lighthttpd服务器,导致nginx无法启动的情况,提…

Oracle以SQL方式导出导入(转移)数据

为什么80%的码农都做不了架构师?>>> 导出源数据 源数据库为Oracle 9g使用SQL Developer导出数据库的表结构和数据,导出成sql文件。这里的源Oracle和目标Oracle的编码是否相同,如果表字段里有时间类型的那么还要注意两库的日期格式…

oppo售后解锁恢复工具.zip_OPPO手机4个不为人知的小技巧,全知道的竟然不到1%,令人唏嘘...

随着科技的发展速度加快,智能手机产品也越做越高端。手机里面也包含着很多很实用的技巧,却没有多少人知道,简直就是白白的浪费呀!应用分屏一个很好用的功能,利用它我们可同时进行两种操作,比如:…

matlab中方波信号的谐波表示

matlab中方波信号的谐波表示 一.数学运算 二.matlab代码 t-7:0.001:7; %x(t)中t取值范围为【-7,7】 T11; T4; w2*pi/T; a02*T1/T; Ninput(请输入谐波数); Xta0*ones(1,length(t)); for k1:NXtXt2*a0*sinc(k*a0)*cos(k*w*t); end plot(t,Xt);三.运行结果 四。结论 很明显…

websocket onclose方法什么时候触发_WebSocket断开重连解决方案,心跳重连实践

WebSocket是前后端交互的长连接,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。项目中,我们经常会使用WebSocket和服务器建立持久的连接。但是前…

matlab计算离散卷积

一.卷积的数学运算 (1)定义法 (2)图解法 (3)竖式乘法 二.matlab中计算离散卷积使用conv()函数 conv(a,b) 计算序列a与b的卷积 以上图中的习题为例 matlab代码如下: n1[ -2 -1 0 1 2 3 4 5]; …

Maven中使用本地JAR包

为什么80%的码农都做不了架构师&#xff1f;>>> 在Maven项目中使用本地JAR包有两种方法&#xff1a; 1、使用system scope <dependencies><dependency><groupId>org.richard</groupId><artifactId>my-jar</artifactId><ver…

折半查找法(二分查找法)

一.举例 二.算法时间复杂度 假设一共有n个元素 第一次折半元素个数变为n/2; 第二次折半元素个数变为n/4; 第三次折半元素个数变为n/8&#xff1b; 。。。。。 第k次折半元素个数变为n/2^k; 。。。。。 假设k次找到&#xff0c;即为n/2^k1&#xff1b; klog2(n); 三.函数实现 …

悬浮截图软件_Windows最好用截图工具,QQ第一,它第二

大家平时可能都有自己惯用截图工具&#xff0c;比如 Snipaste、PickPick、QQ 截图&#xff0c;还有 Windows 自带的 WinShiftS 截图快捷键等等。如果你不是工具控&#xff0c;那一般来说 QQ 截图和 Windows 快截键就是最简单方便的两个截图工具了。但是真要说简单方便&#xff…

[摘记]数值方法04——函数求值

注&#xff1a;以下来自《C数值算法一书》&#xff0c;仅对章节内容做摘要&#xff0c;为的是给自己扫盲&#xff0c;不涉及算法。 这里只讨论一些最清晰明了的一般方法。 1. 级数与其收敛性 思想&#xff1a;解析函数可在某点x0的邻域内展开成级数&#xff1a;。用这个级数可以…

java文件处理之压缩,分割

http://blog.csdn.net/ycg01/article/details/1366648 java文件处理之压缩,分割 标签&#xff1a; javaexceptionimportnullbytefile2006-11-05 00:30 1574人阅读 评论(1) 收藏 举报分类&#xff1a;点滴&#xff08;12&#xff09; 版权声明&#xff1a;本文为博主原创文章&am…

Hook KiUserExceptionDispatcher参数指针错误的问题

跟了一个晚上,终于解决了 大概要实现的是用这个函数替换ntdll中的KiUserExceptionDispatcher,实现方法如下: VOID NTAPI KiUserExceptionDispatcher(PEXCEPTION_RECORD pExcptRec,PCONTEXT pContext) { DWORD retValue; if (RtlDispatchException(pExcptRec,pContext)) { retVa…

Docker image Introduce

Docker 的image是运行的基本.例如我们build一个image时, 在Dockerfile每条指令会产生一个可读写的image, 下一条指令使用上一条指令产生的image为基础, 继续产生image(然后删除上一个image), 如果指令没有对image有修改的动作, 那么可以使用image cache. 所有的指令执行完, 生成…

vue 筛选组件_记一个复杂组件(Filter)的从设计到开发

此文前端框架使用 rax&#xff0c;全篇代码暂未开源&#xff08;待开源&#xff09;原文链接地址&#xff1a;Nealyang/PersonalBlog前言貌似在面试中&#xff0c;你如果设计一个 react/vue 组件&#xff0c;貌似已经是司空见惯的问题了。本文不是理论片&#xff0c;更多的是自…

python的正则表达式 re

2019独角兽企业重金招聘Python工程师标准>>> 原文发表在&#xff1a; http://luy.li/2010/05/12/python-re/ 延伸阅读&#xff1a;python的 内建函数 和 subprocess 。此文是本系列的第三篇文章了&#xff0c;和之前一样&#xff0c;内容出自官方文档&#xff0c;但…

福克斯保养明细

福克斯轮胎厚度&#xff1a; 胎冠厚度在13mm左右(胎冠花纹深7mm、胎冠厚6mm&#xff09;&#xff0c; 胎侧厚度5mm。 现在的轿车轮胎一般胎面胶层厚度都比较厚&#xff0c;以165/70R13 锦湖KR19轮胎为例:花纹深度为7毫米&#xff0c;缓冲层1&#xff0d;1.5毫米&#xff0c;冠带…

USACO 1.1 Your Ride Is Here

今天开始切USACO 加油 /* ID: aznfy1 PROG: ride LANG: C */ #include <iostream> #include <fstream> #include <string> #include <stdio.h>using namespace std;char a[10],b[10];int main() {freopen("ride.in","r",stdin);f…