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

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

      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会在备份过程中一直保持同步阻塞和不修改数据。所以可以保证备份出来的版本跟时间戳的一致性。


    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值