db2V10.1中HADR一主多從搭建


在 HADR 多備機這一新的特性中,備機數(shù)據(jù)庫被分為兩類,
一類是主要備機(Principal Standby)
另一類是輔助備機(Auxiliary Standby)
一、目錄準備
mkdir -p /home/db2inst1/db2_backup
mkdir -p /home/db2inst1/db2_archive
mkdir -p /home/db2inst1/db2_log
chmod -R 775 /home/db2inst1/db2_backup
chmod -R 775 /home/db2inst1/db2_archive
chmod -R 775 /home/db2inst1/db2_log
chown -R db2inst1:db2inst1 /home/db2inst1/db2_backup
chown -R db2inst1:db2inst1 /home/db2inst1/db2_archive
chown -R db2inst1:db2inst1 /home/db2inst1/db2_log 

目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、博望網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。


二、設(shè)置歸檔和打開日志重建模式
db2 update db cfg for hadb using logarchmeth2 disk:/home/db2inst1/db2_archive/
db2 update db cfg for hadb using NEWLOGPATH /home/db2inst1/db2_log

三、備份歸檔
db2 force applications all
db2 backup db hadb to /home/db2inst1/db2_backup/
db2stop force;db2start
db2 archive log for db hadb

三、備份

db2 backup db hadb to /home/db2inst1/db2_backup/
scp /home/db2inst1/db2_backup/HADB.0.db2inst1.DBPART000.20180117141245.001   db2inst1@192.168.12.31:/home/db2inst1/db2_backup/


下面開始配置HADR
1.2.6備份和還原數(shù)據(jù)
主庫離線備份
db2 backup database hadb to /home/db2inst3/

備庫還原,
先還原主要主庫和輔助備庫1,留一個輔助備庫2做動態(tài)添加用
db2 restore database hadb from "/home/db2inst1/db2_backup/" taken at 20180117141245 replace history file

   
    # 在 M5 上
db2 "UPDATE DB CFG FOR MYDB USING
     HADR_TARGET_LIST  M4:DB2_db2insta_2nd|M3:DB2_db2insta_pri
     HADR_REMOTE_HOST  M3
  HADR_REMOTE_INST  db2insta
     HADR_REMOTE_SVC   DB2_db2insta_pri
     HADR_SYNCMODE     superasync     
     HADR_LOCAL_HOST   M5
     HADR_LOCAL_SVC    DB2_db2insta_3rd "

2.1.1配置主庫
db2 "UPDATE DB CFG FOR HADB USING
     HADR_TARGET_LIST  192.168.12.31:55004|192.168.12.33:55005----主要備機ip和端口,輔助備機ip和端口
     HADR_REMOTE_HOST  192.168.12.31-------主要備機ip和端口
     HADR_REMOTE_SVC   55004----主要備機端口
     HADR_SYNCMODE     sync
     HADR_REMOTE_INST  db2inst1-----主要備機實例
     HADR_LOCAL_HOST   192.168.12.30----主機的ip
     HADR_LOCAL_SVC    55003"----主機端口

db2 "UPDATE DB CFG FOR mydb USING
     HADR_TARGET_LIST  192.168.12.31:55004|192.168.12.33:55005
     HADR_REMOTE_HOST  192.168.12.31
     HADR_REMOTE_SVC   55004
     HADR_SYNCMODE     sync
     HADR_REMOTE_INST  db2inst1
     HADR_LOCAL_HOST   192.168.12.30
     HADR_LOCAL_SVC    55003"


2.1.2配置主要備機

# 在 M4 上
 db2 "UPDATE DB CFG FOR MYDB USING
    HADR_TARGET_LIST   M3:DB2_db2insta_pri|M5:DB2_db2insta_3rd
    HADR_REMOTE_HOST   M3
    HADR_REMOTE_INST   db2insta
    HADR_REMOTE_SVC    DB2_db2insta_pri
    HADR_SYNCMODE      sync
    HADR_LOCAL_HOST    M4
    HADR_LOCAL_SVC     DB2_db2insta_2nd "
   


