溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

發(fā)布時間:2021-10-29 11:18:22 來源:億速云 閱讀:323 作者:小新 欄目:系統(tǒng)運維

這篇文章將為大家詳細講解有關RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1、操作系統(tǒng)版本:Red Hat Enterprise Linux Server release 5.5 (Tikanga)

2、Drbd、Heartbeat 文件版本及文件名列表(本人已經(jīng)將以下文件打包為Heartbeat3.0.3.tar.bz2 ):

Cluster-Resource-Agents-agents-1.0.3.tar.bz2

drbd-8.3.8.1.tar.gz

Heartbeat-3-0-STABLE-3.0.3.tar.bz2

Load drbd modules

Pacemaker-1-0-Pacemaker-1.0.9.tar.bz2 Pacemaker-Python-GUI-pacemaker-mgmt-2.0.0.tar.bz2

Reusable-Cluster-Components-glue-1.0.6.tar.bz2

3、網(wǎng)絡配置(雙網(wǎng)卡采用BOND模式)

RHEL5.5系統(tǒng)安裝完成之后需要修改網(wǎng)絡配置,首先將各節(jié)點中eth0、eth2分別設置為靜態(tài)IP。修改節(jié)點hosts文件,內(nèi)容如圖

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

同時修改各節(jié)點/etc/sysconfig/network文件,將HOSTNAME一行的內(nèi)容改為節(jié)點對應的主機名,如圖(以node2為例)

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

4、節(jié)點名及存儲分配

a、主機名及IP

====Node2====
Hostname: node2.localdomain
Ip:10.109.1.38  
====Node3====
Hostname: node3.localdomain
Ip: 10.109.1.39

b、DRBD鏡像分區(qū):

資源名稱:oradata設備:/dev/drbd0

掛載點:/oradata (存放Oracle實例)

c、浮動主機名及IP

====Node1====
Hostname: node1.localdomain
Ip: 10.109.1.37

5、安裝Heartbeat

進入Linux根目錄

cd /

建立HA目錄

mkdir Ha

上傳 Heartbeat3.0.3.tar.bz2文件到HA目錄

進入HA目錄

cd /HA/

5.1 解壓Heartbeat壓縮包,得到后續(xù)安裝需要的各個安裝文件

tar -jxvf Heartbeat3.0.3.tar.bz2

編譯的順序是:先Cluster Glue,再Resource Agents,然后才是Heartbeat。

解壓Reusable-Cluster-Components

tar -jxvf Reusable-Cluster-Components-glue-1.0.6.tar.bz2

進入Reusable-Cluster-Components-glue-1.0.6目錄

cd Reusable-Cluster-Components-glue-1.0.6

打開lib/stonith/main.c文件

vi lib/stonith/main.c

編輯:

  1. 找到其64行,將其注釋掉。

  2. 找到其76到81行全部注釋掉。

  3. 找到其390行,將其注釋

使用以下兩個進行配置

./autogen.sh
./configure LIBS='/lib/libuuid.so.1'

使用如下命令創(chuàng)建Heartbeat管理用戶:

groupadd haclient useradd -g haclient hacluster

使用如下命令編譯并安裝:

make
make install

5.2 解壓Cluster-Resource-Agents

tar -jxvf Cluster-Resource-Agents-agents-1.0.3.tar.bz2

進入Cluster-Resource-Agents-agents-1.0.3目錄

cd Cluster-Resource-Agents-agents-1.0.3

使用如下命令配置、編譯并安裝

./autogen.sh ./configure
make
make install

5.3 解壓Heartbeat-3-0-STABLE

tar -jxvf Heartbeat-3-0-STABLE-3.0.3.tar.bz2

進入Heartbeat-3-0-STABLE-3.0.3目錄

cd Heartbeat-3-0-STABLE-3.0.3

首先執(zhí)行如下命令進行配置

./autogen.sh ./bootstrap ./ConfigureMe configure
make

此時系統(tǒng)會報一個hbaping.lo錯誤,我們需要使用如下一組命令對hbaping.loT文件進行改名操作:

cd lib
ls
cd plugins/
ls
cd HBcomm
mv hbaping.loT hbaping.lo

之后再次執(zhí)行以下兩條命令進行安裝操作,應該就不會報錯了。

make
make install

使用cd /usr/etc/命令進入/usr/etc/目錄中

