2008/5/28

在Linux上實現DB2雙機HA完整方案

轉貼自http://202.99.120.116:82/gate/big5/publish.it168.com/2006/0121/20060121002501.shtml

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進程。

沒有留言:

JPA+complex key+custom Query

  來源: https://www.cnblogs.com/520playboy/p/6512592.html   整個來說,就是有複合主鍵 然後要使用  public interface XxXXxx DAO extends CrudRepository<Tc...