阿里云DTS实施小记-阿里云开发者社区

开发者社区> thomaswen> 正文

阿里云DTS实施小记

简介:
+关注继续查看

       最近在XX客户现场进行了一次RDS数据库灾备实施,使用的是阿里云的数据传输服务。这里先简单介绍一下,数据传输(Data Transmission)是阿里云提供的一种支持RDBMS(关系型数据库)NoSQLOLAP等多种数据源之间数据交互的数据服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。通过数据传输可实现不停服数据迁移、数据异地灾备、跨境数据同步、缓存更新策略等多种业务应用场景,助您构建安全、可扩展、高可用的数据架构。

这次实施要使用的是DTS的数据同步功能,将生产RDS数据同步到另外一个可用区的RDS上。了解过DTS的朋友可能都会觉得比较简单,按部就班将DTS配起来然后进行同步不就得了吗。而事实上我的实施过程并没有那么顺利,下面给大家分享一下实施经验,以让大家以后尽可能地少饶坑。

因为同步的数据涉及到门店的会员数据和会员积分等,所以实施时间定在晚上10点。去到客户现场后,也不是说立刻就可以开干的。客户先等到10点半再开始购买DTS,核实了好几次DTS的规格和价格后终于在立即购买那里点击了鼠标。在同步数据之前我们和客户都认同需要对源RDS进行一次全备,在11点我们对源RDS实例进行物理备份(源RDS100G左右的数据量,物理备份这里等了40多分钟)。

       对源数据库备份完后,客户想在做数据同步作业之前先清空目标RDS,明明可以通过控制台删除数据库,但客户貌似对使用命令行操作有独特的信仰,于是我们创建了RDS的高级权限帐号,用该帐号连进去数据库里面,通过命令行清空了里面的库。这里科普一下,阿里云的DTS需要在目标RDS上创建同步帐号dtssyncwriter,因为创建了高级权限帐号,这个时候控制台无法回到原有使用控制台创建数据库和账号模式,需使用 SQL 命令创建数据库和账号,而事实上发现该帐号原本已存在了。到这里为止,准备工作都做了,接下来按照官方指引配完DTS,预检查并开始同步。

       好不容易等到同步完成了,客户发现有两个比较关注的表中多了10多条数据,我们问客户会不会可能在半夜还有新数据的写入?客户坚信门店都已经关门了,绝对不会有人员进店和资料更新的,然后就开始怀疑阿里云DTS是不是不可靠,是不是源和目标RDS会互相同步才导致了数据的增加。如果客户存在这种顾虑和疑问,我们应该绝对肯定的告知客户同步是单向的,不会动原始数据,而事实上当时我们也是这样告知客户的。

       还没开始去找多了数据的原因,这个时候来了个乌龙,客户发现刚才同步的这个目标RDS是经典网络的,而其余的RDS都是专有网络,这对后面的通信是有问题的,客户意识到自己选错了目标RDS,这意味着我们之前的工作又要重做了。

       客户的环境中还有另外一台目标RDS(专有网络)可用来做数据同步,这个RDS同样是之前使用过的,里面的数据已经没用了。客户对操作已经驾轻就熟了,于是直接重新配置了DTS并进行同步,在等待同步的过程中发现目标RDS上存在和源RDS同名的旧库,在同步之前忘记先删除掉了,更糟糕的是,这个时间刚好碰上源RDS那边正在做设定的计划任务的自动备份,无奈只能硬着头皮让它继续同步祈祷最后能同步成功,这个时候已经是凌晨4点。

       硬着头皮同步完,同样的,对比一下比较关注的两个表中的数据,发现目标RDS中只有几条数据,意味着同步不生效,可能的原因有两个,一个是在同步前没有先清空原有的同名旧数据库,另一个是因为当时源RDS正在做自动备份。

       洗了一把脸,再来一次。先直接通过控制台删除掉数据库,然后配置DTS,开始同步。这次同步完成后客户又对比了一下数据,发现源和目标RDS相比上次对比有多了一些数据,我们再次告诉客户请相信阿里云的DTS是单向同步的,除非是源RDS在半夜的时候仍然有新数据写入才导致数据增加的。

       虽然数据是增加了,在客户确认了源RDS和目标RDS两个比较关注的表中记录数是一致的之后,我们决定找出数据增长的原因,发现客户比较关注的两个表中都有createdtime这个字段,然后用sql命令查找createdtime001秒之后的记录,发现的确在凌晨是有新的数据写入,而且数量刚好就是之前对比得出的差值。终于舒了一口气。

最后总结一下,虽然DTS的技术点实施看起来比较简单,但是事实证明结合企业实际情况时也可能会变得复杂。另外,也建议大家在方案涉及的时候考虑风险点和应对措施,在实施前对相关技术了解清楚,在实施时要仔细、按序、彻底,在和客户交流过程中给予客户足够的信心。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9489 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2462 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9050 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13169 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6887 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4008 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21897 0
+关注
1
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载