使用cp -R ha.d/ /etc/命令將/usr/etc/ha.d全部復制到/etc/目錄中

使用rm -rfv ha.d刪除/usr/etc/中整個ha.d目錄

使用cd /etc/命令進入/etc/目錄中

使用ln -s /etc/ha.d /usr/etc/ha.d命令創(chuàng)建/etc/ha.d到/usr/etc/ha.d的軟連接文件。

5.4 解壓Pacemaker-1-0

tar -jxvf Pacemaker-1-0-Pacemaker-1.0.9.tar.bz2

進入Pacemaker-1-0-Pacemaker-1.0.9目錄

cd Pacemaker-1-0-Pacemaker-1.0.9

執(zhí)行如下命令配置、編譯并安裝

./autogen.sh ./ConfigureMe configure
make
make install

5.5 解壓Pacemaker-Python-GUI

tar -jxvf Pacemaker-Python-GUI-pacemaker-mgmt-2.0.0.tar.bz2

進入Pacemaker-Python-GUI-pacemaker-mgmt-2.0.0目錄

cd Pacemaker-Python-GUI-pacemaker-mgmt-2.0.0

首先執(zhí)行如下命令

./bootstrap

使用rpm命令在RHEL5.5安裝光盤中安裝gettext-devel、intltool包,具體命令如下:

cd /media/RHEL_5.5\ i386\ DVD/Server/ rpm -ivh gettext-devel-0.14.6-4.el5.i386.rpm rpm -ivh intltool-0.35.0-2.i386.rpm

之后再次進入Pacemaker-Python-GUI-pacemaker-mgmt-2.0.0目錄

cd Pacemaker-Python-GUI-pacemaker-mgmt-2.0.0

執(zhí)行如下命令:

./ConfigureMe configure autoreconf -ifs ./bootstrap
make
make install

使用passwd命令設置 hacluster用戶口令

將hbmgmtd復制到/etc/pam.d/目錄

cp /usr/etc/pam.d/hbmgmtd /etc/pam.d/

6、安裝DRBD

使用tar zxvf drbd-8.3.8.1.tar.gz解壓該文件

使用cd /media/RHEL_5.5\ i386\ DVD/Server/進入光盤掛載目錄中

使用rpm依次安裝內(nèi)核相關的源碼包

rpm -ivh kernel-devel-2.6.18-194.el5.i686.rpm rpm -ivh kernel-headers-2.6.18-194.el5.i386.rpm rpm -ivh kernel-doc-2.6.18-194.el5.noarch.rpm

使用cd drbd-8.3.8.1命令進入drbd-8.3.8.1目錄中依次執(zhí)行如下命令配置、編譯并安裝

./autogen.sh ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc/ --with-km
make
make install

使用chkconfig --add drbd命令創(chuàng)建drbd服務啟動腳本

使用chkconfig --add heartbeat命令創(chuàng)建heartbeat服務啟動腳本

使用chkconfig heartbeat off命令關閉heartbeat服務

使用chkconfig drbd off命令關閉drbd服務

使用cat Load\ drbd\ modules >> /etc/rc.d/rc.sysinit命令將Load drbd modules中的內(nèi)容添加到rc.sysinit系統(tǒng)文件的***部分,以便系統(tǒng)啟動時能自動將drbd.ko驅(qū)動模塊加載到核心中,正常使用drbd服務。(該步逐在rhel5.5中需要省略,否則drbd服務將無法正常啟動)。

7、配置DRBD

7.1、修改各節(jié)點主機DEBD配置文件/etc/drbd.d/global_common.conf中usage-count 的參數(shù)為no,如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

完成后存盤退出。

7.2、在各節(jié)點主機中創(chuàng)建文件/etc/drbd.d/oradata.res,并在oradata.res文件中添加如下內(nèi)容:

resource oradata { # 資源組的名稱
  protocol C;
        startup {
    degr-wfc-timeout 120;    # 2 minutes. 啟動時連接其他節(jié)點的超時時間
  }
        disk {
    on-io-error   detach; # 當磁盤有錯誤時,不連接
  }
        net {
  }
syncer {
        rate 10M; # 設置主備節(jié)點同步時的網(wǎng)絡速率***值
        al-extents 257;
  }
  on node2.localdomain{ # 節(jié)點主機名
    device    /dev/drbd0; # 今后使用的設備
    disk      /dev/vda5; # 該節(jié)點上的用于存放數(shù)據(jù)的分區(qū)號
    address   10.109.1.38:7788; # 該節(jié)點的IP地址
    meta-disk internal; # meta data信息存放的方式
  }
  on node3.localdomain{
    device    /dev/drbd0;
    disk      /dev/vda5;
    address   10.109.1.39:7788;
    meta-disk internal;
  }
}

