首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

Linux (SLES) 平台部署 DB2 UDB 雙機互備 HA 完整方案(LVM + VCS)

     編輯:DB2 教學

方案架構概覽

  • 作業系統:SuSE Linux Enterprise Server 8 (SLES 8)
  • 資料庫:DB2 UDB Enterprise Server Edition 8.2
  • 叢集軟體:Veritas Cluster Server 2.2 (VCS 2.2)
  • 卷管理:SLES 內建 LVM
  • 架構模式:雙機互備,Active/Passive 模式

環境參數假設(請依實際環境替換)

項目數值
共享儲存 VG/dev/datavg1
共享儲存 LV/dev/datavg1/db2lv1
掛載點/home/db2data(fstab 設為不自動掛載)
檔案系統ext2(SLES 8 + VCS 2.2 不支援 ext3;SLES 9/VCS 4.1 無此限制)
浮動 IP192.168.10.110
Active 節點實體 IP192.168.10.11
Passive 節點實體 IP192.168.10.12
心跳 IP內部專用網路,不在本文範圍

三大階段實作步驟

階段一:DB2 UDB 安裝與配置(兩節點均執行)

1. 建立使用者與群組(UID/GID 兩節點必須一致)

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

2. 安裝 DB2 產品程式碼

cd <安裝媒體目錄>
./db2install -p DB2.ESE

cd /opt/IBM/db2/V8.1/adm
./db2licm -a /db2/license/db2ese.lic

3. 建立實例與 DAS

cd /opt/IBM/db2/V8.1/instance
./db2icrt -p 50000 -u db2fenc1 db2inst1
./dascrt -u dasusr1

階段二:資料庫建立與跨節點驗證

1. 在 Active 節點建立資料庫(掛載共享儲存)

mount /dev/datavg1/db2lv1 /home/db2data
su - db2inst1
db2start
db2 "create database <資料庫名> on /home/db2data"
db2stop
exit
umount /home/db2data

2. 在 Passive 節點 Catalog 資料庫

mount /dev/datavg1/db2lv1 /home/db2data
su - db2inst1
db2start
db2 "catalog database <資料庫名> on /home/db2data"
db2stop
exit
umount /home/db2data

3. 雙向功能驗證

Active 節點測試:

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 節點測試:

mount /dev/datavg1/db2lv1 /home/db2data
su - db2inst1
db2start
db2 "connect to <資料庫名>"
db2 "drop table T"
db2 "connect reset"
db2stop
exit
umount /home/db2data

兩邊皆無錯誤訊息即代表 DB2 層面配置正確。

階段三:VCS 叢集配置

在 VCS 中建立 DB2 資源群組,包含下列資源類型與屬性:

  • IP 資源:浮動 IP (192.168.10.110)
  • Mount 資源:掛載共享儲存 (/dev/datavg1/db2lv1 → /home/db2data)
  • Application 資源:DB2 實例與 DAS 的啟停監控腳本

Application 資源腳本範例

動作命令/腳本
啟動su - db2inst1 -c "db2start"、su - dasusr1 -c "db2admin start"
停止su - db2inst1 -c "db2stop force"、su - dasusr1 -c "db2admin stop"
監控ps -ef | grep -E 'db2sysc|db2dasrrm' | grep -v grep(檢查核心進程是否存在)

資源相依性順序

IP → Mount → Application(啟動時由上而下,停止時由下而上)。

測試 HA 切換

  1. 啟動 VCS 叢集,確認資源群組在 Active 節點上線。
  2. 手動將資源群組切換至 Passive 節點:hagrp -switch <群組名> -to 。
  3. 驗證浮動 IP、共享儲存掛載、DB2 實例與 DAS 均在新節點正常啟動。
  4. 模擬節點故障(關機或斷網),觀察 VCS 自動容錯移轉。
  5. 驗證資料完整性:在新 Active 節點連線資料庫執行查詢/更新。

重要提醒

  • 共享儲存檔案系統不可在 /etc/fstab 設為開機自動掛載,必須由 VCS 控制。
  • SLES 8 + VCS 2.2 組合請使用 ext2;升級至 SLES 9 + VCS 4.1 可使用 ext3/reiserfs。
  • DB2 實例與 DAS 皆不可設為作業系統服務自動啟動,完全交由 VCS 管理。
  • 生產環境建議額外規劃日誌、臨時表空間等獨立 LV,同樣納入 VCS 管理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved