ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(4)

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

原创 Linux操作系统 作者:jinqibingl 时间:2012-10-04 22:58:22 0 删除 编辑

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

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


$ /sbin/ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0D:56:FC:39:EC
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr:fe80::20d:56ff:fefc:39ec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:835 errors:0 dropped:0 overruns:0 frame.:0
TX packets:1983 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:705714 (689.1 KiB) TX bytes:176892 (172.7 KiB)
Interrupt:3
eth1 Link encap:Ethernet HWaddr 00:0C:41:E8:05:37
inet addr:192.168.2.100 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr:fe80::20c:41ff:fee8:537/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame.:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:546 (546.0 b)
Interrupt:11 Base address:0xe400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr:::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5110 errors:0 dropped:0 overruns:0 frame.:0
TX packets:5110 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8276758 (7.8 MiB) TX bytes:8276758 (7.8 MiB)
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame.:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

关于虚拟 IP

10g 中为什么使用虚拟 IP (VIP)?为什么当它的主节点发生故障时它只是返回一个无效的连接?

这全是出于对应用程序可用性的考虑。当一个节点发生故障时,与其关联的 VIP 将被自动故障切换到另外某个节点上。当出现这种情况时,会发生两件事。


新的节点重新进行地址解析,显示该地址的一个新的 MAC 地址。对于直连客户端,这通常使它们在连接旧地址时出现错误。
到 VIP 的后续数据包将被传送到新的节点,该节点将把错误 RST 数据包返回客户端。这导致客户端立即收到错误信息。

这意味着,当客户端向故障节点发出 SQL 时,或者在连接状态下遍历地址列表时,客户端会接收到一个 TCP 重置信息,而不是等待很长的 TCP/IP 超时(大约 10 分钟)。发送 SQL 时,该信息为 ORA-3113。而连接时,使用 tnsname 中的下一个地址。

更进一步的操作是使用透明的应用程序故障切换 (TAF)。成功配置 TAF 后,就可以完全避免 ORA-3113 错误!第 29 节(“透明的应用程序故障切换 - (TAF)”)将更详细地介绍 TAF。

如果不使用 VIP,连接停用节点的客户端经常要等待 10 分钟的 TCP 超时,然后才收到错误信息。因此,如果没有 VIP,用户将不能真正拥有一流的高可用性解决方案(来源 — Metalink 说明 220970.1)。

确保 RAC 节点名没有出现在环回地址中

确保在 /etc/hosts 文件的环回地址中不包含节点名(linux1 或 linux2)。如果机器名出现在环回地址条目中,如下所示:

127.0.0.1 linux1 localhost.localdomain localhost
需要按如下所示将其删除:
127.0.0.1 localhost.localdomain localhost

如果 RAC 节点名出现在环回地址中,您在 RAC 安装期间将接收到以下错误信息:

ORA-00603:ORACLE server session terminated by fatal error
或者
ORA-29702:error occurred in Cluster Group Service operation

确保在 /etc/hosts 文件中为环回地址定义了本地主机

确保环回地址的 localhost.localdomain 和 localhost 条目包括在每个 Oracle RAC 节点的 /etc/hosts 文件中:

 127.0.0.1 localhost.localdomain localhost
如果 /etc/hosts 文件中不存在 localhost 条目,Oracle 集群件将不能启动应用程序资源,尤其是 ONS 进程。系统将显示错误信息“Failed to get IP for localhost”,并将其写入到 ONS 日志文件中。例如:
CRS-0215 could not start resource 'ora.linux1.ons'.Check log file "/u01/app/oracle/product/crs/log/linux1/racg/ora.linux1.ons.log" for more details.
ONS 日志文件将包括以下类似内容:

Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle.All rights reserved.
2007-04-14 13:10:02.729: [ RACG][3086871296][13316][3086871296][ora.linux1.ons]:Failed to get IP for localhost (1)
Failed to get IP for localhost (1)
Failed to get IP for localhost (1)
onsctl:ons failed to start
...

调整网络设置

