# Greenplum 添加segment mirror节点

添加mirror也分两种情况，在现有的GP集群节点中添加，或者新加的主机中添加。

http://yq.aliyun.com/articles/177

$mkdir /disk1/digoal/gpdata_mirror 产生配置文件$ gpaddmirrors -o ./addmirror

Enter mirror segment data directory location 1 of 23 >
/disk1/digoal/gpdata_mirror
Enter mirror segment data directory location 2 of 23 >
/disk1/digoal/gpdata_mirror
Enter mirror segment data directory location 3 of 23 >
......
Enter mirror segment data directory location 23 of 23 >
/disk1/digoal/gpdata_mirror

$cat addmirror filespaceOrder= mirror0=0:digoal.sqa.zmf:41000:42000:43000:/disk1/digoal/gpdata_mirror/gpseg0 mirror1=1:digoal.sqa.zmf:41001:42001:43001:/disk1/digoal/gpdata_mirror/gpseg1 mirror2=2:digoal.sqa.zmf:41002:42002:43002:/disk1/digoal/gpdata_mirror/gpseg2 mirror3=3:digoal.sqa.zmf:41003:42003:43003:/disk1/digoal/gpdata_mirror/gpseg3 mirror4=4:digoal.sqa.zmf:41004:42004:43004:/disk1/digoal/gpdata_mirror/gpseg4 mirror5=5:digoal.sqa.zmf:41005:42005:43005:/disk1/digoal/gpdata_mirror/gpseg5 mirror6=6:digoal.sqa.zmf:41006:42006:43006:/disk1/digoal/gpdata_mirror/gpseg6 mirror7=7:digoal.sqa.zmf:41007:42007:43007:/disk1/digoal/gpdata_mirror/gpseg7 mirror8=8:digoal.sqa.zmf:41008:42008:43008:/disk1/digoal/gpdata_mirror/gpseg8 mirror9=9:digoal.sqa.zmf:41009:42009:43009:/disk1/digoal/gpdata_mirror/gpseg9 mirror10=10:digoal.sqa.zmf:41010:42010:43010:/disk1/digoal/gpdata_mirror/gpseg10 mirror11=11:digoal.sqa.zmf:41011:42011:43011:/disk1/digoal/gpdata_mirror/gpseg11 mirror12=12:digoal.sqa.zmf:41012:42012:43012:/disk1/digoal/gpdata_mirror/gpseg12 mirror13=13:digoal.sqa.zmf:41013:42013:43013:/disk1/digoal/gpdata_mirror/gpseg13 mirror14=14:digoal.sqa.zmf:41014:42014:43014:/disk1/digoal/gpdata_mirror/gpseg14 mirror15=15:digoal.sqa.zmf:41015:42015:43015:/disk1/digoal/gpdata_mirror/gpseg15 mirror16=16:digoal.sqa.zmf:41016:42016:43016:/disk1/digoal/gpdata_mirror/gpseg16 mirror17=17:digoal.sqa.zmf:41017:42017:43017:/disk1/digoal/gpdata_mirror/gpseg17 mirror18=18:digoal.sqa.zmf:41018:42018:43018:/disk1/digoal/gpdata_mirror/gpseg18 mirror19=19:digoal.sqa.zmf:41019:42019:43019:/disk1/digoal/gpdata_mirror/gpseg19 mirror20=20:digoal.sqa.zmf:41020:42020:43020:/disk1/digoal/gpdata_mirror/gpseg20 mirror21=21:digoal.sqa.zmf:41021:42021:43021:/disk1/digoal/gpdata_mirror/gpseg21 mirror22=22:digoal.sqa.zmf:41022:42022:43022:/disk1/digoal/gpdata_mirror/gpseg22 如果你不满意，可以自行修改以上配置文件。 解释一下配置文件的含义。可以查看 gp_segment_configuration, pg_filespace, pg_filespace_entry 获得内容。 postgres=# select * from gp_segment_configuration order by role,content; 1 | -1 | p | p | s | u | 1921 | digoal.sqa.zmf | digoal.sqa.zmf | | 2 | 0 | p | p | s | u | 40000 | digoal.sqa.zmf | digoal.sqa.zmf | 43000 | 3 | 1 | p | p | s | u | 40001 | digoal.sqa.zmf | digoal.sqa.zmf | 43001 | 4 | 2 | p | p | s | u | 40002 | digoal.sqa.zmf | digoal.sqa.zmf | 43002 | 5 | 3 | p | p | s | u | 40003 | digoal.sqa.zmf | digoal.sqa.zmf | 43003 | 6 | 4 | p | p | s | u | 40004 | digoal.sqa.zmf | digoal.sqa.zmf | 43004 | 7 | 5 | p | p | s | u | 40005 | digoal.sqa.zmf | digoal.sqa.zmf | 43005 | 8 | 6 | p | p | s | u | 40006 | digoal.sqa.zmf | digoal.sqa.zmf | 43006 | 9 | 7 | p | p | s | u | 40007 | digoal.sqa.zmf | digoal.sqa.zmf | 43007 | 10 | 8 | p | p | s | u | 40008 | digoal.sqa.zmf | digoal.sqa.zmf | 43008 | 11 | 9 | p | p | s | u | 40009 | digoal.sqa.zmf | digoal.sqa.zmf | 43009 | 12 | 10 | p | p | s | u | 40010 | digoal.sqa.zmf | digoal.sqa.zmf | 43010 | 13 | 11 | p | p | s | u | 40011 | digoal.sqa.zmf | digoal.sqa.zmf | 43011 | 14 | 12 | p | p | s | u | 40012 | digoal.sqa.zmf | digoal.sqa.zmf | 43012 | 15 | 13 | p | p | s | u | 40013 | digoal.sqa.zmf | digoal.sqa.zmf | 43013 | 16 | 14 | p | p | s | u | 40014 | digoal.sqa.zmf | digoal.sqa.zmf | 43014 | 17 | 15 | p | p | s | u | 40015 | digoal.sqa.zmf | digoal.sqa.zmf | 43015 | 18 | 16 | p | p | s | u | 40016 | digoal.sqa.zmf | digoal.sqa.zmf | 43016 | 19 | 17 | p | p | s | u | 40017 | digoal.sqa.zmf | digoal.sqa.zmf | 43017 | 20 | 18 | p | p | s | u | 40018 | digoal.sqa.zmf | digoal.sqa.zmf | 43018 | 21 | 19 | p | p | s | u | 40019 | digoal.sqa.zmf | digoal.sqa.zmf | 43019 | 22 | 20 | p | p | s | u | 40020 | digoal.sqa.zmf | digoal.sqa.zmf | 43020 | 23 | 21 | p | p | s | u | 40021 | digoal.sqa.zmf | digoal.sqa.zmf | 43021 | 24 | 22 | p | p | s | u | 50011 | digoal.sqa.zmf | digoal.sqa.zmf | 43022 | postgres=# select * from pg_filespace; fsname | fsowner -----------+--------- pg_system | 10 (1 row) postgres=# select * from pg_filespace_entry ; fsefsoid | fsedbid | fselocation ----------+---------+--------------------------------------- 3052 | 1 | /disk1/digoal/gpdata/gpseg-1 3052 | 2 | /disk1/digoal/gpdata/gpseg0 3052 | 3 | /disk1/digoal/gpdata/gpseg1 3052 | 4 | /disk1/digoal/gpdata/gpseg2 3052 | 5 | /disk1/digoal/gpdata/gpseg3 3052 | 6 | /disk1/digoal/gpdata/gpseg4 3052 | 7 | /disk1/digoal/gpdata/gpseg5 3052 | 8 | /disk1/digoal/gpdata/gpseg6 3052 | 9 | /disk1/digoal/gpdata/gpseg7 3052 | 10 | /disk1/digoal/gpdata/gpseg8 3052 | 11 | /disk1/digoal/gpdata/gpseg9 3052 | 12 | /disk1/digoal/gpdata/gpseg10 3052 | 13 | /disk1/digoal/gpdata/gpseg11 3052 | 14 | /disk1/digoal/gpdata/gpseg12 3052 | 15 | /disk1/digoal/gpdata/gpseg13 3052 | 16 | /disk1/digoal/gpdata/gpseg14 3052 | 17 | /disk1/digoal/gpdata/gpseg15 3052 | 18 | /disk1/digoal/gpdata/gpseg16 3052 | 19 | /disk1/digoal/gpdata/gpseg17 3052 | 20 | /disk1/digoal/gpdata/gpseg18 3052 | 21 | /disk1/digoal/gpdata/gpseg19 3052 | 22 | /disk1/digoal/gpdata/gpseg20 3052 | 23 | /disk1/digoal/gpdata/gpseg21 3052 | 24 | /disk1/digoal/gpdata/gpseg22 3052 | 25 | /disk1/digoal/gpdata_mirror/gpseg0 3052 | 26 | /disk1/digoal/gpdata_mirror/gpseg1 3052 | 27 | /disk1/digoal/gpdata_mirror/gpseg2 3052 | 28 | /disk1/digoal/gpdata_mirror/gpseg3 3052 | 29 | /disk1/digoal/gpdata_mirror/gpseg4 3052 | 30 | /disk1/digoal/gpdata_mirror/gpseg5 3052 | 31 | /disk1/digoal/gpdata_mirror/gpseg6 3052 | 32 | /disk1/digoal/gpdata_mirror/gpseg7 3052 | 33 | /disk1/digoal/gpdata_mirror/gpseg8 3052 | 34 | /disk1/digoal/gpdata_mirror/gpseg9 3052 | 35 | /disk1/digoal/gpdata_mirror/gpseg10 3052 | 36 | /disk1/digoal/gpdata_mirror/gpseg11 3052 | 37 | /disk1/digoal/gpdata_mirror/gpseg12 3052 | 38 | /disk1/digoal/gpdata_mirror/gpseg13 3052 | 39 | /disk1/digoal/gpdata_mirror/gpseg14 3052 | 40 | /disk1/digoal/gpdata_mirror/gpseg15 3052 | 41 | /disk1/digoal/gpdata_mirror/gpseg16 3052 | 42 | /disk1/digoal/gpdata_mirror/gpseg17 3052 | 43 | /disk1/digoal/gpdata_mirror/gpseg18 3052 | 44 | /disk1/digoal/gpdata_mirror/gpseg19 3052 | 45 | /disk1/digoal/gpdata_mirror/gpseg20 3052 | 46 | /disk1/digoal/gpdata_mirror/gpseg21 3052 | 47 | /disk1/digoal/gpdata_mirror/gpseg22 (47 rows) 配置文件格式： -i <mirror_config_file> A configuration file containing one line for each mirror segment you want to create. You must have one mirror segment listed for each primary segment in the system. The format of this file is as follows (as per attributes in the gp_segment_configuration, pg_filespace, and pg_filespace_entry catalog tables): filespaceOrder=[<filespace1_fsname>[:<filespace2_fsname>:...] mirror<content>=<content>:<address>:<port>:<mir_replication_port>:<pri_replication_port>:<fselocation>[:<fselocation>:...] Note that you only need to specify a name for filespaceOrder if your system has multiple filespaces configured. If your system does not have additional filespaces configured besides the default pg_system filespace, this file will only have one location per segment (for the default data directory filespace, pg_system). pg_system does not need to be listed in the filespaceOrder line. It will always be the first <fselocation> listed after <replication_port>. 根据这个格式，以及系统信息，可以定制那个mirror跑在哪台主机上，以及目录信息都可以配置。 正式添加mirror gpaddmirrors -i ./addmirror -v -B 1 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=content id delimiter='=' value=None 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=contentId delimiter=':' value=0 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=address delimiter=':' value=digoal.sqa.zmf 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=port delimiter=':' value=41000 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=replicationPort delimiter=':' value=42000 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=primarySegmentReplicationPort delimiter=':' value=43000 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=dataDirectory delimiter=':' value=/disk1/digoal/gpdata_mirror/gpseg0 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:-./addmirror:3 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=content id delimiter='=' value=None 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=contentId delimiter=':' value=1 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=address delimiter=':' value=digoal.sqa.zmf 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=port delimiter=':' value=41001 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=replicationPort delimiter=':' value=42001 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=primarySegmentReplicationPort delimiter=':' value=43001 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[DEBUG]:- name=dataDirectory delimiter=':' value=/disk1/digoal/gpdata_mirror/gpseg1 ...... 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:-Greenplum Add Mirrors Parameters 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:---------------------------------------------------------- 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:-Greenplum master data directory = /disk1/digoal/gpdata/gpseg-1 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:-Greenplum master port = 1921 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:-Parallel batch limit = 1 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:---------------------------------------------------------- 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:-Mirror 1 of 23 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:---------------------------------------------------------- 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Primary instance host = digoal.sqa.zmf 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Primary instance address = digoal.sqa.zmf 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Primary instance directory = /disk1/digoal/gpdata/gpseg0 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Primary instance port = 40000 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Primary instance replication port = 43000 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Mirror instance host = digoal.sqa.zmf 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Mirror instance address = digoal.sqa.zmf 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Mirror instance directory = /disk1/digoal/gpdata_mirror/gpseg0 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Mirror instance port = 41000 20151217:17:59:13:071643 gpaddmirrors:digoal:digoal-[INFO]:- Mirror instance replication port = 42000 ...... Continue with add mirrors procedure Yy|Nn (default=N): > y ...... 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[INFO]:-Process results... 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[INFO]:-Done updating primaries 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[INFO]:-****************************************************************** 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[INFO]:-Mirror segments have been added; data synchronization is in progress. 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[INFO]:-Data synchronization will continue in the background. 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[INFO]:- 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[INFO]:-Use gpstate -s to check the resynchronization progress. 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[INFO]:-****************************************************************** 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[DEBUG]:-WorkerPool haltWork() 20151217:17:59:36:071643 gpaddmirrors:digoal:digoal-[DEBUG]:-[worker0] haltWork 查看mirror同步状态$ gpstate -s
Resynchronizing表示还在同步
Synchronized表示同步完成。
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-   Segment Info
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Hostname                                = digoal.sqa.zmf
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Port                                    = 40000
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-   Mirroring Info
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Current role                            = Primary
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Preferred role                          = Primary
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Mirror status                           = Resynchronizing
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-   Change Tracking Info
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Change tracking data size               = 8.25 MB
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-   Resynchronization Info
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Resynchronization mode                  = Full
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Data synchronized                       = 119 MB
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Estimated total data to synchronize     = 121 MB
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Estimated resync progress with mirror   = 98.91%
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Total resync objects                    = 1030
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Objects to resync                       = 0
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Estimated resync end time               = 2015-12-17 17:59:53
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-   Status
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      PID                                     = 68982
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Configuration reports status as         = Up
20151217:17:59:58:074049 gpstate:digoal:digoal-[INFO]:-      Database status                         = Suspended