如圖例:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

7.3、初始化分區(qū)

在各節(jié)點上執(zhí)行drbdadm create-md oradata命令,初始 化分區(qū)(創(chuàng)建meta data信息),這里的oradata即為配置文件中的資源組名稱。

7.4、啟動服務在兩臺節(jié)點服務器上啟動drbd服務。如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

之后用cat /proc/drbd 或 service drbd status 查看當前狀態(tài),出現(xiàn)下圖信息說明DRBD服務已經(jīng)正常啟動了,如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

※ 注意,現(xiàn)在兩機器都是處于Secondary,即備機狀態(tài),還進行數(shù)據(jù)同步。

7.5、設置primary主機

在確認作為主數(shù)據(jù)服務器的機器上執(zhí)行:

[root@node1 ~]# drbdadm adjust oradata
[root@node1 ~]# drbdsetup /dev/drbd0 primary -o

這樣,將把node1作為主機,把vda5中的數(shù)據(jù)以塊的方式同步到node2中。可再次查看狀態(tài):

[root@node1 ~]# cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by root@hatest1, 2010-07-07 08:59:44
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----
    ns:719756 nr:0 dw:0 dr:720896 al:0 bm:43 lo:0 pe:62 ua:36 ap:0 ep:1 wo:b oos:1378556
        [=====>..............] sync'ed: 34.4% (1378556/2096348)K delay_probe: 149
        finish: 0:04:59 speed: 4,580 (7,248) K/sec
[root@node2 ~]# cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by root@hatest1, 2010-07-07 08:59:44
0: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r----
    ns:0 nr:752096 dw:751584 dr:0 al:0 bm:45 lo:17 pe:49 ua:16 ap:0 ep:1 wo:b oos:1344764
        [======>.............] sync'ed: 36.0% (1344764/2096348)K queue_delay: 2.9 ms
        finish: 0:02:11 speed: 10,224 (10,020) want: 10,240 K/sec

從藍色比較的 地方,可區(qū)分主機在DRBD集群中的位置。使用下面的命令也可確認:

[root@node1 ~]# drbdadm role oradata
Primary/Secondary
[root@node2 ~]# drbdadm role oradata
Secondary/Primary

把 drbd服務設置為自啟動方式:

[root@node1 ~]# chkconfig --level 235 drbd on
[root@node2 ~]# chkconfig --level 235 drbd on

至此,鏡像分區(qū)已創(chuàng)建完成。

最終同步完 成后,兩機器drbd的狀態(tài)會變?yōu)椋?/p>

[root@hatest1 ~]# cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by root@hatest1, 2010-07-07 08:59:44
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
    ns:2096348 nr:0 dw:0 dr:2096348 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
[root@hatest2 ~]# cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by root@hatest1, 2010-07-07 08:59:44
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
    ns:0 nr:2096348 dw:2096348 dr:0 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

7.6、DRBD中的split brain的處理

split brain實際上是指在某種情況下,造成drbd的兩個節(jié)點斷開了連接,都已Primary狀態(tài)來運行。這通常發(fā)生在主節(jié)點斷開,而備節(jié)點手動修改數(shù)據(jù) 后,因meta data數(shù)據(jù)不一致的情況。當drbd某primary節(jié)點連接對方節(jié)點準 備發(fā)送信息的時候如果發(fā)現(xiàn)對方也是primary狀態(tài),那么會會立刻自行斷開連接,并認定當前已經(jīng)發(fā)生split brain了,這時候他會在系統(tǒng)日志中記錄以下信息:“Split-Brain detected,dropping connection!”當發(fā)生split brain之后,如果查看連接狀態(tài),其中至少會有一個是StandAlone狀態(tài),另外一個可能也是StandAlone(如果是同時發(fā)現(xiàn)split brain狀態(tài)),也有可能是WFConnection的狀態(tài)。

DRBD可在配置文件中設定發(fā)生split brain時的處理機制,但這可能與實際情況不一致,不建議使用。若沒有配置split brain自動解決方案,我們可以手動來處理。

首先我們必須要確定哪一邊應該作為解決問題后的primary(也就是擁有***數(shù)據(jù)的一邊).一旦確定好這一點,那么我們同時也就確定接受 丟失在split brain之后另外一個節(jié)點上面所做的所有數(shù)據(jù)變更了。當這些確定下來后,我們就可以通過以下操作來恢復了:

(1)首先在確定要作為 secondary的節(jié)點上面切換成secondary并放棄該資源的數(shù)據(jù):

drbdadm disconnect resource_name
drbdadm secondary resource_name
drbdadm -- --discard-my-data connect resource_name

(2)在要作為primary的節(jié)點重新連 接secondary(如果這個節(jié)點當前的連接狀態(tài)為WFConnection的話,可以省略)

drbdadm connect resource_name

當作完這些動作之后,從新的primary到secondary的re- synchnorisation會自動開始(重新同步)。

7.7、格式化分區(qū)

7.7.1、與軟RAID、LVM等類似,要使用DRBD 創(chuàng)建的鏡像分區(qū),不是直接使用/dev/vda5設備,而是在配置文件中指定的/dev/drbd0。同樣的,不必等待初始化完成后才使用drbd0設 備。

[root@node1 ~]# drbdadm role oradata
Primary/Secondary
[root@node1 ~]# mkfs.ext3 /dev/drbd0
[root@node1 ~]# tune2fs -c 0 -i 0 /dev/drbd0

7.7.2注意事項

需要注意,drbd0設備只能在Primary一端使用,下面的操作都是會報錯的:

[root@node2 ~]# mount /dev/vda5 /oradata
mount: /dev/vda5 already mounted or /oradata busy
[root@node2 ~]# drbdadm role oradata
Secondary/Primary
[root@node2 ~]# mount /dev/drbd0 /oradata/
mount: block device /dev/drbd0 is write-protected, mounting read-only
mount: 錯誤的介質(zhì)類型

另外,為避免誤操作,當機器重啟后,默認都處于Secondary狀態(tài),如要使用 drbd設備,需手動把其設置為Primary。

7.7.3、掛載

先把drbd0設備掛載到/oradata目錄中:

[root@hatest1 ~]# mount /dev/drbd0 /oradata
[root@hatest1 ~]# df -h /oradata
文件系 統(tǒng)               容量  已用 可用 已用% 掛載點
/dev/drbd0            2.0G   36M  1.9G   2% /oradata

8、安裝ORACLE10.2

8.1、分別在各節(jié)點配置Linux內(nèi)核參數(shù)。

以root身份登錄后,進入etc目錄,打開sysctl.conf文件,然后將以下內(nèi)容寫入圖中位置:

kernel.shmall = 2097152kernel.shmmax = 1717986918kernel.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

這些參數(shù)都可按照該列表填寫,在這些參數(shù)中的shmmax(紅色標注)則有自己的計算方法:內(nèi)存以G為單位,將其換算成Byte單位在乘以80%,例如;2G內(nèi)存,換算公式為

2*1024*1024*1024*80%=1717986918

8.2、創(chuàng)建oracle安裝要求的用戶名和用戶組,并修改oracle用戶環(huán)境變量(即修改oracle用戶目錄下的.bash_profile文件)

8.2.1、在兩個節(jié)點中分別執(zhí)行如下groupadd oinstall、groupadd dba、useradd -m -g oinstall -G dba oracle命令,創(chuàng)建oracle用戶,如圖

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

8.2.2、在各節(jié)點修改oracle環(huán)境變量, 以oracle用戶身份,打開.bash_profile文件將如下內(nèi)容添加到環(huán)境變量中,如圖

export ORACLE_BASE=/oradata
export ORACLE_HOSTNAME=node1.localdomain
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export NLS_LANG=american_america.ZHS16GBK;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

8.3、創(chuàng)建ORACLE安裝掛載點

在各oracle 安裝節(jié)點使用如下命令創(chuàng)建DRBD資源掛載點,并修改掛載點屬組

[root@node1 ~]# cd /
[root@node1 /]# mkdir oradata
[root@node1 /]# chown -R oracle:oinstall oradata

