Advertisement
phamthanhnhan14

repmgr

Apr 5th, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.19 KB | None | 0 0
  1. master: 10.30.55.41
  2. slave:10.30.55.42
  3.  
  4. Master:
  5. yum localinstall http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
  6.  
  7. yum install postgresql94-server postgresql94-contrib postgresql94-devel repmgr94
  8.  
  9. mkdir /data/postgresql
  10. chown postgres:postgres /data/postgresql/
  11. mkdir -p /data/postgresql/pgdata
  12. mkdir -p /data/postgresql/pglogs
  13.  
  14. su - postgres
  15.  
  16. /usr/pgsql-9.4/bin/initdb -D /data/postgresql/pgdata
  17.  
  18.  
  19. vi /etc/rc.d/init.d/postgresql-9.4
  20. PGDATA=/data/postgresql/pgdata
  21. PGLOG=/data/postgresql/pglogs/pgstartup.log
  22. PGUPLOG=/data/postgresql/pglogs/$PGMAJORVERSION/pgupgrade.log
  23.  
  24.  
  25. vi /data/postgresql/.bash_profile
  26. export PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/zserver/jdk1.7.0_11/bin/:/root/bin:/usr/pgsql-9.4/bin
  27. source /data/postgresql/.bash_profile
  28.  
  29.  
  30.  
  31. service postgresql-9.4 start
  32. [root@GE_PP_Storage-55 ~]# ps ax |grep postgres
  33. 35660 ? S 0:00 /usr/pgsql-9.4/bin/postmaster -D /data/postgresql
  34. 35662 ? Ss 0:00 postgres: logger process
  35. 35664 ? Ss 0:00 postgres: checkpointer process
  36. 35665 ? Ss 0:00 postgres: writer process
  37. 35666 ? Ss 0:00 postgres: wal writer process
  38. 35667 ? Ss 0:00 postgres: autovacuum launcher process
  39. 35668 ? Ss 0:00 postgres: stats collector process
  40. 36007 pts/0 S+ 0:00 grep postgres
  41.  
  42.  
  43. chkconfig postgresql-9.4 on
  44.  
  45. passwd postgres
  46. Enter new password:
  47. Re-type new password:
  48. passwd: all authentication tokens updated successfully.
  49.  
  50. su - postgres -c "echo 'export PATH=$PATH:/usr/pgsql-9.4/bin' >>~/.bash_profile"
  51.  
  52. postgres=# CREATE ROLE repmgr_usr LOGIN SUPERUSER;
  53. CREATE ROLE
  54. postgres=# CREATE DATABASE repmgr_db OWNER repmgr_usr;
  55. CREATE DATABASE
  56.  
  57.  
  58.  
  59. -bash-4.1$ cd $PGDATA
  60. -bash-4.1$ ls
  61. base pg_log pgstartup.log pg_xlog
  62. global pg_logical pg_stat postgresql.auto.conf
  63. logfile pg_multixact pg_stat_tmp postgresql.conf
  64. pg_clog pg_notify pg_subtrans postmaster.opts
  65. pg_dynshmem pg_replslot pg_tblspc postmaster.pid
  66. pg_hba.conf pg_serial pg_twophase
  67. pg_ident.conf pg_snapshots PG_VERSION
  68.  
  69.  
  70. mv postgresql.conf postgresql.conf.bk
  71.  
  72. vi postgresql.conf
  73. listen_addresses = '*'
  74. hot_standby = on
  75. wal_level = 'hot_standby'
  76. max_wal_senders = 10
  77. wal_keep_segments = 5000
  78. archive_mode = on
  79. archive_command = 'cd .'
  80.  
  81. mv pg_hba.conf pg_hba.conf.bk
  82. local all all peer
  83. host all all 10.30.55.0/24 trust
  84. host replication repmgr_usr 10.30.55.0/24 trust
  85. host repmgr_db repmgr_usr 10.30.55.0/24 trust
  86.  
  87. service postgresql-9.4 restart
  88. Stopping postgresql-9.4 service: [ OK ]
  89. Starting postgresql-9.4 service: [ OK ]
  90.  
  91. chown -hR postgres /etc/repmgr/
  92. cd /etc/repmgr/9.4
  93. mv repmgr.conf repmgr.conf.bk
  94.  
  95. vi /etc/repmgr/9.4/repmgr.conf
  96. cluster=CLUSTER
  97. node=1
  98. node_name=41
  99. conninfo='host=10.30.55.41 user=repmgr_usr dbname=repmgr_db'
  100. pg_bindir=/usr/pgsql-9.4/bin
  101.  
  102.  
  103.  
  104.  
  105. Slave:
  106. cluster=CLUSTER
  107. node=2
  108. node_name=42
  109. conninfo='host=10.30.55.42 user=repmgr_usr dbname=repmgr_db'
  110. pg_bindir=/usr/pgsql-9.4/bin
  111.  
  112. https://github.com/2ndQuadrant/repmgr/blob/master/QUICKSTART.md
  113.  
  114.  
  115. promote to master:
  116. -bash-4.1$ repmgr -f /etc/repmgr/9.4/repmgr.conf --verbose standby promote
  117. [2015-06-19 11:34:25] [NOTICE] opening configuration file: /etc/repmgr/9.4/repmgr.conf
  118. [2015-06-19 11:34:25] [INFO] connecting to standby database
  119. [2015-06-19 11:34:25] [INFO] connected to standby, checking its state
  120. [2015-06-19 11:34:25] [INFO] finding node list for cluster 'CLUSTER'
  121. [2015-06-19 11:34:25] [INFO] checking role of cluster node '1'
  122. [2015-06-19 11:34:25] [ERROR] connection to database failed: could not connect to server: Connection refused
  123. Is the server running on host "10.30.55.41" and accepting
  124. TCP/IP connections on port 5432?
  125.  
  126. [2015-06-19 11:34:25] [INFO] checking role of cluster node '2'
  127. [2015-06-19 11:34:25] [NOTICE] promoting standby
  128. [2015-06-19 11:34:25] [NOTICE] promoting server using '/usr/pgsql-9.4/bin/pg_ctl -D /data/postgresql/pgdata promote'
  129. server promoting
  130. [2015-06-19 11:34:25] [INFO] reconnecting to promoted server
  131. [2015-06-19 11:34:27] [NOTICE] STANDBY PROMOTE successful. You should REINDEX any hash indexes you have.
  132.  
  133.  
  134. fail to standby
  135.  
  136. repmgr -f /etc/repmgr/9.4/repmgr.conf --force --rsync-only -h 10.30.55.42 -d repmgr_db -U repmgr_usr --verbose standby clone
  137. [2015-06-19 11:42:01] [NOTICE] opening configuration file: /etc/repmgr/9.4/repmgr.conf
  138. [2015-06-19 11:42:01] [INFO] connecting to upstream node
  139. [2015-06-19 11:42:01] [INFO] connected to upstream node, checking its state
  140. [2015-06-19 11:42:01] [INFO] Successfully connected to upstream node. Current installation size is 26 MB
  141. [2015-06-19 11:42:01] [NOTICE] starting backup...
  142. [2015-06-19 11:42:01] [WARNING] directory "/data/postgresql/pgdata" exists but is not empty
  143. [2015-06-19 11:42:01] [INFO] standby clone: master data directory '/data/postgresql/pgdata'
  144. [2015-06-19 11:42:01] [INFO] rsync command line: 'rsync --archive --checksum --compress --progress --rsh=ssh --delete --checksum --exclude=postmaster.pid --exclude=postmaster.opts --exclude=global/pg_control --exclude=postgresql.auto.conf.tmp --exclude=pgsql_tmp* --exclude=pg_xlog/* --exclude=pg_log/* --exclude=pg_stat_tmp/* --exclude=pg_replslot/* 10.30.55.42:/data/postgresql/pgdata/* /data/postgresql/pgdata'
  145. receiving incremental file list
  146. backup_label
  147. 219 100% 213.87kB/s 0:00:00 (xfer#1, to-check=1030/1032)
  148. backup_label.old
  149. 199 100% 194.34kB/s 0:00:00 (xfer#2, to-check=1029/1032)
  150. recovery.done
  151. 120 100% 9.77kB/s 0:00:00 (xfer#3, to-check=1022/1032)
  152. base/
  153. base/1/
  154. base/12998/
  155. base/13003/
  156. base/13003/pg_internal.init
  157. 116892 100% 1.57MB/s 0:00:00 (xfer#4, to-check=298/1041)
  158. base/16385/
  159. base/16385/12741_fsm
  160. 24576 100% 240.00kB/s 0:00:00 (xfer#5, to-check=288/1041)
  161. base/16385/12743
  162. 32768 100% 316.83kB/s 0:00:00 (xfer#6, to-check=286/1041)
  163. base/16385/12744
  164. 32768 100% 313.73kB/s 0:00:00 (xfer#7, to-check=285/1041)
  165. base/16385/12755
  166. 131072 100% 1.20MB/s 0:00:00 (xfer#8, to-check=278/1041)
  167. base/16385/12756
  168. 90112 100% 830.19kB/s 0:00:00 (xfer#9, to-check=277/1041)
  169. base/16385/12764
  170. 65536 100% 598.13kB/s 0:00:00 (xfer#10, to-check=269/1041)
  171. base/16385/12766
  172. 40960 100% 370.37kB/s 0:00:00 (xfer#11, to-check=266/1041)
  173. base/16385/12767
  174. 57344 100% 486.96kB/s 0:00:00 (xfer#12, to-check=265/1041)
  175. base/16385/12768
  176. 40960 100% 344.83kB/s 0:00:00 (xfer#13, to-check=264/1041)
  177. base/16385/12871
  178. 401408 100% 2.88MB/s 0:00:00 (xfer#14, to-check=155/1041)
  179. deleting pg_stat/global.stat
  180. deleting pg_stat/db_16385.stat
  181. deleting pg_stat/db_13003.stat
  182. deleting pg_stat/db_0.stat
  183. base/16385/12871_fsm
  184. 24576 100% 172.66kB/s 0:00:00 (xfer#15, to-check=154/1041)
  185. base/16385/12873
  186. 245760 100% 1.65MB/s 0:00:00 (xfer#16, to-check=152/1041)
  187. base/16385/12874
  188. 237568 100% 1.48MB/s 0:00:00 (xfer#17, to-check=151/1041)
  189. base/16385/16389
  190. 8192 100% 51.95kB/s 0:00:00 (xfer#18, to-check=62/1041)
  191. base/16385/16410
  192. 8192 100% 51.95kB/s 0:00:00 (xfer#19, to-check=55/1041)
  193. base/16385/16426
  194. 8192 100% 51.61kB/s 0:00:00 (xfer#20, to-check=51/1041)
  195. base/16385/pg_internal.init
  196. 116892 100% 709.02kB/s 0:00:00 (xfer#21, to-check=48/1041)
  197. global/
  198. global/pg_internal.init
  199. 12828 100% 77.33kB/s 0:00:00 (xfer#22, to-check=9/1041)
  200. pg_clog/
  201. pg_clog/0000
  202. 8192 100% 49.38kB/s 0:00:00 (xfer#23, to-check=8/1041)
  203. pg_dynshmem/
  204. pg_log/
  205. pg_logical/
  206. pg_logical/mappings/
  207. pg_logical/snapshots/
  208. pg_multixact/
  209. pg_multixact/members/
  210. pg_multixact/offsets/
  211. pg_notify/
  212. pg_replslot/
  213. pg_serial/
  214. pg_snapshots/
  215. pg_stat/
  216. pg_stat_tmp/
  217. pg_subtrans/
  218. pg_tblspc/
  219. pg_twophase/
  220. pg_xlog/
  221.  
  222. sent 18368 bytes received 57668 bytes 152072.00 bytes/sec
  223. total size is 28277879 speedup is 371.90
  224. [2015-06-19 11:42:01] [INFO] standby clone: local control file '/data/postgresql/pgdata/global'
  225. [2015-06-19 11:42:01] [INFO] standby clone: master control file '/data/postgresql/pgdata/global/pg_control'
  226. [2015-06-19 11:42:01] [INFO] rsync command line: 'rsync --archive --checksum --compress --progress --rsh=ssh --delete --checksum 10.30.55.42:/data/postgresql/pgdata/global/pg_control /data/postgresql/pgdata/global'
  227. receiving incremental file list
  228. pg_control
  229. 8192 100% 7.81MB/s 0:00:00 (xfer#1, to-check=0/1)
  230.  
  231. sent 102 bytes received 238 bytes 226.67 bytes/sec
  232. total size is 8192 speedup is 24.09
  233. [2015-06-19 11:42:02] [NOTICE] notifying master about backup completion...
  234. NOTICE: pg_stop_backup complete, all required WAL segments have been archived
  235. [2015-06-19 11:42:03] [NOTICE] standby clone (using rsync) complete
  236. [2015-06-19 11:42:03] [NOTICE] HINT: you can now start your PostgreSQL server
  237. [2015-06-19 11:42:03] [NOTICE] for example : /etc/init.d/postgresql start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement