AIX系統DB2-HA雙機互備實施步驟_20170222

前言node



HA即High Availability,意爲高可用性。DB2高可用雙機互備,使用兩臺主機互爲主備,目的在於當主機發生斷電或者外部故障時,可以自動切換到備機正常運行,從而體現DB2高可用的特色。sql

 

一 需求說明數據庫



在DB03,DB04兩臺主機上各建立一個實例,每一個實例下建立一個數據庫。兩臺主機互爲主備,即當DB03發生斷電等故障時,數據庫資源能夠自動切換到DB04上正常運行。服務器

 

二 實施前提ide



1兩臺主機之間安裝共享VG(由主機維護廠商進行操做)spa

2兩臺主機上安裝DB2 ESE版操作系統

 

三 環境說明日誌



操做系統版本:AIX7.1three

DB2版本:V10.5.FP5資源

主機1(DB03):XX.XXX.XXX.139

主機2(DB04):XX.XXX.XXX.140

 

四 相關規劃



1用戶組規劃

GID

db2iadm1

601

db2iadm2

602

db2fadm1

603

db2fadm2

604

db2grp1

605

db2grp2

606

 

2用戶規劃

用戶

UID

用戶組

dausr1

501

db2iadm1

dausr2

502

db2iadm2

db2fenc1

503

db2fadm1

db2fenc2

504

db2iadm2

db2inst1

505

db2grp1

db2inst2

506

db2grp2

 

3文件系統規劃

主機名

數據庫名

文件系統

容量大小

備註

DB03

PUB

/db2node01

40G

數據庫目錄

/db2home01

30G

實例用戶目錄(用戶家目錄)

/db2log01

100G

活動日誌目錄

/archlog01

100G

歸檔日誌目錄

表空間

3T

共享

DB04

MRK

/db2node02

40G

數據庫目錄

/db2home02

30G

實例用戶目錄(用戶家目錄)

/db2log02

100G

活動日誌目錄

/archlog02

100G

歸檔日誌目錄

表空間

2T

共享

 

五 建立步驟



1建立用戶組

使用root用戶,在DB03以及DB04兩臺主機上建立相同的用戶組,以db2iadm1爲例,建立語句爲:

mkgroup -A id=601 db2iadm1

其餘用戶組的建立方法相同,此處不贅述。

 

2建立用戶

使用root用戶,在DB03以及DB04兩臺主機上建立相同的用戶,以dausr1,db2inst1爲例,建立語句爲:

mkuser id=501 pgrp='db2iadm1' dausr1

mkuser id=505 home=/db2home01 pgrp='db2grp1' db2inst1

其餘用戶的建立方法相同,此處不贅述。



3修改目錄權限

主機維護廠商建立所需的文件系統並掛載完成後,對其權限進行相應的修改

以DB03爲例,使用root用戶,執行如下指令以修改用戶權限:

chown -R db2inst1:db2grp1 /db2node01

chown -R db2inst1:db2grp1 /db2home01

chown -R db2inst1:db2grp1 /db2log01

chown -R db2inst1:db2grp1 /archlog01

在DB04上的操做同理:

chown -R db2inst2:db2grp2 /db2node02

chown -R db2inst2:db2grp2 /db2home02

chown -R db2inst2:db2grp2 /db2log02

chown -R db2inst2:db2grp2 /archlog02

操做完成後,使用df -g 來檢查文件系統是否掛載完成。

 

4建邏輯卷

主機維護廠商建立完成所需的VG並掛載完成後,建立邏輯卷,做爲表空間容器。

(說明:容器是DB2的一個概念。在物理存儲上,每一個表空間由一個或多個容器構成,容器映射到物理存儲,能夠是目錄,也能夠是文件或者裸設備。每一個容器只能屬於一個表空間。)

以pub1vg上的邏輯卷建立爲例:

mklv -y ts_pub_01_1 pub1vg 400

