案例說明:
在KingbaseES V8R6的後期版本中,為了解決有的主機之間不允許root使用者ssh登入的問題,使用了securecmdd作為叢集部署分發和通訊的服務,有生産環境通過漏洞掃描,在8890(securecmdd預設通訊端口)發現安全漏洞,需要将叢集的通訊改為ssh(預設部署後,使用的是securecmdd通訊),本案例詳細介紹了修改方法。

Tips:
本案例隻用于通用機環境,專用機隻能用securecmdd通訊。
适用版本:
KingbaseES V8R6
一、驗證叢集節點ssh互信
1. 資料庫使用者(kingbase)在節點間建立ssh互信
2. root使用者在節點間建立ssh互信。
3. kingbase和root之間建立節點間及本節點ssh互信。
二、修改叢集securecmdd配置(all nodes)
Tips:
叢集部署完成後,隻需要修改repmgr.conf的配置即可。
三、關閉securecmdd服務(all nodes)
[[email protected] .ssh]# systemctl stop securecmdd
四、重新開機叢集驗證
1、重新開機叢集服務
[[email protected] bin]$ ./sys_monitor.sh restart
2022-08-18 14:05:25 Ready to stop all DB ...
......
ID | Name | Role | Status | Upstream | repmgrd | PID | Paused? | Upstream last seen
----+---------+---------+-----------+----------+---------+-------+---------+--------------------
1 | node101 | primary | * running | | running | 18851 | no | n/a
2 | node102 | standby | running | node101 | running | 22815 | no | 1 second(s) ago
[2022-08-18 14:05:59] [NOTICE] redirecting logging output to "/home/kingbase/cluster/R6HA/kha/kingbase/log/kbha.log"
[2022-08-18 14:06:03] [NOTICE] redirecting logging output to "/home/kingbase/cluster/R6HA/kha/kingbase/log/kbha.log"
2022-08-18 14:06:06 Done.
=如下所示,sys_monitor.sh根據repmgr.conf配置,自動選擇ssh執行節點間的通訊。=
2、檢視叢集節點狀态
[[email protected] bin]$ ./repmgr cluster show
ID | Name | Role | Status | Upstream | Location | Priority | Timeline | Connection string
----+---------+---------+-----------+----------+----------+----------+----------+----------------------------------------------------------------------------------------------------------------------------------------------------
1 | node101 | primary | * running | | default | 100 | 9 | host=192.168.1.101 user=system dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
2 | node102 | standby | running | node101 | default | 100 | 9 | host=192.168.1.102 user=system dbname=esrep port=54321 connect_timeout=10 keepalives=1 keepalives_idle=10 keepalives_interval=1 keepalives_count=3
五、總結
對于KingbaseES V8R6的叢集在部署後,預設啟用securecmdd進行節點通訊,如果在通用機環境允許建立使用者的ssh互信,可以直接通過ssh通訊,不使用securecmdd來通訊。