注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

态度决定高度

英语,沟通,rhca,管理

 
 
 

日志

 
 

Tokyo Tyrant(TTServer)-备份恢复和增加从库  

2010-11-23 14:53:16|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
前面我们说了TTServer的使用,以及如何在开始的时候配置主从。在使用中它非常高效和可靠,那么如果我们的服务运行一段时间后,需要增加一个从库(ttserver)来分担压力或者用于负载均衡和HA,因为是线上系统,那么就不应该停机,那么我们应该怎么对数据进行备份和拷贝,然后启动一个slave从库呢? 

1.如何备份和恢复

      登录到ttserver服务器,执行如下命令

      ]# tcrmgr copy -port 11211 localhost  /data/backup.tch

      localhost :ttserver主机名

      /data/backup.tch  备份文件保存的路径,请注意,这里指ttserver所在机器的路径。

    同样,也可以备份远程机器,

      ]# tcrmgr copy -port 11211 remotehost  /data/backup.tch

    备份文件将保存在remotehost的/data/backup.tch

      接下来恢复数据就比较简单,直接替换掉原有ttserver的数据文件,启动就可以了。

      这种方式适用于定期的数据备份,在出现灾难故障时可以恢复到某一个时间的数据。不适合用来增加从库时需要的数据库文件。

2.如何不停机增加从库

    从库需要进行同步,那么就需要有个文件的时间版本,防止数据冲突。

    首先我们建立一个一个如下的脚本文件,存为"backup.sh",并赋予执行权限(chmod 755 backup.sh)。比如存在:

/data/backup/路径下。

#! /bin/sh
srcpath="$1"
destpath="$1.$2"
rm -f "$destpath"
cp -f "$srcpath" "$destpath"    接下执行如下命令,执行的时间会根据你的磁盘性能和数据大小而定。
tcrmgr copy -port 11211 masterhost '@/data/backup/backup.sh' 

materthost:主库主机名,请注意:backup.sh存放的路径是在materthost机器上。

'@/data/backup/backup.sh'  :如果tcrmgr copy命令中,参数以@开始,那么后面的字符串作为命令行执行。

执行完成后,我们进入ttserver的数据目录,执行ls -lh会发现类似下面的文件名,

-rw-r--r--  1 root root 9.2G Aug 25 14:31 casket.tch.1251181588942889

请确认产生casket.tch.xxxxx类似的文件名,xxxxx代表时间戳。

接下来在从库salve上以我们备份的文件来运行ttserver,把时间错写入到一个时间戳文件ttserver.rts。

]$ ls
]$ cp casket.tch.xxxxx casket.tch
]$ echo xxxxx >ttserver.rts
]$ mkdir ulog
]$ ttserver -mhost masterhost -mport mport -port 11211 -ulog ulog -sid 2 -rts ttserver.rts  casket.tch

运行后,ttserver将会以此时间戳进行同步。

masterhost :主库主机名

mport :  主库端口号

到此我们就完成了一个salve从库ttserver的增加。

3.小结

  推荐备份也使用2中用到的方式,上面带上了时间戳,可以精确的知道数据的版本时间。

  另外请注意:在使用此方法进行备份的时候,ttserver会在备份过程中一直保持同步阻塞和不修改数据。所以可以保证备份出来的版本跟时间戳的一致性。
  评论这张
 
阅读(1063)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018