| 項目 | A 節點 (主) | B 節點 (備) |
|---|---|---|
| 主機名 | H80a | H80b |
| 實例用戶 | db2inst1 (uid=209, gid=206) | db2inst1 (uid=209, gid=206) 必須一致 |
| 圍欄用戶 | db2fenc1 (uid=210, gid=103) | db2fenc1 (uid=210, gid=103) 必須一致 |
| DAS 用戶 | dasusr1 (本地, uid=110) | dasusr1 (本地, uid=111) 可不同 |
| 共享卷組 | 7133vg (共享存儲) | |
| 邏輯卷/掛載點 | db2inst1lv→/home/db2inst1, db2fenc1lv→/home/db2fenc1, lv05→/db2log, db2databa→/db2data | |
| 實例名/數據庫 | db2inst1 / testdb | |
mkvg -y 7133vg hdiskX → mklv -y db2inst1lv ... → crfs -v jfs2 -d db2inst1lv -m /home/db2inst1 (同理建其餘 3 個 FS)。mkgroup -A id=206 db2iadm1 → mkuser id=209 pgrp=db2iadm1 home=/home/db2inst1 db2inst1 (圍欄用戶同理)。mount /cdrom && cd /cdrom && ./db2setup (安裝過程創建 DAS 用戶/組)。chown -R db2inst1:db2iadm1 /home/db2inst1 /db2data /db2log 等。cd /usr/opt/db2_08_01/instance && ./db2icrt -u db2fenc1 db2inst1。su - db2inst1
db2start
db2 "create database testdb on /db2data"
db2 "update db cfg for testdb using newlogpath /db2log"
db2 terminate && db2stop
umount /home/db2inst1 /home/db2fenc1 /db2log /db2data && varyoffvg 7133vg。importvg -y 7133vg hdiskX → 掛載 4 個 FS。db2setup。mv /home/db2inst1/sqllib /home/db2inst1/sqllib.a
./db2icrt -u db2fenc1 db2inst1
rm -rf /home/db2inst1/sqllib
mv /home/db2inst1/sqllib.a /home/db2inst1/sqllib
cp /home/db2inst1/sqllib/db2nodes.cfg.b /home/db2inst1/sqllib/db2nodes.cfg
註:最後一步需放入 HACMP 啟動腳本,故障切換時自動切換節點配置。
/etc/services 端口: 複製 A 節點 DB2 端口定義,保持一致。su - db2inst1 && db2start && db2 connect to testdb 成功即雙機就緒。# A 節點本地備份 db2nodes.cfg.a
0 H80a 0
# B 節點本地備份 db2nodes.cfg.b
0 H80b 0
HACMP 啟動腳本需根據當前運行節點,將對應備份覆蓋至 /home/db2inst1/sqllib/db2nodes.cfg,確保 DB2 識別正確主機名。
db2nodes.cfg 必須隨節點切換動態更新。