【RAC】RAC搭建步驟Linux7.2+11G(基於Vmware+Openfile)

恩強Boy發表於2020-07-15


五、 驗證 52

一、 規劃

1. 網路規劃

虛擬 IP :虛擬 IP 是叢集搭建完成後,產生的 IP 。這個 IP 需要與物理 IP 在同一個網段。虛擬 IP 最大的特點:當這個節點伺服器或叢集當機的時候,虛擬 IP 會無縫銜接到另外節點,以保證事務的連續性和查詢的連續性。所以建議在業務分離的情況下,業務連線該節點虛擬 IP 在雙節點的RAC 叢集中,每個作業系統都有他本身的物理 IP ,叢集各節點還會需要一個虛擬 IP VIP ),這兩個 IP 需要在同一個網段。

SCAN-IP :浮動 IP 。這個 IP 會隨機的浮動與兩個節點之間。如果業務沒有分離,建議業務連線 SCAN-IP ,以達到負載均衡的作用

2. 磁碟規劃

磁碟規劃需要考慮兩個層面:一是叢集需要的磁碟,二是資料庫需要的磁碟。

1) 叢集需要的磁碟

為了滿足叢集的功能,需要提供兩種作用的磁碟,OCR Vote 盤。 OCR 盤記錄著叢集的一些相關資訊, Vote 盤在叢集單節點出現故障,剔除該節點的時候決定性的作用。

OCR 盤和 Votefile 盤可以在同一個磁碟組,大小要求如下:

- Externel Redundancy

1 OCR(1 x 400M)=0.4G

1 voting files(1 x 300M)=0.3G

- Normal Redundancy

2 OCRs(2 x 400M)=0.8G

3 voting files(3 x 300M)=0.9G

- High Redundancy

3 OCRs(3 x 400M)=1.2G

5 Voting files(5 x 300M)=1.5G

2) 資料庫需要的磁碟

資料庫至少需要兩個磁碟組,一個是用於存放資料檔案,另一個是用於存放歸檔日誌檔案。大小無最低要求,需要根據業務資料量情況分配大小。

3.主機硬體配置

(這裡是我的測試環境)

二、 思路清晰

step1: 網路卡配置 (rac1&rac2)

step2: 關閉防火牆和 Selinux(rac1&rac2)

step3: 共享磁碟準備

(自己的測試環境用Openfile 作為共享儲存就行,如果是生產環境,則需要一 臺儲存伺服器用做共享儲存)

step4: 修改核心引數檔案

step5: 修改使用者限制檔案

step6: 修改 Hosts 檔案

step7: 建立使用者、組

step8: 建立目錄並賦予許可權

step9: 配置環境變數( grid oracle

step10: 配置本地 YUM 源,安裝必需軟體包

step11: udev 方式繫結共享磁碟

step12: 安裝叢集軟體( GI

step13: 配置 ASM 磁碟

step14: 安裝資料庫軟體

step15: DBCA 建庫

step16: 結束驗證

三、 準備工作

1. 網路卡準備(rac1&rac2)

解釋:在RAC 叢集中,每臺伺服器需要兩塊網路卡,一塊用做外網服務,一塊用於私網通訊。

新增私有網路卡

2. 關閉防火牆和selinux(rac1&rac2)

#  systemctl stop firewall

#  systemctl disable firewall

關閉selinux

# vi /etc/selinux/config

SELINUX=disabled

3. 軟體包準備

rac1

GI 目錄 # mkdir -p /u01/setup/grid

DB 目錄:# mkdir -p /u01/setup/db

OS 目錄 # mkdir -p /u01/setup/os

 

   ( rac2

OS 目錄:# mkdir -p /u01/setup/os

4. 共享磁碟準備

Openfile iso 檔案 下載地址


1)  建立一個虛擬機器,配置如下

磁碟說明:

磁碟 1 是用於安裝 openfile 系統, 30G

磁碟2 用於 ocr vote 盤, 5G

磁碟3/4 用於 DATA 磁碟組,每個 100G

磁碟5 用於 ARCH 磁碟組, 50G

2)  開啟虛擬機器,安裝openfile

點選Enter ,自動安裝

3)  訪問openfile 的管理介面(上面的地址)

username: openfiler

password: password

4)  進入service s 標籤, 啟動 iscsi 服務

5)  進入system 標籤頁

新增一個允許訪問的 IP 網段

6) 進入 volu mes 建立物理

