服务器 频道

曙光高端服务器数据库集群解决方案案例

  【IT168 案例】随着网络的普及,计算机系统已经广泛应用在各行各业,极大地促进了社会经济发展。同时也对自身可用性和稳定性提出了更高的要求。网上银行、火车票订购、搜多引擎、电子商务等新的网络应用层出不穷,用户量之大,超出了人们最初的想象。而且大型网站还必须要能够提供24小时连续服务,由于巨大的访问量以及长时间不间断服务,数据库管理系统在处理巨大数据和并发数时遭受着很大的考验。在金融、证券、电信等行业领域,作为关键设备的数据库服务器担负着大量重要信息的处理、存储和传递任务,一但服务器发生故障或崩溃,将带来不可估量的影响。保证服务器连续、稳定的运行已经成为计算机系统应用中的迫切需要。在这种情况下,单个数据库管理系统已经不能提供令用户满意的服务。

  在这样的需求背景下,数据库集群技术受到了业界的关注。数据库集群技术是指多台普通的数据库服务器通过高速网络进行连接,成为一个统一数据库系统,共同为应用程序提供服务。数据库集群系统对用户来说是透明的,对外仅呈现一个节点,通过各个服务器之间的快速信息交流和负载均衡算法对多个节点分配任务,提高服务器的处理性能。

  数据库集群技术挑战

  高速互联网络、心跳检测和故障迁移是技术上的主要难点和挑战。

  1、互联网络

  数据库集群将集群技术运用到数据库系统中,由一组独立的数据库服务器通过高速网络构成统一的系统。各个数据库服务器之间相互协作共同完成任务,对用户仅呈现出一个节点。数据库集群与分布式数据库的组织形式类似,但他们之间有很大的差别,差别在于,分布式数据库不要求利用节点间的协作来提高整个系统性能,其目的在于实现数据的透明共享,一般由低速网络进行连接。而数据库集群的目的是通过同一集群中的各个数据库服务期间相互的协作来完成单一系统不能完成的任务,提高整个系统的性能。集群系统的节点之间会有频繁的信息传输,以实现节点间的负载平衡,是每个数据库服务器都能发挥其最大性能。为了减少通信代价,各个节点间需要通过高速网络进行连接。同时还要考虑到随着节点数和交换链路的增加,计算机协同工作的复杂度增加了,如何降低多机协同工作的复杂度的问题。

  2、心跳检测

  心跳检测是要解决多节点环境下各节点信息的采集、通讯、失效节点检测的问题。如何快速地采集个节点的状态信息,准确地检测到系统的故障、及时对失效节点作出判断、实现故障迁移也是多节点集群要解决的核心问题。为了实现系统的高可用,系统必须对网络状态、节点状态、软件状态、存储系统状态灯进行实时检测,监控到有故障节点时,立即将故障节点的工作迁移到其他节点中。为此,系统中各节点件必须尽快获取到对方的信条信息才能对集群做出准确的调度。这些信息包括:CPU利用率、内存使用率、网络负载、网卡IP工作状态、共享存储使用状况、用户关键业务的进程状态等,急群众的每个节点需要不断的采集自身的这些动态信息,报告给其它节点。同时还要不断获取其他节点的最新运行状态,以便在出现故障的时候做出迅速的反映。

  3、故障迁移

  多台数据库服务器相互连接,构成提供服务的整体,应用程序和客户端所需要的数据存储在共享的存储设备中。在某一节点是小的时候,共享存储的访问控制权就由失效节点切换至正常运行的节点上,客户端和应用程序可以通过共享存储设备继续访问所需的数据。这样可以是现在一个服务器节点失效的情况下,数据库集群仍可以正常提供数据访问和网络服务,保证客户关键业务的运行。

  方案逻辑图

