在Linux上實現DB2雙機HA完整方案(1)
2024-07-21 02:41:18
供稿:網友
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實現組件?! ?. 概述 本文檔假定讀者已經理解雙機互備的HA方案的基本概念?! ?.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的可執行代碼及實例?! ”痉桨感枰銐虻墓蚕泶鎯臻g,來放置數據庫數據?! 〖俣ü蚕泶鎯ι戏峙浣oDB2數據庫的卷組名為/dev/datavg1,邏輯卷名為/dev/datavg1/db2lv1(使用SLES的LVM服務),在兩個節點上的掛接點名為/home/db2data,且已正確格式化為合適的文件系統(Veritas工程師指出在SLES 8上VCS 2.2不支持ext3文件系統,建議格式化時指定ext2,在SLES 9和VCS 4.1上不存在這個問題)。注重這個掛接點要在fstab文件中配置為啟動時不自動掛接。 123下一頁 數據庫其他表空間可以建立在共享存儲的其他卷上,假如是文件系統,同樣要配置為不自動掛接。本文檔暫不討論?! ?.2.2. 節點 本HA方案采用兩個服務器節點做主從互備,以下分別稱為Active節點和Passive節點。這兩個節點具有相同的硬件和操作系統配置?! ?.2.3. 網絡 對外的IP網絡。假定該方案中DB2 UDB對外提供服務使用的浮動IP(Floating IP)為192.168.10.110,Active節點的物理IP為192.168.10.11,Passive節點的物理IP為192.168.10.12?! A治理軟件需要一組內部IP來治理雙機間的心跳連接。心跳IP不在本文檔范圍內?! ?. 配置步驟 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?! ?.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安裝介質所在目錄?! ?.1.3. 建立實例 在兩臺節點上分別在root用戶下執行以下命令: 上一頁123下一頁 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 其中,是數據庫名?! ?.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 檢驗上述命令均無出錯信息?! ≡赑assive節點上,在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 檢驗上述命令均無出錯信息?! ?.2. VCS配置 在VCS中,建立DB2資源組,在組中配置浮動IP、application等資源,將Application的啟動、停止等命令腳本配置為db2start、db2stop、db2admin start和db2admin stop,將Application的監視命令腳本配置為ps命令,監視db2sysc和db2dasrrm進程。 上一頁123