用ASM和iSCSI实现的另类HA方案
普通PC本地磁盘,没有共享存储,如何实现HA?Dataguard挺好,但是存在数据丢失的可能性,而且很难做到应用透明切换。我们用ASM,Heartbeat和iSCSI可以实现一个廉价的HA方案,如下图:
用iSCSI将本地磁盘输出到对方的机器上,利用ASM的failgroup做mirror,保证数据mirror在两台不同的机器上,就算一台机器完全损坏,数据可以做到百分之百不丢失。用Heartbeat作HA探测,如果发现主机故障,则强行关闭DB和ASM,并在备机启动ASM和DB。如果使用Oracle 11g R2,还可以利用Preferred mirror read的特性,保证主库读自己的本地磁盘,而不是通过iSCSI读备机磁盘,这样可以达到更好的性能。
缺点:Heartbeat作为HA软件,我们并不是十分了解其探测机制,可能出现误判或者无法切换的情况。但是其实IBM hacmp这种HA软件一样有问题,比如Oracle hang住时,现在的hacmp根本无法探测,因为hacmp只是判断Oracle的进程在不在,而不管数据库是否活着。
我想不管什么HA软件,都无法处理所有的异常情况,我们只要有完善的监控和应对措施就可以了。比如我们现在所有的DB都有一个监控,就是定时模拟应用去更新数据库中的数据,如果发现超时或者报错,就认为数据库出现hang的情况,并发出报警。
-EOF-
另:之前我有一篇文章介绍用ASM和iSCSI搭建RAC的文章,在实际测试过程中,发现存在一些问题,因为在11g R2之前,voting disk和OCR都必须放在RAW devices上。因为没有共享存储,如果发生某台机器全部宕机,voting disk可能会丢失一部分,造成RAC的cluster机制发生误判。所以在11g R2之前,这个方案是有问题的,在11g R2中,Oracle几乎所有的东西都可以放在ASM中,这个方案也许可行,我还没有测试过。
建议继续学习:
- ASM使用AIX raw disk的问题 (阅读:3767)
- Oracle ASM存储方式浅析 (阅读:3352)
- ASM装载磁盘组时ORA-15063错误处理 (阅读:2576)
- ASM中如何配置多个控制文件 (阅读:2574)
- 数据库HA方案 (阅读:2375)
- ASM的争论 (阅读:2399)
- ASM的争论 (阅读:2360)
- ASM的优点总结–关于日志文件调整 (阅读:1625)
- ASM HEADER 备份与恢复 (阅读:1579)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:jacky 来源: Hello DBA
- 标签: ASM HA iSCSI
- 发布时间:2009-12-10 13:36:25
-
[84] memory prefetch浅析
-
[53] 基本排序算法的PHP实现
-
[51] 深入浅出cassandra 4 数据一致性问
-
[49] 转载:cassandra读写性能原理分析
-
[43] MySQL半同步存在的问题
-
[41] 字符引用和空白字符
-
[41] javascript插入样式
-
[40] Inline Form Labels
-
[39] JS中如何判断字符串类型的数字
-
[38] 获取Dom元素的X/Y坐标