gpstate  -m
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-Starting gpstate with args: -m
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 4.3.6.1 build 2'
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-master Greenplum Version: 'PostgreSQL 8.2.15 (Greenplum Database 4.3.6.1 build 2) on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.2 compiled on Oct  1 2015 15:14:22'
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-Obtaining Segment details from master...
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:--------------------------------------------------------------
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:--Current GPDB mirror list and status
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:--Type = Group
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:--------------------------------------------------------------
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   Mirror              Datadir                                 Port    Status    Data Status
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg0    41000   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg1    41001   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg2    41002   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg3    41003   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg4    41004   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg5    41005   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg6    41006   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg7    41007   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg8    41008   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg9    41009   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg10   41010   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg11   41011   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg12   41012   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg13   41013   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg14   41014   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg15   41015   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg16   41016   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg17   41017   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg18   41018   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg19   41019   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg20   41020   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg21   41021   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:-   digoal.sqa.zmf   /disk1/digoal/gpdata_mirror/gpseg22   41022   Passive   Synchronized
20151217:19:37:04:124869 gpstate:digoal:digoal-[INFO]:--------------------------------------------------------------

-  name=port                           delimiter=':' value=41013  对应mirror的postmaster监听端口
-  name=replicationPort                delimiter=':' value=42013  对应mirror的receiver ack process监听端口
-  name=primarySegmentReplicationPort  delimiter=':' value=43013  对应primary的receiver process监听端口