8.4修改IP地址為浮動IP并設置DEBD資源為primary

在安裝oracle10G2的機器上首先需要將IP地址及主機名修改為未來浮動IP及主機名(這樣主要是為了未來雙機應用時oracle能順利切換,并正常啟動),執(zhí)行drbdadm primary oradata命令 設置DRBD資源為primary如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

執(zhí)行drbdadm role oradata查看狀態(tài),如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

8.5、掛載DRBD資源并修改資源屬組

執(zhí)行mount /dev/drbd0 /oradata命令掛載DRBD資源,如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

之后執(zhí)行mount命令查看信息,如圖

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

信息中出現(xiàn)/dev/drbd0 on /oradata type ext3 (rw)行,說明資源掛載正常,之后執(zhí)行

chown -R oracle:oinstall oradata

命令修改oradata屬組,并使用ls -l查看信息,如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

8.6、安裝oracle10G2數(shù)據(jù)庫

具體可以查看其他文檔。

8.7、***配置

8.7.1、修改listenter.ora文件,添加如下內(nèi)容,解決雙機切換報監(jiān)聽ORA-12514錯誤問題。

(SID_DESC =
(GLOBAL_DBNAME =orcl)
(ORACLE_HOME = /oradata/product/10.2.0/db_1)
(SID_NAME = orcl)

如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

8.7.2、修改主機名為原節(jié)點主機名及IP。

8.7.3、終止在用oracle節(jié)點的各oracle進程,并卸載掉oracle資源;

在另一節(jié)點中掛載資源并啟動oracle應用進程并進行測試。如果沒有問題可進行HA的配置。

9、heartbeat的配置

9.1、配置authkeys

這里我用隨機數(shù)來獲得密鑰,命令如下:

# (echo -ne "auth 1\n1 sha1 ";dd if=/dev/urandom bs=512 count=1 | openssl md5) > /etc/ha.d/authkeys
# cat authkeys

# chmod 600 /etc/ha.d/authkeys

效果如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

9.2、配置ha.cf

使用命令vi /etc/ha.d/ha.cf編輯配置文件,修改為如下內(nèi)容:

debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
auto_failback none
mcast eth0 239.0.0.43 694 1 0
udpport 694
bcast eth0
deadtime 30
initdead 30
keepalive 2
node node2.localdomain
node node3.localdomain
compression bz2
compression_threshold 2
crm respawn
apiauth   mgmtd   uid=root
respawn   root    /usr/lib/heartbeat/mgmtd -v

之后存盤退出。如圖

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

9.3、同步節(jié)點HA配置文件

執(zhí)行# /usr/share/heartbeat/ha_propagate命令,并安提示輸入同步節(jié)點主機root賬戶密碼,如圖

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

9.4、啟動heartbeat

使用如下命令在兩節(jié)點上啟動heartbeat :

#service heartbeat start

如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

9.5、配置DRBD+Oracle的HA資源。

9.5.1、執(zhí)行命令

# crm_attribute -t crm_config -n stonith-enabled -v false

或者

# crm configure property stonith-enabled="false"

關閉heartbeat的STONITH支持,避免啟用了stonith而集群中又沒有stonith資源時,集群中的資源都是無法啟動的問題。

9.5.2、清空舊配置文件,以crm 交互方式提交如下命令:

# crm
crm(live)# configure
crm(live)configure# erase
crm(live)configure# commit
crm(live)configure# exit

清空舊配置文件。

9.5.3、關閉quorum

HA中有quorum的概念,即集群中必須有一半的節(jié)點處于online的狀態(tài),則集群被認為是have quorum(可以認為是達到合法節(jié)點數(shù)要求)。如果少于一半的節(jié)點在線,那么HA認為集群達不到節(jié)點數(shù)要求,從而拒絕啟動集群中的資源。 但是這種策略對于2個節(jié)點的集群明顯是不合理的,所以就會發(fā)生當2個節(jié)點的集群其中一個節(jié)點失效時所有的集群都無法啟動的情況。
同樣的,也關閉 STONITH,執(zhí)行以下兩條命令即可關閉quorun及STONITH支持

# crm configure property no-quorum-policy=ignore
# crm configure property stonith-enabled="false"

9.5.3、使用pacemaker進行HA資源配置

把DRBD設置為主備資源,其他oracle資源放在同一個組里面,并通過“順序”、“協(xié)同”等限制條件讓兩資源配合運行。根據(jù)監(jiān)控的情況,加入 start 超時、monitor 間隔時間等操作。
進入crm 交互模式:

# crm configure
crm(live)configure#

然 后在configure狀態(tài)下輸入以下內(nèi)容:

primitive drbd_oracle ocf:linbit:drbd \
        params drbd_resource="oradata" \
        op monitor interval="15s"
primitive fs_oracle ocf:heartbeat:Filesystem \
        params device="/dev/drbd/by-res/oradata" directory="/oradata" fstype="ext3"
primitive ip_oracle ocf:heartbeat:IPaddr2 \
        params ip="10.109.1.37" nic="bond0" cidr_netmask="24"
primitive oracle_instant ocf:heartbeat:oracle \
        op monitor interval="120" timeout="30" \
        op start interval="0" timeout="120" \
        params sid="orcl"
primitive oracle_lsnrctl ocf:heartbeat:oralsnr \
        params sid="orcl" \
        operations $id="oracle_lsnrctl-operations" \
        op monitor interval="10" timeout="30"
primitive route_oracle ocf:heartbeat:Route \
   operations $id="route_oracle-operations" \
   params destination="0.0.0.0/0" gateway="10.109.1.1"
group group_oracle ip_oracle route_oracle fs_oracle oracle_lsnrctl oracle_instant \
        meta target-role="Started" is-managed="true"
ms ms_drbd_oracle drbd_oracle \
        meta master-max="1" master-node-max="1" \
        clone-max="2" clone-node-max="1" notify="true"
colocation oracle_on_drbd inf: group_oracle ms_drbd_oracle:Master
order oracle_after_drbd inf: ms_drbd_oracle:promote group_oracle:start

***用commit 提交即可。

說明:

a、根據(jù)DRBD官網(wǎng)的資料,ocf:heartbeat:drbd 已經(jīng)被丟棄,不建議使用,故用ocf:linbit:drbd 代替;

b、IP的設定RA,用ocf:heartbeat:IPaddr2,其用 ip 命令設定虛擬IP,虛擬IP生效后,用ifconfig命令看不到,可用ip addr 查看;

c、輸入上述命令時,可能會提示警 告,start、stop的超時時間少于建議值等,這可根據(jù)應用啟動、停止的實際環(huán)境在“操作”中加入(可參考oracle_instant 資源);

d、 ms 是設置“主備資源”;

e、colocation 是設置“協(xié)同”限制,即group_oracle和ms_drbd_oracle必須在同一臺機器上運行,并且若ms_drbd_oracle不能作為 Master運行時,不會運行group_oracle,相反group_oracle的狀態(tài)不會影響ms_drbd_oracle;

g、 order 是設置“順序”限制,即先激活ms_drbd_oracle資源(把drbd設備設置為primary狀態(tài)),然后再啟動group_oracle組資 源;

f、掛載操作中,/dev/drbd/by-res/oradata是為了方便使用,由drbd創(chuàng)建的一個指向/dev/drbd0的鏈接;

h、 如果您輸入的命令比較長,可以用“\”調(diào)到下一行繼續(xù),但是必須注意,下一行前面的空白只能用空格,不能用Tab等字符。

配置提交后,兩資源會自動運行(根據(jù)全局配置,有延遲),也可手動使用如下命令啟動資源:

# crm resource start group_oracle

9.6、HA的管理命令

9.6.1、查看HA狀態(tài),執(zhí)行如下命令:

# crm status

執(zhí)行效果如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

9.6.2、手動切換,執(zhí)行如下命令

# crm resource migrate group_oracle node2.localdomain

如圖

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

切機前資源均在node3.localdomain上,執(zhí)行命令后再次執(zhí)行crm status命令可以看到資源已經(jīng)全部被node2.localdomain接管。如圖

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

9.7、維護

有時候,我們需要對當前主機進行維護,這時,可先把資源遷移到備機上,然后把主機設置為“非管理”的 standby狀態(tài),如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

使用鼠標點擊圖中standby即可將選中主機設置為“非管理”狀態(tài),如圖:

RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析

之后,就可以把主機上的heartbeat服務關掉,甚至關閉該機器或進行維護的工作。

關于“RHEL 5.5+DRBD+heartbeat+Oracle10R2雙機安裝的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI