虛擬機器環境下RAC加入節點
備註: 以下是虛擬機器環境下的配置,某些配置可能不同與實際的RAC環境。
1. 環境 Linux AS5.3 64bit, Oracle10.2.0.4, 2個節點加入第三個RAC03 。
2. Linux已經安裝完畢,準備配置網路卡(public及private網路卡)。
-- public網路卡配置
[root@localhost network-scripts]# vi ifcfg-eth0 -- public網路卡配置
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:BF:4A:77
ONBOOT=yes
IPADDR=10.13.67.83
GATEWAY=10.13.67.1
TYPE=Ethernet
USERCTL=no
[root@localhost network-scripts]# ifdown eth0
[root@localhost network-scripts]# ifup eth0
[root@localhost network-scripts]# ifconfig
-- private網路卡配置
關閉新節點的Linux系統,關閉新節點RAC03的虛擬機器,準備加入配置private 網路卡,
點選上面的 “Edit virtual machine settings” ,開始配置網路卡。
Add一塊網路卡,由於是用於心跳線,所以可以選用Host-only(當然其實也可以用Bridged).
完成後重新開啟新節點RAC03的虛擬機器。
[root@rac01 network-scripts]# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:bf:4a:81
IPADDR=192.168.1.13
TYPE=Ethernet
USERCTL=no
[root@localhost pam.d]# ifdown eth1
[root@localhost pam.d]# ifup eth1
確認這兩個網路卡與其他兩臺RAC機的IP可以通訊。
3. 這時可以使用ssh 登入系統,開始配置系統。
4. 修改hostname , /etc/sysconfig/network 中的hostname 修改為rac03 .
5. 修改核心引數等。
# vi /etc/sysctl.conf
# Added by DBA for Oracle DB
kernel.shmall = 2097152
kernel.shmmax = 1230708000
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# vi /etc/pam.d/login
加入
session required pam_limits.so
6. # setup disable 去掉一些不需要的服務或防火牆,SELinux等。
開啟ftp, 關閉sendmail等; 還有時區,注意設定正確,
7. 重新啟動一下新節點Server, 讓Hostname生效。
8. 調整新節點RAC03的/etc/hosts. 加入1,2,3的
[root@rac03 etc]# cat hosts
127.0.0.1 localhost.localdomain localhost
10.13.67.81 rac01
192.168.1.11 pri01
10.13.67.91 vip01
10.13.67.82 rac02
192.168.1.12 pri02
10.13.67.92 vip02
10.13.67.83 rac02
192.168.1.13 pri02
10.13.67.93 vip02
9. 建立oracle使用者及相關組。
# groupadd dba
# groupadd oper
# useradd -g dba -G oper oracle
# passwd oracle
10. 設定oracle使用者的.bash_profile環境變數。
11. 建立一些目錄用於安裝oracle軟體及一些軟體放置的地方。
[root@rac03 /]# mkdir -p /u01
[root@rac03 /]# chown -R oracle.dba /u01
rac03$mkdir -p packages
rac03$ls
packages
rac03$ls -alh
total 16K
drwxr-xr-x 3 oracle dba 4.0K Jan 3 16:00 .
drwxr-xr-x 25 root root 4.0K Jan 3 15:59 ..
drwxr-xr-x 2 oracle dba 4.0K Jan 3 16:00 packages
rac03$
11. 開始準備需要的Linux Packages及OCFS2軟體。這裡假設
這些軟體都已經傳輸到/u01/packages 下面。其實加入新節點RAC03,
新節點上不需要安裝db software及clusterware的,一般都是從其他
存在的節點add ,然後遠端複製到新節點,但是ocfs2軟體及linux package
還是需要安裝。
12. 在新節點檢視linux packages,沒有的進行安裝。
[root@rac03 ~]# rpm -q glibc
glibc-2.5-34
[root@rac03 ~]# rpm -q glibc-common
glibc-common-2.5-34
[root@rac03 ~]# rpm -q glibc-devel
glibc-devel-2.5-34
[root@rac03 ~]# rpm -q libXp
package libXp is not installed
需要安裝
[root@rac03 ~]# cd /u01/packages/
[root@rac03 packages]# rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
warning: libXp-1.0.0-8.1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:libXp ########################################### [100%]
[root@rac03 packages]# rpm -q binutils
binutils-2.17.50.0.6-9.el5
[root@rac03 packages]# rpm -q compat-db
package compat-db is not installed
[root@rac03 packages]# rpm -ivh compat-db-4.2.52-5.1.i386.rpm
warning: compat-db-4.2.52-5.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:compat-db ########################################### [100%]
[root@rac03 packages]# rpm -q control-center
control-center-2.16.0-16.el5
[root@rac03 packages]# rpm -q gcc
gcc-4.1.2-44.el5
[root@rac03 packages]# rpm -q gcc-c++
gcc-c++-4.1.2-44.el5
[root@rac03 packages]# rpm -q libstdc++
libstdc++-4.1.2-44.el5
[root@rac03 packages]# rpm -q make
make-3.81-3.el5
[root@rac03 packages]# rpm -q ksh
ksh-20080202-2.el5
[root@rac03 packages]# rpm -q sysstat
package sysstat is not installed
[root@rac03 packages]# rpm -ivh sysstat-7.0.2-3.el5.i386.rpm
sysstat-7.0.2-3.el5.i386.rpm: not an rpm package (or package manifest):
複製過來的sysstat 包可能會有問題。
我們直接連線到mount的DVD-ROM安裝這個包。
[root@rac03 Server]# pwd
/media/RHEL_5.3 i386 DVD/Server
[root@rac03 Server]#
[root@rac03 Server]# rpm -ivh sysstat-7.0.2-3.el5.i386.rpm
warning: sysstat-7.0.2-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:sysstat ########################################### [100%]
[root@rac03 Server]# rpm -q gnome-screensaver
gnome-screensaver-2.16.1-8.el5
[root@rac03 Server]# rpm -q libaio-devel
package libaio-devel is not installed
[root@rac03 Server]# rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm
warning: libaio-devel-0.3.106-3.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:libaio-devel ########################################### [100%]
[root@rac03 Server]# rpm -q libaio
libaio-0.3.106-3.2
13. 在節點RAC03安裝OCFS2檔案系統軟體 。
[root@rac03 packages]# rpm -ivh ocfs2-tools-1.4.1-1.el5.i386.rpm
Preparing... ########################################### [100%]
1:ocfs2-tools ########################################### [100%]
[root@rac03 packages]# rpm -ivh ocfs2-2.6.18-128.el5-1.4.1-1.el5.i686.rpm
Preparing... ########################################### [100%]
1:ocfs2-2.6.18-128.el5 ########################################### [100%]
[root@rac03 packages]# rpm -ivh ocfs2console-1.4.1-1.el5.i386.rpm
Preparing... ########################################### [100%]
1:ocfs2console ########################################### [100%]
14. 開始修改其他兩個已經存在的節點1,2 的 /etc/hosts .
10.13.67.81 rac01
192.168.1.11 pri01
10.13.67.91 vip01
10.13.67.82 rac02
192.168.1.12 pri02
10.13.67.92 vip02
10.13.67.83 rac03
192.168.1.13 pri03
10.13.67.93 vip03
15. 開始設定遠端複製的ssh 。
在新節點3上配置ssh金鑰認證:
# su - oracle
$ cd /home/oracle
rac03$mkdir -p .ssh
rac03$chmod 700 .ssh
rac03$ssh-keygen-t rsa
rac03$ssh-keygen-t dsa
16. 然後轉到已經存在的節點比如RAC01上以oracle身份操作(執行過程中,
當訪問遠端節點時可能需要輸入目標節點的密碼):
rac01$ssh rac03 cat /home/oracle/.ssh/id_rsa.pub >>authorized_keys
The authenticity of host 'rac03 (10.13.67.83)' can't be established.
RSA key fingerprint is cb:5e:c3:42:8f:0c:6d:d3:50:9a:1a:be:d3:c8:43:7d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac03,10.13.67.83' (RSA) to the list of known hosts.
password:
rac01$ssh rac03 cat /home/oracle/.ssh/id_dsa.pub >>authorized_keys
password:
17. 然後在存在的節點1上傳輸配置好的認證金鑰資訊到節點2及新加入的節點3 。
rac01$scp /home/oracle/.ssh/authorized_keys rac02:/home/oracle/.ssh/
authorized_keys 100% 2988 2.9KB/s 00:00
rac01$scp /home/oracle/.ssh/authorized_keys rac03:/home/oracle/.ssh/
password:
authorized_keys 100% 2988 2.9KB/s 00:00
rac01$
18. 然後在3個節點上執行下面的命令,測試ssh, 並生成know_hosts檔案,某些節點第一次執行上述某些命令時可
能會提示輸入目標節點的密碼,沒有關係,輸入就是。不過執行過一次之後,應該就不會再需要輸入密碼了
rac01$ssh rac01 date
Sat Jan 2 08:01:26 MST 2010
rac01$ssh rac02 date
Sat Jan 2 12:46:57 MST 2010
rac01$ssh rac03 date
Sun Jan 3 16:33:42 MST 2010
rac01$
rac02$ssh rac01 date
Sat Jan 2 08:02:13 MST 2010
rac02$ssh rac02 date
Sat Jan 2 12:49:11 MST 2010
rac02$ssh rac03 date
The authenticity of host 'rac03 (10.13.67.83)' can't be established.
RSA key fingerprint is cb:5e:c3:42:8f:0c:6d:d3:50:9a:1a:be:d3:c8:43:7d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac03,10.13.67.83' (RSA) to the list of known hosts.
Sun Jan 3 16:35:36 MST 2010
同樣在rac03 上執行這些命令。 確認都不需要輸入密碼了就表示ssh 可以遠端複製檔案了。
19. 開始配置OCFS2 檔案系統 。
要加入這個節點的ocfs configure 資訊到 /etc/ocfs2/cluster.conf
我們VNC圖形介面在已經存在的節點1上 # ocfs2console
在彈出的畫面中選擇cluster -> Node configuration
ADD 加入節點3的資訊,然後apply . 這時候進入節點1的/etc/ocfs2/cluster.conf可以
看到配置資訊改變了,變成3個節點。
然後再次 # ocfs2console , cluster -> Propagate Configuration 將配置檔案cluster.conf
自動傳輸到節點2及新節點3 上,我們可以到節點2,3 上同樣目錄下檢視。
下面在新節點3上操作:
[root@rac03 /]# /etc/init.d/o2cb enable
Writing O2CB configuration: OK
Loading filesystem "configfs": OK
Mounting configfs filesystem at /sys/kernel/config: OK
Loading filesystem "ocfs2_dlmfs": OK
Creating directory '/dlm': OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK
Starting O2CB cluster ocfs2: OK
[root@rac03 /]# /etc/init.d/o2cb configure
Configuring the O2CB driver.
This will configure the on-boot properties of the O2CB driver.
The following questions will determine whether the driver is loaded on
boot. The current values will be shown in brackets ('[]'). Hitting
will abort.
Load O2CB driver on boot (y/n) [y]: y
Cluster stack backing O2CB [o2cb]:
Cluster to start on boot (Enter "none" to clear) [ocfs2]:
Specify heartbeat dead threshold (>=7) [31]: 61
Specify network idle timeout in ms (>=5000) [30000]:
Specify network keepalive delay in ms (>=1000) [2000]:
Specify network reconnect delay in ms (>=2000) [2000]:
Writing O2CB configuration: OK
Cluster ocfs2 already online
[root@rac03 /]# /etc/init.d/o2cb stop
Stopping O2CB cluster ocfs2: OK
Unmounting ocfs2_dlmfs filesystem: OK
Unloading module "ocfs2_dlmfs": OK
Unmounting configfs filesystem: OK
Unloading module "configfs": OK
[root@rac03 /]# /etc/init.d/o2cb stop
Stopping O2CB cluster ocfs2: OK
Unmounting ocfs2_dlmfs filesystem: OK
Unloading module "ocfs2_dlmfs": OK
Unmounting configfs filesystem: OK
Unloading module "configfs": OK
[root@rac03 /]# /etc/init.d/o2cb start
Loading filesystem "configfs": OK
Mounting configfs filesystem at /sys/kernel/config: OK
Loading filesystem "ocfs2_dlmfs": OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK
Starting O2CB cluster ocfs2: OK
20. 開始配置共享磁碟 (這裡是虛擬機器共享磁碟設定方式,和實體SAN不一樣) 。
建立一個資料夾(這裡節點1,2共享的磁碟即是節點3要掛載的,所以不用新建):
E:\VitrualMachine\ShareDisks
E:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager.exe -c -s 10Gb -a
lsilogic -t 2 "E:\VitrualMachine\ShareDisks"\ShareDisk1.vmdk
E:\VitrualMachine\ShareDisks 下會生成兩個檔案。
關閉新節點所在Linux系統及所在的虛擬機器(如果有其他linux系統也最好一併關閉),關閉虛擬機器程式 :
到虛擬機器目錄比如 E:\VitrualMachine\RAC03, 直接編輯新節點的*.vmx檔案, 加上語句(所有虛擬機器都要做).
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.filename = "E:\VitrualMachine\ShareDisks\ShareDisk1.vmdk"
scsi1:1.deviceType = "disk"
然後開啟虛擬機器程式,檢視每個節點虛擬機器Devices部分。
在新節點上 [root@rac03 ~]# fdisk -l 可以看到共享磁碟,我們需要到新節點上/etc/fstab
中加入掛載指令碼。
先在新節點上建立掛載的目錄 :
[root@rac03 ~]# mkdir -p /ocfs_data /ocfs_index /ocfs_ctrl_redo
[root@rac03 ~]# chown -R oracle.dba /ocfs_data /ocfs_index /ocfs_ctrl_redo
在新節點/etc/fstab中加入:
/dev/sdb1 /ocfs_data ocfs2 _netdev,datavolume,nointr 0 0
/dev/sdb2 /ocfs_index ocfs2 _netdev,datavolume,nointr 0 0
/dev/sdb3 /ocfs_ctrl_redo ocfs2 _netdev,datavolume,nointr 0 0
21. 重新啟動三個節點,檢視三個節點共享磁碟的掛載情況。
22. 新增clusterware到新節點,在節點1上執行:
rac01$/u01/packages/clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n rac03 -verbose
如果返回資訊中提示“Could not find a suitable set of interfaces for VIPs.”,可以忽略該錯誤
資訊,這是一個bug,Metalink中有詳細說明,doc.id:338924.1。
參考 http://space.itpub.net/7607759/viewspace-620131
23. 在節點1上使用vnc圖形介面,準備安裝clusterware到新節點3上。
$ cd /u01/product/crs/oui/bin
$ ./addNode.sh 介面中加入節點3的一些資訊,然後安裝(其實主要是從節點1複製檔案到遠端新
節點),然後按順序執行以下指令碼(root):
節點3上執行orainstRoot.sh;
節點1上執行rootaddnode.sh;
節點3上執行root.sh; -- 注意:執行這個指令碼之前需要更改vip中的程式碼 (對應一個bug:3937317)
修改VIP檔案: # vi /u01/product/crs/bin/vipca 在fi後面加入 unset LD_ASSUME_KERNEL
注意scrctl也需要更改一下: # vi /u01/product/crs/bin/srvctl 在export後面加入
unset LD_ASSUME_KERNEL , 然後應該是VIPCA的配置畫面(如果沒有出現,需要手工在新節點執行
vipca: 到/u01/product/crs/bin下#./vipca), 完成後回去clusterware安裝介面點選OK .
24. 接下來需要將新節點的ONS(Oracle Notification Services)配置資訊寫入OCR(Oracle Cluster Register),
在節點1執行指令碼如下:
rac01$/u01/product/crs/bin/racgons add_config rac03:6200
25. 至此,新節點的CLUSTERWARE配置完成,要檢查安裝的結果,可以在新節點中呼叫cluvfy命令進行驗證
rac03$/u01/product/crs/bin/cluvfy stage -post crsinst -n rac03 -verbose
參考: http://space.itpub.net/7607759/viewspace-620131
如果報錯
ERROR: CRS is not installed on any of the nodes.
Verification cannot proceed.
需要在新節點上改許可權:
# chmod 644 /etc/oraInst.loc
# ls -l /etc/oraInst.loc
26. 複製oracle軟體到新節點,我們選擇在節點1上操作(VNC xwindows介面):
[oracle@rac01]$ cd /u01/product/oracle/oui/bin
$ ./addNode.sh 介面中選擇要加入的節點3 ,點選安裝後ORACLE 自動開始複製文
件到新節點中, 複製操作完成後,提示在新節點即mxrac04 執行指令碼,注意要以root身份進行,
上述指令碼成功執行後,返回視窗介面點選OK,提示安裝成功,點選exit退出介面即可。
27. 配置監聽服務到新節點, 在新節點4上 以ORACLE身份登陸到linux系統,執行$ORACLE_HOME/bin
目錄中的netca命令即可, 配置前注意備份原節點1,2的listener.ora及tnsnames.ora 檔案。
如果提示監聽名稱存在,不能建立,可以先刪除所有節點的監聽,然後重新建立一個。
28. 最後還要從節點1 tnsnames.ora中複製local_listener.ora 到新節點3中。 設定為:
LOCAL_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.13.67.83)(PORT = 1521))
)
配置好所有節點的listener.ora , tnsnames.ora 檔案
29. 新增例項到新節點3 ,我們選擇在節點1上執行dbca (VNC XWINDOWS介面),千萬注意
其中redo log thread的問題。
選擇"Instance Management”, 選擇"Add an instance“, 然後選擇一個RAC資料庫(如果當
前存在多個RAC環境的話),再一個就是指定一個具有SYSDBA許可權的使用者及密碼; 彈出介面顯示
當前RAC配置中擁有的例項,直接點選下一步即可; 為新節點上的例項命名(orcl3)
接下來,需要定義一些與例項相關的檔案,比較UNDO、REDOLOG等,想省事的話此處保持預設即可,
因為這些資訊如果發現不合適,後期也都是可調的。確認無誤後,點選FINISH按鈕 ; 在此期間,
ORACLE開始自動在新節點上建立例項
30. 截止到目前,新節點已經是這個RAC配置中的一員了,使用crs_stat -t 命令檢視
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-624301/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 虛擬機器環境下RAC刪除節點(Final)虛擬機
- 虛擬機器VMware下 Oracle RAC環境新增磁碟虛擬機Oracle
- 【RAC】使用VMware虛擬機器搭建RAC環境虛擬機
- 虛擬機器arm虛擬環境搭建虛擬機
- ORACLE RAC環境下刪除節點Oracle
- 一、虛擬機器環境配置虛擬機
- linux下rac環境下刪除節點Linux
- Solaris下修改RAC環境節點IP地址
- Ubuntu虛擬機器進入虛擬環境的流程Ubuntu虛擬機
- 虛擬機器環境搭建之vagrant虛擬機
- 虛擬機器配置和環境搭建虛擬機
- 虛擬機器基礎環境配置虛擬機
- Windows下搭載虛擬機器以及環境安裝Windows虛擬機
- Windows逆向之配置虛擬機器環境Windows虛擬機
- 本地訪問虛擬機器(Vmware)環境下配置的域名虛擬機
- VMware Fusion下建立Oracle Linux虛擬機器環境-續OracleLinux虛擬機
- (轉)windows環境下rac節點時間同步方法Windows
- 07、環境-虛擬機器網路設定虛擬機
- 建立Python虛擬環境——下Python
- python下多環境開發(虛擬環境)Python
- Ubuntu 18.04(虛擬機器)環境下編譯Android 原始碼Ubuntu虛擬機編譯Android原始碼
- Exadata虛擬機器模擬--安裝儲存節點虛擬機
- 虛擬機器搭建測試環境解決方案虛擬機
- RHEL9.4搭建虛擬機器實驗環境虛擬機
- Dr.com環境下VMware虛擬機器和主機共享上網方法虛擬機
- 學習N點虛擬主機系統環境搭建
- vmware虛擬機器環境下配置centos為靜態IP的步驟虛擬機CentOS
- 虛擬機器硬體環境搭建問題若干(一)虛擬機
- ORACLE RAC環境下節點自動重啟問題總結Oracle
- oracle 11G RAC的建立(VM虛擬環境)Oracle
- 虛擬環境搭建
- Pipenv虛擬環境
- PHP環境配置-虛擬機器配置及問題解決(VM下的NAT)PHP虛擬機
- 虛擬機器安裝rac傻瓜教程虛擬機
- 部署虛擬機器環境安裝RHEL7系統虛擬機
- [原創]測試環境搭建虛擬機器工具介紹虛擬機
- 【轉】虛擬機器VMware安裝OracleRAC.環境綜述虛擬機Oracle
- 第4篇 虛擬機器搭建gitlab環境步驟虛擬機Gitlab