论文部分内容阅读
摘要:本文首先介绍了数据库高可靠性概念和数据库高可用性特性。之后论述了高可靠性所需要的体系结构,包括软件体系结构和硬件体系结构。最后描述了如何利用虚拟机软件模拟实际环境搭建了一个ORACLE集群系统,它通过共享存储等一系列技术实现数据库的高可用性,是数据库高可靠性的一种解决方案的模拟实现。
关键词:高可用性;ORACLE集群;共享存储;VIP
1 引言
目前的银行、证券、航空、学校、科研等领域都有各自的数据库系统,而数据库高可用性如何,直接影响这些领域的运行效率。例如在航空领域中,航空气象资料准确性、及时性对航空器的安全飞行有着重要的作用,这就要求资料的存储系统即数据库系统具有高可用性。
2 数据库高可用性
高可用性(High Availability,HA)是指融合了硬件和软件技术的宗合解决方案。它保证在不丢失数据的前提下,应用程序能够不间断运行,服务可以持续访问。高可用性具有如下特性。
2.1可靠性:可靠的硬件和可靠的软件。
2.2可恢复性:提供各种机制,确保能从失败中恢复丢失的数据。
2.3可持续性:当某些组件失败时,仍然能够对外界提供服务。
3 集群的硬件架构
ORACLE集群是高可用性的一种常用解决方案,它通过共享存储等一系列技术实现数据库的高可用性。集群的典型架构如图1
在集群架构中的每台服务器称为一个节点,一个集群最多可支持100个节点。每个节点间通过私有网络进行通信,通过公有网络对外提供服务。每个节点都可以通过以太网交换机访问共享磁盘。数据库中的数据存放在共享磁盘中,集群中的每个节点上都运行一个实例,每个实例可并行的访问共享磁盘中的数据。当一个节点1需要数据时,ORACLE会把数据块从磁盘读到SGA的数据缓冲区中。如果另外一个节点2也需要相同的数据时,它会首先在自己的内存中查找,如果找不到,再到节点1和3中查找,如果还是找不到,则从共享磁盘中读取;如果在节点1中找到相同的数据,则会通过私有网络将数据块读到节点2的缓存中。这样的一种机制降低了对磁盘的读写,提高了数据的共享效率。
共享存储通常是由若干个磁盤组成,将这些磁盘采用RAID技术虚拟成一个大的硬盘,数据在这几个磁盘间分布。采用RAID技术可保证数据不丢失。由于是将数据分布存储在多个磁盘上,所以可以实现对物理磁盘的并发写和并发读,从而提高整个磁盘子系统的I/O吞吐量。此外,在集群中,磁盘故障并不是意外,而采用磁盘阵列技术可以使得磁盘替换变得更加容易。目前大部分磁盘阵列厂商都支持热插拔,某块磁盘故障时,会在存储设备的前面板上有相应指示,并发出告警信息,维护人员所需要做的就是拔掉故障硬盘,插入新硬盘。
4 软件架构
构成集群的第一层是硬件层,第二层是网格基础软件,它负责管理集群中的节点、各种资源及存储管理。其中的各种资源指的是集群中的数据库、监听、VIP、后台服务程序等。其中VIP和监听是在安装集群网格软件时创建的。Oracle RAC是数据库软件,主要用来进行数据库的创建。
5 集群统一入口
应用服务器在访问集群时一般通过SCAN,SCAN是一个主机的名字,这个名字不对应某个节点,而是对应整个集群,集群和SCAN是一一对应的。一个SCAN可以对应多个VIP,这里的VIP称为SCAN VIP,SCAN VIP不属于任何节点,可以在集群节点间漂移。当集群内部的节点发生变化时,对SCAN没有影响,对访问的服务器来说也不需要重新配置。
6 在虚拟机上搭建集群
实际在虚拟机上搭建集群的步骤与生产环境是一样的,只是某些环节的操作会有不同,下面虚拟条件下安装环境。
6.1 安装环境
台式机:8G内存。
操作系统:Windows XP 64 位。
虚拟机软件:VirtualBox 4。3。24。
6.2存储规划
6.2.1本地磁盘
对应分区名:sdc1。
分区大小:16G。
6.2.2共享磁盘
对应的分区名1:sdd1、sde1、sdf1、sdg1、sdh1、sdi1
每个分区的大小:1G
7 总结
数据库的高可用性需要冗余硬件和复杂软件的支持,Oracle集群对于用户是透明的,对维护者来说需要掌握的内容比单节点要复杂,利用虚拟机实现数据库的集群,不仅能帮助维护人员,熟悉软件的安装、配置,而且对其体系结构和运行原理的掌握,有着重要的作用,从而为今后的日常维护有重要的意义。
参考文献:
[1]《ORCLE数据库疑难解析》 清华大学出版社.作者滕永昌.
作者简介 姓名张宏伟,男,1970年生,高级工程师,操作系统、数据库
关键词:高可用性;ORACLE集群;共享存储;VIP
1 引言
目前的银行、证券、航空、学校、科研等领域都有各自的数据库系统,而数据库高可用性如何,直接影响这些领域的运行效率。例如在航空领域中,航空气象资料准确性、及时性对航空器的安全飞行有着重要的作用,这就要求资料的存储系统即数据库系统具有高可用性。
2 数据库高可用性
高可用性(High Availability,HA)是指融合了硬件和软件技术的宗合解决方案。它保证在不丢失数据的前提下,应用程序能够不间断运行,服务可以持续访问。高可用性具有如下特性。
2.1可靠性:可靠的硬件和可靠的软件。
2.2可恢复性:提供各种机制,确保能从失败中恢复丢失的数据。
2.3可持续性:当某些组件失败时,仍然能够对外界提供服务。
3 集群的硬件架构
ORACLE集群是高可用性的一种常用解决方案,它通过共享存储等一系列技术实现数据库的高可用性。集群的典型架构如图1
在集群架构中的每台服务器称为一个节点,一个集群最多可支持100个节点。每个节点间通过私有网络进行通信,通过公有网络对外提供服务。每个节点都可以通过以太网交换机访问共享磁盘。数据库中的数据存放在共享磁盘中,集群中的每个节点上都运行一个实例,每个实例可并行的访问共享磁盘中的数据。当一个节点1需要数据时,ORACLE会把数据块从磁盘读到SGA的数据缓冲区中。如果另外一个节点2也需要相同的数据时,它会首先在自己的内存中查找,如果找不到,再到节点1和3中查找,如果还是找不到,则从共享磁盘中读取;如果在节点1中找到相同的数据,则会通过私有网络将数据块读到节点2的缓存中。这样的一种机制降低了对磁盘的读写,提高了数据的共享效率。
共享存储通常是由若干个磁盤组成,将这些磁盘采用RAID技术虚拟成一个大的硬盘,数据在这几个磁盘间分布。采用RAID技术可保证数据不丢失。由于是将数据分布存储在多个磁盘上,所以可以实现对物理磁盘的并发写和并发读,从而提高整个磁盘子系统的I/O吞吐量。此外,在集群中,磁盘故障并不是意外,而采用磁盘阵列技术可以使得磁盘替换变得更加容易。目前大部分磁盘阵列厂商都支持热插拔,某块磁盘故障时,会在存储设备的前面板上有相应指示,并发出告警信息,维护人员所需要做的就是拔掉故障硬盘,插入新硬盘。
4 软件架构
构成集群的第一层是硬件层,第二层是网格基础软件,它负责管理集群中的节点、各种资源及存储管理。其中的各种资源指的是集群中的数据库、监听、VIP、后台服务程序等。其中VIP和监听是在安装集群网格软件时创建的。Oracle RAC是数据库软件,主要用来进行数据库的创建。
5 集群统一入口
应用服务器在访问集群时一般通过SCAN,SCAN是一个主机的名字,这个名字不对应某个节点,而是对应整个集群,集群和SCAN是一一对应的。一个SCAN可以对应多个VIP,这里的VIP称为SCAN VIP,SCAN VIP不属于任何节点,可以在集群节点间漂移。当集群内部的节点发生变化时,对SCAN没有影响,对访问的服务器来说也不需要重新配置。
6 在虚拟机上搭建集群
实际在虚拟机上搭建集群的步骤与生产环境是一样的,只是某些环节的操作会有不同,下面虚拟条件下安装环境。
6.1 安装环境
台式机:8G内存。
操作系统:Windows XP 64 位。
虚拟机软件:VirtualBox 4。3。24。
6.2存储规划
6.2.1本地磁盘
对应分区名:sdc1。
分区大小:16G。
6.2.2共享磁盘
对应的分区名1:sdd1、sde1、sdf1、sdg1、sdh1、sdi1
每个分区的大小:1G
7 总结
数据库的高可用性需要冗余硬件和复杂软件的支持,Oracle集群对于用户是透明的,对维护者来说需要掌握的内容比单节点要复杂,利用虚拟机实现数据库的集群,不仅能帮助维护人员,熟悉软件的安装、配置,而且对其体系结构和运行原理的掌握,有着重要的作用,从而为今后的日常维护有重要的意义。
参考文献:
[1]《ORCLE数据库疑难解析》 清华大学出版社.作者滕永昌.
作者简介 姓名张宏伟,男,1970年生,高级工程师,操作系统、数据库