在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9)

在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9)  

在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9)
(2007-10-16 17:43:03)
TE< 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9) - 轩辕剑 - 摸索着前进总比原地踏步好转载TE<
var $tag=''; var $tag_code='85925efe825bef62ecfaa156549c236b'; var $r_quote_bligid='4cbd76e501000b3a'; var $worldcup='0'; var $worldcupball='0'; 分类: oracle_rac


 16. 安装和配置 Oracle 集群文件系统 (OCFS2)

应在集群中的这两个 Oracle RAC 节点上执行本节中的大多数配置过程!但创建 OCFS2 文件系统应只在 RAC 集群中的一个节点上执行。

现在,开始配置 Oracle 集群文件系统第 2 版 (OCFS2)。由 Oracle Corporation 开发的 OCFS2 是一个集群文件系统,它允许集群中的所有节点通过标准文件系统接口并发访问一个设备。这样便可以对需要在集群中运行的应用程序进行轻松地管理。

OCFS(第 1 版)于 2002 年 12 月发布,使 Oracle 真正应用集群 (RAC) 用户可以运行集群化数据库而不必处理原始设备。文件系统是为存储数据库相关文件(如数据文件、控制文件、重做日志、归档日志等)设计的。OCFS2 是下一代 Oracle 集群文件系统。它是作为一个通用集群文件系统而设计的。使用它,用户不但可以在共享磁盘上存储与数据库相关的文件,而且还可以存储 Oracle 二进制文件和配置文件(共享的 Oracle 主目录),从而使 RAC 的管理变得更简单。

在本指南中,你将使用 Enterprise Linux 第 4 版 Update 5(OCFS2 1.2.5-1 版)包含的 OCFS2 版本来存储 Oracle Clusterware 软件共享所需的两个文件。除了这两个文件以外,您还将使用此空间存储所有 Oracle RAC ASM 实例的共享 SPFILE。

有关适用于 Linux 的 OCFS2 的更多信息(包括安装说明),请参见本页面

安装 OCFS2

在本文以前的版本中,此时您需要从 http://oss.oracle.com/ 下载 OCFS2 软件。OCFS2 软件包括以下程序包:


OCFS2 内核驱动程序
ocfs2-x.x.x-xx.EL-x.x.x-x.i686.rpm —(适用于单处理器)
ocfs2-x.x.x-xx.ELsmp-x.x.x-x.i686.rpm —(适用于多处理器)
ocfs2-x.x.x-xx.ELhugemem-x.x.x-x.i686.rpm —(适用于 hugemem)
OCFS2 工具
ocfs2-tools-x.x.x-x.i386.rpm
OCFS2 控制台
ocfs2console-x.x.x-x.i386.rpm

然而,现在不需要下载 OCFS2 软件了,因为它已包括在 Enterprise Linux 中。如果您遵循我所提供的 Enterprise Linux 安装指导,则已经安装了所有内容,这时您将拥有所有 OCFS2 必需的 RPM 程序包。但如果您执行了其他安装类型(即,高级服务器),则可能缺少 OCFS2 程序包并需要安装它们。OCFS2 所需的所有 RPM 都包括在 Enterprise Linux 的 Disk 3 上。为了确定系统上是否安装了 OCFS2,可以在 Oracle RAC 集群的两个节点运行以下命令:

# rpm -qa | grep ocfs2 | sort ocfs2-2.6.9-55.0.0.0.2.EL-1.2.5-1 ocfs2-2.6.9-55.0.0.0.2.ELhugemem-1.2.5-1 ocfs2-2.6.9-55.0.0.0.2.ELsmp-1.2.5-1 ocfs2console-1.2.4-1 ocfs2-tools-1.2.4-1 ocfs2-tools-devel-1.2.4-1

注意,上面的清单包括适用于三种体系结构类型(单处理器、hugemem 和多处理器)的 OCFS2 内核驱动程序。默认情况下,Enterprise Linux 与 hugemem 内核一起安装,这意味着只需要 ocfs2-2.6.9-55.0.0.0.2.ELhugemem-1.2.5-1。然而,安装了其他两个 OCFS2 内核驱动程序对配置也没有影响。

如果您缺少 OCFS2 程序包并需要安装它们,则加载 Enterprise Linux 的 Disk 3 并以 root 用户账户运行以下命令。确保在集群的两个 Oracle RAC 节点上执行该操作。

