1. 摘要
本文檔介紹在SuSE Linux Enterprise Server v8.0(SLES 8)上安裝配置DB2 UDB Enterprise Serverv8.2雙機互備的高可靠性方案的基本步驟。該方案配合采用SLES的卷管理器(LVM)和Veritas Cluster Server v2.2(VCS 2.2)作為HA實現組件。
2. 概述
本文檔假定讀者已經理解雙機互備的HA方案的基本概念。
2.1. 雙機互備HA方案的基本步驟
建立一個雙機互備方案的基本步驟是:
1. 確定基本參數(如IP地址、存儲空間,等等。本方案的參數均為示范參數,讀者需要根據實際環境替換)
2. 配置共享存儲(本方案不涉及共享存儲方案的配置)
3. 在兩台節點上分別安裝應用(在本方案中是DB2 UDB)
4. 在一台節點上對應用作初始配置(在本方案中是在共享存儲上建立DB2數據庫)
5. 在另一台節點上引入共享存儲上的配置(在本方案中是對共享存儲上的數據庫做catalog操作)
6. 在兩台節點上分別手動測試應用
7. 配置HA Cluster管理軟件(在本方案中是VCS)
8. 測試HA Cluster管理軟件可以成功接管資源
2.2. 假設
本文檔假定采用以下示例環境,SLES與VCS已在節點上正確安裝,SLES的共享存儲已經正確連接,VCS的心跳連接已經正確配置。
2.2.1. 存儲
各節點上需要足夠的本地磁盤空間,來安裝DB2 UDB的可執行代碼及實例。
本方案需要足夠的共享存儲空間,來放置數據庫數據。
假定共享存儲上分配給DB2數據庫的卷組名為/dev/datavg1,邏輯卷名為/dev/datavg1/db2lv1(使用SLES的LVM服務),在兩個節點上的掛接點名為/home/db2data,且已正確格式化為合適的文件系統(Veritas工程師指出在SLES 8上VCS 2.2不支持ext3文件系統,建議格式化時指定ext2,在SLES 9和VCS 4.1上不存在這個問題)。注意這個掛接點要在fstab文件中配置為啟動時不自動掛接。
數據庫其他表空間可以建立在共享存儲的其他卷上,如果是文件系統,同樣要配置為不自動掛接。本文檔暫不討論。
2.2.2. 節點
本HA方案采用兩個服務器節點做主從互備,以下分別稱為Active節點和Passive節點。這兩個節點具有相同的硬件和操作系統配置。
2.2.3. 網絡
對外的IP網絡。假定該方案中DB2 UDB對外提供服務使用的浮動IP(Floating IP)為192.168.10.110,Active節點的物理IP為192.168.10.11,Passive節點的物理IP為192.168.10.12。
HA管理軟件需要一組內部IP來管理雙機間的心跳連接。心跳IP不在本文檔范圍內。
3. 配置步驟
3.1. DB2 UDB安裝、配置步驟
3.1.1. 建立用戶和組
在兩台節點上分別在root下執行以下命令:
groupadd –g 900 db2iadm1
groupadd –g 901 db2fadm1
groupadd –g 902 dasadm1
useradd –g db2iadm1 –u 800 –d /home/db2inst1 –s /bin/bash db2inst1
useradd –g db2fadm1 –u 801 –d /home/db2fenc1 –s /bin/bash db2fenc1
useradd –g dasadm1 –u 802 –d /home/dasusr1 –s /bin/bash dasusr1
組ID和用戶ID可以根據實際情況選擇,但務必保證在兩台節點上相同的用戶名/組名具有相同的ID。
3.1.2. 安裝DB2 UDB產品代碼
在兩台節點上分別在root用戶下執行以下命令:
cd
./db2install –p DB2.ESE
cd /opt/IBM/db2/V8.1/adm
./db2licm –a /db2/license/db2ese.lic
其中,是DB2 UDB ESE安裝介質所在目錄。
3.1.3. 建立實例
在兩台節點上分別在root用戶下執行以下命令:
cd /opt/IBM/db2/V8.1/instance
./db2icrt –p 50000 –u db2fenc1 db2inst1
3.1.4. 建立DAS
在兩台節點上分別在root用戶下執行以下命令:
cd /opt/IBM/db2/V8.1/instance
./dascrt –u dasusr1
3.1.5. 建立數據庫
在Active節點上在root用戶下執行以下命令:
mount /dev/datavg1/db2lv1 /home/db2data
su – db2inst1
db2start
db2 create database on /home/db2data
db2stop
exit
umount /home/db2data
其中,是數據庫名。
3.1.6. Catalog數據庫
在Passive節點上在root用戶下執行以下命令:
mount /dev/datavg1/db2lv1 /home/db2data
su – db2inst1
db2start
db2 catalog database on /home/db2data
db2stop
exit
umount /home/db2data
其中,是上一步驟建立的數據庫名
3.1.7. 檢驗DB2配置
在Active節點上,在root用戶下執行以下命令:
mount /dev/datavg1/db2lv1 /home/db2data
su – db2inst1
db2start
db2 connect to
db2 create table T (ID INTEGER)
db2 connect reset
db2stop
exit
umount /home/db2data
檢驗上述命令均無出錯信息。
在Passive節點上,在root用戶下執行以下命令:
mount /dev/datavg1/db2lv1 /home/db2data
su – db2inst1
db2start
db2 connect to
db2 drop table T
db2 connect reset
db2stop
exit
umount /home/db2data
檢驗上述命令均無出錯信息。
3.2. VCS配置
在VCS中,建立DB2資源組,在組中配置浮動IP、Application等資源,將Application的啟動、停止等命令腳本配置為db2start、db2stop、db2admin start和db2admin stop,將Application的監視命令腳本配置為ps命令,監視db2sysc和db2dasrrm進程。