在GPDB的mirror安装中,有两种方法,默认的group方式是将A机器备份在B机器上,这种方式有一个弊端,在A机器宕机后,B机器上就运行了*2的节点数量的运算和存储,这样势必导致整个集群的运算性能极具下降,甚至不能使用;因此官方也推荐mirror的使用方式为spread,前提是机器的segment host数量为每台机器上的segment+1,举个例子:有4台机器作为seghost,每单机器3个segment,分别abcd机器,abcd每台机器上有seg1 seg2 seg3,对应关系如下
机器名 节点名 mirror机器名 mirror节点名 A seg1 B seg2 A seg2 C seg3 A seg3 D seg1 ....以上只是实例,当时实际情况不可能这么规整,具体的对应关系可以使用gpstate -c查看,例如我实际的对应关系如下
20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:-Obtaining Segment details from master... 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:--Current GPDB mirror list and status 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:--Type = Spread 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Status Data State Primary Datadir Port Mirror Datadir Port 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue02-em1 /home/gpadmin/data/gpdatap1/gpseg0 40000 blue03-em2 /home/gpadmin/data/gpdatam1/gpseg0 50000 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue02-em2 /home/gpadmin/data/gpdatap2/gpseg1 40001 blue04-em3 /home/gpadmin/data/gpdatam2/gpseg1 50001 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue02-em3 /home/gpadmin/data/gpdatap3/gpseg2 40002 blue05-em1 /home/gpadmin/data/gpdatam3/gpseg2 50002 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue03-em1 /home/gpadmin/data/gpdatap1/gpseg3 40000 blue04-em2 /home/gpadmin/data/gpdatam1/gpseg3 50000 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue03-em2 /home/gpadmin/data/gpdatap2/gpseg4 40001 blue05-em3 /home/gpadmin/data/gpdatam2/gpseg4 50001 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue03-em3 /home/gpadmin/data/gpdatap3/gpseg5 40002 blue02-em1 /home/gpadmin/data/gpdatam3/gpseg5 50002 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue04-em1 /home/gpadmin/data/gpdatap1/gpseg6 40000 blue05-em2 /home/gpadmin/data/gpdatam1/gpseg6 50000 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue04-em2 /home/gpadmin/data/gpdatap2/gpseg7 40001 blue02-em3 /home/gpadmin/data/gpdatam2/gpseg7 50001 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue04-em3 /home/gpadmin/data/gpdatap3/gpseg8 40002 blue03-em1 /home/gpadmin/data/gpdatam3/gpseg8 50002 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue05-em1 /home/gpadmin/data/gpdatap1/gpseg9 40000 blue02-em2 /home/gpadmin/data/gpdatam1/gpseg9 50000 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue05-em2 /home/gpadmin/data/gpdatap2/gpseg10 40001 blue03-em3 /home/gpadmin/data/gpdatam2/gpseg10 50001 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:- Primary Active, Mirror Available Synchronized blue05-em3 /home/gpadmin/data/gpdatap3/gpseg11 40002 blue04-em1 /home/gpadmin/data/gpdatam3/gpseg11 50002 20160816:13:59:43:018642 gpstate:blue01-em1:gpadmin-[INFO]:--------------------------------------------------------------以下我们验证采用spread方式后,在一台机器宕机后,查看mirror的启动及数据分配情况。 1.down机前检查机器情况重点内容
select * from gp_segment_configuration order by 1; dbid | content | role | preferred_role | mode | status | port | hostname | address | replication_port | san_mounts ------+---------+------+----------------+------+--------+-------+------------+------------+------------------+------------ 1 | -1 | p | p | s | u | 5432 | blue01-em1 | blue01-em1 | | 2 | 0 | p | p | s | u | 40000 | blue02-em1 | blue02-em1 | 41000 | 3 | 1 | p | p | s | u | 40001 | blue02-em1 | blue02-em2 | 41001 | 4 | 2 | p | p | s | u | 40002 | blue02-em1 | blue02-em3 | 41002 | 5 | 3 | p | p | s | u | 40000 | blue03-em1 | blue03-em1 | 41000 | 6 | 4 | p | p | s | u | 40001 | blue03-em1 | blue03-em2 | 41001 | 7 | 5 | p | p | s | u | 40002 | blue03-em1 | blue03-em3 | 41002 | 8 | 6 | p | p | s | u | 40000 | blue04-em1 | blue04-em1 | 41000 | 9 | 7 | p | p | s | u | 40001 | blue04-em1 | blue04-em2 | 41001 | 10 | 8 | p | p | s | u | 40002 | blue04-em1 | blue04-em3 | 41002 | 11 | 9 | p | p | s | u | 40000 | blue05-em1 | blue05-em1 | 41000 | 12 | 10 | p | p | s | u | 40001 | blue05-em1 | blue05-em2 | 41001 | 13 | 11 | p | p | s | u | 40002 | blue05-em1 | blue05-em3 | 41002 | 14 | 0 | m | m | s | u | 50000 | blue03-em1 | blue03-em2 | 51000 | 15 | 1 | m | m | s | u | 50001 | blue04-em1 | blue04-em3 | 51001 | 16 | 2 | m | m | s | u | 50002 | blue05-em1 | blue05-em1 | 51002 | 17 | 3 | m | m | s | u | 50000 | blue04-em1 | blue04-em2 | 51000 | 18 | 4 | m | m | s | u | 50001 | blue05-em1 | blue05-em3 | 51001 | 19 | 5 | m | m | s | u | 50002 | blue02-em1 | blue02-em1 | 51002 | 20 | 6 | m | m | s | u | 50000 | blue05-em1 | blue05-em2 | 51000 | 21 | 7 | m | m | s | u | 50001 | blue02-em1 | blue02-em3 | 51001 | 22 | 8 | m | m | s | u | 50002 | blue03-em1 | blue03-em1 | 51002 | 23 | 9 | m | m | s | u | 50000 | blue02-em1 | blue02-em2 | 51000 | 24 | 10 | m | m | s | u | 50001 | blue03-em1 | blue03-em3 | 51001 | 25 | 11 | m | m | s | u | 50002 | blue04-em1 | blue04-em1 | 51002 | (25 rows) select gp_segment_id,count(*) from testdata group by 1; gp_segment_id | count ---------------+------- 0 | 1 6 | 2 11 | 1 1 | 2 4 | 2 9 | 1 2 | 1 7 | 1 3 | 1可以看到虽然我们的表是distributed randomly创建的,但是数据并不是严格按照每个节点一条数据的分布的。
2.kill掉blue05的进程 pkill -9 postgres
3.检查目前的状况
select * from gp_segment_configuration order by 1; dbid | content | role | preferred_role | mode | status | port | hostname | address | replication_port | san_mounts ------+---------+------+----------------+------+--------+-------+------------+------------+------------------+------------ 1 | -1 | p | p | s | u | 5432 | blue01-em1 | blue01-em1 | | 2 | 0 | p | p | s | u | 40000 | blue02-em1 | blue02-em1 | 41000 | 3 | 1 | p | p | s | u | 40001 | blue02-em1 | blue02-em2 | 41001 | 4 | 2 | p | p | c | u | 40002 | blue02-em1 | blue02-em3 | 41002 | 5 | 3 | p | p | s | u | 40000 | blue03-em1 | blue03-em1 | 41000 | 6 | 4 | p | p | c | u | 40001 | blue03-em1 | blue03-em2 | 41001 | 7 | 5 | p | p | s | u | 40002 | blue03-em1 | blue03-em3 | 41002 | 8 | 6 | p | p | c | u | 40000 | blue04-em1 | blue04-em1 | 41000 | 9 | 7 | p | p | s | u | 40001 | blue04-em1 | blue04-em2 | 41001 | 10 | 8 | p | p | s | u | 40002 | blue04-em1 | blue04-em3 | 41002 | 11 | 9 | m | p | s | d | 40000 | blue05-em1 | blue05-em1 | 41000 | 12 | 10 | m | p | s | d | 40001 | blue05-em1 | blue05-em2 | 41001 | 13 | 11 | m | p | s | d | 40002 | blue05-em1 | blue05-em3 | 41002 | 14 | 0 | m | m | s | u | 50000 | blue03-em1 | blue03-em2 | 51000 | 15 | 1 | m | m | s | u | 50001 | blue04-em1 | blue04-em3 | 51001 | 16 | 2 | m | m | s | d | 50002 | blue05-em1 | blue05-em1 | 51002 | 17 | 3 | m | m | s | u | 50000 | blue04-em1 | blue04-em2 | 51000 | 18 | 4 | m | m | s | d | 50001 | blue05-em1 | blue05-em3 | 51001 | 19 | 5 | m | m | s | u | 50002 | blue02-em1 | blue02-em1 | 51002 | 20 | 6 | m | m | s | d | 50000 | blue05-em1 | blue05-em2 | 51000 | 21 | 7 | m | m | s | u | 50001 | blue02-em1 | blue02-em3 | 51001 | 22 | 8 | m | m | s | u | 50002 | blue03-em1 | blue03-em1 | 51002 | 23 | 9 | p | m | c | u | 50000 | blue02-em1 | blue02-em2 | 51000 | 24 | 10 | p | m | c | u | 50001 | blue03-em1 | blue03-em3 | 51001 | 25 | 11 | p | m | c | u | 50002 | blue04-em1 | blue04-em1 | 51002 | (25 rows)以上关键字段含义: role:该节点现在的角色,取值为p(parimary)或m(mirror) preferred_role:该节点被定义的角色,取值为p(primary)或m(mirror) mode:主备同步的状态,取值s(synchronized已同步)、r(resyncing正在同步)、c(change logging不同步) status:判断节点的值,取值为u(up正常运行)和d(down节点失败)
从以上我们可以看出hostname为blue05-em1的41000、41001、41002的同步端口上的原先为主节点角色已经变更为mirror,并且已经down机(进程信息丢失)
4.后续检查: 我们检查数据是否可以查询查询:
select * from testdate; #可以正常查询数据 insert into testdata select 3,'test'; #可以正常插入 select gp_segment_id,count(*) from testdata group by 1; gp_segment_id | count ---------------+------- 6 | 2 1 | 2 11 | 1 9 | 1 4 | 2 0 | 1 7 | 1 3 | 1 2 | 1可以使用gpstate -s查看mirror情况
20160816:13:36:42:017605 gpstate:blue01-em1:gpadmin-[INFO]:-Starting gpstate with args: -m 20160816:13:36:42:017605 gpstate:blue01-em1:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 4.3.9.0 build 1' 20160816:13:36:42:017605 gpstate:blue01-em1:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.2.15 (Greenplum Database 4.3.9.0 build 1) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.2 compiled on Aug 8 2016 05:36:26' 20160816:13:36:42:017605 gpstate:blue01-em1:gpadmin-[INFO]:-Obtaining Segment details from master... 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:--Current GPDB mirror list and status 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:--Type = Spread 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- Mirror Datadir Port Status Data Status 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em2 /home/gpadmin/data/gpdatam1/gpseg0 50000 Passive Synchronized 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em3 /home/gpadmin/data/gpdatam2/gpseg1 50001 Passive Synchronized 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[WARNING]:-blue05-em1 /home/gpadmin/data/gpdatam3/gpseg2 50002 Failed <<<<<<<< 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em2 /home/gpadmin/data/gpdatam1/gpseg3 50000 Passive Synchronized 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[WARNING]:-blue05-em3 /home/gpadmin/data/gpdatam2/gpseg4 50001 Failed <<<<<<<< 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em1 /home/gpadmin/data/gpdatam3/gpseg5 50002 Passive Synchronized 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[WARNING]:-blue05-em2 /home/gpadmin/data/gpdatam1/gpseg6 50000 Failed <<<<<<<< 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em3 /home/gpadmin/data/gpdatam2/gpseg7 50001 Passive Synchronized 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em1 /home/gpadmin/data/gpdatam3/gpseg8 50002 Passive Synchronized 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em2 /home/gpadmin/data/gpdatam1/gpseg9 50000 Acting as Primary Change Tracking 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em3 /home/gpadmin/data/gpdatam2/gpseg10 50001 Acting as Primary Change Tracking 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em1 /home/gpadmin/data/gpdatam3/gpseg11 50002 Acting as Primary Change Tracking 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[WARNING]:-3 segment(s) configured as mirror(s) are acting as primaries 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[WARNING]:-3 segment(s) configured as mirror(s) have failed 20160816:13:36:43:017605 gpstate:blue01-em1:gpadmin-[WARNING]:-3 mirror segment(s) acting as primaries are in change tracking因此,我们可以断定,blue05的机器down机,节点数据已经转移,备用节点已经启用,正常的业务不受影响,而且数据可以正常插入。
5.修复 要恢复到原来的架构,有两种可能情况,第一种情况,当故障主机启动后,这台主机上的节点会自动启动,当然现在已经都是Mirror节点了,角色是不会切换的, 而且数据是不一致状态。这种情况只需要使用gprecoverseg命令同步一下数据后,就可以切换到原来的架构了。 输入gprecoverseg 然后输入Y
Continue with segment recovery procedure Yy|Nn (default=N): > y 20160816:13:42:20:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-6 segment(s) to recover 20160816:13:42:20:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Ensuring 6 failed segment(s) are stopped 20160816:13:42:22:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Ensuring that shared memory is cleaned up for stopped segments updating flat files 20160816:13:42:27:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Updating configuration with new mirrors 20160816:13:42:28:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Updating mirrors . 20160816:13:42:29:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Starting mirrors 20160816:13:42:29:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Commencing parallel primary and mirror segment instance startup, please wait... .. 20160816:13:42:31:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Process results... 20160816:13:42:31:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Updating configuration to mark mirrors up 20160816:13:42:31:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Updating primaries 20160816:13:42:31:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Commencing parallel primary conversion of 6 segments, please wait... . 20160816:13:42:32:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Process results... 20160816:13:42:32:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Done updating primaries 20160816:13:42:32:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-****************************************************************** 20160816:13:42:32:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Updating segments for resynchronization is completed. 20160816:13:42:32:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-For segments updated successfully, resynchronization will continue in the background. 20160816:13:42:32:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:- 20160816:13:42:32:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Use gpstate -s to check the resynchronization progress. 20160816:13:42:32:017728 gprecoverseg:blue01-em1:gpadmin-[INFO]:-******************************************************************按照提示,查看节点信息,这里只检查mirror gpstate -m
20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:-Obtaining Segment details from master... 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:--Current GPDB mirror list and status 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:--Type = Spread 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- Mirror Datadir Port Status Data Status 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em2 /home/gpadmin/data/gpdatam1/gpseg0 50000 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em3 /home/gpadmin/data/gpdatam2/gpseg1 50001 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em1 /home/gpadmin/data/gpdatam3/gpseg2 50002 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em2 /home/gpadmin/data/gpdatam1/gpseg3 50000 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em3 /home/gpadmin/data/gpdatam2/gpseg4 50001 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em1 /home/gpadmin/data/gpdatam3/gpseg5 50002 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em2 /home/gpadmin/data/gpdatam1/gpseg6 50000 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em3 /home/gpadmin/data/gpdatam2/gpseg7 50001 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em1 /home/gpadmin/data/gpdatam3/gpseg8 50002 Passive Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em2 /home/gpadmin/data/gpdatam1/gpseg9 50000 Acting as Primary Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em3 /home/gpadmin/data/gpdatam2/gpseg10 50001 Acting as Primary Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em1 /home/gpadmin/data/gpdatam3/gpseg11 50002 Acting as Primary Synchronized 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:43:27:017884 gpstate:blue01-em1:gpadmin-[WARNING]:-3 segment(s) configured as mirror(s) are acting as primaries我们看到数据同步已经完成,但是角色还没有转换过来,需要使用gprecoverseg -r 我们看到数据同步已经完成,但是角色还没有转换过来,需要使用gprecoverseg -r进行角色切换
Continue with segment rebalance procedure Yy|Nn (default=N): > y 20160816:13:45:24:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Getting unbalanced segments 20160816:13:45:24:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Stopping unbalanced primary segments... .. 20160816:13:45:26:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Triggering segment reconfiguration 20160816:13:45:30:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Starting segment synchronization ................. 20160816:13:45:47:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-****************************************************************** 20160816:13:45:47:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-The rebalance operation has completed successfully. 20160816:13:45:47:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-There is a resynchronization running in the background to bring all 20160816:13:45:47:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-segments in sync. 20160816:13:45:47:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:- 20160816:13:45:47:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-Use gpstate -e to check the resynchronization progress. 20160816:13:45:47:017935 gprecoverseg:blue01-em1:gpadmin-[INFO]:-****************************************************************** gpstate -e查看同步进程 20160816:13:46:29:018199 gpstate:blue01-em1:gpadmin-[INFO]:----------------------------------------------------- 20160816:13:46:29:018199 gpstate:blue01-em1:gpadmin-[INFO]:-Segment Mirroring Status Report 20160816:13:46:29:018199 gpstate:blue01-em1:gpadmin-[INFO]:----------------------------------------------------- 20160816:13:46:29:018199 gpstate:blue01-em1:gpadmin-[INFO]:-Segment Pairs in Resynchronization 20160816:13:46:29:018199 gpstate:blue01-em1:gpadmin-[INFO]:- Current Primary Port Resync mode Est. resync progress Total resync objects Objects to resync Data synced Est. total to sync Est. resync end time Change tracking size Mirror Port 20160816:13:46:29:018199 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em1 40000 Incremental 100% 0 0 224 kB Sync complete; awaiting config change 128 bytes blue02-em2 50000 20160816:13:46:29:018199 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em2 40001 Incremental 100% 0 0 224 kB Sync complete; awaiting config change 128 bytes blue03-em3 50001 20160816:13:46:29:018199 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em3 40002 Incremental 100% 0 0 224 kB Sync complete; awaiting config change 128 bytes blue04-em1 50002 再查看mirror情况 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:-Obtaining Segment details from master... 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:--Current GPDB mirror list and status 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:--Type = Spread 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:-------------------------------------------------------------- 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- Mirror Datadir Port Status Data Status 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em2 /home/gpadmin/data/gpdatam1/gpseg0 50000 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em3 /home/gpadmin/data/gpdatam2/gpseg1 50001 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em1 /home/gpadmin/data/gpdatam3/gpseg2 50002 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em2 /home/gpadmin/data/gpdatam1/gpseg3 50000 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em3 /home/gpadmin/data/gpdatam2/gpseg4 50001 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em1 /home/gpadmin/data/gpdatam3/gpseg5 50002 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue05-em2 /home/gpadmin/data/gpdatam1/gpseg6 50000 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em3 /home/gpadmin/data/gpdatam2/gpseg7 50001 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em1 /home/gpadmin/data/gpdatam3/gpseg8 50002 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue02-em2 /home/gpadmin/data/gpdatam1/gpseg9 50000 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue03-em3 /home/gpadmin/data/gpdatam2/gpseg10 50001 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:- blue04-em1 /home/gpadmin/data/gpdatam3/gpseg11 50002 Passive Synchronized 20160816:13:47:27:018297 gpstate:blue01-em1:gpadmin-[INFO]:--------------------------------------------------------------现在查看角色已经转换过来,在用sql验证一下
select * from gp_segment_configuration order by 1; dbid | content | role | preferred_role | mode | status | port | hostname | address | replication_port | san_mounts ------+---------+------+----------------+------+--------+-------+------------+------------+------------------+------------ 1 | -1 | p | p | s | u | 5432 | blue01-em1 | blue01-em1 | | 2 | 0 | p | p | s | u | 40000 | blue02-em1 | blue02-em1 | 41000 | 3 | 1 | p | p | s | u | 40001 | blue02-em1 | blue02-em2 | 41001 | 4 | 2 | p | p | s | u | 40002 | blue02-em1 | blue02-em3 | 41002 | 5 | 3 | p | p | s | u | 40000 | blue03-em1 | blue03-em1 | 41000 | 6 | 4 | p | p | s | u | 40001 | blue03-em1 | blue03-em2 | 41001 | 7 | 5 | p | p | s | u | 40002 | blue03-em1 | blue03-em3 | 41002 | 8 | 6 | p | p | s | u | 40000 | blue04-em1 | blue04-em1 | 41000 | 9 | 7 | p | p | s | u | 40001 | blue04-em1 | blue04-em2 | 41001 | 10 | 8 | p | p | s | u | 40002 | blue04-em1 | blue04-em3 | 41002 | 11 | 9 | p | p | s | u | 40000 | blue05-em1 | blue05-em1 | 41000 | 12 | 10 | p | p | s | u | 40001 | blue05-em1 | blue05-em2 | 41001 | 13 | 11 | p | p | s | u | 40002 | blue05-em1 | blue05-em3 | 41002 | 14 | 0 | m | m | s | u | 50000 | blue03-em1 | blue03-em2 | 51000 | 15 | 1 | m | m | s | u | 50001 | blue04-em1 | blue04-em3 | 51001 | 16 | 2 | m | m | s | u | 50002 | blue05-em1 | blue05-em1 | 51002 | 17 | 3 | m | m | s | u | 50000 | blue04-em1 | blue04-em2 | 51000 | 18 | 4 | m | m | s | u | 50001 | blue05-em1 | blue05-em3 | 51001 | 19 | 5 | m | m | s | u | 50002 | blue02-em1 | blue02-em1 | 51002 | 20 | 6 | m | m | s | u | 50000 | blue05-em1 | blue05-em2 | 51000 | 21 | 7 | m | m | s | u | 50001 | blue02-em1 | blue02-em3 | 51001 | 22 | 8 | m | m | s | u | 50002 | blue03-em1 | blue03-em1 | 51002 | 23 | 9 | m | m | s | u | 50000 | blue02-em1 | blue02-em2 | 51000 | 24 | 10 | m | m | s | u | 50001 | blue03-em1 | blue03-em3 | 51001 | 25 | 11 | m | m | s | u | 50002 | blue04-em1 | blue04-em1 | 51002 |再检查下之前停掉的blueo5的进程,ps -ef|grep postgres发现64个进程已经启动了。