在 Oracle 9.2.0.1 以及更高版本中,Oracle 在 Linux 上使用 UDP 作为进行过程间通信 (IPC) 的默认协议,如在 RAC 集群中实例之间的高速缓存融合和集群管理器缓冲区传输。

Oracle 强烈建议将默认的和最大的发送缓冲区大小(SO_SNDBUF 套接字选项)调整为 256KB,并将默认的和最大的接收缓冲区大小(SO_RCVBUF 套接字选项)调整为 256KB。

接收缓冲区由 TCP 和 UDP 用于保留所接收的数据,直到应用程序读出这些数据为止。由于不允许对端设备发送超过缓冲区大小窗口的数据,因此接收缓冲区不会溢出。这意味着,不适合套接字接收缓冲区的数据报将会被丢弃,从而可能导致发送设备发送的信息淹没接收设备。

您无需重新引导即可在 /proc 文件系统中更改默认的和最大的窗口大小:

# su - root
# sysctl -w net.core.rmem_default=262144
net.core.rmem_default = 262144
# sysctl -w net.core.wmem_default=262144
net.core.wmem_default = 262144
# sysctl -w net.core.rmem_max=262144
net.core.rmem_max = 262144
# sysctl -w net.core.wmem_max=262144
net.core.wmem_max = 262144

以上命令更改正在运行的操作系统。现在,将以下各行程序添加到 RAC 集群中两个节点的 /etc/sysctl.conf 文件中,使以上更改永久生效(针对每次重新引导而言):

# Default setting in bytes of the socket receive buffer net.core.rmem_default=262144 # Default setting in bytes of the socket send buffer net.core.wmem_default=262144 # Maximum socket receive buffer size which may be set by using # the SO_RCVBUF socket option net.core.rmem_max=262144 # Maximum socket send buffer size which may be set by using # the SO_SNDBUF socket option net.core.wmem_max=262144

检查并关闭 UDP ICMP 拒绝

在 Linux 安装期间,我指出不配置防火墙选项。默认情况下,配置防火墙的选项由安装程序选择。这使我吃了好几次苦头,因此我要仔细检查防火墙选项是否未配置,并确保 udp ICMP 过滤已关闭。

如果 UDP ICMP 被防火墙阻塞或拒绝,Oracle 集群件软件将在运行几分钟之后崩溃。如果 Oracle 集群件进程出现故障,您的
_evmocr.log
文件中将出现以下类似内容:

08/29/2005 22:17:19
oac_init:2:Could not connect to server, clsc retcode = 9
08/29/2005 22:17:19
a_init:12!:Client init unsuccessful :[32]
ibctx:1:ERROR:INVALID FORMAT
proprinit:problem reading the bootblock or superbloc 22

如果遇到此类错误,解决方法是删除 udp ICMP (iptables) 拒绝规则,或者只需关闭防火墙选项。之后,Oracle 集群件软件将开始正常工作,而不会崩溃。以下命令应该以
root
用户帐户的身份执行:


检查以确保防火墙选项关闭。如果防火墙选项已停用(如下面的示例所示),则不必继续执行以下步骤。
# /etc/rc.d/init.d/iptables status
Firewall is stopped.

如果防火墙选项已启用,您首先需要手动停用 UDP ICMP 拒绝:
# /etc/rc.d/init.d/iptables stop
Flushing firewall rules:[ OK ]
Setting chains to policy ACCEPT:filter [ OK ]
Unloading iptables modules:[ OK ]

然后,针对下一次服务器重启关闭 UDP ICMP 拒绝(应该始终被关闭):
# chkconfig iptables off 

 


8. 安装 Openfiler

在网络存储服务器 (openfiler1) 上执行以下安装!

在两个 Oracle RAC 节点上进行网络配置之后,下一步是将 Openfiler 软件安装到网络存储服务器 (openfiler1)。在本文的后面部分,会将网络存储服务器配置为 iSCSI 存储设备,以满足所有 Oracle10g RAC 共享存储要求。

Openfiler 由 rPath Linux 驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN)。整个软件包与开放源代码应用程序(例如 Apache、Samba、LVM2、ext3、Linux NFS 和 iSCSI Enterprise Target)连接。Openfiler 将这些随处可见的技术组合到一个易于使用的小型管理解决方案中,该解决方案通过一个基于 Web 且功能强大的管理界面实现。

