一个使用PC服务器的高可用性方案介绍
以Intel Nehalem CPU的强劲性能和SSD盘的高iops为使用高性能pc服务器加SSD硬盘取代传统小型机加存储的方案成为可能。现在2颗4核的Intel Nelhalem cpu的性能已经达到或超过了一般的小型机的性能。单块SLC SSD硬盘的iops就可以达到10000以上,所以使用多块SSD硬盘的iops将超过或达到高端存储的IOPS的性能。
然而在pc服务器中缺乏与小型机系统上相应的成熟高可用方案,让大家对如何实现使用Intel Nehalem+SSD盘取带小型机成为困难,在这里我介绍一种目前在我们的一个应用场景中使用的一个高可用方案:
两台可插24块盘的宝德的PC服务器(Nelhalem CPU),可以混插SAS硬盘和SSD盘,我们这边大部分插了SSD盘,也插了少量SAS硬盘,混插的目的是数据库中有一些空间不是需要高IOPS的,如归档文件的空间,这样使用SAS硬盘既可以获得大空间,又可以减少成本(因为SSD盘还是比SAS硬盘贵很多),操作系统安装了Linux,数据库使用了oracle11g。
把两台机器的硬盘通过iscsi互相输出到对端机器上,iscsi是走的专用的网卡通道,然后在oracle asm中把本机的硬盘与另一台机器通过iscsi输过来的硬盘之间做镜像。正常工作时,数据库运行在一个节点上,为描述方便,本节点称为A机器,如果A机器的硬盘出现问题了,由于与另一台机器B机器的硬盘是在ASM中的做的镜像,所以数据库仍然能正常工作。如果A机器出问题了,则通过heartbeat做切换,数据库切换到B机器上运行,当A机器修好后,使用了oracle11g的快速同步功能,重新同步把A机器硬盘与B机器上硬盘进行同步,由于使用了oracle11g的快速同步功能,不需要做全量同步,只需要做一个增量同步就可以了,也就是说即使现在的数据库有2T大小,当A机器坏后到A机器修好后,数据库只发生了100G的变化量的话,重新同步只需要同步这100G的变化量的数据。这样就大大减少了恢复时间。
出现各种异常的解决办法:
假设数据库运行在A机器上:
- A机器的cpu、内存、主板坏,使用heartbeat做切换,数据库切换到B机器上运行。 等A机器修好了后,重新在asm中做磁盘同步就可以了。数据库不需要再切换回A机器运行。
- A机器操作系统出问题,使用heartbeat做切换,数据库切换到B机器上运行。
- A机器的硬盘坏,由于硬盘做了跨机器的镜像,同时Linux也支持在线换硬盘,可以在线换硬盘,换完后,再在asm中做磁盘同步。
- B机器坏,修好B机器后,在asm做快速增量同步。
建议继续学习:
- 移动互联网创业公司的服务器选择 (阅读:4942)
- 通过HttpListener实现轻量级Web服务器[原创] (阅读:3396)
- 查看你服务器的安全性 (阅读:3290)
- Ruby作为服务器端应用已经成熟了 (阅读:2716)
- 图片服务器博客 (阅读:2545)
- Linux服务器基本安装 (阅读:2308)
- 从零开始React服务器渲染 (阅读:1819)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:osdba 来源: Alibaba DBA Team
- 标签: 服务器
- 发布时间:2009-11-18 09:19:36
- [68] 如何拿下简短的域名
- [68] Go Reflect 性能
- [64] Oracle MTS模式下 进程地址与会话信
- [61] 图书馆的世界纪录
- [60] 【社会化设计】自我(self)部分――欢迎区
- [60] IOS安全–浅谈关于IOS加固的几种方法
- [58] android 开发入门
- [53] 视觉调整-设计师 vs. 逻辑
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
- [47] 界面设计速成