曙光I840-G10数据库集群解决方案案例

  技术路线

  1、数据库集群方案

  为了缓解数据库系统日益增长的性能压力,Oracle公司推出了实时应用集群系统(RAC),支持Oracle数据库在集群上运行各种类别的商业级应用程序,通过共享cpu和内存将多个节点组成集群系统,是一种共享存储的体系结构。Oracle RAC运行在集群上,为Oracle数据库提供了较高级别的可用性、可伸缩性和低成本计算能力。两个或多个服务器节点并行协同工作,提供远超单机的数据库服务性能,且节点之间相互备份。假如集群中某个节点出现故障而停止服务,该服务器上的服务可自动迁移到其他节点,这样就提高了Oracle数据库的可用性。如果现有的集群系统不能满足服务要求,需要更高的处理能力,新的节点可以轻松添加进集群。假如现有的集群系统的性能超过了实际服务所需,又可以方便的删除节点,这样就增强了Oracle数据库的可伸缩性。

  RAC的每个节点上都运行着一个Oracle实例,所有这些实例都通过共享磁盘系统访问统一数据库。数据库的重做日志文件和回滚段也存放在这个共享磁盘系统上,服务器之间在保留原有IP的基础上,分别配置服务器的信任关系,用户在进行服务器连接是,不需要制定特定主机IP,只要连接集群的虚拟IP,系统将根据服务器的是否可用和繁忙程度来自行决定连接其中一台。集群服务器吧客户的请求透明地定向到集群内部的各个服务节点。集群服务器中某个服务器由于故障或计划停机而无法使用时,集群中其它节点可以自动承担工作负载,对故障节点进行实例恢复。系统中单一节点的故障不会影响集群中的其他节点,可以透明的进行故障切换。

  2、节点间高速互联方案

  Infiniband是一种公开的高带宽高速互联网络标准。当前Infiniband网络能够提供40Gbps的带宽和1us级别的延迟。基于Infiniband的互联网络是集群系统中最流行的组网方案之一。InfiniBand架构是一种支持多并发链接的“转换线缆”技术。在InfiniBand架构中,最主要的硬件部分就是HCA、TCA和IB Link。HCA是Host Channel Adapter的缩写,它是连接内存控制器和TCA的桥梁;TCA是Target Channel Adapter的缩写,它将I/O设备(例如网卡、SCSI控制器)的数字信号打包发送给HCA;IB Link包含了连接HCA和TCA的光纤以及光纤交换机、路由器等整套设备。在现阶段一根光纤的传输速率是2.5Git/s,支持全双工模式,并且可以把多条光纤捆绑到一起工作,目前的模式有x4、x12两种。这种架构在一个链接的时候速度是500 MB/秒,四个链接的时候速度是2 GB/秒,12个链接的时候速度可以达到6 GB /秒。

  方案收益

  通过Oracle RAC搭建的数据库集群。可以实现将多个独立的服务器组合成高性能数据库集群系统,同时增强了系统的可用性和可伸缩性。当数据库集群中某个节点故障,数据库会继续运行在集群中其它节点上,保证了数据库集群的高可靠性。当系统需要更多的处理能力时,可以很方便地在线增加另外的服务器节点提高整个集群系统的处理能力。集高性能、高可靠性、易管理性、灵活扩展、低TCO五大特性于一身。

  在大规模数据库集群系统中使用InfiniBand技术连接服务器节点和它们的I/O设备,集群系统的可管理性和可用性都会提高。Infiniband技术所提供的40Gb/s节点到节点,120Gb/s交换机到交换机的带宽,可以解决网络瓶颈所带来的效率低下的问题,通过Infiniband解决方案,可以提高计算的效率,从而减少节点数目,降低花费,减少功耗。在传统的集群系统中,服务器之间要通过快速以太网或其它高速网络设备连接,服务器与存储设备通过SCSI或光纤通道的方式连接,服务器与外界的客户机通过以太网或ATM方式相连,网络管理员面临着各种各样的连线。而InfiniBand规定了对设备管理的统一模式,HCA、TCA、IB Link、存储系统、网络设备、InfiniBand交换机、路由器都使用统一的管理软件,可以减少管理员的复杂的工作流程。Mellanox公司的端到端的Infiniband解决方案可以为客户带来更好的网络整合能力,提高数据库集群网络的稳定性和可靠性,对客户来说是最好的选择。

13
相关文章