$ su - # mount -r /media/cdrom # cd /media/cdrom/Enterprise/RPMS # rpm -Uvh ocfs2* warning:ocfs2-2.6.9-55.0.0.0.2.EL-1.2.5-1.i686.rpm:V3 DSA signature:NOKEY, key ID b38a8516 Preparing... ########################################### [100%] 1:ocfs2-tools ########################################### [ 20%] 2:ocfs2-2.6.9-55.0.0.0.2.########################################### [ 40%] 3:ocfs2-2.6.9-55.0.0.0.2.########################################### [ 60%] 4:ocfs2-2.6.9-55.0.0.0.2.########################################### [ 80%] 5:ocfs2console ########################################### [100%] # rpm -qa | grep ocfs2 | sort ocfs2-2.6.9-55.0.0.0.2.EL-1.2.5-1 ocfs2-2.6.9-55.0.0.0.2.ELhugemem-1.2.5-1 ocfs2-2.6.9-55.0.0.0.2.ELsmp-1.2.5-1 ocfs2console-1.2.4-1 ocfs2-tools-1.2.4-1

禁用 SELinux(RHEL4 U2 以及更高版本)

向 RHEL4 U2 以及更高版本(Enterprise Linux 4.5 基于 RHEL4 U5)的用户提供一个建议,即 OCFS2 当前无法在启用 SELinux 的情况下运行。如果你使用的是 RHEL4 U2 或更高版本(由于我们使用的是 Enterprise Linux 4.5,因此我们也包括在内),则您需要验证 SELinux 已禁才能执行 O2CB 服务。

在安装 Enterprise Linux 期间中,我们在防火墙屏幕上禁用 SELinux。然而,如果您在安装期间未禁用 SELinux,您可以使用 system-config-securitylevel 工具禁用 SELinux。

要禁用 SELinux(或验证 SELinux 是否已禁用),运行“Security Level Configuration GUI”实用程序:

# /usr/bin/system-config-securitylevel & 

这将显示以下屏幕:在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9) - 轩辕剑 - 摸索着前进总比原地踏步好

                  图 13 Security Level Configuration 打开屏幕 

现在,单击 SELinux 选项卡并取消选中“Enabled”复选框。单击 [OK] 后,将显示一个警告对话框。只需单击“Yes”确认该警告。禁用 SELinux 选项后,屏幕现在应如下所示:在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9) - 轩辕剑 - 摸索着前进总比原地踏步好

                      图 14 SELinux 禁用 

如果您需要在该部分禁用所有节点的 SELinux,则需要重新引导每个节点以实施更改。在继续配置 OCFS2 之前,必须禁用 SELinux!

# init 6 

配置 OCFS2

下一步是在集群中的两个 Oracle RAC 节点上生成和配置 /etc/ocfs2/cluster.conf 文件。完成此操作最简单的方法是运行 GUI 工具 ocfs2console。在本节中,我们不但使用 ocfs2console 创建和配置 /etc/ocfs2/cluster.conf 文件,而且还创建和启动集群堆栈 O2CB。如果 /etc/ocfs2/cluster.conf 文件不存在(本示例中便是这种情况),ocfs2console 工具将创建该文件以及一个默认集群名为 ocfs2 的新集群堆栈服务 (O2CB)。您将需要以 root 用户帐户在集群中的两个 Oracle RAC 节点上执行该操作:

$ su -
# ocfs2console &

这将显示如下所示的 GUI:在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9) - 轩辕剑 - 摸索着前进总比原地踏步好

                图 15 ocfs2console GUI

使用 ocfs2console GUI 工具执行以下步骤:


选择 [Cluster] -> [Configure Nodes...]。这将启动 OCFS2 集群堆栈( 图 16)并显示“Node Configuration”对话框。
在“Node Configuration”对话框上,单击 [Add] 按钮。
这将显示“Add Node”对话框。
在“Add Node”对话框中,输入集群中第一个节点的 Host name 和 IP address。将 IP Port 设置为默认值 7777。在我的示例中,我添加了两个节点,即使用 linux1 / 192.168.1.100 表示第一个节点,并使用 linux2 / 192.168.1.101 表示第二个节点。
单击“Node Configuration”对话框上的 [Apply] — 所有节点现在将处于“Active”状态,如 图 17 所示。
单击“Node Configuration”对话框上的 [Close]。
确认所有值均正确后,使用 [File] -> [Quit] 退出应用程序。需要在集群的两个 Oracle RAC 节点上执行该操作。

 

 

                          图 16 启动 OCFS2 集群堆栈

以下对话框显示了节点 linux1linux2 的 OCFS2 设置:在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9) - 轩辕剑 - 摸索着前进总比原地踏步好

                 图 17 为 OCFS2 配置节点