此時,物理卷已經建立完成

6)  建立一個卷組

7)  建立邏輯卷

同理,將上面規劃的物理磁碟都建立為邏輯卷

8)  新增IQN

4)  做磁碟對映

此時 邏輯卷新增完成,要使用的話,需要對邏輯捲進行 掃描

 

9)  客戶 端對 openfile 伺服器進行掃描

# iscsiadm -m discovery -t sendtargets -p 172.16.70.176  -l

 

如果iscsiadm 命令 不可 ,則需要安裝 iscsi-initiator  rpm

# iscsiadm -m discovery -t st -p 192.168.0.10

    -bash: iscsiadm: command not found

# mount /dev/cdrom /media  -- 載入光碟,安裝 iscsi-initiator rpm
    mount: block device /dev/cdrom is write-protected, mounting read-only
# cd /media/

# cd Server/
# ls -l *iscsi*
    -r--r--r-- 55 root root 579386 Dec 17  2008 iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm
# rpm -ivh iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm 

四、 搭建RAC

1. 修改系統核心引數(rac1&rac2)

# vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmmax = 8589934591     

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

 

使引數生效

# sysctl -p

2. 修改limit限制檔案(rac1&rac2)

# vi /etc/security/limits.conf

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

3. 修改/etc/hosts檔案(rac1&rac2)

172.16.70.170 rac1

172.16.70.171 rac2

 

10.0.0.100      rac1-priv

10.0.0.101      rac2-priv

 

172.16.70.173    rac1-vip

172.16.70.174    rac2-vip

 

172.16.70.175    cluster-scan-ip

4. 建立使用者和組(rac1&rac2)

1 )建立組

# groupadd -g 501 dba                                

# groupadd -g 50 2  oinstall

2 )建立使用者                              

# useradd -u 50 1  -g oinstall -G dba -d /home/oracle oracle

# useradd -u 600 -g oinstall -G dba -d /home/grid grid 3 oracle grid 使用者設定密碼

# passwd oracle

# passwd grid

4 )檢查

# id oracle

# id grid

5. 建立目錄(rac1&rac2)

# mkdir -p /u01/app/oracle

# mkdir -p /u01/app/oracle /product/11.2.0/db_1

# mkdir -p /u01/app/grid

# mkdir -p /u01/app/11.2.0/grid

# chown -R oracle:oinstall /u01

# chown -R grid:oinstall /u01 /app/grid

# chown -R grid:oinstall /u01/app/11.2.0 /grid

# chown -R oracle:oinstall /u01/app/oracle

# chmod -R 775 /u01

 

(rac1 執行 )

# chown -R grid:oinstall /u01/setup/grid

# chown -R oracle:oinstall /u01/setup/db

6. 修改環境變數(rac1&rac2)

----- 切換到 grid 使用者下 -----

rac1

$ vi .bash_profile

export ORACLE_SID= +ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:$PATH

rac2

$ vim .bash_profile

export ORACLE_SID= +ASM2

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:$PATH

 

---- 切換到 Oracle 使用者下 ------

rac1

# su - oracle

$ vi /home/oracle/.bash_profile

export ORACLE_SID= ORCL1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$PATH:$ORACLE_HOME/bin

rac2

# su - oracle

$ vi /home/oracle/.bash_profile

export ORACLE_SID= ORCL2

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$PATH:$ORACLE_HOME/bin

 

使上述環境變數生效

$ source .bash_porofile

7. 配置本地yum源(rac1&rac2)

( root 使用者)

# mount -o loop /u01/setup/os/ rhel-server-7.2-x86_64-dvd.iso  /mnt

# vi  /etc/yum.repos.d/mnt.repo

[mnt]

name=Yum Source

baseurl=file:///mnt

enabled=1

gpgcheck=0

# yum makecache

安裝 如下包:

#   yum install -y  binutils compat*  elfutils-libelf elfutils-libelf-devel  glibc glibc-common  glibc-devel gcc gcc-c++ libaio libgcc  libstdc++ libstdc++-devel make sysstat unixODBC-devel libaio-devel ksh

8. udev方式繫結磁碟(rac1&rac2)