Openfiler 支持 CIFS、NFS、HTTP/DAV 和 FTP,但是,我仅使用它的 iSCSI 功能为 Oracle10g RAC 需要的共享存储组件实现低成本的 SAN。我们将通过 USB 2.0 接口将一个 500GB 的外置硬盘驱动器连接到 Openfiler 服务器。Openfiler 服务器将配置为使用该磁盘进行基于 iSCSI 的存储,并且将在 Oracle10g RAC 配置中用于存储 Oracle 集群件所需的共享文件以及所有 Oracle ASM 卷。

要了解有关 Openfiler 的更多信息,请访问其网站 http://www.openfiler.com/

下载 Openfiler

请使用下面的链接下载 Openfiler 2.2 x86(respin 2)。下载 Openfiler 之后,需要将 ISO 镜像刻录到 CD。


Openfiler
openfiler-2.2-x86-disc1.iso   (338 MB)

如果您将以上 ISO 文件下载到 MS Windows 计算机,可以使用多种方法将这些镜像(ISO 文件)刻录到 CD。您可能很熟悉这个过程,甚至已经拥有合适的软件,可以将镜像刻录到 CD。如果您不熟悉这个过程,并且没有将镜像刻录到 CD 所需的软件,这里提供了两个软件程序包(实际上有许多个):


UltraISO
Magic ISO Maker

安装 Openfiler

本部分概述了用于安装 Openfiler 软件的各个屏幕。在本文中,我选择了使用所有默认选项安装 Openfiler。所需的唯一手动更改是为了配置本地网络设置。

安装完成之后,服务器将重新引导以确保启动并识别所需的所有组件、服务和驱动程序。重新引导之后,Openfiler 服务器应该将外置硬盘驱动器识别为设备 /dev/sda。

有关更详细的安装说明,请访问 http://www.openfiler.com/docs/。但是,我建议使用下面提供的说明对该 Oracle10g RAC 进行配置。

将 Openfiler 软件安装到网络存储服务器之前,应该先安装两个 NIC 接口(卡),并连接和打开所有外置硬盘驱动器。

在下载并将 Openfiler ISO 镜像(ISO 文件)刻录到 CD 之后,将该 CD 插入网络存储服务器(在本例中是 openfiler1),启动,并按照以下说明来回应安装屏幕的提示。

引导屏幕
第一个屏幕是 Openfiler 引导屏幕。在 boot: 提示符处按 [Enter] 键启动安装过程。

介质测试
当要求测试 CD 介质时,用 Tab 键切换到 [Skip] 并按 [Enter] 键。如果有错误,则介质刻录软件会向我们发出警告。在几秒钟后,安装程序将会检测视频卡、显示器和鼠标。然后安装程序进入 GUI 模式。

Openfiler NAS/SAN Appliance 欢迎屏幕
在欢迎屏幕上,单击 [Next] 继续。

键盘配置
下一个屏幕将提示您进行键盘设置。为您的配置作出合适的选择。

磁盘分区设置
下一个屏幕将询问使用“Automatic Partitioning”还是“Manual Partitioning with Disk Druid”执行磁盘分区。这里,您选择哪种方法都可以,尽管官方 Openfiler 文档建议使用手动分区。由于用于此安装的内置硬盘驱动器很小,并且该驱动器将仅用于存储 Openfiler 软件(我不会将内置 40GB 硬盘驱动器上的任何空间用于 iSCSI 存储),因此我选择使用“Automatic Partitioning”。

选择 [Automatically partition] 并单击 [Next] 继续。

如果以前在本机上安装了 Linux,则下一屏幕将询问您是要“删除”还是“保留”旧分区。选择 [Remove all partitions on this system] 选项。还要确保“仅”为本安装选择了 [hda] 驱动器。我还选中了 [Review (and modify if needed) the partitions created] 复选框。单击 [Next] 继续。

然后显示一个对话窗口,询问您是否真的要删除所有分区。单击 [Yes] 回复这一警告。

