GREENPLUM介绍之数据库管理(七)- 配置数据库高可用性之master镜像
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GREENPLUM介绍之数据库管理(七)- 配置数据库高可用性之master镜像
master镜像是通过把primary master对应的standby
master放置到不同的物理主机实现的。正常情况下只有primary
master接受用户连接请求,standby master通过gpsyncagent进程(运行在standby
master上)利用事务日志保持与primary
master的同步。由于master上不存放任何用户数据,存放在其中的表不会频繁更新,因
此同步是实时的。standby
master所在主机除了复制进程外,没有正式master服务运行。当primary出现故障,sta
ndby 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,因此,如果不使用
谌降腸luster的情况下,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出现同步故障
没Э赡芪薹笆备兄K訢BA应该定期检查gp_master_mirroring中的信息,如果
⑾謘t
andby
master是不同步
的,应该进一步检查detail_state和error_message列中的信息,判断
侍獠脑颍⒔薪饩觥M瓿晌侍獾木勒螅ü饔胓pinitstandby可以重新同
步standby master。 $ gpinitstandby -s standby_master_hostname -n