在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9)
(2007-10-16 17:43:03)
TE<
![在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(9) - 轩辕剑 - 摸索着前进总比原地踏步好](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
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 &
图 13 Security Level Configuration 打开屏幕
现在,单击 SELinux 选项卡并取消选中“Enabled”复选框。单击 [OK] 后,将显示一个警告对话框。只需单击“Yes”确认该警告。禁用 SELinux 选项后,屏幕现在应如下所示:
图 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 &
图 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 集群堆栈
以下对话框显示了节点 linux1 和 linux2 的 OCFS2 设置:
图 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/