根据需要,可以利用HADR实现以下几种业务需求。
1.使用HADR代替传统的HA架构
很多客户的实际环境中,既配置了传统的HA,又配置了HADR,但由于使用HADR的经验不多,或者对HADR本身不信任,不敢用HADR完全取代HA。我个人的观点是HADR是完全可以取代HA的。
部分站点故障可能是由硬件、网络或软件(DB2 或操作系统)故障引起的。没有 HADR,部分站点故障需要重新引导数据库管理系统(DBMS)服务器或数据库所在的机器。重新启动数据库和数据库所在的机器所花费的时间长短是不可预测的。可能在几分钟时间后,数据库才会恢复为一致状态并可用。使用 HADR,则备用数据库可在数秒内接管。
客户担心的数据同步问题,在同步方式为nearsyc的情况下,只要不是两台机器同时发生故障,数据是不会丢失的。在同一个机房中的两台机器,nearsyc同步方式对性能的影响一般是可以接受的。
使用HADR代替HA又两种集群软件可以选择,一种是原来的HA软件,比如AIX HACMP,把数据库做为一种资源,加入集群软件,然后通过写脚本的方式实现自动切换;第二种方式是使用DB2自己提供的高可用组件TSA,来实现自动接管,TSA可以支持多种操作系统(AIX,Windows,Linux),可以减少不同操作系统使用不同集群软件的不便。
2.使用HADR实现读写分离架构
在DB2 9.7以后的HADR环境中,备机提供了只读查询的功能。可以通过应用端的控制,将一些只读应用部署到备机,从而实现读写分离,建议这些只读应用同时也部署到主机,按照一定的权重来分配到主机和备机的访问流量。这样如果一台机器发生故障,另一台机器可以无缝接管。
3.使用HADR实现同城灾备架构
以前很多的同城灾备是通过存储级复制实现的。其实使用HADR也能达到同样的效果,而且在HADR备机可以进行读写的情况下,甚至可以分配一些只读任务到同城灾备站点,这样既可以提高资源利用率,又可以确保应用是可用的。
4.使用HADR实现两地三中心灾备架构
DB2 10.1版本以后,HADR提供了至多3个备机的架构,这样我们可以在本地,同城和异地分别部署一台HAD备机,从而实现两地三中心架构。
收起