1、查看集群狀態命令
gs_om -t status --detail
?
2、備節點升主(本例子升2節點為主)
date && time cm_ctl switchover -n 2 -D /database/panweidb/data?
?
3、cm_ctl是全局的,在一個節點運行
cm_ctl stop && cm_ctl start?
?就重啟cm_server。
上面的命令也是,升主可以在任意節點運行。
4、
5、kill掉庫進程
date && ps -ef | grep $PGDATA | grep -v grep | awk '{print?$2}' | xargs kill -9?
?
可以看到上圖,kill掉主庫進程后,備庫升為主,并且主庫由cm進程自動拉起為備庫。
6、進庫
gsql -r?
?
7、 啟動庫
gs_ctl start
?
8、 主節點reboot后,備節點cm進程升級為主,主節點重啟后cm由定時任務腳本自動拉起,主節點cm為備cm,不會自動升級為主cm。
多節點可由下面兩條命令,切換主備cm(一主一備不會成功)。
cm_ctl set --cmsPromoteMode=PRIMARY_F -I 1
cm_ctl set --cmsPromoteMode=AUTO -I 1?
9、 搭建一主一備,若是沒有配置虛擬ip:正常升主可以。kill主庫進程測試可以。reboot主節點備節點不會升為主,備節點cm也不會升為主。
搭建一主一備,配置了虛擬ip:正常升主可以。kill主庫進程測試可以。reboot主節點備節點會升為主。
10、配置虛擬ip方法
cd /database/panweidb/cm/cm_server/
vi cm_server.conf
cm_ctl stop && cm_ctl start(只在其中一個節點運行即可)
?
?
11、
ssh ip(可切換不同主機)
?
12、
?
13、恢復初始化(庫)
cm_ctl switchover -a
14、編寫執行腳本
?
15、kill掉cm進程服務
date && ps -ef | grep cm_server | grep -v grep | awk '{print $2}' | xargs kill -9 ?
16、
ps xf
?
紅線是庫進程?