数据库高可用:企业数据库高可用性架构设计

来源:互联网 发布:英国劳氏海事数据库 编辑:程序博客网 时间:2024/05/22 12:35
1. 本地高可用
本地高可用性通常是指在一个机房内部实现的高可用方案,通常都是通过硬件冗余来实现的,比如,对于运行数据库的物理机器,通常其电源、网卡、磁盘、光纤通道等部件都是双份或者多份冗余的,同时会有两台或者多台机器同时运行数据库(或者一台运行一台备份),以防止某个硬件或者某台机器的故障。
电源:多个电源接入,同时配置UPS不间断电源,可以保证某一条电线断开或者停电的状态下,服务器的供电不间断。
网卡:在操作系统层面做双网卡绑定,出现一个网卡故障的情况下,网络通讯不会中断,同时配置两台网络交换机。
磁盘:通过RAID的方式实现数据多份写入,冗余的数据可以保证出现磁盘损坏的情况下数据不丢失。
光纤通道:对于连接磁盘阵列和服务器的光纤通道,通常都会有两条通路,通过多路径软件配合其使用,并且连接在两台光纤交换机上。
双机集群:通过集群软件,将两台机器组成一个集群,运行的服务可以在两台机器上切换,以防止某一台机器出现故障。
以上描述的都是跟数据库无关的硬件高可用,即本次活动中描述的高可用的主机集群和高可用的存储,对于数据库,有以下两个解决方案配合以上的硬件高可用:
双机热备:即通过HACMP,TSAMP,LinuxHA等高可用软件组成双机热备,两台服务器一个主节点一个备节点,平时数据库运行在主节点,如果主节点出现故障,则数据库服务和浮动IP都会切换到备节点。
数据库集群:比如IBM DB2的pureScale技术,OracleRAC技术,可以实现分布式的数据库服务,多个服务器同时提供数据库服务而没有主备之分,某一结点出现故障的时候,其他节点可以无缝接管其服务。
2. 异地容灾
异地容灾通常是指在两个或多个机房之间实现的容灾技术,异地容灾解决的不仅仅是服务器硬件故障,还可以在机房在遇到洪水、火灾、雷击、军事攻击等天灾人祸时,即使整个机房不复存在的情况下,异地的其他机房可以接管其数据,并继续对外提供服务。
以IBM DB2数据库为例,以下几个技术可以实现异地容灾:
存储复制:通过存储的复制功能,或者顶层的复制软件如GPFS等,实现数据同时写入两个异地的数据中心。
CDC或Q复制:CDC与Q复制都是专业的数据复制软件,可以实现将数据库准实时的复制到异地。
HADR:数据库自带的容灾功能,通过log传输实现数据的异地复制。
Log shipping:即通过手工传输日志的方式,实现数据的复制。
GDPC:真正的双数据中心双活,两个数据中心同时提供服务,并且数据可以实时保持一致。
3. 备份恢复方案
备份恢复方案其实可以单独作为一个主题进行讨论,但为了更全面的介绍高可用性,我们也把他放到本次的话题里进行,作为高可用性的一部分。

无论高可用性设计的多么完备,都不可能保证100%的数据安全,当所有的高可用方案都无济于事的情况下,还是需要通过备份和恢复来实现数据的可用性。所以,完善的备份恢复方案对于企业来讲,是非常必要的,而且为了确保备份恢复方案的有效性,需要定期进行备份恢复模拟演练,这样才能在真正出问题的时候实现快速恢复。

备份可以分为以下几种:
离线备份和在线备份(冷备和热备)
全备和增量备份
比较常见的备份策略是:每周进行在线全库备份,每天进行在线增量备份,这个策略既不影响业务,又能保证快速的恢复时间。
对于备份文件的存储也非常关键,对于某些金融机构,其数据库备份会存放在某个秘密的安全地点作为最后一道防线。

0 0
原创粉丝点击