mklv -y ts_pub_01_2 pub1vg 400

mklv -y ts_pub_01_3 pub1vg 400

 

六 數據庫層面操做



說明:DB2的邏輯層次爲:實例→數據庫→表空間→表。

 

1安裝DB2軟件(此處省略DB2安裝步驟)

 

2建立實例

須要在DB03上建立實例db2inst1,在DB04上建立實例db2inst2。

以DB03爲例:

cd /opt/IBM/db2/V10.5/instance

./db2icrt -p 50000 -u db2fenc1 db2inst1

實例創建完成。



3爲實例用戶配置相應的環境變量

以DB03上的db2inst1用戶爲例:

su - db2inst1

vi .profile

將如下幾行

# The following three lines have been added by UDB DB2.

if [ -f /db2home01/sqllib/db2profile ]; then

. /db2home01/sqllib/db2profile

fi

set -o vi

添加到.profile最後的位置

修改完成後執行.profile文件

./.profile

 

說明:其它實例用戶,包括DB03的db2inst2用戶,以及DB04的db2inst1,db2inst2用戶也是採用相同方法配置其環境變量。

 

4建數據庫(以DB03上的操做爲例,DB04同理)

(1)在DB03上建立PUB庫,具體操做以下:

su – db2inst1

db2start

db2set DB2COMM=TCPIP

db2 CREATE DATABASE PUB ON /db2node01   USING CODESET UTF-8

(2)修改數據庫參數(設置活動日誌以及歸檔日誌路徑)

db2 update db cfg for PUB using   NEWLOGPATH /db2log01

db2 update db cfg for PUB using   LOGARCHMETH1 DISK:/archlog01

(3)建緩衝池(以PUB_BP8K爲例,其他緩衝池同理)

db2 connect to PUB

db2 "CREATE BUFFERPOOL PUB_BP8K   IMMEDIATE SIZE 80000 PAGESIZE 8K"

(4)建立表空間,以建立ts_pub_dat01表空間 爲例:

db2 "create tablespace   ts_pub_dat01 pagesize 8k managed by database using (device   '/dev/rts_pub_01_1' 100g,device '/dev/rts_pub_01_2' 100g,device   '/dev/rts_pub_01_3' 100g) bufferpool PUB_BP8K "

 

七 修改配置

 

1端口號

使用root用戶,修改/etc/services文件,確保各個用戶的端口號沒有重複。

 

2實例用戶目錄下的db2nodes.cfg

(說明:db2nodes.cfg爲節點配置文件,位於實例全部者的主目錄中,它包含一些配置信息,告訴 DB2有哪些服務器參與分區數據庫環境的實例。本例爲單分區數據庫環境,db2nodes.cfg 只包含一臺主機的信息。db2nodes.cfg的內容與本機名一致時,才能夠啓動數據庫。)

(1)DB03

cp db2nodes.cfg db2nodes.cfg.DB03

cp db2nodes.cfg db2nodes.cfg.DB04

vi db2nodes.cfg.DB04(修改成如下內容,保存)

0 DB04 0

(2)DB04

cp db2nodes.cfg db2nodes.cfg.DB03

cp db2nodes.cfg db2nodes.cfg.DB04

vi db2nodes.cfg.DB03(修改成如下內容,保存)

0 DB03 0

 

八 HA腳本調整



在DB0三、DB04均部署如下4個腳本。

說明: http://note.youdao.com/share/images/replace-img.png

以DB03爲例說明,DB04同理:

db1_start.sh用於修改db2node.cfg、修改相應文件系統的權限,使之知足PUB庫啓動的條件,啓動PUB數據庫。

db1_stop.sh用於中止PUB數據庫。

db2_start.sh用於修改db2node.cfg、修改相應文件系統的權限,使之知足MRK庫啓動的條件,啓動MRK數據庫

db2_stop.sh用於中止MRK數據庫。

相關文章
相關標籤/搜索