ITPub博客

首页 > Linux操作系统 > Linux操作系统 > GREENPLUM介绍之数据库管理(七)- 配置数据库高可用性之master镜像

GREENPLUM介绍之数据库管理(七)- 配置数据库高可用性之master镜像

原创 Linux操作系统 作者:LEE_CHAO 时间:2011-04-25 12:37:38 0 删除 编辑
        master镜像是通过把primary master对应的standby master放置到不同的物理主机实现的。正常情况下只有primary master接受用户连接请求,standby master通过gpsyncagent进程(运行在standby master上)利用事务日志保持与primary master的同步。由于master上不存放任何用户数据,存放在其中的表不会频繁更新,因此同步是实时的。standby master所在主机除了复制进程外,没有正式master服务运行。当primary出现故障,standby master日志复制进程停止,DBA可以激活standby master,使它切换成primary master,保证原primary master故障时最后提交的事务可以正常提交,并且使用相同的端口接入用户新的连接请求。

       启用standby master的流程非常简单,既可以在初始化时启用standby master(gpinitsystem),也可以对存在的系统添加standby master(gpinitstandby)。无论哪种方式,首先要准备standby的主机,包括操作系统,用户等效性的建立,以及GP软件的安装。
       如果初始化时,添加standby master,仅需要在gpinitsystem命令上使用-s参数指定standby用的主机名即可。也可以使用gpinitstandby工具去添加standby master。DBA需要从处于工作状态的primary master节点上调用这个工具,使用-s参数,后面跟上standby的主机名。比如
$gpinitstandby -s mdw2
      如果遇到primary standby出现故障,由于到目前为止,EMC还没有提供自己的cluster,因此,如果不使用第三方的cluster的情况下,DBA需要手工激活standby master进行master failover,这个过程通过调用gpactivatestandby命令实现
 $ gpactivatestandby -d /gpdata
/gpdata应该是standby master的数据目录。一旦完成激活,standby master的身份转化成primary master。如果在激活的时候,想配置一个新的standby master可以通过-c选项实现。
 $ gpactivatestandby -d /gpdata -c new_standby_hostname
在该工具调用完成之后,可以用gpstate检查状态$ gpstate -f,新的primary segment应该是active的状态,如果有新加standby master,standby master状态时passive。
 Master instance = Active
 Master instance standby = Passive
在完成,新primary master激活之后,应该在其上运行analyze命令。比如
$ psql dbname -c 'ANALYZE;'
       如果没有在激活时,添加新的standby master,事后也可以通过gpinitstandby的调用添加新的standby master.       
       在系统工作的过程中,standby master节点也可能出现数据同步故障,比如网络问题,导致gpsyncagent出现同步故障,用户可能无法及时感知。所以DBA应该定期检查gp_master_mirroring中的信息,如果发现standby master是不同步的,应该进一步检查detail_state和error_message列中的信息,判断问题产生的原因,并进行解决。完成问题的纠正后,通过调用gpinitstandby可以重新同步standby master。
$ gpinitstandby -n (最新版本已不能与-s选项一起指定)

master_mirror.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25548387/viewspace-693650/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-03-18

  • 博文量
    70
  • 访问量
    380380