标题 | 大数据时代下RAC集群模式的应用 |
范文 | 张莹 张潇予 摘要:基于大数据环境,对Oracle 数据库RAC集群模式的体系结构和原理进行了介绍,并举出了具体的实用实例。RAC集群模式的高可用性、负载均衡和高性能的特性,是未来信息技术的发展趋势,也是人才培养的方向之一。 关键词:大数据;RAC集群;高可用性;缓存融合;高性能 中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)09-0027-04 1 大数据的背景简介 随着数据库以及网络信息技术的飞速发展,标志着大数据时代的到来。信息技术与人们的工作、生活紧密相连,各种网络社交网站,软件以及智能设备每时每刻都在产生着不同形式的大量数据,由此产生了超越以往任何时代的巨量数据。海量数据成为资源共享和社会进步基础的同时,也存在各种隐患。大数据技术的目标之一就是处理批量数据,让数据具有更高的可靠性和可用性,筛选出真正有利用有价值的信息,从而形成变革之力。从国家安全部门、互联网创业公司到金融机构,无处不需要大数据项目来做创新驱动。大数据时代也催生了大量相关人才的缺口。 2 Oracle RAC集群体系结构简介 哈佛大学社会学教授加里·金说过:“这是一场革命,庞大的数据资源使得各个领域开始了量化进程,无论学术界、商界还是政府,所有领域都将开始这种进程。” 随着数据处理能力的增强,数据量已经从TB(1024GB=1TB)级别跃升到PB(1024TB=1PB)、 EB(1024PB=1EB)乃至ZB(1024EB=1ZB)级别。 巨量数据的应用对数据库的要求越来越高。随着数据量的增大,除记录数据外,数据库还要面对存储容量是否可扩展、保存数据是否安全、数据的可利用性和数据的处理速度等问题。如何合理运用数据库并且减轻它负担,由此衍生出来针对企业信息系统的oracle数据库的 RAC集群运行模式。 集群是若干互联节点充当一个单台服务器。集群软件隐藏了结构,所有节点都可以对磁盘进行读写操作。RAC全称 Real Application Clusters ,简单说它就是一个软件,RAC通过集群互连使得多个实例间可以互传协调信息和数据映象。从外部应用人员的角度看,RAC就像是一个节点在提供服务。 RAC的层次架构有三层: 2.1 存储类 存储类中RAC是一个多实例、单数据库的系统。很多个节点共用一个磁盘来存储和共享数据。database files、control files、redo logs 等。 底层存储方式 raid 0 两块盘disk,条带化 raid 1 两块盘disk,镜像 raid 5 三块盘 disk,条带化+镜像 底层配置raid卡,5更稳定。 2.2 网络类 RAC中,在TNS中配置网络相关的IP地址。有四种情况:Public、Private、vip和scanip。 由公网网卡接入的网络,可以对外的提高查询的服务。由私网网卡构建的,为了使内部的节点之间可以相互通信,完成缓存融合的功能。由游离的IP的组成的,为了实现高可用的性能的IP地址。实例如表1所示。 2.3 应用类 CRS则是应用层的,通过一些CRS的命令对上层进行管理。用于检查后台进程状态,启动所有CRS资源。检查ocr设置信息用ocrcheck,检查磁盘信息,查看所有CRS资源基本信息等。 3 RAC集群原理及实例 3.1 RAC集群相关原理 1)RAC集群原理 RAC 主要是一个database,可以由多个instance访问,每个节点运行一个instance。 CRS:Cluster Ready Service,Oracle集群软件。 GRID:网格管理,11g通过 GRID架构集中管理RAC节点。 RAC:较更早的OPS提供更好的性能。 2)RAC 体系的优势 (1)高可用性:提供节点容错和负载均衡。如果主实例出现故障,服务将从故障实例转移到仍正常运行的替代实例。 (2)扩展性和高性能:提高业务吞吐量,允许同时运行多个批处理。允许更大的并行度和更多的并行执行操作。允许大幅度增加联机事务处理系统中的连接用户数量。 3)CRS的重要后台进程 CRS是RAC的集群件,它是RAC体系的主要组件,由若干个进程组成,其中最重要的3个是CRSD、CSSD和EVMD。 4)VIP VIP是RAC提供节点间服务切换的网络组件,是为了替代OS层面的TCP/IP超时阈值机制。 (1)绑定固定的对外提供服务的是公网IP,但是可以浮动的是VIP。VIP可以附着在公网IP上,因此此时最少就有两个网卡IP了。 (2)当某一个节点网卡故障坏掉时,VIP会自动游附到好的节点上,这样此VIP的就可以继续不断使用 (3)一般VIP是配置在客户端的TNS文件中的。 5)缓存融合Cache Fusion RAC的前身是OPS,OPS的一个缺点是当一个节点修改了某个数据块,而第二个节点也要修改同一数据块时,必须等待第一个节点将该块写入磁盘数据文件,然后第二个节点从磁盘上读取该块,这种方式比较低效。 RAC有多个节点,总体上RAC的Buffer Cache的數据块比单实例的数量更多,修改更为密集。RAC采用了一种叫做Cache Fusion的机制,可以通过节点间的高速内网传递同一个要修改的块,大大提高了DML操作的效率。整个Cache Fusion有两个服务组成,GCS和GES。它们具体体现为一些服务进程。 以缓存融合为例,当一个实例修改了某个数据块,而另一个实例也要修改该块时,第一个实例会把修改的数据块即Current Copy通过Cashe Fusion传给第二个实例,然后保存原数据块在实例的内存中,但是不能再进行任何修改操作,第一个实例就相对的成为主节点。 这一机制是为了保护事务的一致性,并有利于Crash Recovery的恢复过程。 3.2实际操作RAC搭建过程 1)注意事项 在RAC中,grid用户的权限要比oracle的权限大,所以在RAC中监听listener已经不属于oracle来管理了,而是grid用户来管理。listener作为一种启动的资源来配置。lsnrctl status命令可以查看有几个实例注册了进来。 2)搭建过程 (1)首先需要配置网络,建立本地盘和共享盘 (2)建用户及组、目录、权限并更新配置文件 groupadd -g 200 oinstall groupadd -g 201 dba groupadd -g 202 oper groupadd -g 203 asmadmin groupadd -g 204 asmoper groupadd -g 205 asmdba useradd -u 200 -g oinstall -G dba,asmdba,oper oracle useradd -u 201 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid (3)修改内核参数vi /etc/sysctl.conf fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 (4)配置共享存储 運用 ASM磁盘管理配置规划 磁盘组OCR_VOTE,3个1G互为镜像 (5)建立主机间的信任关系 (6) 配置Grid用户信任关系: 生成密钥rsa类型:id_rsa为私钥,id_rsa.pub为公钥,它们自动保存到.ssh下 [[email protected] ~]$ cd [[email protected] ~]$ ssh-keygen -t rsa [[email protected] ~]$ ssh-keygen -t dsa 配置grid用户信任关系(Node1、Node2) Node1: [[email protected] ~]$ ls .ssh id_dsa、 id_rsa 、id_dsa.pub 、id_rsa.pub 第一步,先把Node1的两把公钥收集到它的authorized_keys文件中。 我们只关心公钥,不关心私钥 [[email protected] ~]$ cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys [[email protected] ~]$ cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 第二步,把其他节点的公钥追加到node1的authorized_keys文件中。 [[email protected] ~]$ ssh tim2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys [[email protected] ~]$ ssh tim2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 第三步,把node1的authorized_keys文件派发给其他节点。 [[email protected] ~]$ scp ~/.ssh/authorized_keys tim2:~/.ssh [[email protected] ~]$ cat ~/.ssh/authorized_keys (7)安装Grid 解压安装包 以root身份解压grid安装包和database安装包 Node1: [[email protected] ~]#cd /soft [[email protected] soft]#ls asm linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip linux_11gR2_grid.zip [[email protected] soft]#unzip linux_11gR2_grid.zip [[email protected] soft]#unzip linux_11gR2_database_1of2.zip [[email protected] soft]#unzip linux_11gR2_database_2of2.zip 检查两个节点的共享盘 看到的共享盘ASMDisk已经准备就绪 Node1: [[email protected] ~]#ll /dev/raw/raw* Node2:同上 [[email protected] ~]#ll /dev/raw/raw* 两节点看到的盘一致 (8)启动GRID安装界面 启动Xmanager Passive,一般端口是[:0.0],如图1所示。 DISPLAY的意思是把图形显示到某个客户端上,图2显示的是win7本地客户端。 使用ASM,Oracle11gR2取消了raw选项,如图3所示。 然后建立GRID并执行如图4和5所示。 如上图所示分别在两个节点实例tim1(node1)和tim2(node2)中,分别各执行两个脚本orainstRoot.sh和root.sh,且顺序一定不可以变,当一个执行成功后方可执行下一个。 Node1执行第一个脚本(root用户) [[email protected] ~]# /u01/app/oraInventory/orainstRoot.sh Node2执行第一个脚本(root用户) [[email protected] ~]# /u01/app/oraInventory/orainstRoot.sh The execution of the script is complete. Node1 执行第二个脚本(root用户) [[email protected] /]# /u01/11.2.0/grid/root.sh Node2 执行第二个脚本(root用户) [[email protected] ~]# /u01/11.2.0/grid/root.sh 运行脚本,如图6所示。 最后一步,点击Close,结束图形安装。 3.3操作实例 以某单位信息中心迁移为例,进行具体操作描述。 1)项目要求描述 (1)在新信息中心搭建高可用双机于备服务器; (2)将旧服务器数据库迁至新服务器中。 硬件环境:IBM 磁盘阵列、IBM 小型机 软件环境:AIX5.3、ORALCE 10.2.0.1.0 2)过程描述 (1)配置存储环境。根据项目要求,对空间进行规划,使用 6 块 SCSI 硬盘构建 Raid10,使用 4 块 SCSI 硬盘构建 Raid5。在 Raid 10 上创建 ASM 磁盘组,将 Raid 5 创建成文件系统; (2)在新信息中心配置安装环境并部署 RAC ,安装应用软件,为数据库迁移做准备; (3)选择一个时间点,暂停中间件(MQ)数据上传,用 RMAN 对数据库进行迁移。 4 结语 在当前大数据纷杂的时代,一台机器提供的性能是远远不够的,RAC(rac application cluster)可以同时利用两台服务器对外提供服务,做一个高性能的一套架构。它可以根据负载情况连接到不同的机器上,此时业务相对打散,减轻了负担。体现了RAC的高性能。 当instance1从磁盘中访问某条数据到自己的内存中时,instance2也正想访问这条数据,此时会有主从节点的概念,且instance2会从instance1的内存中读取这条数据而不是从磁盘中。这样使查询更快更方便并且减少了磁盘的吞吐量和次数,也减轻了磁盘的负担。即实现了缓存融合。 当通过客户端,通过远程连到服务器时,RAC会通过考虑看两个实例(instance)都分别持有的会话总数,来将新的会话连接到会话少的实例中,来减轻某服务器的负担。体现了rac的负载均衡。 而为了实现负载均衡,实现会话的自动连接,在绑定IP地址时,就不应该只是在TNS中绑定固定的对外提供服务的公网IP地址,而是建一个挂在公网IP上的虚拟IP,叫VIP(virtual ip)。它是可以浮动的。当搭建RAC之后,系统会自动产生一个虚拟IP附在公网IP上,作用是当某网卡坏掉时,附在上面的VIP地址会自动的漂到网络通的其他的机器上,如果此时TNS用的是VIP的地址则即使出现网络中断,业务却并没有中断,即实现了高可用性。 RAC集群模式,让用户可以不用花大的成本就实现了高可用性,同时也因为有了负载均衡和高性能的特性解决了如果发生故障,业务断停会给企业带来的损失。当业务增大,需要进一步扩展时,也可以直接按照需求量增加节点,当业务高峰期过后,也可以直接按照需求量减少节点,无需更换服务器或者修改应用程序及环境。这些应用都大大地解决了现在企业所困扰或者面临的问题。RAC的优势是企业所需要及未来信息技术的发展方向,也是人才培养的方向之一。 参考文献: [1] 陈吉平. 构建高可用环境[ M ]. 北京:电子工业出版社,2008,1. [2] Richard J.Niemiec. Oracle Database 10g 性能调整与优化[M]. 薛莹,译. 北京:清华大学出版社,2009. [3] 周卓镛.Oracle R A C 数据库缓存优化方法探讨[J].科技创新导报, 2010(5):12- 12. [4] 林波.基于 Oracle RAC 数据库的应用系统的容错处理机制[J].中国传媒科技,2010(9):50-51. [5] 周芹等.基于 Oracle Spatial 的空间数据库缓存的关键技术[J].地球信息科学,2007(3):40-44. [6] 王曦. Oracle 数据库安全技术与策略[J]. 科技资讯,2016(30):9-11. [7] 童超城,高唯一. 關于 Oracle数据库安全管理的研究[J].电子技术与软件工程,2016(11):228. [8] 刘嘉琦 . 探究 oracle 数据库的备份与恢复[J]. 数字技术与应用,2017(2):246. [9] 袁勇,简岩,孙小林. 基于 Oracle RAC的数字校园平台架构分析[J].江苏科技信息,2017(8):42-43. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。