高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用。虽然互联网服务号称7*24小时不间断服务,但多多少少有一些时候服务不可用,比如某些时候网页打不开,百度不能搜索或者无法发微博,发微信等。


      目前还没有一家公司完全能够做到7*24小时不间断服务的,包括百度、腾讯、阿里等。在国外也有很多类似的停机事故,比如2016年的亚马逊再次大规模宕机、2014年Facebook全球大规模宕机,持续约40分钟等。


       对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而言,高可用可能更复杂,对用户的服务可用,不仅仅是能访问,还需要有正确性保证,因此讨论数据库的高可用方案时,一般会同时考虑方案中数据一致性问题。


基于共享存储的SAN方案
       SAN(Storage Area Network)简单点说就是可以实现网络中不同服务器的数据共享,共享存储能够为数据库服务器和存储解耦。使用共享存储时,服务器能够正常挂载文件系统并操作,如果服务器挂了,备用服务器可以挂载相同的文件系统,执行需要的恢复操作,然后启动MySQL。共享存储的架构如下:

SAN方案的优点: 
1.可以避免存储外的其它组件引起的数据丢失。
2.部署简单,切换逻辑简单,对应用透明。
3.保证主备数据的强一致。

限制或缺点:
1.共享存储是单点,若共享存储挂了,则会丢失数据。
2.价格比价昂贵。

SAN存储网络的优势:
扩展性好
        SAN采用光纤通道技术。采用FC-LOOP形式每个光纤环路可支持126个光纤设备。如果采用FC-SW(光纤交换)的形式,光纤网络理论上可连接1600万个光纤设备。也就是说,可在光纤网络上增加光纤设备,满足系统的扩展性需要。
传输距离远
       采用多模光纤传输距离可达500米,采用单模光纤传输距离可达10公里。
传输速率高
       SAN具有的200MB/s的环路带宽,提升了主机系统的存储带宽,由于大量的数据存在于高速的SAN存储池中,减轻了服务器与客户机之间的通讯带宽。对于大数据量的访问操作我们都可以通过SAN来完成。
备份效率高
        可采用LAN-Free的数据备份方式,要备份的数据通过SAN 100MB/s的速率传输到磁带库,只有少量的控制信息通过TCP/IP网络进行传输。大大节省了TCP/IP网络带宽资源。
配置灵活
    通过相应的软件可实现基于SAN的网络文件共享,文件访问效率高。
安全性好
    可通过光纤交换机的ZOONING功能实现,交换机端口的访问控制。通过SeaStor磁盘阵列的LUN masking实现LUN一级的安全隔离。通过软件实现文件共享访问控制。