两台服务器如何做主备,从库安装步骤
- 综合资讯
- 2025-04-23 18:16:13
- 3

两台服务器主备架构部署与从库安装步骤如下:1. 主库部署:安装数据库系统(如MySQL),配置监听端口,设置root用户权限;2. 网络准备:确保主从服务器同一子网,配...
两台服务器主备架构部署与从库安装步骤如下:1. 主库部署:安装数据库系统(如MySQL),配置监听端口,设置root用户权限;2. 网络准备:确保主从服务器同一子网,配置SSH免密登录及VIP地址(推荐使用Keepalived实现浮动IP);3. 主从同步:创建复制用户,执行szyndb --同步到主库
命令,配置从库my.cnf
中的binlog-do数据库
和log_bin
参数;4. 从库安装:安装相同数据库版本,配置skip_name_resolve
参数,执行mysqlbinlog --start-datetime=...
初始化同步,通过SHOW SLAVE STATUS
验证同步进度;5. 高可用保障:部署监控脚本(如/etc/cron.d/mysql-check
)检测主库状态,设置max_allowed_packet=4G
,定期清理binlog日志(PURGE BINARY LOGS BEFORE '日期'
),注意需提前备份数据,同步延迟超过5分钟触发故障切换。
《双机主备架构设计与实施指南:从基础配置到高可用实战》
(全文约2380字)
主备架构设计背景与需求分析 1.1 高可用性(HA)的核心价值 在数字化转型加速的背景下,企业级应用系统对可用性的要求已从99.9%的SLA标准提升至99.99%的电信级要求,根据Gartner 2023年调研数据显示,企业因系统宕机造成的年均损失达每分钟2850美元,双机主备架构作为基础的高可用方案,通过"工作机+待机机"的冗余设计,可将单点故障带来的业务中断时间控制在分钟级,有效保障关键业务连续性。
2 主备架构适用场景矩阵 | 应用类型 | 推荐方案 | 容错级别 | 切换时间 | |----------|----------|----------|----------| | 数据库服务 | 主从复制 | 数据零丢失 | <5秒 | | Web应用 | Nginx负载均衡 | 容器级故障 | <3秒 | | 文件存储 | Ceph集群 | 容器级故障 | <10秒 | | 监控系统 | 负载均衡+热备 | 数据丢失<5分钟 | <2秒 |
3 主备架构关键指标体系
图片来源于网络,如有侵权联系删除
- RTO(恢复时间目标):业务中断后恢复时间,要求≤15分钟
- RPO(恢复点目标):数据丢失量,要求≤5分钟
- 故障切换成功率:≥99.99%(每年23小时)
- 切换恢复时间:≤30秒(关键业务场景)
硬件与网络基础架构设计 2.1 服务器选型标准
- 处理器:双路Intel Xeon Gold 6338(32核/64线程)或AMD EPYC 9654(96核/192线程)
- 内存:双服务器配置512GB DDR5 ECC内存(1TB总容量)
- 存储:RAID10阵列(8块1TB NVMe SSD,RAID10配置)
- 网络:双千兆网卡(Intel X550-T1),支持Bypass模式
- 电源:双冗余1000W 80Plus Platinum电源
2 网络拓扑设计 采用VLAN隔离架构:
- 业务VLAN(10.0.1.0/24):承载HTTP/HTTPS流量
- 管理VLAN(10.0.2.0/24):用于监控与维护
- 专备VLAN(10.0.3.0/24):连接主备心跳网络
心跳链路配置:
- 端口聚合:LACP动态绑定 eth0 eth1
- 心跳IP:10.0.3.10(主)/10.0.3.11(备)
- 心跳协议:Quagga(BGP替代方案)
3 存储方案设计 采用Ceph集群实现分布式存储:
- 节点配置:3个osd节点(10TB SSD)、2个mon节点
- 容量分配:10TB数据池(6副本)、2TB缓存池
- 数据保护:跨机柜副本分布,单点故障不影响服务
软件架构选型与实施 3.1 主备模式对比分析 | 模式类型 | 实现方式 | 适用场景 | 切换机制 | 数据一致性 | |----------|----------|----------|----------|------------| | 主从复制 | DB主从 | 数据库服务 | 基于时戳 | 强一致性 | | 负载均衡 | Nginx轮询 | Web应用 | 热切换 | 容错性 | | 集群控制 | Pacemaker+Corosync | 多服务 | 故障自动 | 事件最终一致性 | | 数据同步 | rsync+crond | 文件服务 | 手动触发 | 完全同步 |
2 MySQL主从复制实施 3.2.1 主库配置
-- 主库配置示例 SET GLOBAL binlog_format = 'ROW'; SET GLOBAL log_bin_trx_id_table = 'binlog_info'; CREATE TABLE binlog_info (id INT AUTO_INCREMENT PRIMARY KEY, event_time DATETIME);
2.2 从库配置
sudo systemctl enable mysql sudo systemctl start mysql # 从库配置文件修改 [mysqld] datadir=/var/lib/mysql socket=/var/run/mysql/mysql.sock log-error=/var/log/mysql/error.log # 从库主从配置 binlog-clientincludedir=/usr/share/mysql/5.7/binlog客户端 [client] log_bin = /var/log/mysql/binlog.0001 log_bin_index = /var/log/mysql/binlog索引
2.3 同步测试
# 查看同步延迟 SHOW VARIABLES LIKE '同步延迟'; # 模拟故障切换 sudo systemctl stop mysql@main sudo systemctl start mysql@replica
3 Nginx高可用配置 3.3.1 负载均衡配置
upstream backend { server 10.0.1.10:80 weight=5; server 10.0.1.11:80 weight=3; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
3.2 Keepalived实现
# 安装配置 sudo apt install keepalived sudo vi /etc/keepalived/keepalived.conf # VIP配置 vrrp_state Master vrrpstrap 10.0.1.100 0 vrrp_group webgroup vrrp虚IP 10.0.1.100 interface eth0 ip 10.0.1.10 255.255.255.0 track eth1
4 Pacemaker集群实现 3.4.1 集群安装
# RHEL 8环境安装 sudo yum install pacemaker corosync cman sudo systemctl enable pacemaker corosync cman sudo co创建集群节点 sudo co添加资源(如MySQL服务)
4.2 资源配置示例
[global] stack = corosync [corosync] transport = tcp interval = 5 secret = cluster_secret [pacemaker] version = 1.1.5
数据同步与容灾方案 4.1 MySQL binlog同步优化
- 启用二进制日志:binlog_format=ROW
- 优化日志行缓冲:log_bin_trx_id_table=binlog_info
- 设置同步线程:binlog线程=4
2 永久备份方案 4.2.1 XtraBackup实施
# 创建备份目录 sudo mkdir /备份/MySQL sudo chown mysql:mysql /备份/MySQL # 执行备份 sudo xtrabackup --backup --target-dir=/备份/MySQL --log-file=/备份/MySQL/backup.log # 恢复命令 sudo xtrabackup --apply-log --target-dir=/var/lib/mysql --use-backup-dir=/备份/MySQL
3异地容灾架构 4.3.1 物理异地容灾
- 主数据中心:北京(10.0.1.0/24)
- 备份数据中心:上海(10.0.2.0/24)
- 同步方式:异步复制(RPO=15分钟)
3.2 虚拟化容灾
- 采用VMware Site Recovery Manager
- 快照备份频率:每小时全量+增量
- 恢复时间:RTO=4小时
监控与告警体系构建 5.1 监控指标体系 | 监控维度 | 关键指标 | 阈值 | 通知方式 | |----------|----------|------|----------| | 硬件健康 | CPU使用率 | >80% | 企业微信 | | 网络状态 |丢包率 | >5% | 钉钉 | | 数据库性能 | InnoDB写入延迟 | >500ms | 短信 | | 应用健康 | HTTP 5xx错误率 | >1% | 雪碧云 |
2 Prometheus监控部署 5.2.1 采集配置
图片来源于网络,如有侵权联系删除
# MySQL监控规则 metric = 'mysql_query_count' interval = 30s path = /metrics label ['instance', 'database'] # Nginx监控规则 metric = 'nginx_request_count' alert = 'high请求量' threshold = 1000/分钟
3 告警处理流程
graph TD A[监控告警] --> B{严重程度判断} B -->|Critical| C[触发企业微信告警] B -->|High| D[通知运维团队] B -->|Medium| E[邮件通知] C --> F[15分钟未解决] F --> G[自动切换主备]
故障演练与性能优化 6.1 压力测试方案 6.1.1 JMeter测试配置
线程组:100用户,持续10分钟 循环次数:1000 慢SQL检测:true 结果保存:/测试结果.csv
1.2 测试结果分析 | 测试场景 | TPS | 平均响应 | 错误率 | |----------|-----|----------|--------| | 主库单独承载 | 120 | 1.2s | 0.05% | | 主备负载均衡 | 200 | 0.8s | 0.02% |
2 性能优化策略
- MySQL优化:调整innodb_buffer_pool_size=4G
- Nginx优化:启用keepalive_timeout=65
- 网络优化:启用TCP BBR拥塞控制
安全加固方案 7.1 心跳安全防护
- 启用MAC地址绑定
- 配置ACL访问控制
- 使用TLS加密心跳通信
2 数据库安全
-- 修改root密码 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码'); -- 启用SSL连接 CREATE certificate 'mycert' authority 'CA'; GRANT ALL PRIVILEGES ON *.* TO 'replication'@'10.0.3.0/24' identified_by '密码';
3 备份加密方案
# 使用gpg加密备份 sudo gpg --encrypt --output backup.gpg /备份/MySQL/wholeBackup.sql # 恢复命令 sudo gpg --decrypt --output restored.sql backup.gpg
运维管理规范 8.1 运维手册模板
- 故障处理SOP(标准操作流程)
- 切换操作检查清单
- 日常维护计划(每周/每月/每季度)
2 演练计划
- 每月:模拟主备切换演练
- 每季度:异地容灾切换测试
- 每半年:全链路压力测试
3 成本控制策略
- 资源利用率监控(CPU>70%时触发扩容)
- 弹性伸缩配置(自动扩容至3节点)
- 冷备机维护成本优化(使用旧服务器做监控节点)
典型应用场景实践 9.1电商促销保障案例
- 峰值流量预测:使用AWS Auto Scaling预置1000实例
- 动态限流策略:Nginx限速模块配置
- 实时监控看板:Grafana大屏展示流量与资源使用
2 金融交易系统实践
- 交易日志双写:写入本地磁盘+异步写入消息队列
- 事务最终一致性:采用Saga模式补偿机制
- 监控指标:每秒TPS、订单成功率、资金冻结时间
未来演进方向 10.1 智能化运维升级
- AIOps预测性维护:基于LSTM的故障预测模型
- 自愈系统:自动执行重启/回滚/扩容操作
2 云原生架构演进
- K8s集群管理:使用Helm实现服务自动扩缩容
- Serverless架构:关键模块迁移至AWS Lambda
3 新技术融合
- 区块链存证:交易记录上链存证
- 数字孪生:构建系统虚拟镜像进行测试
(全文完)
本方案通过详细的架构设计、实施步骤、监控体系及安全加固措施,构建了完整的双机主备高可用解决方案,实际实施时需根据具体业务需求调整参数,建议每季度进行架构健康度评估,结合监控数据持续优化系统性能,对于关键业务系统,建议采用三机热备架构(主+备+灾备)提升系统鲁棒性。
本文链接:https://www.zhitaoyun.cn/2196811.html
发表评论