当前位置:首页 > 综合资讯 > 正文
黑狐家游戏

两台服务器如何做主备,从库安装步骤

两台服务器如何做主备,从库安装步骤

两台服务器主备架构部署与从库安装步骤如下: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 新技术融合

  • 区块链存证:交易记录上链存证
  • 数字孪生:构建系统虚拟镜像进行测试

(全文完)

本方案通过详细的架构设计、实施步骤、监控体系及安全加固措施,构建了完整的双机主备高可用解决方案,实际实施时需根据具体业务需求调整参数,建议每季度进行架构健康度评估,结合监控数据持续优化系统性能,对于关键业务系统,建议采用三机热备架构(主+备+灾备)提升系统鲁棒性。

黑狐家游戏

发表评论

最新文章