此架構根據jumpserver官方修改,在生產環境已穩定運行。現貼出架構圖,希望大家能一起參考討論。
架構圖如下:
共6臺虛擬機:
服務器 | IP |
---|---|
jms1 | 192.168.4.125 |
jms2 | 192.168.4.124 |
redis1 | 192.168.1.88 |
redis2 | 192.168.1.89 |
db1 | 192.168.3.90 |
db2 | 192.168.3.91 |
jms服務器:
部署nginx、jms、coco、gua組件;
兩臺服務器需同時開通發郵件功能的SMTP策略;
兩臺服務器使用A10 做負載均衡,IP會話保持;
兩臺服務器部署rsync,將錄像審計目錄jumpserver/data/media/replay雙向實時同步;
兩臺虛擬服務器部署在不同的物理機上,避免單點故障。
redis服務器:
兩臺服務器部署redis單機模式。
兩臺虛擬服務器部署在不同的物理機上,避免單點故障。
mysql服務器:
jms兩臺服務器配置數據庫地址都是mysql1----192.168.3.90,mysql-1服務器每天定時導出備份,導入到mysql-2服務器。爲什麼不能雙主模式,因爲刀兄我嘗試過很多次,只要做了同步,jms就啓動不來,所以選擇了使用腳本定時同步的方案。
mysql同步腳本如下:
cat /opt/auto-sync-db2.sh
#!/bin/bash
cd /opt \
&& rm -f jumpserver.sql \ #刪除上次備份文件
&& mysqldump -uroot jumpserver > /opt/jumpserver.sql \ #生成備份
&& mysql -ujumpserver -p12121322 -h 192.168.3.91 -e "use jumpserver; source /opt/jumpserver.sql;" #導入到mysql-2服務器
設定計劃任務,每天凌晨執行同步
Crontab -l
1 1 * * * bash /opt/auto-sync-db2.sh
以上便是jumpserver的雙機負載架構,部署完全可以按照官網文檔操作。有問題大家歡迎留言。