# FOMS — Failover Management System 主备机切换管理系统。运行在管理中心 C 上,管理主机 A 和备机 B 之间的: - **MySQL 主从复制** — 实时数据同步 - **文件目录同步** — rsync 定期同步 - **健康监控** — 节点心跳 + 复制状态 - **故障切换** — 自动检测 A 故障 → 切换到 B - **故障切回** — A 修复后 → 切回 A ## 架构 ``` 管理中心 C (FOMS Web App) │ ├── 主机 A ←──MySQL复制/rsync──→ 备机 B │ └── Agent 守护进程 (部署在 A & B) ``` ## 快速开始 ```bash # 1. 构建 ./build.sh # 2. 配置 .env vim .env # 3. 初始化数据库 (手动执行 models/mysql.ddl.sql) mysql -u root < models/mysql.ddl.sql # 4. 注册RBAC权限 cd py3/bin && python ../../scripts/load_path.py # 5. 启动 ./start.sh ``` ## 模块 | 模块 | 路径 | 说明 | |------|------|------| | 集群管理 | /clusters_list | 配置主备集群 | | 节点管理 | /nodes_list | 注册A/B节点(SSH信息) | | 数据库同步 | /sync_databases_list | MySQL主从复制配置 | | 文件同步 | /sync_directories_list | rsync目录同步配置 | ## Agent部署 在主机A和备机B上: ```bash # 配置环境变量 export FOMS_MANAGEMENT_URL=http://C的IP:9080 export FOMS_NODE_ID=<节点ID> export FOMS_AGENT_TOKEN=<安全令牌> # 运行Agent python3 scripts/foms-agent.py ```