在OpenStack中MySQL数据库的使用很普遍。OpenStack核心服务计算(Nova),存储(Cinder),Neutron(网络),镜像(Glance)和认证(Keystone)都使用MySQL数据库。
MySQL是世界上最流行的数据库,它运行在OpenStack虚拟机内部作为数据库后台支撑OpenStack基于云的应用。MySQL实例可以手工配置到虚拟机环境运行(只需要简单地在在虚拟机中安装MySQL并运行就可以了),也可以通过OpenStack数据库即服务(Trove)按需创建。
在任何情况下,保护MySQL的数据都是最关键的任务。OpenStack云管理员和云客户或租户需要备份和恢复MySQL数据库的功能支持。Mysqldump命令是做MySQL备份和恢复的传统方式。然而,根据MySQL社区以前的经验,mysqldump有广为人知的局限性,尤其是在数据库增长变大以后备份和恢复速度都很不理想。
Percona XtraBackup克服了这些问题,可以更快无阻塞地完成更大数据集MySQL数据库的备份和恢复。它还提供了其它重要功能,比如流处理和加密。它在MySQL及其流行分支产品Percona Server和MariaDB上都运行的非常好。而且它是开源且免费的。Percona XtraBackup在MySQL社区非常流行并被广泛使用。最近该产品已经被采纳到了OpenStack上下文中使用,这是Rackspace云数据库即服务备份和恢复的核心部件。OpenStack数据库即服务(Trove)把Percona XtraBackup用于数据库备份和恢复,部署为可插拔后台。
然而,直到现在Percona XtraBackup仍然没有实现MySQL数据库到云式存储(比如OpenStack Swift或者Amazon WEB服务S3)的流式备份和恢复。Xbcloud工具是Percona为此实现的新版本。从基本层面上来看,该工具应该可以支持MySQL备份到OpenStack Swift。
OpenStack Swift是OpenStack的对象服务。它提供高可用数据存储平台,支持横向扩展并提供跨数据中心和地域的数据灾备。这是OpenStack云平台中默认的基础设施和租户数据存储备份方案,也是最流行的选择。
Xbcloud工具如何工作呢?Xbcloud向OpenStack Swift上传和从OpenStack Swift下载xbstream归档的完整包或者部分包。那么xbstream是什么呢?Xbstream是Percona XtraBackup中支持的一种流格式,它可以克服传统归档格式(比如tar包,cpio和其它不支持流式动态生成文件的格式)的一些局限性,例如动态压缩文件。
归档上传会对Swift中的大对象采用多部分上传的方式进行。采用这种方式,xbstream归档索引文件上传时会包含文件列表,以及其它各部分文件和各自在xbstream归档中的偏移量。该索引只需要根据需要下载部分归档文件(从备份中获取一个或几个表的归档)。
详细用法示例如下:
备份过程:
view sourceprint?
1.innobackupex--stream=xbstream/tmp|xbcloud[options]put<name>
示例:
view sourceprint?
1.innobackupex--stream=xbstream--extra-lsndir=/tmp/tmp|
2.xbcloud put--storage=Swift
3.--swift-container=test
4.--swift-user=test:tester
5.--swift-url=http://192.168.8.80:8080/
6.--swift-key=testing
7.--parallel=10
8.full_backup
恢复过程:
view sourceprint?
1.xbcloud[options]get<name>[<list-of-files>]|xbstream-x
示例:
view sourceprint?
1.xbcloud get--storage=Swift
2.--swift-container=test
3.--swift-user=test:tester
4.--swift-url=http://192.168.8.80:8080/
5.--swift-key=testing
6.full_backup|xbstream-xv-C/tmp/downloaded_full
7.innobackupex--apply-log/tmp/downloaded_full
8.innobackupex--copy-back/tmp/downloaded_full
好玩吧!你也可以来试试。Percona XtraBackup和xbcloud都是开源而且免费的。你可以在这里找到PXB2.3 alpha版(包含了xbcloud)的下载,使用手册和发布说明。
那么我们的下一步是什么呢?我们对xbcloud这个新工具和Percona XtraBackup感到很兴奋,很乐意听到关于该产品的使用情况,可能出现什么问题的信息。我们下一步主要关注社区使用反馈,处理bug和问题,尽快发布正式版本。
除此之外,我们在寻求扩展xbcloud支持其它云平台的方案,比如AWS S3和谷歌云引擎。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
TechTarget特邀编辑。北京邮电大学计算机科学与技术专业硕士。熟悉软件开发流程,对系统管理,网络配置,数据库应用等方面有深入的理解和实践经验。现就职于IBM(中国)投资有限公司,从事IBM服务器相关软件的开发工作。业余时间喜欢游泳登山,爱健身,喜欢结交朋友。
相关推荐
-
2017年5月数据库流行度排行榜 MySQL与Oracle“势均力敌”
数据库知识网站DB-engines.com最近更新了2017年5月的数据库流行榜单。TechTarget继续与您一起分享最新的榜单情况。
-
2017年3月数据库流行度排行榜 Oracle卫冕之路困难重重
时隔一个月,数据库市场经过一轮“洗牌”,旧的市场格局是否会被打破,曾经占巨大市场份额的企业是否可能失去优势?
-
2017年2月数据库流行度排行榜 攻城容易守城难
2016年下半年,数据库排行榜的前二十名似乎都“固守阵地”,在排名上没有太大的变动。随着2017年的悄然而至,数据库的排名情况是否会有新的看点?
-
MySQL管理特性:让企业适合交易平台
当Alexander Culiniac和他的同事在TickTrade系统公司建立一个基于云的交易平台时,面临一些基本的约束。那就是,系统必须在云上工作良好并且经济实用。