# vi /etc/udev/rules.d/ 99-oracle-asmdevices.rules

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block",  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",  RESULT==" 14f504e46494c45524932494157712d763771782d30694f30 ", RUN+="/bin/sh -c 'mknod /dev/asm_ocr  b  $major $minor; chown grid:oinstall /dev/asm_ocr ; chmod 0660 /dev/asm_ocr '"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block",  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",  RESULT==" 14f504e46494c45526d70325177442d616f33572d35686452 ", RUN+="/bin/sh -c 'mknod /dev/asm_data1  b  $major $minor; chown grid:oinstall /dev/asm_data1 ; chmod 0660 /dev/asm_data1 '"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block",  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",  RESULT==" 14f504e46494c455251726b30676d2d337842312d55375278 ", RUN+="/bin/sh -c 'mknod /dev/asm_data2  b  $major $minor; chown grid:oinstall /dev/asm_data2 ; chmod 0660 /dev/asm_data2 '"

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block",  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",  RESULT==" 14f504e46494c45527650634d78742d4a7664622d3276506e ", RUN+="/bin/sh -c 'mknod /dev/asm_arch  b  $major $minor; chown grid:oinstall /dev/asm_arch ; chmod 0660 /dev/asm_arch '"

注:RESULT 引數應對應裸裝置的 wwid 號;每個小版本的 udev 配置略有不同,當前這個配置只適用於 RHEL 7.2 版本

啟動udev

# /sbin/udevadm trigger --type=devices --action=change

檢視asm 磁碟

# ll /dev/asm*

9. 安裝grid軟體(rac1)

1 )解壓 grid 軟體

# su - grid

$ cd /u01/setup/grid

$ unzip p*.zip

2 )安裝 cvuqdisk

# cd rpm/

# rpm -ivh cvuqdisk-1.0.9-1.rpm

將這個 rpm 包傳輸到 2 節點上安裝

3 )執行圖形介面

$ unzip /u01/setup/grid/ p*

$ cd /u01/setup/grid/grid

執行 ./runInstaller

注:

1) 遠端執行圖形介面需要

開啟Xmanager, 雙機 Xmanager-Passive

$ export DISPLAY= 本機 IP:0.0

2 )檢查是否可以執行圖形

$ xhost +

access control disabled, clients can connect from any host s

出現以上字樣,代表可執行圖形介面

3 )出現 口口口口口 亂碼,執行

$ export Lang=en_US

 

跳過軟體更新

選擇高階安裝

SCAN name 名字要寫 /etc/hosts 檔案中 scan-ip 的名字

這裡的rac1/rac1-vip/rac2/rac2-vip 名字要和 /etc/hosts 檔案中名字對應

輸入密碼 grid ,點選 setup 配置互信

通用密碼寫 oracle

執行如下兩個指令碼

執行順序:

A 機執行指令碼 1 B 機執行指令碼 1 A 機執行指令碼 2 B 機執行指令碼 2

執行指令碼必須一個一個來,最好不要一起執行。

rac1:

rac2

指令碼執行完成,點選OK

注:

1 )如果這裡 root.sh 指令碼執行失敗,可以回退,如下:

# /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose

2 )如果一直卡在 Adding daemon to inittab 或者 Adding Clusterware entries to inittab 或者 ohasd 程式啟動失敗 則此時需要新開一個視窗執行下面指令碼,等ohasd 進行啟動成功後再取消執行指令碼即可

# /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1

忽略報錯,不影響

10. 配置ASM磁碟(rac1)

Grid 使用者

$ asmca

這裡需要注意一下,對於普通磁碟組(非OCR ),正常冗餘模式至少需要 2 塊盤;高冗餘模式至少需要 3 塊盤;不冗餘模式至少需要 2 塊盤。

最後結果如下:

11. 建立資料庫(rac1)

Oracle 使用者)

# su - oracle

$ cd /u01/setup/db/

$ unzip p13390677_112040_Linux-x86-64_1of7.zip

$ unzip p13390677_112040_Linux-x86-64_2of7.zip

將兩個zip 包解壓會生成一個 database 目錄

$ cd database/

$ pwd

/u01/setup/db/database

$ ./runInstaller

Oracle 的密碼是 oracle ,選擇 setup 建立互信

12. 

Oracle 使用者)

$ dbca

密碼 oracle

、 驗證

1. 驗證叢集狀態

2. 驗證例項資訊

3. 驗證資料檔案、控制檔案、日誌檔案資訊

 

 

 

  ----------- end -------------

 


【RAC】RAC搭建步驟Linux7.2+11G(基於Vmware+Openfile)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31529886/viewspace-2704758/,如需轉載,請註明出處,否則將追究法律責任。

相關文章