Oracle RAC在思科UCS上的应用

原文地址: http://network.chinabyte.com/259/12529259.shtml

UCS(统一计算系统)是Cisco提供的计算和网络一体化解决方案,它具有无状态计算(硬件级虚拟化),一跳自愈网络,虚拟化增强和集中管理等特点。本文重点介绍UCS特有技术对Oracle RAC部署的优化。

Oracle RAC (真正应用集群) 是 Oracle 数据库的一个选件, 在 Oracle 9i 中首次引入, 它提供了数据库横向扩展scale-out)的完善解决方案,为在企业网格计算体系中提供数据库服务提供了基础。Oracle RAC技术支持低成本的硬件平台,在保障优质的数据库服务同时,达到并超过昂贵的大型SMP服务器所能提供的高可靠性和可扩展性。Oracle RAC现已发展成一项成熟的技术,其用户过万,遍及各个行业,涉及各类应用程序。Oracle RAC 以其优异的弹性调整能力为可伸缩的云计算环境提供支持,使得用户可以利用低成本的硬件来降低整体成本。

高可靠性

Oracle RAC提供对称共享数据库服务,多个节点可同时对外提供服务。如果 RAC 数据库中的一个节点出现故障,其余节点将继续保持工作状态,同时集群会自动进行故障切换和恢复。利用快速应用程序通知,快速连接故障切换和透明应用程序故障切换这三个功能,应用程序可以很方便地屏蔽底层故障,实现零故障切换,确保用户业务连续性,减少计划外停机时间。

网络自愈是UCS独有的特点。Oracle RAC各节点间的集群通信,全局数据交互,存储管理均通过网络完成,因此,稳定的网络连接对于RAC的稳定性是致关重要的。在传统服务器环境下,用户需要配置6块网卡,采用操作系统双网卡绑定的方式分别支持RAC的Priv,VIP,PUB网段,这种方式配置复杂,且响应时间长(通常操作系统是30秒time-out)。而对于UCS来说,集成了硬件级的网络故障自动切换,当出现任何网络的故障均可自行修复,提供了RAC节点间的可靠连接保障,避免了不必要的集群重组风险。同时,通过网卡虚拟化,多通路复用等技术,有效减少了RAC环境下网卡/交换端口数量,降低单位成本。

无状态计算是UCS的创新技术,它实现了以计算节点为粒度的硬件级虚拟化,使得应用部署和物理节点实现的真正意义上的解耦,大幅提升资源复用和故障设备快速修复能力。在Oracle RAC环境下,当某一节点出现设备层面故障,其它节点会接管该节点的业务,但此时会降低原有设计的高可靠性,并导致部分节点的性能压力。而传统RAC故障节点的修复需要服务器,网络,存储,操作系统,数据库等多方面的专家参与,导致系统修复时间长,使系统长期暴露在潜在的风险中。而在思科UCS平台上,故障节点的修复仅需要服务器管理员参与,大大缩短了修复时间窗口,降低了维护成本。这种保护方式,不受传统HA集群范围的限制,能够轻松实现设备层N:1的高可靠性保护。对于新设备替换,无状态计算能力也能够帮助用户实现RAC环境下的逐步轮替,降低计划内停机时间,实现平滑过渡。

可扩展性

传统上,当服务器容量不足时,我们会使用更大的新服务器来替换它。但服务器容量越大,其价格也愈加昂贵,同时受操作系统自身协调能力影响,性能无法随CPU增加而线形扩展。对于使用 RAC 的数据库而言,还有其他增加容量的方法。原先运行于大型服务器上的应用程序可迁移到小型x86服务器集群中运行,通过多节点聚合的方式满足性能要求, Oracle RAC 可向集群中添加服务器时并不需要停机,且在启动新节点(实例)后,应用程序就可立即利用这些增加的计算和内存资源,不需要DBA手动调整。

