RHCSOracle配置实战.docx
- 文档编号:10164687
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:58
- 大小:539.63KB
RHCSOracle配置实战.docx
《RHCSOracle配置实战.docx》由会员分享,可在线阅读,更多相关《RHCSOracle配置实战.docx(58页珍藏版)》请在冰豆网上搜索。
RHCSOracle配置实战
12.6.3RHCS+Oracle配置实战图解
(1)
2010-06-1815:
52 何世晓/杜朝辉 清华大学出版社 我要评论(0)
∙摘要:
《Linux系统案例精解》第12章Linux集群服务的安装部署,本章将通过Oracle在Linux中的高可用集群安装部署,以及Apache在Linux下的负载均衡部署来进行实例讲解,深入浅出地阐述集群概念,希望能解决Linux管理员遇到的实际问题。
本节为大家介绍RHCS+Oracle配置实战图解。
∙标签:
Linux Linux系统案例精解
∙
限时报名参加“甲骨文全球大会·2010·北京”及“JavaOne和甲骨文开发者大会2010”
12.6.3 RHCS+Oracle配置实战图解
(1)
在RHCS中,最难理解的是Fence机制,下面的配置过程将首先以"手动Fence"为例进行讲解,以更深入地描述Fence在集群运行过程中的运行步骤及作用,最后再换成真实的Fence设备。
需要注意的是,虽然通过"手动Fence"可以完整地配置RHCS,但在生产环境中不推荐这样做,因为一旦出现硬件级故障的话,"手动Fence"需要管理员通过人工干预方式进行系统切换。
1.安装红帽集群套件RHCS
安装RHCS主要有以下3个途径:
通过RHEL5AP高级平台版介质进行安装,并在安装过程中输入通过网站激活后得到的InstallNumber,选中相应的"Cluster(集群)"组件。
通过RHCSS(RedHatClusterSolutionSuite,红帽集群解决方案套件)的安装光盘进行安装,RHCSS的好处是已经附带了多种流行数据库的支持接口,并可以提供磁盘镜像(Mirro)及企业系统备份功能。
注意:
购买RHCSS订阅时就已经包括了上门安装服务,会有专人为客户进行生产环境下的安装配置。
通过RHEL5AP高级平台版介质进行手动安装,将安装介质挂载到/media/cdrom,然后进行以下操作:
(1)建立文件/etc/yum.repos.d/mycdrom.repo,内容如下:
1.[Base]
2.name=RHEL5 ISO Base
3.baseurl=file:
///media/cdrom/Server
4.enabled=1
5.gpgcheck=0
6.[Cluster]
7.name=RHEL5 ISO Cluster
8.baseurl=file:
///media/cdrom/Cluster
9.enabled=1
10.gpgcheck=0
(2)执行yum命令进行集群组件的安装:
1.# yum install cman rgmanager system-config-cluster luci ricci
2.红帽集群套件RHCS配置前的准备
在两台服务器中分别安装RHCS,并按照表12-1所示配置服务器。
表12-1 RHCS集群配置说明
Server1
Server2
hostname(/etc/sysconfig/hostname)
/etc/hosts
127.0.0.1localhost.localdomainlocalhost
192.168.100.11server1
192.168.100.12server2
Fence设备(例如通过IBM服务器的RSAII接口
实现Fence功能,如果没有此类设备则可以跳过)
192.168.100.21/24
Account:
USERID
Password:
PASSW0RD
这里的0为“零”
192.168.100.22/24
Account:
USERID
Password:
PASSW0RD
这里的0为“零”
eth0(用于内部网,作为心跳)
192.168.100.11/24
192.168.100.12/24
eth1(用于外部网,提供服务,与将要设置的虚拟IP在同一网段)
192.168.101.11/24
192.168.101.12/24
网络连接
连接方案1:
两台服务器的Fence设备及
eth0、eth1连接到同一网络中
连接方案2:
两台服务器的Fence设备及eth0
连接到同一私有网络中,eth1与外网相连
Oracle安装
ORACLE_HOME:
/u01/app/oracle/product/10.2.0/db_1
ORACLE_SID:
TESTDB
Oracle数据目录(DatabaseArea)
OracleDatabaseArea:
/u02/oradata
两个服务器通过命令fdisk-l,可以看到
相同的外部存储磁盘,如/dev/sdc
在/dev/sdc中建立ext3文件系统,并挂载到
目录/u02中,将Oracle数据安装到/u02/oradata
由于数据存放在外部存储中,因此系统进行
Failover切换后数据不会丢失,保证了数据的一致性
具体的Oracle安装步骤请参考本书第11章内容
3.通过system-config-cluster配置RHCS
打开一个终端并通过root用户身份运行命令system-config-cluster,或通过"系统"|"管理"|"服务器设置"|"system-config-cluster"来打开集群配置界面。
建立新集群
建立一个新的集群,命名为"new_cluster"。
请注意:
集群的名称要求少于16个字符,否则集群启动时会出现问题,如图12-3所示。
对于双节点的集群来说,"CustomConfigureMulticast"和"UseaQuorumDisk"都可以不作设置。
CustomConfigureMulticast:
用于指定一个用于本集群的多播地址。
UseaQuorumDisk:
当多个节点要求仲裁机制时,指定仲裁策略。
在实际应用中,超过两个节点的集群应用相对还是比较少,因此本书只涉及到RHCS双节点的配置。
有兴趣了解"QuorumDisk"的读者可以参考红帽公司的官方文档。
添加节点
(1)在图12-4左边的树状目录中选中"ClusterNodes",单击"AddaClusterNode"添加集群节点。
(2)在"NodeProperties"窗口中填入两个节点的机器名,分别为和,如图12-5所示。
此处不但添加了节点,还同时指定了集群的"心跳"。
由于在/etc/hosts中已经指定了两个节点名称对应的IP分别为192.168.100.11和192.168.100.12,因此两台服务器通过此网络接口对连即可成为"心跳线"。
图12-3 新建集群
(点击查看大图)图12-4 添加集群节点
12.6.3RHCS+Oracle配置实战图解
(2)
2010-06-1815:
52 何世晓/杜朝辉 清华大学出版社 我要评论(0)
∙摘要:
《Linux系统案例精解》第12章Linux集群服务的安装部署,本章将通过Oracle在Linux中的高可用集群安装部署,以及Apache在Linux下的负载均衡部署来进行实例讲解,深入浅出地阐述集群概念,希望能解决Linux管理员遇到的实际问题。
本节为大家介绍RHCS+Oracle配置实战图解。
∙标签:
Linux Linux系统案例精解
∙
限时报名参加“甲骨文全球大会·2010·北京”及“JavaOne和甲骨文开发者大会2010”
12.6.3 RHCS+Oracle配置实战图解
(2)
添加Fence设备
(1)在图12-4左边的树状节点中选中"FenceDevices",单击"AddaFenceDevice"打开Fence配置窗口。
(2)在"AddaNewFenceDevice"下拉菜单中选中"ManualFencing"以手动Fencing。
(3)在"Name"处为Fence设备自定义一个名称,如"m_fencing",如图12-6所示。
图12-5 加入节点
图12-6 添加手动Fence设备
节点与Fence设备绑定
(1)在图11-7左边的树状目录中选中"",单击"ManageFencingForThisNode"。
(2)为节点添加一个"FenceLevel"(注:
为进一步保证集群"脑裂"时的有效切换,RHCS允许对一个节点添加多个Fence设备并建立分级的Fence操作)。
(点击查看大图)图12-7 为节点添加FenceLevel
(3)选中"Fence-Level-1",单击"AddaNewFencetothisLevel",在"FenceProperties"窗口的"AddaNewFence"下拉菜单中选择刚才建立的名为"m_fencing"的设备,如图12-8所示。
图12-8 指定FenceLevel使用的Fence设备
(4)在节点上重复以上步骤,将其与名为"m_fencing"的设备绑定。
新建FailoverDomain
(1)在图12-4左边的树状目录中选中"FailoverDomains",单击"CreateaFailoverDomain"。
(2)在"NamefornewFailoverDomain"文本框中指定自定义的FailoverDomain名称,如ora_domain,如图12-9所示。
图12-9 新建FailoverDomain
(3)通过"AvailableClusterNodes"下拉菜单将及server2.加入到当前的FailoverDomain中,如图12-10所示。
RestrictFailoverToThisDomainsMembers:
指派给这个FailoverDomain的Service只可以在当前加入的成员上执行;如果不选此项,Service将允许在本集群中的任何节点进行Failover切换。
为保证系统的严谨性,建议选中此项。
PrioritizedList:
用于调整FailoverDomain中节点的优先级别,指定Service优先在哪个节点中运行。
(注:
对于双节点情况,如果,两台服务器的性能相同,那么一般不需要设置它们的优先关系,先启动服务器为主服务器,后启动的的为备用服务器。
当主服务器出现故障,备用服务器进行Service接管后,即使主服务器通过检修重新加入集群,由于主/备服务器性能相同,因此没有必要再浪费时间进行Service切换)
添加Resource-IPAddress
(1)在图12-4左边的树状目录中选中"Resources",单击"CreateaResource"。
(2)在"SelectaResourceType"下拉菜单中选中"IPAddress"并填入IP地址,如192.168.101.10,如图12-11所示。
此地址就是上面提到的"虚拟IP",对于每一个通过网络进行连接的Service来说,都要求至少有一个独立的"虚拟IP"。
图12-10 为FailoverDomain添加节点
图12-11 添加IPAddress资源
12.6.3RHCS+Oracle配置实战图解(3)
2010-06-1815:
52 何世晓/杜朝辉 清华大学出版社 我要评论(0)
∙摘要:
《Linux系统案例精解》第12章Linux集群服务的安装部署,本章将通过Oracle在Linux中的高可用集群安装部署,以及Apache在Linux下的负载均衡部署来进行实例讲解,深入浅出地阐述集群概念,希望能解决Linux管理员遇到的实际问题。
本节为大家介绍RHCS+Oracle配置实战图解。
∙标签:
Linux Linux系统案例精解
∙
限时报名参加“甲骨文全球大会·2010·北京”及“JavaOne和甲骨文开发者大会2010”
12.6.3 RHCS+Oracle配置实战图解(3)
添加Resource-FileSystem
(1)在图12-4左边的树状目录中选中"Resources",单击"CreateaResource"。
(2)在"SelectaResourceType"下拉菜单中选中"FileSystem",并按图12-12所示指定文件系统资源的名称、文件系统类型、挂载点及使用的磁盘设备。
Options:
执行mount指令时的特殊参数,与mount指令的"-o"参数相同。
FileSystemID:
RHCS中要求每个FileSystem都有一个唯一的ID号,此项一般不用指定,系统会自动进行分配。
Forceunmount-一旦服务要求切换,在进行umount操作时使用-f参数
Reboothostnodeifunmountfails-若umount失败,则尝试对此系统进行重启操作。
Checkfilesystembeforemounting-挂载文件系统前通过fsck命令对文件系统进行检查,这可以更好地保证文件系统的完整性,但对于大文件系统来说,这将花费很长的时间。
添加Resource-Script
(1)在图12-4左边的树状目录中选中"Resources",单击"CreateaResource"。
(2)在"SelectaResourceType"下拉菜单中选中"Script",为此资源定义一个"Name"为ora_script、以/etc/init.d/dbora为脚本文件的Scrgt资源,如图12-13所示。
/etc/init.d/dbora是一个用于对Oracle进行启动(start)、停止(stop)及状态检查(status)的脚本,RHCS要求每个脚本都支持这3种参数操作,并根据应用的实际运行情况返回"0(表示正常)"或"非0(表示运行异常)"。
RHCS就是靠这些参数及返回值来判断应用程序运行得正常与否,以保证当应用软件由于自身或其他原因而导致异常时进行Failover切换(本书将在后面的章节中为读者详细分析/etc/init.d/dbora脚本的运行过程)。
图12-12 添加FileSystem资源
图12-13 添加Script资源
建立Service
(1)在图12-4左边的树状目录中选中"Services",单击"CreateaService",新建一个名为ora_serivce的服务,如图12-14所示。
图12-14 新建Service
(2)在"ServiceManagement"窗口的"FailoverDomain"中选择之前建立的ora_domain,此窗口用于指定FailoverDomain与Service之间的关系,以及Service与Resrouces之间的关系,是集群配置中最重要的一环。
(3)单击"AddSharedResourcetothisservice",在列表框中选择之前建立的IPAddress资源:
192.168.101.10。
单击"OK"按钮,使之添加到本Service的资源列表中,如图12-15所示。
也可以通过"Createanewresourceforthisservice"建立对应本Service的私有资源属性,这些属性将不可以再在其他Service中使用。
有些资源要求体现出一定的层次关系,如:
通常系统都要求确认虚拟IP及文件系统都已经正常连接及挂载后,才可以运行某个应用程序,这个顺序一旦调转,将会使应用程序运行出错。
通过选中"192.168.101.10 IPAddress Shared",然后单击"AttachaSharedResourcetotheselection"可以将其他共享资源添加为此资源的子项,以实现顺序地启动及关闭,如图12-16所示。
(点击查看大图)图12-15 向Service加入IPAddress资源
(点击查看大图)图12-16 向IPAddress加入下级资源
(4)在列表框中选择之前建立的名为ora_fs的FileSystem资源,单击"OK"按钮将它加入为IPAddress的下级资源,如图12-17所示。
(点击查看大图)图12-17 向IPAddress加入下级FileSystem资源
(5)选中"ora_fs FileSystem Shared",然后单击"AttachaSharedResourcetotheselection",将ora_script加入,作为它的子资源,如图12-18所示。
(点击查看大图)图12-18 向FileSystem加入下级Script资源
12.6.3RHCS+Oracle配置实战图解(4)
2010-06-1815:
52 何世晓/杜朝辉 清华大学出版社 我要评论(0)
∙摘要:
《Linux系统案例精解》第12章Linux集群服务的安装部署,本章将通过Oracle在Linux中的高可用集群安装部署,以及Apache在Linux下的负载均衡部署来进行实例讲解,深入浅出地阐述集群概念,希望能解决Linux管理员遇到的实际问题。
本节为大家介绍RHCS+Oracle配置实战图解。
∙标签:
Linux Linux系统案例精解
∙
限时报名参加“甲骨文全球大会·2010·北京”及“JavaOne和甲骨文开发者大会2010”
12.6.3 RHCS+Oracle配置实战图解(4)
至此,资源添加完成,服务启动时将先尝试对IP进行接管,然后尝试挂载文件系统,最后运行应用所需的脚本中的start方法,如/etc/init.d/dborastart。
如果这3个资源均被正常启动,则服务启动成功;否则,任何一个资源启动异常,都将导致服务起动失败。
此时RHCS会尝试在FailoverDomain中的其他节点启动服务。
同理,停止服务是启动顺序的反过程:
先通过脚本中的stop方法停止应用,然后卸载文件系统,最后清除IP。
RecoveryPolicy:
指定进行切换时所使用的策略,通过RHCS的rgmanager可以在运行时对服务中的各个资源进行检测,一旦检查到某个资源的status操作发生异常,就按照此策略进行操作。
Restart-如果发现资源出现异常,则先在本地尝试重启服务,如果重启失败则执行Relocate操作。
Relocate-停止当前节点中与本服务相关的所有资源,由另一台服务器进行服务及资源的接管。
Disable-在所有节点中停止服务,不进行任何操作。
一般建议在测试环境中使用"Relocate",因为这样可以很好地展示系统切换的过程;在生产环境中则建议使用"Restart",因为有不少异常通过本地重启服务是可以解决的,这样可以最大限度缩短系统切换所消耗的时间。
其他选项:
AutostartThisService-rgmanager启动时自动启动此Service。
RunExclusive-指定此Service以独占方式运行,一旦此Service运行在某个服务器之上,集群就将拒绝其他的Service在此服务器上运行。
完成后的集群如图12-19所示。
(点击查看大图)图12-19 完成后的集群效果
保存配置文件
通过File|Save,保存配置文件为/etc/cluster/cluster.conf。
4.Oracle集群脚本讲解
以下是一个用于在RHCS中实现Oracle启停及状态管理的脚本,使用时请对应实际环境自行修改ORACLE_HOME、ORACLE_SID等参数。
另外,此脚本只作为学习及练习的参考,不能保证在生产环境上的运行稳定性。
1.#!
/bin/bash
2.#
3.# /etc/init.d/dbora
4.#
5.# chkconfig:
2345 02 98
6.# description:
oracle is meant to run under Linux Oracle Server
7.# Source function library.
8.. /etc/rc.d/init.d/functions
9.
10.ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
11.ORACLE_SID=TESTDB
12.ORACLE_NAME=oracle
13.LOCKFILE="$ORACLE_HOME/.oracle.lock"
14.RESTART_RETRIES=3
15.DB_PROCNAMES="pmon"
16.LSNR_PROCNAME="tnslsnr"
17.
18.#RETVAL=0
19.#Start the oracle Server
20.
21.#The following command assumes that the oracle login will not prompt the password
22.start() {
23.
24. echo "Starting Oracle10g Server... "
25. tmpfile=/home/oracle/'basename $0'-start.$$
26. logfile=/home/oracle/'basename $0'-start.log
27. #
28. # Set up our sqlplus script. Basically, we're trying to
29. # capture output in the hopes that it's useful in the case
30. # that something doesn't work properly.
31. #
32. echo "startup" > $tmpfile
33. echo "quit" >>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RHCSOracle 配置 实战