MIRROR_PORT_BASE
Optional. This specifies the base number by which mirror segment
port numbers are calculated. The first mirror segment port on a
host is set as MIRROR_PORT_BASE, and then incremented by one
for each additional mirror segment on that host. Valid values
range from 1 through 65535 and cannot conflict with the ports
calculated by PORT_BASE.

REPLICATION_PORT_BASE
Optional. This specifies the base number by which the port numbers
for the primary file replication process are calculated. The
first replication port on a host is set as REPLICATION_PORT_BASE,
and then incremented by one for each additional primary segment
on that host. Valid values range from 1 through 65535 and cannot
conflict with the ports calculated by PORT_BASE or MIRROR_PORT_BASE.

MIRROR_REPLICATION_PORT_BASE
Optional. This specifies the base number by which the port numbers
for the mirror file replication process are calculated. The first
mirror replication port on a host is set as MIRROR_REPLICATION_PORT_BASE,
and then incremented by one for each additional mirror segment on
that host. Valid values range from 1 through 65535 and cannot conflict
with the ports calculated by PORT_BASE, MIRROR_PORT_BASE,
or REPLICATION_PORT_BASE.

primary
digoal  73315  68987  0 17:59 ?        00:00:00 postgres: port 40013, primary process
digoal  73376  73315  0 17:59 ?        00:00:00 postgres: port 40013, primary receiver ack process
digoal  73381  73315  0 17:59 ?        00:00:05 postgres: port 40013, primary sender process
digoal  73387  73315  0 17:59 ?        00:00:00 postgres: port 40013, primary consumer ack process
digoal  73393  73315  0 17:59 ?        00:00:03 postgres: port 40013, primary recovery process
digoal  73400  73315  0 17:59 ?        00:00:00 postgres: port 40013, primary verification process