# 在 host2 上
db2 "UPDATE DB CFG FOR HADB USING
    HADR_TARGET_LIST   192.168.12.30:55000|192.168.12.33:55003
    HADR_REMOTE_HOST   192.168.12.30
    HADR_REMOTE_SVC    55000
    HADR_LOCAL_HOST    192.168.12.31
    HADR_LOCAL_SVC     55001
    HADR_SYNCMODE      sync
    HADR_REMOTE_INST   db2inst1"

2.1.3配置輔助備機1
# 在 host3 上

db2 "UPDATE DB CFG FOR HADB USING
     HADR_TARGET_LIST  192.168.12.31:55001|192.168.12.30:55000
     HADR_REMOTE_HOST  192.168.12.30
     HADR_REMOTE_SVC   55000
     HADR_SYNCMODE     superasync
     HADR_REMOTE_INST  db2inst1
     HADR_LOCAL_HOST   192.168.12.33
     HADR_LOCAL_SVC    55003"

2.2啟動HADR
2.2.1啟動主要備機

[db2inst3@kvm102 ~]$ db2 START HADR ON DB HADB AS STANDBY
DB20000I  The START HADR ON DATABASE command completed successfully.

[db2inst3@kvm102 ~]$ db2pd -hadr -alldbs

2.2.2啟動輔助備機

2.2.3啟動主庫
db2 deactivate db hadb
db2 START HADR ON DB HADB AS PRIMARY


db2 deactivate  db sample
db2 stop HADR ON DB HADB

關(guān)閉 HADR 對的建議順序
警告:
    盡管可對主數(shù)據(jù)庫和/或備用數(shù)據(jù)庫使用 STOP HADR 命令來停止 HADR,但應(yīng)謹慎使用。
    如果要停止指定的數(shù)據(jù)庫,但仍然想保留其 HADR 主數(shù)據(jù)庫角色或備用數(shù)據(jù)庫角色,請不要發(fā)出 STOP HADR 命令。
    如果發(fā)出 STOP HADR 命令,那么該數(shù)據(jù)庫將變?yōu)闃藴蕯?shù)據(jù)庫,并且可能需要重新初始化才能繼續(xù)作為 HADR 數(shù)據(jù)庫運行。請改為發(fā)出 DEACTIVATE DATABASE 命令。

如果只想關(guān)閉 HADR 操作,那么下面是關(guān)閉 HADR 對的建議方法:
取消激活主數(shù)據(jù)庫
對主數(shù)據(jù)庫停止 DB2
取消激活備用數(shù)據(jù)庫
對備用數(shù)據(jù)庫停止 DB2

啟動HADR,則剛好相反:
1、啟動備庫,備庫啟動后進入local catchup,remote catchup pending,會一直嘗試連接主庫。
2、啟動主庫,等待接收備庫的連接,如果在規(guī)定的時間(hadr_timeout)不能收到備庫的連接,則啟動失敗,這樣是為了防止腦裂 brain split.一旦備庫連接上主庫,
  進入remote catchup狀態(tài)。重放完主庫傳過來的日志后,進入peer狀態(tài)。

四、主庫上執(zhí)行
db2 "update db cfg for HADB using
     HADR_TARGET_LIST 192.168.12.31:55001|192.168.12.32:55002----輔列表
     HADR_REMOTE_HOST 192.168.12.31--------------------------------------主輔
     HADR_REMOTE_SVC 55002
     HADR_LOCAL_HOST 192.168.12.30---------------------------------------主庫
     HADR_LOCAL_SVC 55001
     HADR_SYNCMODE sync
     HADR_REMOTE_INST  db2inst1"


    
配置hosts和services文件
vi  /etc/hosts

vi  /etc/Services
 
DB2_HADR_A 55000/tcp
DB2_HADR_B 55001/tcp
DB2_HADR_C 55003/tcp


1、配置三個備機的ROS和UR隔離
 
 db2set DB2_HADR_ROS=1
 db2set DB2_STANDBY_ISO=UR

2、備機恢復(fù)HADB數(shù)據(jù)庫
  db2 restore db HADB
 
 
ServerA :192.168.1.105 主機
 
ServerB: 192.168.1.106  主備
 