低网络延时和高带宽是思科UCS的固有优势。Oracle RAC环境中,所有跨节点的信息交换均需要通过网络来实现,因此低延时、高带宽网络是Oracle RAC横向扩展能力的关键因素。思科UCS采用计算和网络一体化设计,其网络延时是传统千兆网络的十分之一,而带宽是其十倍以上,保障了RAC跨节点的信息交换,更有效地避免节点间锁冲突,提升了Oracle RAC的性能扩展能力。

一跳网格是UCS的独特架构,它使得任意两节点间的网络消耗均为对等并最低。这个特性使得RAC部署及扩展时不需要考虑物理位置带来的影响,对于具有迭代效应的应用(一个结果需要多次查询)尤其有帮助。

弹性计算服务

Oracle 真正应用集群体系结构可以自动适应快速变化的业务要求和由此带来的负载变化。应用可通过客户端使用服务名连接到数据库。Oracle 可在集群中的多个节点中自动进行用户负载均衡。用户可以根据需要订阅所有或部分节点的数据库服务。这样 DBA 就可以灵活地设定某应用使用多少数据库资源。当应用需求上升时,管理员可以很方便地增添处理能力。

UCS无状态计算带来的另外一个优势就是提升了硬件资源复用能力,并能够很方便的将物理资源加入到不同的应用系统集群中,实现了应用需求和计算资源供给的无缝对接。当企业用户在做Oracle RAC规划和部署时,通常要考虑到三年的业务增长,都会部署较多的冗余计算资源,这会是很大的资源浪费。而在UCS平台上,我们可以按规划部署多个节点,而冗余的节点可以只是以逻辑的形式存放在网络侧,当有应用压力时,可以按需加载到任意闲置节点,在线增加处理能力。这一能力,可以帮助我们非常便捷地实现大型弹性计算平台,对多个业务系统提供计算能力支撑,对需要快速扩展的系统,可以通过横向扩展方式快速增加资源,对于收缩的系统,可以快速回收资源。对有不确定业务峰值的系统,可通过统一协调冗余资源满足峰值需求。

  数据库部署配套软硬件

  优势对比

  典型案例分析:

1.某高校学籍管理系统,支持4万学生学籍及相关信息管理。

后端数据库推荐:两台B200M3 2xE2620, 48G内存;主备切换学籍管理并不是很大的数据库,且实时性要求并不高,因此可以采用较低端配置,core:memory为1:4这样能够保障大多数常用数据常驻在内存里,提升效率–类似系统查询比例远比写入比例高。

2.某医院门诊系统,支持每天12万门诊量。

后端数据库推荐:两台B440 M2 2xE4830, 64G 内存; RAC门诊系统的可靠性要求非常高,因此推荐采用RAC并行数据库,即使出现一个节点的连续故障,也能够保障系统满负荷运行,结合UCS无状态计算能力,能够实现故障节点快速修复。门诊系统每个处理的关联性并不大,因此横向扩展能力非常好,不会因为节点过多带来负面影响。门诊系统写操作相对密集,因此对存储的缓存有一定要求。

3.某企业用户的人事系统,采用Oracle E-Business HRMS模块,100并发用户,2000系统用户。

SAVBU提供Oracle系统的sizing服务,在SAVBU下载相应的调查问卷,发送给ciscowithoracle@cisco.com

http://savtg.cisco.com/enterprise-applications/oracle#Sizing Questionairre

第一次填调查问卷是很麻烦的一件事,但清楚的描述用户需求是准确评估的重要保障,因此,请SE务必花时间填写清楚。总的来说,100 HR并发用户并不是很大的系统。

4.某省级政府综合业务系统,业务类型包括查询,新增,修改及部分批处理业务,12TB实际数据量。支持4万用户,1.5万在线用户,2000并发用户。

后端数据库推荐:四台B440 M2, 4xE7 4870, 128G内存; RAC核心系统,必须通过RAC多节点技术实现高稳定性和横向性能扩展,即使出现一半硬件故障,也能够保障满负荷业务运行,采用万兆低延时网络保障横向扩展能力。采用高主频处理器,应对部分批处理业务–如果没有很好的数据分区规划,批处理易产生较大的跨节点数据冲突,高性能的节点能够避免这样的情况,并保障批处理业务的处理速度。

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号