介绍
高可用性H.A.(High Availability)是指尽量短的缩减日常维护计划和突发的系统奔溃所导致的停机时间,以提高系统应用的可用性.
造成原因
- 严重的主从延迟
- 主从复制的中断
-锁引起的大量阻塞 - 软硬件错误造成服务器的Down机
如何实现高可用
避免导致不可用的因素,减少系统不可用时间
磁盘空间耗尽
备份或各种查询突增导致磁盘空间耗尽,MySQL无法记录二进制日志,无法处理新请求而产生系统的不可用故障性能糟糕的SQL
表的结构和索引没有进行优化
主从数据不一致
人为操作失误
磁盘空间耗尽
解决方案
- 建立完善的监控和报警系统
- 避免过度的报警和漏报
- 对备份数据进行恢复测试
- 定时进行备份测试
- 对远程数据库特别要注意⚠
- 正确配置数据参数
- 从服务器必须配置成只读!!!!!!!!!
- 对不需要的数据进行归档和清理
增加系统冗余,保证系统不可用时可以尽快恢复
- 避免存在单点故障
单点故障
- 系统中提供相同功能的组件只有1个,
- 如果此组件实效会影响整个系统.
- 组成应用系统的各个组件都可能成为单点
唯一的ADC机房,网卡,网络交换机,单独的服务器或MySQL服务器都可能是单点故障
MySQL单点故障的解决方案
- SUN共享存储,2个服务器挂载,1台操作
- 磁盘镜像进行DRDB磁盘复制
- 利用多写集群或者NDB集群
- 利用主从复制
- 主从切换及故障转移
- 主服务器切换后如何通知应用新的主服务器IP地址
- 如何检查主服务器是否可用
- 如何处理新主服务器和从服务器的复制关系