如何用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) ) ) ) 本文完,由于本人能力有限,錯誤難免,希望共同探討。