ServerD:192.168.1.104   輔備1
 
ServerE: 192.168.1.107   輔備2


主備庫上執(zhí)行
注意第一個為主機IP地址,其次為輔備1的IP地址,輔備2的IP地址
 db2 "update db cfg for HADB using HADR_TARGET_LIST 192.168.12.30:55001|192.168.12.32:55003
    HADR_REMOTE_HOST 192.168.12.30-------------------------------------------------------------------主
    HADR_REMOTE_SVC 55001
    HADR_LOCAL_HOST 192.168.1.31---------------------------------------------------------------------輔
    HADR_LOCAL_SVC 55002
    HADR_SYNCMODE sync
    HADR_REMOTE_INST db2inst1"

 
   db2 "update db cfg for HADB using HADR_TARGET_LIST 192.168.12.30:55001|192.168.12.32:55003
    HADR_REMOTE_HOST 192.168.12.30
    HADR_REMOTE_SVC 55001
    HADR_LOCAL_HOST 192.168.1.31
    HADR_LOCAL_SVC 55002
    HADR_SYNCMODE sync
    HADR_REMOTE_INST db2inst1"

輔庫上執(zhí)行

db2 "update db cfg for HADB using HADR_TARGET_LIST 192.168.12.31:55002|192.168.12.30:55001
     HADR_REMOTE_HOST 192.168.12.30
     HADR_REMOTE_SVC 55001
     HADR_LOCAL_HOST 192.168.12.32
     HADR_LOCAL_SVC 55003
     HADR_SYNCMODE superasync
     HADR_REMOTE_INST db2hadr"

 
狀態(tài)(State):HADR 當(dāng)前的狀態(tài)。包括 Local Catchup、Remote Catchup、Remote Catchup Pending、Peer、Disconnect Peer。
Local Catchup: 如果備機在這種狀態(tài)下,表明備機這在從本地的磁盤上讀取日志文件,并且對日志進行重新重做;如果主機在這種狀態(tài)下,表明它正在等待備機的連接。HADR 的主機并沒有從本地讀日志并重做的過程,我們之所以讓主機顯示這個狀態(tài),就是通過主機上的這個狀態(tài)告訴用戶,備機正在做本地日志的重做。
Remote Catchup: 處于這個狀態(tài)的 HADR 的主機正在從本地讀日志,并且將這些日志發(fā)送給備機;而備機會從主機接受日志,并且將這些日志寫入它本地的磁盤,并且對這些日志進行重做。
Remote Catchup Pending: 如果備機出于這種狀態(tài),表明它正在嘗試連接主機。出現(xiàn)這種狀態(tài),一般是因為主機不存在或者主機還沒有完全的啟動起來,導(dǎo)致連接沒有成功。
Peer: 如果 HADR 的主備機器處于這種狀態(tài),表明主機和備機的網(wǎng)絡(luò)連接良好。日志可以順利的從主機發(fā)送到備機。
Disconnect Peer: 如果 HADR 的主備機器處于這種狀態(tài),表明主機和備機的網(wǎng)絡(luò)已經(jīng)斷開,但是連接斷開的時間并沒有超過 PEER_WINDOW。這個狀態(tài)內(nèi),主機上的事務(wù)不可以提交。如果這個時候網(wǎng)絡(luò)恢復(fù),主機和備機重新建立連接,主備機器會重新回到 PEER 狀態(tài);如果雙方進入這個狀態(tài)的原因是主機出現(xiàn)了故障,當(dāng)在備機上做接管(takeover)操作時,不會發(fā)生數(shù)據(jù)丟失。就是說不會出現(xiàn)主機提交了某個事務(wù),但是備機沒有提交這個事務(wù)的情況。
Disconnected: 如果主機處于這種狀態(tài),表明主機沒有收到來自備機的連接。如果備機處于這種狀態(tài),表明備機不能連接到主機。

新聞標題:db2V10.1中HADR一主多從搭建
文章起源:http://muchs.cn/article34/gedppe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管建站公司、網(wǎng)站導(dǎo)航、全網(wǎng)營銷推廣、網(wǎng)站設(shè)計移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)