在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(1)
(2007-10-16 15:37:29)
转载
var $tag=''; var $tag_code='9a278380bc05bb85a0b45c884ae14459'; var $r_quote_bligid='4cbd76e501000b30'; var $worldcup='0'; var $worldcupball='0'; | 分类: oracle_rac |
目录
简介
Oracle RAC 10g 概述
共享存储概述
iSCSI 技术
硬件及成本
安装 Linux 操作系统
网络配置
安装 Openfiler
使用 Openfiler 配置 iSCSI 卷
在 Oracle RAC 节点上配置 iSCSI 卷
创建“oracle”用户和目录
为 Oracle 配置 Linux 服务器
配置 hangcheck-timer 内核模块
为远程访问配置 RAC 节点
适用于这两个 Oracle RAC 节点的所有启动命令
安装和配置 Oracle 集群文件系统 (OCFS2)
安装和配置自动存储管理 (ASMLib 2.0)
下载 Oracle 10g RAC 软件
Oracle10g 第 2 版的安装前任务
安装 Oracle 10g 集群件软件
安装 Oracle 10g 数据库软件
安装 Oracle 10g 随附 CD 软件
创建 TNS 监听器进程
创建 Oracle 集群数据库
验证 TNS 联网文件
创建/更改表空间
验证 RAC 集群与数据库配置
启动/停止集群
透明的应用程序故障切换 - (TAF)
疑难解答
结论
致谢
|
1. 简介
熟悉 Oracle 真正应用集群 (RAC) 10g 技术的最有效方法之一是访问一个实际的 Oracle RAC 10g 集群。没有什么方法比直接体验它们能够更好地理解其优势了,包括容错、安全性、负载均衡和可伸缩性。
遗憾的是,对于很多商家而言,典型的生产级 RAC 配置所需的硬件投入使它们无法实现这一目标。一个小型的两节点集群可能需要 10,000 美元到 20,000 美元以上。该价格还不包括生产级 RAC 环境的核心(通常是一个存储区域网),其起价为 10,000 美元。
对于那些没有大笔现金但希望熟悉 Oracle RAC 10g 的人而言,本指南提供了一种配置 Oracle RAC 10g 第 2 版系统的低成本替代方法,它使用现成的商用组件和可下载的软件,估计成本在 2,200 美元到 2,600 美元之间。该系统包括一个双节点集群(每个节点配置一个处理器),这两个节点均运行 Oracle Enterprise Linux(Release 4 Update 5)、Oracle10g 第 2 版、OCFS2 和 ASMLib 2.0。Oracle RAC 的所有共享磁盘存储将基于使用网络存储服务器(即 Openfiler 2.2 版)的 iSCSI。
本文应与 Red Hat Enterprise Linux 一同使用。 如果 Red Hat Enterprise Linux 不稳定,Oracle 的 Enterprise Linux (免费提供)可以实现这一目标,它包括 OCFS2 和 ASMLib 软件包(不包括 ASMLib 用户空间库,它需要单独下载)。
由 rPath Linux 驱动的 Openfiler 是一个基于浏览器的免费网络存储管理实用程序,在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN)。Openfiler 支持 CIFS、NFS、HTTP/DAV 和 FTP,但是,我们仅使用它的 iSCSI 功能为 Oracle10g RAC 需要的共享存储组件实现低成本的 SAN。我们通过它的 USB 2.0 接口将一个 500GB 的外置硬盘驱动器连接到网络存储服务器(在本文中,有时称为 Openfiler 服务器)。Openfiler 服务器将配置为使用该磁盘进行基于 iSCSI 的存储,并且将在 Oracle10g RAC 配置中用于存储 Oracle 集群件所需的共享文件以及所有 Oracle ASM 卷。
注意:本文仅供教学使用,因此设置很简单,仅用于演示想法和概念。例如,仅在一个物理磁盘上设置了磁盘镜像,而实际上,至少应该在两个物理驱动器上设置磁盘镜像。
这不是构建低成本 Oracle RAC 10g 系统的唯一方法。我曾使用过其他基于 SCIS 部署共享存储部件的解决方案。在某些情况下,SCSI 的成本会高于本文所描述的实现的成本,低成本 SCSI 配置将包括:
SCSI 控制器:两个 SCSI 控制器,单价从 20 美元 (Adaptec AHA-2940UW) 到 220 美元 (Adaptec 39320A-R)
内含 SCSI:70 美元 - (包含 1 个 Bay 3.5英寸 U320 SCSI 驱动器盒)
SCSI 硬盘驱动器:140 美元 - (36GB 15K 68p U320 SCSI 硬盘驱动器)
SCSI 电缆:两根 SCSI 电缆,每根 20 美元(3英尺外置 HD68 到 HD68 U320 线缆)
注意,某些主板可能已包含内置的 SCSI 控制器。
以前的 Oracle9i 和 Oracle 10g 第 1 版指南使用原始分区在共享的存储设备上存储文件,但此处我们将利用 Oracle 集群文件系统第 2 版 (OCFS2) 和 Oracle 自动存储管理 (ASM) 特性。两个 Oracle RAC 节点配置如下:
Oracle 数据库文件 | ||||
RAC 节点名 | 实例名 | 数据库名 | $ORACLE_BASE | 用于存储 DB 文件的文件系统/卷管理器 |
linux1 | orcl1 | orcl | /u01/app/oracle | ASM |
linux2 | orcl2 | orcl | /u01/app/oracle | ASM |
Oracle 集群件共享文件 | ||||
文件类型 | 文件名 | iSCSI 卷名 | 挂载点 | 文件系统 |
Oracle Cluster Registry | /u02/oradata/orcl/OCRFile | crs | /u02/oradata/orcl | OCFS2 |
CRS 表决磁盘 | /u02/oradata/orcl/CSSFile | crs | /u02/oradata/orcl | OCFS2 |
注意,在 Oracle 数据库 10g 第 2 版 (10.2) 中,集群就绪服务(即 CRS)现在称作 Oracle 集群件。
自 Oracle 数据库 10g 第 2 版 (10.2) 开始,Oracle 集群件应安装在不针对版本的 Oracle 集群件主目录中。这是对最佳灵活体系结构 (OFA) 规则所作的更改。不要将 Oracle 集群件安装到针对版本的 Oracle 主目录挂载点(如 /u01/app/oracle/product/10.2.0/...),因为 Oracle 集群件的后续版本将覆盖同一路径中的 Oracle 集群件安装程序。此外,如果 Oracle 集群件 10g 第 2 版 (10.2) 检测到现有的 Oracle 集群就绪服务安装,它将覆盖同一路径中的现有安装。
Oracle 集群件软件将安装到构成该 RAC 集群的两个节点的 /u01/app/oracle/product/crs 目录中。但是,集群件软件要求与集群中的两个节点共享它的两个文件:即“Oracle 集群注册表 (OCR)”文件和“表决磁盘”(Voting Disk) 文件。这两个文件将安装到使用 Oracle 集群文件系统第 2 版 (OCFS2) 的共享存储设备中。用户可以(但 Oracle 不建议)使用裸设备存储这些文件,但不能使用 ASM 存储这两个集群件文件。
Oracle 10g 第 2 版数据库软件将安装到构成该 RAC 集群的两个节点的单独 Oracle 主目录中,该目录名为 /u01/app/oracle/product/10.2.0/db_1。所有 Oracle 物理数据库文件(数据、联机重做日志、控制文件、归档重做日志)将安装到由自动存储管理 (ASM) 管理的共享卷上。(用户可以将 Oracle 数据库文件轻松地存储到 OCFS2。而使用 ASM 使本文可以更有趣!)
注意:本文仅作为绝对不可替代的文档。此处唯一的例外是供应商硬件的选择(即:计算机、网络设备和外置硬盘驱动器)。确保您从供应商处购买的硬件在 Red Hat Linux 4 上受支持。
如果您要寻找一个使用 FireWire 的带 RHEL 4 的 Oracle RAC 10g 第 2 版示例,请单击此处。
如果您要寻找一个带 RHEL 3 上的 Oracle RAC 10g 第 1 版示例,请单击此处。
要获得以前发布的本指南的 Oracle9i RAC 版本,请单击此处。
2. Oracle RAC 10g 概述
随 Oracle9i 一同推出的 Oracle RAC 是 Oracle 并行服务器 (OPS) 的后续版本。RAC 允许多个实例同时访问同一数据库(存储)。通过允许系统进行扩展,RAC 提供容错、负载均衡和性能优势。同时,由于所有节点都访问同一数据库,因此一个实例出现故障不会导致无法访问数据库。
Oracle10g RAC 的核心是共享磁盘子系统。集群中的所有节点必须能够访问集群中所有节点的所有数据、重做日志文件、控制文件和参数文件。为了使所有节点都能够访问数据库,数据磁盘必须全局可用。每个节点都拥有自己的重做日志文件和 UNDO 表空间,而其他节点必须能够访问这些文件(和共享的控制文件),以便在系统故障时恢复该节点。
Oracle RAC 与 OPS 之间的最大区别在于增加了高速缓存融合。使用 OPS 时,从一个节点到另一个节点的数据请求需要首先将数据写到磁盘,然后请求节点才能读取该数据。而使用高速缓存融合,数据沿着使用复杂锁定算法的高速互连链路传递。
不是所有的集群解决方案都使用共享存储。一些厂商使用一种称为联合集群 的方法。使用这种方法时,数据分布在多台计算机中,而不是由所有计算机共享。但是,在使用 Oracle10g RAC 时,多个节点将使用一组磁盘来存储数据。利用 Oracle10g RAC,数据文件、重做日志文件、控制文件和归档日志文件都保存在原始磁盘设备的共享存储、NAS、ASM 或集群文件系统中。Oracle 的集群方法利用了集群中所有节点的集体处理能力,同时提供了故障切换安全性。
Dell、IBM 和 HP 等厂商提供了预先配置的面向生产环境的 Oracle10g RAC 解决方案。但是,本文将集中讨论如何使用 Linux 服务器和低成本的共享磁盘解决方案 iSCSI 来整合自己的 Oracle10g RAC 环境进行开发和测试。
有关 Oracle RAC 的更多背景知识,请访问 OTN 上的 Oracle RAC 产品中心。
3. 共享存储概述
现在,光纤通道是最流行的共享存储解决方案之一。前面曾提到过,光纤通道是一种高速串行传输接口,用于在点到点 (FC-P2P)、仲裁环路 (FC-AL) 或交换式拓扑结构 (FC-SW) 中连接系统与存储设备。光纤通道支持的协议包括 SCSI 和 IP。光纤通道配置最多可以支持 127 个节点,每个方向上最高可以实现 2.12 GB 的吞吐量,预期可达到 4.25 GB。
但是,光纤通道的价格很昂贵。单是光纤通道交换机的起价就可能需要约 1,000 美元。这还不包括光纤通道存储阵列和高端驱动器,一个 36GB 驱动器的价格可高达约 300 美元。典型的光纤通道安装包括用于服务器的光纤通道卡。基本安装的费用为大约 10,000 美元,还不包括构成集群的服务器的成本。
光纤通道的一种较为便宜的替代方法是 SCSI。SCSI 技术提供了可接受的共享存储性能。对于那些习惯了基于 GPL 的 Linux 价格的管理员和开发人员来说,即使是 SCSI(一个双节点集群的价格在 2,000 美元到 5,000 美元左右)也可能超出预算。
另一种流行的解决方案是基于 NAS 的 Sun NFS(网络文件系统)。只有在您使用网络设备或类似的设备时,它才可以用于共享存储。具体来说就是,您需要拥有能够保证在 NFS 上进行直接 I/O、将 TCP 作为传输协议并且读/写块大小为 32K 的服务器。
本文将使用的共享存储基于使用网络存储服务器(随 Openfiler 安装)的 iSCSI 技术。该解决方案提供了一个低成本的光纤通道替代方案,只用于测试和教学目的。考虑到方案中使用低端硬件,因此它不适用于生产环境。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9606200/viewspace-745635/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9606200/viewspace-745635/