Linux10gR2RACinstall.docx
《Linux10gR2RACinstall.docx》由会员分享,可在线阅读,更多相关《Linux10gR2RACinstall.docx(122页珍藏版)》请在冰豆网上搜索。
Linux10gR2RACinstall
DBA:
Linux
在Linux和FireWire上构建您自己的OracleRAC10g第2版集群
作者:
JeffreyHunter
了解如何安装和配置一个成本低于1800美元的OracleRAC10g第2版开发集群。
2005年12月更新
目录
1.简介
2.OracleRAC10g概述
3.共享存储器概述
4.FireWire技术
5.硬件及成本
6.安装Linux操作系统
7.配置网络
8.获取并安装新的Linux内核/FireWire模块
9.创建“oracle”用户和目录
10.在共享的FireWire存储设备上创建分区
11.为Oracle配置Linux服务器
12.配置hangcheck-timer内核模块
13.为远程访问配置RAC节点
14.用于每个RAC节点的所有启动命令
15.检查Oracle10g第2版的RPM程序包
16.安装和配置Oracle集群文件系统(OCFS2)
17.安装和配置自动存储管理(ASMLib2.0)
18.下载Oracle10gRAC软件
19.安装Oracle10g集群件软件
20.安装Oracle10g数据库软件
21.创建TNS监听器进程
22.安装Oracle10g随附CD软件
23.创建Oracle集群数据库
24.验证TNS联网文件
25.创建/更改表空间
26.验证RAC集群与数据库配置
27.启动/停止集群
28.透明的应用程序故障切换-(TAF)
29.结论
30.致谢
本指南相关下载:
CentOSEnterpriseLinux4.2或RedHatEnterpriseLinux4
Oracle集群文件系统第2版-(1.0.4-1)
Oracle集群文件系统第2版工具-(1.0.4-1)
Oracle数据库10g第2版EE、集群件、随附CD-(10.2.0.1.0)
预编译的RHEL4内核-(2.6.9-11.0.0.10.3.EL)
预编译的RHEL4FireWire模块-(2.6.9-11.0.0.10.3.EL)
ASMLib2.0库和工具
ASMLib2.0驱动程序-单处理器/SMP
1.简介
熟悉Oracle真正应用集群(RAC)10g技术的最有效方法之一是访问一个实际的OracleRAC10g集群。
没有什么方法比直接体验它们能够更好地理解其好处的了—包括容错、安全性、负载均衡和可伸缩性。
不幸的是,对于很多商家而言,典型的生产级RAC配置所需的硬件投入使它们无法实现这一目标。
一个小型两节点集群可能需要10,000美元到20,000美元以上。
该价格还不包括产品级RAC环境的核心(通常是一个存储区域网),其起价为8,000美元。
对于那些没有大笔现金而希望熟悉OracleRAC10g的人而言,本指南提供一种低成本的替代方法来配置一个OracleRAC10g第2版系统,它使用常见的商业组件和可下载的软件,估计成本在1200美元到1800美元之间。
相关系统包括一个运行Linux(CentOS4.2或RedHatEnterpriseLinux4)的双节点集群(每个节点使用一个处理器),具有基于IEEE1394(FireWire)驱动器技术的共享磁盘存储器。
(当然,您还可以考虑在VMware虚拟机上构建一个虚拟集群,但是其体验将不尽相同!
)
请注意,这不是构建低成本OracleRAC10g系统的唯一方法。
我曾见过其他的解决方案,这些解决方案利用了基于SCSI的实施而不是基于共享存储器的FireWire。
在大多数情况下,SCSI的成本会高于我们的FireWire解决方案,典型的SCSI卡的价格在70美元左右,而一个80GB的外置SCSI驱动器价格为700美元到1000美元。
注意,某些主板可能已包含内置的SCSI控制器。
请注意,不要在生产环境中运行此配置,并且它不受Oracle或其他任何厂商的支持,这点很重要。
在生产环境中,光纤通道(能够在点对点或交换式拓扑中连接系统与存储设备的高速串行传输接口)是首选技术。
FireWire为测试和开发提供了光纤通道的低成本替代方法,但尚不能用于生产。
Oracle9i和Oracle10g第1版指南使用原始分区存储共享存储器上的文件,但此处我们将利用Oracle集群文件系统第2版(OCFS2)和Oracle自动存储管理(ASM)特性。
将对两个Linux服务器进行如下配置:
Oracle数据库文件
RAC节点名
实例名
数据库名
$ORACLE_BASE
用于存储DB文件的文件系统/卷管理器
linux1
orcl1
orcl
/u01/app/oracle
ASM
linux2
orcl2
orcl
/u01/app/oracle
ASM
Oracle集群件共享文件
文件类型
文件名
分区
挂载点
文件系统
OracleClusterRegistry
/u02/oradata/orcl/OCRFile
/dev/sda1
/u02/oradata/orcl
OCFS2
CRS表决磁盘
/u02/oradata/orcl/CSSFile
/dev/sda1
/u02/oradata/orcl
OCFS2
注意,在Oracle数据库10g第2版(10.2)中,集群就绪服务(即CRS)现在称作Oracle集群件。
Oracle集群件软件将安装到构成RAC集群的每个节点上的/u01/app/oracle/product/crs中。
但集群件软件需要将其两个文件(Oracle集群注册表(OCR)文件和表决磁盘文件)与集群中的所有节点共享。
这两个文件将安装到使用OCFS2的共享存储器中。
可以(但Oracle不建议)使用RAW设备存储这些文件,但不能使用ASM存储这两个集群件文件。
Oracle数据库10g第2版软件将安装到构成RAC集群每个节点的OracleHome(即/u01/app/oracle/product/10.2.0/db_1)中。
所有Oracle物理数据库文件(数据、联机重做日志、控制文件、归档重做日志)将安装到由ASM管理的共享驱动器的不同分区上。
(可以将Oracle数据库文件十分轻松地存储在OCFS2上。
但是,使用ASM可以使本文更有趣!
)
注意:
本文仅作为绝对不可替代的文档。
如果要寻找一个利用RHEL3上的OracleRAC10g第1版的示例,请单击此处。
要获得以前发布的本指南的Oracle9iRAC版本,请单击此处。
2.OracleRAC10g概述
随Oracle9i一同推出的OracleRAC是Oracle并行服务器(OPS)的后续版本。
RAC允许多个实例同时访问同一数据库(存储器)。
它通过允许系统进行扩展,提供了容错、负载均衡和性能效益,同时由于所有节点访问同一数据库,因此一个实例的故障不会导致无法访问数据库。
OracleRAC的核心是共享磁盘子系统。
集群中的所有节点必须能够访问集群中所有节点的所有数据、重做日志文件、控制文件和参数文件。
数据磁盘必须在全局范围内可用,以便允许所有节点访问数据库。
每个节点拥有自己的重做日志和控制文件,但是其他节点必须能够访问这些文件,以便在系统故障时恢复该节点。
OracleRAC与OPS之间的一个较大区别是,它采用了高速缓存合并技术。
在OPS中,节点间的数据请求需要先将数据写入磁盘,然后发出请求的节点才可以读取该数据。
使用高速缓存合并时,一起传递数据与使用复杂锁定算法的高速互联。
不是所有的集群解决方案都使用共享存储器。
有些厂商使用一种称为联合集群的方法,在这种方法中,数据分布在多台计算机中,而不是由所有计算机共享。
但是,在使用OracleRAC10g时,多个节点使用相同的磁盘集来存储数据。
利用OracleRAC,数据文件、重做日志文件、控制文件和归档日志文件保存在原始磁盘设备的共享存储器、NAS、SAN、ASM或集群文件系统中。
Oracle的集群方法利用了集群中所有节点的集体处理能力,同时提供了故障切换安全性。
有关OracleRAC的更多背景知识,请访问OTN上的OracleRAC产品中心。
3.共享存储器概述
光纤通道是最流行的共享存储器解决方案之一。
前面曾提到,光纤通道是一种高速串行传输接口,用于在点对点或交换式拓扑结构中连接系统与存储设备。
光纤通道支持的协议包括SCSI和IP。
光纤通道配置可以支持多达127个节点,其每秒的吞吐量高达2.12GB。
但是,光纤通道非常昂贵;仅交换机的起价就为1000美元,而高端驱动器价格可能达到300美元。
总体而言,典型的光纤通道设置(包括服务器的插卡)价格约为8000美元。
光纤通道的一种较为便宜的替代方法是SCSI。
SCSI技术为共享存储器提供了可接受的性能,但是对于那些习惯了基于GPL的Linux价格的管理员和开发人员来说,即使是SCSI(一个双节点集群的价格在2,000美元到5,000美元左右)也可能超出预算。
另一种流行的解决方案是建立在NAS基础上的SunNFS(网络文件系统)。
只有在您使用网络设备或类似的设备时,它才可以用于共享存储器。
具体来说就是,您需要拥有能够保证在NFS上进行直接I/O、将TCP作为传输协议并且读/写块大小为32K的服务器。
4.FireWire技术
FireWire是由AppleComputer和TexasInstruments开发的,它是一种高速串行数据总线的跨平台实施方案。
利用其高带宽、长距离(长度多达100米)和高能量的总线,FireWire现在用于数字视频(DV)、专业音响、硬盘驱动器、高端数字照相机和家庭娱乐设备等应用中。
现在,FireWire以高达每秒800兆位的传输速率工作,而下一代的FireWire要求理论上的位速率达到1600Mbps,然后达到令人吃惊的3200Mbps。
那是每秒3.2GB。
这种速度将使FireWire成为传输大量数据文件甚至要求最苛刻的视频应用(如处理未压缩的高清晰(HD)视频或者多个标准清晰度(SD)的视频流)所必不可少的技术。
以下图表显示了多种类型磁盘接口的速度对比。
对于每种接口,我提供了每秒千位(kb)、千字节(KB)、兆位(Mb)、兆字节(MB)以及千兆位(Gb)的最大传输速率。
可以看到,IEEE1394的功能显然超过其他可用的磁盘接口技术。
磁盘接口
速度
Kb
KB
Mb
MB
Gb
串行
115
14.375
0.115
0.014
并行(标准)
920
115
0.92
0.115
USB1.1
12
1.5
并行(ECP/EPP)
24
3
SCSI-1
40
5
SCSI-2(快速SCSI/快速窄带SCSI)
80
10
ATA/100(并行)
100
12.5
IDE
133.6
16.7
快速宽带SCSI(宽带SCSI)
160
20
UltraSCSI(SCSI-3/Fast-20/Ultra窄带)
160
20
UltraIDE
264
33
宽带UltraSCSI(快速宽带20)
320
40
Ultra2SCSI
320
40
FireWire400-IEEE1394(a)
400
50
USB2.0
480
60
宽带Ultra2SCSI
640
80
Ultra3SCSI
640
80
FireWire800-IEEE1394(b)
800
100
串行ATA-(SATA)
1200
150
1.2
宽带Ultra3SCSI
1280
160
1.28
Ultra160SCSI
1280
160
1.28
Ultra串行ATA1500
1500
187.5
1.5
Ultra320SCSI
2560
320
2.56
FC-AL光纤通道
3200
400
3.2
5.硬件及成本
我们用于构建示例OracleRAC10g环境的硬件包括两个Linux服务器以及您可以在本地任何计算机商店中或通过互联网购买的组件。
服务器1—(linux1)
Dimension2400系列
IntelPentium4处理器(2.80GHz)
1GBDDRSDRAM(333MHz)
40GB7200RPM内置硬盘驱动器
集成的Intel3DAGP图形卡
集成的10/100以太网卡
CDROM(48X倍速)
3.5"软盘驱动器
无监视器(已经有一台)
USB鼠标和键盘
620美元
1-以太网LAN卡
∙Linksys10/100Mpbs-(用于与linux2互联)
每个Linux服务器应该包含两个NIC适配器。
DellDimension包含一个集成的10/100以太网适配器,它将用于连接公共网络。
第二个NIC适配器将用于专用互联。
20美元
1-FireWire卡
∙SIIG,Inc.3端口1394I/O卡
已知那些使用VIA或TI制造的芯片集的接口卡可以正常工作。
除了SIIG,Inc.3端口1394I/O卡之外,我还成功使用了BelkinFireWire3端口1394PCI卡和StarTech4端口IEEE-1394PCIFirewire卡等I/O卡。
30美元
服务器2—(linux2)
Dimension2400系列
IntelPentium4处理器(2.80GHz)
1GBDDRSDRAM(333MHz)
40GB7200RPM内置硬盘驱动器
集成的Intel3DAGP图形卡
集成的10/100以太网卡
CDROM(48X倍速)
3.5"软盘驱动器
无监视器(已经有一台)
USB鼠标和键盘
620美元
1-以太网LAN卡
∙Linksys10/100Mpbs-(用于与linux1互联)
每个Linux服务器应该包含两个NIC适配器。
DellDimension包含一个集成的10/100以太网适配器,它将用于连接公共网络。
第二个NIC适配器将用于专用互联。
20美元
1-FireWire卡
∙SIIG,Inc.3端口1394I/O卡
已知那些使用VIA或TI制造的芯片集的接口卡可以正常工作。
除了SIIG,Inc.3端口1394I/O卡之外,我还成功使用了BelkinFireWire3端口1394PCI卡和StarTech4端口IEEE-1394PCIFirewire卡等I/O卡。
30美元
其他组件
FireWire硬盘驱动器
∙MaxtorOneTouchII300GBUSB2.0/IEEE1394a外置硬盘驱动器-(E01G300)
确保您所购买的FireWire驱动器支持多个登录。
如果驱动器的芯片集不允许对超过一个服务器进行并发访问,则每次只有一台服务器能够看到该磁盘及其分区。
已知使用Oxford911芯片集的磁盘可以正常工作。
以下是我为本测试所购买的磁盘的详细信息:
厂商:
Maxtor
型号:
OneTouchII
Mfg.部件号或KIT号:
E01G300
容量:
300GB
高速缓存缓冲区:
16MB
转速:
7200RPM
接口传输速率:
400Mbits/s
“组合”接口:
IEEE1394/兼容USB2.0和USB1.1
以下是包含相应芯片组的FireWire驱动器(以及其中包含的附件)列表,这些驱动器支持多个登录,应适用于本文(但不予保证):
∙MaxtorOneTouchII300GBUSB2.0/IEEE1394a外置硬盘驱动器-(E01G300)
∙MaxtorOneTouchII250GBUSB2.0/IEEE1394a外置硬盘驱动器-(E01G250)
∙MaxtorOneTouchII200GBUSB2.0/IEEE1394a外置硬盘驱动器-(E01A200)
∙由F.A.Porsche设计的250GBLaCie硬盘驱动器(采用FireWire400接口)-(300703U)
∙由F.A.Porsche设计的160GBLaCie硬盘驱动器(采用FireWire400接口)-(300702U)
∙由F.A.Porsche设计的80GBLaCie硬盘驱动器(采用FireWire400接口)-(300699U)
∙ADSTechnologies推出的DualLink驱动器套件(内含FireWire)-(DLX185)
∙MaxtorUltra200GBATA-133(内置)硬盘驱动器
∙MaxtorOneTouch250GBUSB2.0/IEEE1394a外置硬盘驱动器-(A01A250)
∙MaxtorOneTouch200GBUSB2.0/IEEE1394a外置硬盘驱动器-(A01A200)
280美元
1-额外的FireWire电缆
∙Belkin6针对6针1394电缆
20美元
1-以太网集线器或交换机
∙LinksysEtherFast10/1005端口以太网交换机
(用于与int-linux1/int-linux2互联)
25美元
4-网络电缆
∙5e类接线电缆-(将linux1连接到公共网络)
∙5e类接线电缆-(将linux2连接到公共网络)
∙5e类接线电缆-(将linux1与以太网交换机互联)
∙5e类接线电缆-(将linux2与以太网交换机互联)
5美元
5美元
5美元
5美元
总计
1,685美元
请注意,MaxtorOneTouch外置硬盘驱动器确实有两个IEEE1394(FireWire)端口,尽管乍看上去可能不是这样。
上面列出的其他外置硬盘驱动器也是如此。
还要注意,虽然您可能总想将以太网交换机(用于互联int-linux1/int-linux2)替换为一根交叉的CAT5线,但我不推荐使用这种方法。
我发现在使用交叉的CAT5线进行互联时,只要我关闭一台PC,另一台PC就会检测到一个“cableunplugged”错误,因而高速缓存合并网络将会变为不可用。
既然我们知道了将在本示例中使用的硬件,就让我们对环境概况进行概念性的了解:
图1体系结构
在我们开始详细讨论安装过程时,始终切记大多数任务需要在两台服务器上执行。
6.安装Linux操作系统
本节总结了用于安装Linux操作系统的各个屏幕。
本指南原定使用RedHatEnterpriseLinux4AS/ES(RHEL4)操作环境。
作为替代方法,我在本文中使用了CentOS4.2:
RHEL4操作环境的一个免费且稳定的版本。
有关更多详细的安装说明,可以使用由RedHatLinux提供的手册。
但是,我建议对本配置使用我在下面提供的说明。
在两个节点上安装Linux操作系统之前,您应该先安装FireWire和两个NIC接口(卡)。
此外,在开始安装前,确保FireWire驱动器(我们的共享存储驱动器)没有连接到两个服务器中的任何一个上。
您也可以选择将这两个服务器同时连接到FireWire驱动器,并只需关掉驱动器的电源。
下载CentOS4.2的以下ISO镜像:
∙CentOS-4.2-i386-bin1of4.iso(618MB)
∙CentOS-4.2-i386-bin2of4.iso(635MB)
∙CentOS-4.2-i386-bin3of4.iso(639MB)
∙CentOS-4.2-i386-bin4of4.iso(217MB)
在下载并将CentOS镜像(ISO文件)刻录到CD之后,将CentOS1号盘插入到第一个服务器(在本示例中是linux1),启动其电源,并按照以下说明来回应安装屏幕的提示。
在第一个节点上安装完Linux后,在第二个节点上执行相同的Linux安装,但将节点名linux1替换为linux2并设定适当的不同IP地址。
BootScreen
第一个屏幕是CentOSEnterpriseLinux引导屏幕。
在boot:
提示符处按[Enter]键启动安装过程。
MediaTest
当要求测试CD介质时,用Tab键切换到[Skip]并按[Enter]键。
如果有错误,则介质刻录软件会向我们发出警告。
在几秒钟后,安装程序将会检测视频卡、监视器和鼠标。
然后安装程序进入GUI模式。
WelcometoCentOSEnterpriseLinux
在欢迎屏幕上,单击[Next]继续。
Language