分区
随后安装程序将允许您查看(如果需要还可以更改)它自动为 /dev/hda 选择的磁盘分区。几乎所有情况下,安装程序将为 /boot 分配 100MB,为 swap 分配双倍数量的 RAM,而将剩余空间分配给根 (/) 分区。我倾向于至少为 swap 分配 1 GB 的空间。就本安装而言,我将接受所有自动选用的大小。(包括 2GB 的 swap,因为我安装了 1GB 的 RAM。)

网络配置
在启动 Openfiler 安装之前,我已确认在网络存储服务器上安装了两个 NIC 接口(卡)。本屏幕应该已经成功地检测到每个网络设备。

首先,确保将每个网络设备设置为 [Active on boot]。默认情况下,安装程序可能选择不激活 eth1。

第二步,按照以下方法对 eth0 和 eth1 进行 [Edit] 操作。您可能要为 eth0 和 eth1 使用不同的 IP 地址,没问题。但是,您必须将 eth1(存储网络)配置为与 linux1 和 linux2 上的 eth1 位于同一子网中:

eth0:
— 取消选中 [Configure using DHCP] 复选项
— 选中 [Activate on boot]
— IP 地址:192.168.1.195
— 网络掩码: 255.255.255.0

eth1:
— 取消选中 [Configure using DHCP] 复选项
— 选中 [Activate on boot]
— IP 地址:192.168.2.195
— 网络掩码: 255.255.255.0

接着,手动设置您的主机名。我使用的主机名是“openfiler1”。然后提供您的网关和 DNS 服务器,最后关闭该对话框。

时区
下一个屏幕将允许您配置时区信息。为您的位置作出合适的选择。

设置根口令
选择一个根口令,然后单击 [Next] 继续。

关于安装
本屏幕主要是一个确认屏幕。单击 [Next] 开始安装。

恭喜
大功告成。您已经成功地在网络存储服务器上安装了 Openfiler。安装程序将从 CD-ROM 驱动器中弹出 CD。取出 CD,单击 [Reboot] 重新引导系统。

如果在重新引导后一切都已成功,您现在应该看到文本登录屏幕和用于管理 Openfiler 服务器的 URL。

在 Openfiler 服务器上修改 /etc/hosts 文件
虽然并非必要,但我通常会将 /etc/hosts 文件的内容从一个 Oracle RAC 节点复制到新的 Openfiler 服务器。当测试集群网络时可以实现方便的名称解析。

 


9. 使用 Openfiler 配置 iSCSI 卷

在网络存储服务器 (openfiler1) 上执行以下配置任务!

可以使用 Openfiler Storage Control Center(一个基于浏览器的工具,通过端口 446 上的 https 连接实现)执行 Openfiler 管理。例如:

https://openfiler1:446/ 

从 Openfiler Storage Control Center 主页,以管理员身份登录。Openfiler 的默认管理员登录凭证为:


用户名: openfiler
密码: password

管理员看到的第一个页面是 [Accounts] / [Authentication] 屏幕。配置用户帐户和组对本文不是十分重要,因此对此不进行讨论。

要将 Openfiler 用作 iSCSI 存储服务器,我们需要执行三个主要任务:设置 iSCSI 服务、配置网络访问以及创建物理存储。

服务

要控制服务,我们使用 Openfiler Storage Control Center 并导航到 [Services] / [Enable/Disable]:在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(4) - 轩辕剑 - 摸索着前进总比原地踏步好

                   图 6 启用 iSCSI Openfiler 服务

要启用 iSCSI 服务,单击“iSCSI target”服务名称下面的“Enable”。之后,“iSCSI target”状态应更改为“Enabled”。

ietd 程序将实现 iSCSI Enterprise Target 软件的用户级部分,以便在 Linux 上构建 iSCSI 存储系统。启用 iSCSI 目标之后,我们应该能够通过 SSH 进入 Openfiler 服务器,并看到 iscsi-target 服务正在运行:

[root@openfiler1 ~]# service iscsi-target status ietd (pid 3784) is running...

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

请登录后发表评论 登录
全部评论

注册时间:2010-08-19

  • 博文量
    154
  • 访问量
    325252