如何用vmware搭建cluster环境,linux下的9i
2024-07-21 02:39:55
供稿:网友
主要讲最重要的步骤,对于如何用vmware搭建cluster环境,oralce的基本安装具体细节请参考我以前我的cluster环境搭建的文章,Oracle可参照oralce安装文档: 一:环境预备: a.预备一台ia服务器1Gmem,scsi硬盘,piii1GX2(也可以用pc,时间可能花很长) b.redhat 2.1 server c.oralce 9i for linux e.vmware gx 2.1 for linux 二.vmware cluster环境(我习惯用vmware for linux,感觉linux 下的io要比win强) a.服务器上安装好redhat 2.1 linux b.装vmware gx 2.1 for linux,配置好和控制机的网络 c.在vmware 下虚拟出3个nodes的linux系统。 d.安装node 1的linux操作系统 e.将安装好的node1的操作系统的vmware文件拷贝到node2.,node3的对应目录下,启动node2,node3,配置系统(注重修改系统的主要参数如hosts文件),启动3 nodes检查系统运行正常否。 f:启动node1,在系统中建两个共享盘,共享盘a:5G,共享盘2G,同时修改3 nodes的vmware的配置文件,启动3 nodes,检查每个node保证检测到共享盘 /dev/sdb /dev/sdc. g:在3个nodes中配上两个网卡,分别做好内网和外网的网络地址 保证网络的通畅。 三.oralce RAC的系统环境预备 a.添加oralce用户并修改用户的env,如下例: PATH=$PATH:$HOME/bineXPort PATHunset USERNAMEexport ORACLE_BASE=/oracleexport ORACLE_HOME=$ORACLE_BASE/92export ORACLE_TERM=xtermexport TNS_ADMIN=$ORACLE_HOME/network/adminexport ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataexport PATH=$PATH:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/ oracm/libexport CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/ rdbms/jlib:$ORACLE_HOME/network/jlibexport THREADS_FLAG=nativeexport ORACLE_SID=DB1 在不同的node下修改各自的ORALCE_SID和node对应 b.修改系统kernel的参数 c.分别修改每个nodes的hosts,加如所有node的name和ip 例:192.168.3.1 node1192.168.1.191 node1-pub192.168.3.2 node2192.168.1.192 node2-pub192.168.3.3 node3192.168.1.193 node3-pub d.建立各个node的信任机制 在每个node中编辑host.equiv文件 node1 oraclenode2 oraclenode3 oracle e:确保rsh,rlogin服务启动,默认不启动。 f:心跳检测,新的9.2.4支持 hangcheck-timer.o模块,在redhat 2.1中默认不支持的,需要升级内核,所以我采用的是watchdog,编辑/etc/rc.local每次启动时启动watchdog
insmod softdog soft_margin=60 g: 共享磁盘库的分区预备 在oralce 9i,中支持ocfs和raw文件系统,在本安装还是采用沿用的raw设备文件,raw设备对同一个lun中的分区有限制所以分区在两个磁盘中:,关闭node2,node3,在node1中分区 分别执行fdisk /dev/sdb fdisk /dev/sdc,分好后编辑各个node中的/etc/sysconfig/rawdevices的raw映射条目,并启动raw加载服务service rawdevices start 下面可供参考的分区方法:/dev/raw/raw1 /dev/sdb1 ;120M/dev/raw/raw2 /dev/sdb2 ;120M/dev/raw/raw3 /dev/sdb5 ;8M/dev/raw/raw4 /dev/sdb6 ;1000M/dev/raw/raw5 /dev/sdb7 ;120M/dev/raw/raw6 /dev/sdb8 ;120M/dev/raw/raw7 /dev/sdb9 ;200M/dev/raw/raw8 /dev/sdb10 ;120M/dev/raw/raw9 /dev/sdb11 ;120M/dev/raw/raw10 /dev/sdc5 ;200M/dev/raw/raw11 /dev/sdc6 ;120M/dev/raw/raw12 /dev/sdc7 ;120M/dev/raw/raw13 /dev/sdc8 ;120M/dev/raw/raw14 /dev/sdc9 ;120M/dev/raw/raw15 /dev/sdc10 ;120M/dev/raw/raw16 /dev/sdc11 ;120M/dev/raw/raw17 /dev/sdc12 ;300M/dev/raw/raw18 /dev/sdc13 ;300M/dev/raw/raw19 /dev/sdc14 ;300M spfile1=/dev/raw/raw3system1=/dev/raw/raw4users1=/dev/raw/raw5tools1=/dev/raw/raw6temp1=/dev/raw/raw7control1=/dev/raw/raw8control2=/dev/raw/raw9indx1=/dev/raw/raw10redo1_1=/dev/raw/raw11redo1_2=/dev/raw/raw12redo2_1=/dev/raw/raw13redo2_2=/dev/raw/raw14redo3_1=/dev/raw/raw15redo3_2=/dev/raw/raw16undotbs1=/dev/raw/raw17undotbs2=/dev/raw/raw18undotbs3=/dev/raw/raw19 四: oracle的RAC的安装 1.Oracle9i Cluster Manager 的安装 a.放入oralce9i的光盘,挂上光区运行./runInstaller启动安装,和默认oracle安装, b.在Available PRodUCts中选择:"Oracle Cluster Manager 9.2.0.1.0" c. public的node信息输入node1-pubnode2-pubnode3-pub d. private的 node信息输入node1node2node3 e.watchdog的参数默认 f.Quorum 磁盘输入: /dev/raw/raw1(不能直接输分区) g:oralce 安装会自动安装3个nodes,确保各node安装正确 2. 启动 Oracle9i Cluster Manager a.在每个node以root用户登陆
b.执行:# export ORACLE_HOME=/oracle/92# export PATH=$PATH:$ORACLE_HOME/oracm/bin# $ORACLE_HOME/oracm/bin/ocmstart.sh 启动成功后用ps检查# ps -ef grep oracmroot 15249 1 0 Nov08 pts/2 00:00:00 oracmroot 15251 15249 0 Nov08 pts/2 00:00:00 oracmroot 15252 15251 0 Nov08 pts/2 00:00:00 oracmroot 15253 15251 0 Nov08 pts/2 00:00:00 oracmroot 15254 15251 0 Nov08 pts/2 00:00:04 oracmroot 15255 15251 0 Nov08 pts/2 00:00:00 oracmroot 15256 15251 0 Nov08 pts/2 00:00:00 oracmroot 15257 15251 0 Nov08 pts/2 00:00:00 oracmroot 15258 15251 0 Nov08 pts/2 00:00:00 oracmroot 15298 15251 0 Nov08 pts/2 00:00:00 oracmroot 15322 15251 0 Nov08 pts/2 00:00:00 oracmroot 15540 15251 0 Nov08 pts/2 00:00:00 oracm c:检查每个node,如不成功检查log日志分析原因 3.oralce 数据库的安装 a:挂上光盘运行安装程序,按照自己需求定义自己的安装类型,确保去掉建库选项 b.注重是当选择 shared configuration file name 输入/dev/raw/raw2 c.这个过程根据机器性能要花一段时间,oracle会自动分发到没个节点(漫长):( 4. 数据库的创建 a.创建数据库前确保oracm和gsdctl正常启动 b.创建raw设备的连接,方便建库例:ln -s /dev/raw/raw3 /oracle/oradata/DB/spfileDB.oraln -s /dev/raw/raw8 /oracle/oradata/DB/control01.ctlln -s /dev/raw/raw9 /oracle/oradata/DB/control02.ctlln -s /dev/raw/raw10 /oracle/oradata/DB/indx01.dbfln -s /dev/raw/raw4 /oracle/oradata/DB/system01.dbfln -s /dev/raw/raw7 /oracle/oradata/DB/temp01.dbfln -s /dev/raw/raw6 /oracle/oradata/DB/tools01.dbfln -s /dev/raw/raw17 /oracle/oradata/DB/undotbs01.dbfln -s /dev/raw/raw18 /oracle/oradata/DB/undotbs02.dbfln -s /dev/raw/raw19 /oracle/oradata/DB/undotbs03.dbfln -s /dev/raw/raw5 /oracle/oradata/DB/users01.dbfln -s /dev/raw/raw11 /oracle/oradata/DB/redo01.logln -s /dev/raw/raw12 /oracle/oradata/DB/redo02.logln -s /dev/raw/raw13 /oracle/oradata/DB/DB_redo2_2.logln -s /dev/raw/raw14 /oracle/oradata/DB/DB_redo3_1.logln -s /dev/raw/raw15 /oracle/oradata/DB/DB_redo2_1.log
ln -s /dev/raw/raw16 /oracle/oradata/DB/DB_redo3_2.log c.在node1上启动dbca,建库采用标准的建库注重如下Type of database: 选择:"Oracle Cluster Database"node 全部复选:"node1,node2,node3" d.建库前请确保连接和raw设备一一对应 e.建库完成确定。 五 检测RAC的状态 #$ srvctl status database -d DBInstance DB1 is running on node node1Instance DB2 is running on node node2Instance DB3 is running on node node3 六 RAC的真正内涵 默认的RAC的监听器配置不支持负载均衡,自动切换的需修改客户端的tnsnames.ora,添加 LOAD_BALANCE = on和FAILOVER = on选项 我的示例: DB.COM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = node3)(PORT = 1521)) (LOAD_BALANCE = on) (FAILOVER = on) ) (CONNECT_DATA = (SERVICE_NAME = DB.COM) (FAILOVER_MODE = (TYPE = session) (METHOD = basic) ) ) ) 本文完,由于本人能力有限,错误难免,希望共同探讨。