今天就跟大家聊聊有關(guān)PostgreSQL高可用Repmgr命令及配置文件是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
德陽ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
應(yīng)該是第三個關(guān)于PostgreSQL 高可用的文字了,Repmgr 在使用中的一些通用的命令和一些配置文件的含義,今天需要明確。
我們先從配置文件來入手,如果你的配置文件不知道怎么寫,或者根本不知道配置文件中有哪些內(nèi)容,請從
https://repmgr.org/docs/4.4/repmgr-administration-manual.html 網(wǎng)站中獲得。
部分配置文件內(nèi)容:
node_id=1 node_id 是標識數(shù)據(jù)庫的節(jié)點的序號,在使用其他命令時,是需要指定相關(guān)序號的,并且相關(guān)的序號在一個集群中是不能重復的。
node_name = ‘XXX’ node name 是標識這臺機器在集群中的名字,需要注意的是名字不能超過63個字符并且,最好是小寫,明確標識機器的文字
conninfo='host=192.168.198.112 user=repmgr dbname=repmgr connect_timeout=2' 這是標識每臺集群中到PG 的連接的信息,connect_timeout 是配置當你使用 repmgrd時,忽略某些因為網(wǎng)絡(luò)延遲或故障中可能會導致誤切換的等待時間的長度
data_directory='/pgdata/data' 這是指定當前機器的PG的數(shù)據(jù)目錄,因為有的集群中每個機器的數(shù)據(jù)目錄可能因為某些原因,不一致,所以這里會告知repmgr 具體的數(shù)據(jù)目錄在哪里
config_directory='' 這是配置標識,PG的配置文件的所在地,一般可以不配置,如果你的配置文件并未和數(shù)據(jù)目錄放置在一起,則你需要配置
replication_user='repmgr' 配置PG中復制的賬戶,這里使用了repmgr作為復制的賬戶,當然你可以使用別的賬戶進行復制的配置,而不必須非要使用repmgr 來作為復制的賬戶。
replication_type=physical 這里需要告知REPMGR PG 的復制方式,是那個,一般建議physical 如果沒有特殊的需求。
location=default 這個配置是為多數(shù)據(jù)中心來進行服務(wù)的,如果有多數(shù)據(jù)中心,一般會假設(shè)如果網(wǎng)絡(luò)不穩(wěn)定的狀態(tài)下,是否進行切換或者不做任何事情,location就是標識你的機器所在的位置
witness_sync_interval 這是標識出第三方的見證服務(wù)器獲取信息到見證服務(wù)器的時間
log_level =INFO 這里指定了log的level 有相關(guān)八個等級
log_file='' 重定向LOG file的寫入的位置否則只能寫入到系統(tǒng)的STDERR
pg_bindir= 指定PG 的執(zhí)行文件的目錄
repmgr_bindir = 指定 PG 的 repmgr 執(zhí)行文件的目錄
failover=manual 指定當發(fā)生主節(jié)點failover時節(jié)點的處理方式是自動還是手動方式
priority = 100 當你有多個PG的從節(jié)點,怎么人為的來判斷哪個更適合來做下一個主節(jié)點的候選。
reconnect_attempts = 當主節(jié)點無法連接時,重進進行連接的次數(shù)
當然上面的介紹是比較基本的信息,有一些更有深層次含義和設(shè)置的項目并不包含在里面,例如MySQL MHA 中如果主節(jié)點進行切換,則MHA 會讓用戶填寫下一步會執(zhí)行的外部腳本,在 REPMGR 中也有相關(guān)的設(shè)置。
大致說完了相關(guān)的配置文件后,下面是一些基本的REPMGR 的基本命令的介紹
1 手動進行主從節(jié)點的切換
一般來說,如果要對主庫的服務(wù)器進行硬件升級,或者操作會需要將主庫進行關(guān)閉,而類似這樣的行為是有準備的和計劃的
下面我們就通過手動的命令來將主庫切換為從庫
請到從庫服務(wù)器中執(zhí)行如下命令, 下面就會開始模擬進行切換的過程或者告訴你一些信息或錯誤信息,如果你去掉 --dry-run 則就實際的執(zhí)行了,如果使用過 pt-osc的同學對--dry-run會有深刻的影響
repmgr -f /etc/repmgr.conf standby switchover --dry-run
切換后,在查看當前的集群信息,也會進行相應(yīng)的修改
這是比較有用的一個功能
2 提升從庫成為主庫
在你選擇了FAILOVER 中手動進行從庫到主庫的提升,你需要手動進行主庫的提升
repmgr -f /etc/repmgr.conf standby promote
3 查看當前節(jié)點的狀態(tài)
repmgr -f /etc/repmgr.conf node status
4 在主節(jié)點失敗后,其他的從節(jié)點如果還連接著失敗的主節(jié)點或者已經(jīng)失去的連接,則是不妥當?shù)?,需要有相關(guān)的命令來將這些連接錯誤的節(jié)點重新連接到新的主節(jié)點中。在錯誤連接主節(jié)點的
repmgr -f /etc/repmgr.conf standby follow
5 查看當前的節(jié)點與其他節(jié)點的連接情況
repmgr -f /etc/repmgr.conf cluster matrix
總結(jié):其實在repmgr 的使用中,可以感覺到,即使不需要自動failover ,repmgr 在快速建立流復制從庫和檢查節(jié)點之間的狀態(tài)也是很好的工具。
看完上述內(nèi)容,你們對PostgreSQL高可用Repmgr命令及配置文件是怎樣的有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。