一.什么是高可用性
1.可用性是指服务不间断运转的时间,通常用百分比来表示,例如
99.999%表示每年最多允许5分钟的宕机时间
2.可用性的效果和开销比例呈线性增长
3.可用性的意义往往也不尽相同,例如,mysql需要“预热”
二.导致宕机的原因
1.虽然导致宕机的原因多种多样,但大致可以分为以下两种
a.人为宕机(高可靠性)
b.非人为宕机(高可用性)
2.宕机原因比例分布
a.运行环境(磁盘问题,系统崩溃,网络故障等)
b.性能问题(性能低下sql,过大的负载等)
c.复制问题(过高的延时,复制故障等)
d.其他问题(数据损坏,数据丢失等)
三.如何实现高可用性
1.提升平均故障间隔时间(MTBF)
a.尽可能降低人为因素导致的宕机
b.做好备份,周期性测试备份恢复
c.谨慎升级
d.尽可能避免使用复杂的特性,如复制过滤和触发器
e.定期检查复制的完整性
2.降低平均故障恢复时间(MTTR)
a.建立一个能够提供冗余和故障转移能力的系统架构
四.linuxHA集群的三种方式
1.主从方式
2.对称方式
3.多级方式
五.高可用技术的基本组成
1.服务(service)
2.浮动IP或虚拟IP(Float IP or Virtual IP)
3.节点服务器(Node)
4.失效域(Failover Domain)
5.心跳(heatbeat)
6.共享或者复制存储(share or replicas Storage)
六.高可用技术的相关概念
1.单一故障点(SPOF)
2.仲裁(Quorum)
3.失效迁移(Failover)
4.监视器(Monitor)
5.可编程电源控制器(PPC or SPS)
a.Programable Power Controller
b.Smart Power Switch