您好,欢迎访问三七文档
随着LINUX的成熟和Oracle10g的推出Oracle开始推出RAC的一站式解决方案针对存储的ASM(免费)针对集群的oracleclusterware(免费)在oracle10g上部署RAC变得非常的便宜(oracle推出集群软件是免费的,第三方的是要花钱的)PCSERVER+LINUX+ORACLE10G/11GRAC这种解决方案迅速的流行主机1主机2交换机心跳线对外访问共享存储应用程序Oracle集群管理软件(CRS)操作系统LINUX应用程序Oracle集群管理软件(CRS)操作系统LINUX硬件环境1、节点(主机)至少两个网卡PrivateNIC(PrivateIP)PublicNIC(PublicIP)每个节点上还有一个VIP(VirtualIP),这个VIP运行在PublicNIC上,这个VIP在故障发生的时候,还会漂移到另外一个节点的PublicNIC上。一个HBA卡,通过光纤线连接到存储设备直接连接到或者通过光纤交换机连接2、两个网络交换机对于PrivateNIC连接的交换机,最好不要再连接其他的设备,而且作为一个物理隔离的网络另外一个交换机连接的是PublicNIC,是对外提供服务的网络。3、共享存储RAC环境中最重要的就是共享存储。RAC是一个“多实例、单一数据库”的架构,所有的节点共享一个数据库。数据文件、控制文件、联机日志文件、参数文件都必须放在共享存储上。保证每个节点都能够访问这个存储设备。每个节点通过HBA+光纤线和共享存储设备连接。这就是RAC的第三个网络。Private网络Public网络存储网络软件环境部署RAC环境需要4个软件操作系统集群软件集群文件系统数据库1、操作系统每个节点上安装的操作系统必须是相同版本(包括小版本号、补丁包必须一样)例如64bit的RedhatEnterprise4Update42、集群软件安装在操作系统上的一个特殊的软件,负责管理整个集群环境中的硬件资源,并且为上层的RAC集群提供服务。单机环境中,OS内核能够代理应用程序访问本机硬件资源集群环境中,有多台计算机,而OS只负责本机硬件资源的管理,集群软件将整个的集群硬件资源管理起来,可以想象成整个集群硬件的操作系统,RAC是运行在这上面的一个应用程序。整个的集群可以想象成一个大的虚拟机,而操作系统就是集群软件、RAC是应用程序。Oracle10g开始,Oracle提供了一个完整的集群软件产品OracleClusterware3、集群文件系统RAC的数据文件、联机日志文件、控制文件、参数文件都必须放在共享存储阵列上,要求所有的节点都能够访问。普通的文件系统显然无法支持。Oracle10g开始,Oracle提供存储方案:ASM。ASM:具备集群文件系统功能卷管理器的功能通过SQL进行管理,非常容易上手不需要单独安装软件4、应用软件Oracle如果服务器上已经安装了OracleClusterware,那么在安装Oracle的时候,安装程序会自动的检测集群环境的存在,并且在安装过程中提示选择集群版本还是单实例版本的数据库(分别对应ClusterInstallation和LocalInstallation)。RAC的安装部署从技术的角度讲是一个横简单的过程,并没有多高的门槛。但却是最容易失败的过程,因为涉及的内容太多,包括对操作系统的配置,对共享存储的配置,对网络的配置,任何一步出错或者是遗漏都可能导致最终失败。无论是初学者还是有一定经验,在部署之前一定要有一份详细的任务清单;前期规划确认集群节点删了,每个节点的主机名;区分PublicPrivateNIC;确认每个主机的3个IP地址;存储空间规划,包括软件安装位置,数据文件位置规划配置节点主机配置主机名和3个IP地址;RPM包检查;磁盘分区;配置裸设备;系统需求(OSKernel参数,空间需求);创建Oracle用户,要求每个节点UID,GID相同;定义Oracle用户的环境变量,包括$ORACLE_HOME,$CRS_HOME,资源数量限制;用户等价;节点时间同步;Hangcheck-timer模块配置;安装部署安装OracleClusterware,安装后进行检查;安装OracleDatabase;创建ASM磁盘;配置Listerner;创建ASM;创建RAC数据库;安装后测试,Faiolover和Loadbalance节点主机1PublicNICPublicIP:192.168.123.154VIP:192.168.123.248PrivateNICPrivateIP:10.0.0.154节点主机2PublicNICPublicIP:192.168.123.155VIP:192.168.123.249PrivateNICPrivateIP:10.0.0.155存储xxxOS64bitRedHatEnterpriseLinuxAS4Update4集群件OracleClusterware数据库OracleDatabase10.2.0.1集群文件系统ASM节点主机配置:xxx、CPU、内存、磁盘配置完全一样、每台主机两个独立网卡、一个HBA卡,光纤直连存储两台交换机:一台用于两台主机的PrivateNIC互联、只连接两个Private网卡。另一台用于PublicNIC对外提供服务Oracle10.1CRS所有平台Oracle10.2OracleClusterware(HAAPI)所有平台Oracle希望在集群市场一统江湖。在安装操作系统时一定要关闭防火墙和安全选项;定制软件包的安装,将开发工具包和系统工具包选择安装;注意HOSTS文件的设置。最终的效果是两台机器互相之间都能够ping通。必须的RPM包(两台机器配置一样)不同的OS需要的软件包的是不一样的。需要查阅官方的安装文档。缺少的RPM在安装光盘内都能找到。查看OSkernel,因为我们下面会使用到ASMLib创建ASM。因此需要ASM的安装包。其中oracleasm的安装包的版本要求和内核一样高。两边的Kernel都是2.6.9-67说明下载的rpm和内核版本不一致。关于ASMLib的三个软件包安装正确。两台机器都安装了ASMLib包。创建Oracle用户、配置用户等价性创建ORACLE用户和DBA组必须保证两边Oracle用户和DBA组的UID、GID是相同的。不同节点的ORACLE_SID是不一样的。配置Oracle用户的环境变量。设置用户资源限制因为所有的进程都是以oracle用户身份运行。因此需要定义oracle用户能够使用的系统资源数量。修改这个配置文件即可。如果使用HugePage内存技术,添加这两行下面是文件限制和进程限制;查看用户的资源限制。配置SSH用户等价很多的集群软件都需要配置这个选项。就是以oracle用户从一个节点登陆另外一个节点时,不需要输入密码。Clusterware和Database的安装过程都是先在一个节点上安装,然后安装程序自动把本地安装的软件复制到相同的目录,这是一个后台拷贝过程。存在两种用户等价:RSH和SSH,我们这边使用的是SSH。在每一个节点上都执行,然后将所有节点的key文件进行合并拷贝。密码必须为空。每个节点上都生成一个key文件。将两者的key文件进行合并。密码必须为空。在此之前,两边的oracle的密码要进行设置。#passwdoracle在rac1上$sshdbs或者sshdbs-priv都不需要输入密码,直接可以登录在rac2上$sshdbp或者sshdbp-priv都不需要输入密码,直接可以登录Oracle用户的等价配置完成。配置内核参数修改内核参数,然后使配置生效。两台机器上都进行配置。配置时间同步所有的节点的时间必须同步。可以通过NTP服务来实现。如果网络中已经有时间服务器,那么所有节点可以都使用这个时间服务器。否则可以配置集群中一台服务器作为时间服务器。NTP占用的资源非常的少,因此可以在集群上建立一个NTP服务器。RAC1作为NTP服务器将服务启动起来。在另外一台机器上运行如下的命令,去同步时间。可以将这个命令作为一个周期性运行的命令。将客户端和服务器端的这个参数修改成yes。同步成功以后,自动的更新bios。配置hangcheck-timer模块。这是linux提供的一个内核级IO-Fencing模块。这个模块会监控linux内核运行的状态。如果linux长时间挂起,这个内核会自动的重启系统。这个模块在内核空间运行,不受负载的影响。配置这个模块需要两个参数:hangcheck_tick:多长时间检查一次,缺省是30秒hangcheck_margin:延迟上限,缺省是180秒hangcheck-time模块会根据hangcheck_tick的设置,定时检查内核,只要两次检查的时间间隔小于hangcheck_tick+hangcheck_margin,都会认为内核是运行正常,否则认为系统异常,该模块会自动重启系统。CRS本身还有一个参数:MissCount参数。上面的三个参数影响RAC的重构,假设节点间心跳信息丢失,Clusterware必须确保在进行重构时,故障节点确实是dead状态。严重问题:节点临时负载过高导致心跳丢失,然后其他节点开始重构,但是节点却没有重启(没有dead),这就会损坏数据库。因此要保证MissCount必须大于hangcheck_tick+hangcheck_margin的和。这样可以保证节点开始重构时,其他节点已经被hangcheck-timer模块重启。配置系统启动时自动加载模块。在/etc/rc.d/rc.local中添加如下内容配置模块的参数。显然参数有问题。重新加载模块,问题解决。两个节点上都要执行相同的操作。磁盘分区在RAC中,数据文件、控制文件、联机重做日志文件、OCR、VoteDisk都需要放在共享存储上。OCR和VoteDisk需要放在Raw上,因此需要共享设备上的LUN在所有节点上都识别为相同设备。如果使用ASM作为数据存储,ASM依赖ASMDisk头部信息来识别每个磁盘属于哪个Diskgroup组,所以ASM不要求这种设备名的一致。但是为了维护的方便和一致,最好是确保设备名一致。在任意一个节点上分区,我们选择RAC1进行分区(这只是一个事例可不能就分100M的)在sdb上建立第一个分区在RAC1上建立另外一个分区。在RAC2上只要搜索一下即可。因为是共享设备。配置裸设备裸设备就是通过字符方式访问设备,也就是读写设备不需要缓冲区。要通过字符方式访问设备,必须使用裸设备。Oracle对这些裸设备需要有访问权限。这个配置文件做了一个裸设备的绑定。裸设备名块设备名找到文件中raw部分,进行如下修改。裸设备服务需要使用上面的配置文件。裸设备服务默认是启动的,重启这个服务。发现两个裸设备绑定到了两个建立的磁盘设备上。下面是确认属主是ORACLE:DBA在RAC2上也要执行相同的工作,最后保证上面的效果。创建ASM磁盘创建ASM磁盘有多种方式,我们使用的是ASMLib方法,要求必须安装ASMLibRPM包,我们前面已经安装过。建立/oracle/product/database,修改属主为oracle:dba在两台机器上,分别建立相应目录,修改权限。在建立ASM磁盘以前,我们首先需要建立相应的磁盘设备/dev/sdc/dev/sdc1/dev/sdd/dev/sdd1在sdc和sdd上分别建立两个分区。在RAC1上建立磁盘分区,在RAC2上扫描确认。创建ASM磁盘配置和启用ASM驱动。在RAC1上建立了两个ASM磁盘。在RC2上配置一下ASM驱动,一定要加上目录。不需要建立ASM磁盘,因为是共享设备。安装oracle的clusterware软件这个软件可以在oracle的网站上独立下载。解压软件。两个位置分别
本文标题:10gRAC部署
链接地址:https://www.777doc.com/doc-3348776 .html