退出 ocfs2console 后,将获得一个类似如下所示的 /etc/ocfs2/cluster.conf。需要在集群中的两个 Oracle RAC 节点上完成该过程,并且所有节点的 OCFS2 配置文件必须完全相同:


node:
ip_port = 7777
ip_address = 192.168.1.100
number = 0
name = linux1
cluster = ocfs2
node:
ip_port = 7777
ip_address = 192.168.1.101
number = 1
name = linux2
cluster = ocfs2
cluster:
node_count = 2
name = ocfs2

O2CB 集群服务

在使用 OCFS2 执行任何操作(如格式化或挂载文件系统)之前,我们需要先运行 OCFS2 的集群堆栈 O2CB(它将是以上执行的配置过程的结果)。此堆栈包含以下服务:


NM:用于跟踪 cluster.conf 中的所有节点的节点管理器
HB:当节点加入或离开集群时向上/向下发出通知的心跳服务
TCP:处理节点之间的通信
DLM:用于跟踪所有锁、这些锁的所有者和状态的分布式锁管理器
CONFIGFS:在 /config 中挂载的用户空间驱动的配置文件系统
DLMFS:用户空间与内核空间 DLM 的接口

已将以上所有集群服务打包到 o2cb 系统服务 (/etc/init.d/o2cb) 中。以下是 o2cb 系统服务的某些更有用的命令和选项的简要列表。

注:以下命令仅用于演示目的,不应在安装和配置 OCFS2 时运行!


/etc/init.d/o2cb status
Module "configfs":Loaded Filesystem "configfs":Mounted Module "ocfs2_nodemanager":Loaded Module "ocfs2_dlm":Loaded Module "ocfs2_dlmfs":Loaded Filesystem "ocfs2_dlmfs":Mounted Checking O2CB cluster ocfs2:Online Heartbeat dead threshold: 7 Network idle timeout: 10000 Network keepalive delay: 5000 Network reconnect delay: 2000 Checking O2CB heartbeat:Not active

/etc/init.d/o2cb load
Loading module "configfs":OK Mounting configfs filesystem at /config:OK Loading module "ocfs2_nodemanager":OK Loading module "ocfs2_dlm":OK Loading module "ocfs2_dlmfs":OK Mounting ocfs2_dlmfs filesystem at /dlm:OK
加载所有 OCFS2 模块。
/etc/init.d/o2cb online ocfs2
Starting O2CB cluster ocfs2:OK
以上命令将使我们创建的集群 ocfs2 处于联机状态。
/etc/init.d/o2cb offline ocfs2
Stopping O2CB cluster ocfs2:OK
以上命令将使我们创建的集群 ocfs2 处于脱机状态。
/etc/init.d/o2cb unload
Stopping O2CB cluster ocfs2:OK Unmounting ocfs2_dlmfs filesystem:OK Unloading module "ocfs2_dlmfs":OK Unmounting configfs filesystem:OK Unloading module "configfs":OK
以上命令将卸载所有 OCFS2 模块。

将 O2CB 配置为在引导时启动并调整 O2CB 心跳阈值

您现在需要配置 OC2B 驱动程序的引导属性,以便在每次引导时将启动集群堆栈服务。您还可以将 OCFS2 的心跳阈值 从默认设置 7 调整为 61。本节涉及的所有任务都需要在该集群的两个节点上执行。

按如下所示设置引导属性:

# /etc/init.d/o2cb offline ocfs2 # /etc/init.d/o2cb unload # /etc/init.d/o2cb configure Configuring the O2CB driver. This will configure the on-boot properties of the O2CB driver. The following questions will determine whether the driver is loaded on boot.The current values will be shown in brackets ('[]').Hitting without typing an answer will keep that current value.Ctrl-C will abort. Load O2CB driver on boot (y/n) [n]:y Cluster to start on boot (Enter "none" to clear) [ocfs2]:ocfs2 Specify heartbeat dead threshold (>=7) [7]: 61 Specify network idle timeout in ms (>=5000) [10000]: 10000 Specify network keepalive delay in ms (>=1000) [5000]: 5000 Specify network reconnect delay in ms (>=2000) [2000]: 2000 Writing O2CB configuration:OK Loading module "configfs":OK Mounting configfs filesystem at /config:OK Loading module "ocfs2_nodemanager":OK Loading module "ocfs2_dlm":OK Loading module "ocfs2_dlmfs":OK Mounting ocfs2_dlmfs filesystem at /dlm:OK Starting O2CB cluster ocfs2:OK

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9606200/viewspace-745644/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9606200/viewspace-745644/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值