mirror
digoal  72906  72703  0 17:59 ?        00:00:00 postgres: port 41013, mirror process
digoal  72932  72906  0 17:59 ?        00:00:10 postgres: port 41013, mirror receiver process
digoal  72934  72906  0 17:59 ?        00:00:14 postgres: port 41013, mirror consumer process
digoal  72936  72906  0 17:59 ?        00:00:01 postgres: port 41013, mirror consumer writer process
digoal  72938  72906  0 17:59 ?        00:00:00 postgres: port 41013, mirror consumer append only process
digoal  72939  72906  0 17:59 ?        00:00:00 postgres: port 41013, mirror sender ack process
digoal  72940  72906  0 17:59 ?        00:00:00 postgres: port 41013, mirror verification process

mirror sender ack -> primary receiver ack

postgres=# select * from gp_segment_configuration order by dbid;
dbid | content | role | preferred_role | mode | status | port  |     hostname      |      address      | replication_port | san_mounts
------+---------+------+----------------+------+--------+-------+-------------------+-------------------+------------------+------------
1 |      -1 | p    | p              | s    | u      |  1921 | digoal.sqa.zmf | digoal.sqa.zmf |                  |
2 |       0 | p    | p              | s    | u      | 40000 | digoal.sqa.zmf | digoal.sqa.zmf |            43000 |
3 |       1 | p    | p              | s    | u      | 40001 | digoal.sqa.zmf | digoal.sqa.zmf |            43001 |
4 |       2 | p    | p              | s    | u      | 40002 | digoal.sqa.zmf | digoal.sqa.zmf |            43002 |
5 |       3 | p    | p              | s    | u      | 40003 | digoal.sqa.zmf | digoal.sqa.zmf |            43003 |
6 |       4 | p    | p              | s    | u      | 40004 | digoal.sqa.zmf | digoal.sqa.zmf |            43004 |
7 |       5 | p    | p              | s    | u      | 40005 | digoal.sqa.zmf | digoal.sqa.zmf |            43005 |
8 |       6 | p    | p              | s    | u      | 40006 | digoal.sqa.zmf | digoal.sqa.zmf |            43006 |
9 |       7 | p    | p              | s    | u      | 40007 | digoal.sqa.zmf | digoal.sqa.zmf |            43007 |
10 |       8 | p    | p              | s    | u      | 40008 | digoal.sqa.zmf | digoal.sqa.zmf |            43008 |
11 |       9 | p    | p              | s    | u      | 40009 | digoal.sqa.zmf | digoal.sqa.zmf |            43009 |
12 |      10 | p    | p              | s    | u      | 40010 | digoal.sqa.zmf | digoal.sqa.zmf |            43010 |
13 |      11 | p    | p              | s    | u      | 40011 | digoal.sqa.zmf | digoal.sqa.zmf |            43011 |
14 |      12 | p    | p              | s    | u      | 40012 | digoal.sqa.zmf | digoal.sqa.zmf |            43012 |
15 |      13 | p    | p              | s    | u      | 40013 | digoal.sqa.zmf | digoal.sqa.zmf |            43013 |
16 |      14 | p    | p              | s    | u      | 40014 | digoal.sqa.zmf | digoal.sqa.zmf |            43014 |
17 |      15 | p    | p              | s    | u      | 40015 | digoal.sqa.zmf | digoal.sqa.zmf |            43015 |
18 |      16 | p    | p              | s    | u      | 40016 | digoal.sqa.zmf | digoal.sqa.zmf |            43016 |
19 |      17 | p    | p              | s    | u      | 40017 | digoal.sqa.zmf | digoal.sqa.zmf |            43017 |
20 |      18 | p    | p              | s    | u      | 40018 | digoal.sqa.zmf | digoal.sqa.zmf |            43018 |
21 |      19 | p    | p              | s    | u      | 40019 | digoal.sqa.zmf | digoal.sqa.zmf |            43019 |
22 |      20 | p    | p              | s    | u      | 40020 | digoal.sqa.zmf | digoal.sqa.zmf |            43020 |
23 |      21 | p    | p              | s    | u      | 40021 | digoal.sqa.zmf | digoal.sqa.zmf |            43021 |
24 |      22 | p    | p              | s    | u      | 50011 | digoal.sqa.zmf | digoal.sqa.zmf |            43022 |
25 |       0 | m    | m              | s    | u      | 41000 | digoal.sqa.zmf | digoal.sqa.zmf |            42000 |
26 |       1 | m    | m              | s    | u      | 41001 | digoal.sqa.zmf | digoal.sqa.zmf |            42001 |
27 |       2 | m    | m              | s    | u      | 41002 | digoal.sqa.zmf | digoal.sqa.zmf |            42002 |
28 |       3 | m    | m              | s    | u      | 41003 | digoal.sqa.zmf | digoal.sqa.zmf |            42003 |
29 |       4 | m    | m              | s    | u      | 41004 | digoal.sqa.zmf | digoal.sqa.zmf |            42004 |
30 |       5 | m    | m              | s    | u      | 41005 | digoal.sqa.zmf | digoal.sqa.zmf |            42005 |
31 |       6 | m    | m              | s    | u      | 41006 | digoal.sqa.zmf | digoal.sqa.zmf |            42006 |
32 |       7 | m    | m              | s    | u      | 41007 | digoal.sqa.zmf | digoal.sqa.zmf |            42007 |
33 |       8 | m    | m              | s    | u      | 41008 | digoal.sqa.zmf | digoal.sqa.zmf |            42008 |
34 |       9 | m    | m              | s    | u      | 41009 | digoal.sqa.zmf | digoal.sqa.zmf |            42009 |
35 |      10 | m    | m              | s    | u      | 41010 | digoal.sqa.zmf | digoal.sqa.zmf |            42010 |
36 |      11 | m    | m              | s    | u      | 41011 | digoal.sqa.zmf | digoal.sqa.zmf |            42011 |
37 |      12 | m    | m              | s    | u      | 41012 | digoal.sqa.zmf | digoal.sqa.zmf |            42012 |
38 |      13 | m    | m              | s    | u      | 41013 | digoal.sqa.zmf | digoal.sqa.zmf |            42013 |
39 |      14 | m    | m              | s    | u      | 41014 | digoal.sqa.zmf | digoal.sqa.zmf |            42014 |
40 |      15 | m    | m              | s    | u      | 41015 | digoal.sqa.zmf | digoal.sqa.zmf |            42015 |
41 |      16 | m    | m              | s    | u      | 41016 | digoal.sqa.zmf | digoal.sqa.zmf |            42016 |
42 |      17 | m    | m              | s    | u      | 41017 | digoal.sqa.zmf | digoal.sqa.zmf |            42017 |
43 |      18 | m    | m              | s    | u      | 41018 | digoal.sqa.zmf | digoal.sqa.zmf |            42018 |
44 |      19 | m    | m              | s    | u      | 41019 | digoal.sqa.zmf | digoal.sqa.zmf |            42019 |
45 |      20 | m    | m              | s    | u      | 41020 | digoal.sqa.zmf | digoal.sqa.zmf |            42020 |
46 |      21 | m    | m              | s    | u      | 41021 | digoal.sqa.zmf | digoal.sqa.zmf |            42021 |
47 |      22 | m    | m              | s    | u      | 41022 | digoal.sqa.zmf | digoal.sqa.zmf |            42022 |
(47 rows)


+ 订阅