High Availability

4310阅读 0评论2013-10-23 ning_lianjie
分类:Mysql/postgreSQL

在基于3个节点的Percona XtraDB Cluster系统中,关闭任何一个节点,集群都不会有影响.任意时间,你都能以关闭任何一个节点,进行维护或者修改配置.甚至在一个节点意外宕机的情况下,集群都可以继续工作,在其他节点上提供查询服务.

在下线节点后,有两种办法可以在节点上线后补回中途改变的数据:

  1. State Snapshot Transfer: (SST)
    SST是从一个节点复制全部数据到另外一个节点.主要被用来添加新节点.在Percona XtraDB Cluster中有三种方法可以实现SST:mysqldump,rsync和xtrabackup.最差的是mysql和rsync.它们会把你的集群变成只读状态,为了从一个节点向另外一个节点复制数据(SST会使用 FLUSH TABLES WITH READ LOCK命令).xtrabackup在执行SST时,不需要加读锁,仅仅同步.frm文件(和常规备份一样).
  2. Incremental State Transfer (IST)
    如果集群中的节点只宕机了很短的时间,之后它又重新开始工作了.这节点只需要同步宕机这段期间改变的数据.
    这依赖于节点上面的缓存机制.每个节点包含缓存和缓冲(大小可配置)记录了最后N次的改变,并且该节点可以转移这部分缓存.显然,IST只能传送少于最后N次修改的数据,如果数据超过N次,那么在加入节点时,不得不采用SST方式.

You can monitor current state of Node by using

SHOW STATUS LIKE 'wsrep_local_state_comment';

When it is Synced (6), the node is ready to handle traffic.

注意
rsync模式下,没有在普通查询日志发现全局锁的命令

上一篇:About Percona XtraDB Cluster
下一篇:Multi-Master replication