如上問題是由於在目標服務器上已經安裝了 pureScale 軟件,為避免版本差異導致問題,我們需要手工卸載目標服務器已經安裝的 pureScale 軟件,執行如下命令進行清理:
|
#/opt/IBM/db2/V9.8/install/db2_deinstall – a
|
問題 5:在安裝程序最後配置實例的階段,提示 GPFS 文件系統無法創建
該問題通常由於手工強行卸載 GPFS 文件系統,該 GPFS 文件系統原先使用的共享磁盤沒有正常刪除,導致磁盤上的 GPFS 文件系統標記未清除。我們需要對 hdisk6~hdisk13 用 dd 命令進行清理,如對 hdisk6 的清理命令為:
|
#dd if=/dev/zero of=/dev/hdisk6 bs=1m count=25
|
在創建 DB2 pureScale 數據庫之前,為性能考慮,我們需要為數據和日誌創建獨立的 GPFS 文件系統,使用獨立的物理磁盤。root 用戶登錄,執行如下命令:
|
#/opt/IBM/db2/V9.8/bin/db2cluster -cfs -create -filesystem db2data -disk “/dev/hdisk8,/dev/hdisk9,/dev/hdisk10,/dev/hdisk11, /dev/hdisk12″ -mount /db2data
#/opt/IBM/db2/V9.8/bin/db2cluster -cfs -create -filesystem db2log -disk “/dev/hdisk13” -mount /db2log
|
現在我們就可以創建數據庫了,實例用戶 db2sdin1 登錄系統,執行如下命令:
|
$db2 “create database HLJRCCB on /db2data dbpath on /db2log using codeset gbk territory cn”
|

Websphere Application Server plus DB2 pureScale
Websphere 應用服務器結合後台 DB2 數據庫的應用模式在客戶實際生產中廣泛使用,在此,我們就 DB2 pureScale 客戶端自動路由(Automatic Client Reroute, ACR)、工作負載均衡(Workload Balance, WLB)如何配置和使用進行詳細說明。
WLB 和 ACR 支持情況
圖 9. DB2 pureScale WLB 和 ACR 支持矩陣
|
|
Default Behaviour |
|
|
Non-Java applications |
Java applications |
|
|
Connection-level WLB |
Enabled |
N/A(不支持) |
|
Transaction-level WLB |
Disabled |
Disabled |
|
ACR post-connection |
Enabled |
Enabled |
|
ACR pre-connection |
Disabled |
Disabled |
|
Client affinities |
Disabled |
Disabled |
DB2 pureScale 的工作負載均衡機制分為連接級別(Connection-level WLB)和交易級別(Transaction-level WLB)。連接級別的負載均衡發生在客戶端建立數據庫連接之時,以後不再調整;交易級別的負載均衡發生在交易邊界,根據數據庫成員服務器的忙閑程度動態進行調整。
從上表看出,對於 Java 應用程序,交易級別的工作負載均衡缺省是關閉的,儘管可能有多台 pureScale 成員服務器也不可能能做到成員服務器間負載均衡;連接前自動客戶端路由(ACR pre-connection)也是關閉的,導致未曾連接過 pureScale 成員服務器的客戶端,在其連接屬性中指定 IP 的成員服務器宕機時,不會自動路由到其他存活成員服務器。
WLB 和 ACR 配置方法
首先,為了讓 WLB 和 ACR 能夠正常工作,我們需要在 WAS 服務器的 /etc/hosts 文件中添加 pureScale 成員服務器的 IP 地址和主機名:
|
172.16.24.122 p5502 172.16.24.123 p5503
|
其次,我們需要使用 DB2 V9.7.2提供的 JDBC 驅動程序,之前版本或 pureScale 服務器中自帶的 JDBC 驅動程序目前不支持 WLB;
最後,我們需要在 WAS 應用服務器里進行相關配置如下:
表 3. DB2 pureScale WLB 和 ACR 在 WAS 中的配置
|
DataSource |
DriverManager |
|
|
Conn-Level WLB |
不支持 |
不支持 |
|
Trx-Level WLB |
增加 DataSource 的屬性: 請參考 WAS 例子 A1 |
增加 Connection 的屬性: 可以使用屬性或在連接串里配置,請參考下一單元格 |
|
ACR |
方法一:增加 DataSource 的屬性 clientRerouteAlternateServerName=172.16.24.123 請參考 WAS 例子 A2 方法二:生成 jndi,binding 到 DB2,參見 A.3 |
方法一:使用屬性 注意:該方式不支持多於 2 個節點 |
|
ACR |
默認 enable,無參數配置。 |
默認 enable,無參數配置。 |
A1. 在 WAS 中配置 Trx-Level WLB
在”Data sources > DBNAME > Customer properties“增加 enableSysplexWLB 屬性:
A2. 在 WAS 中配置 Pre-Conn ACR
修改數據源參數 (Data sources > DBNAME > WebSphere Application Server data source properties)
A3. DB2ClientRerouteServerList Binding
編寫一個 jsp 程序,包含如下代碼,執行後將綁定相關信息:
清單 1. WAS 中註冊 DB2 purescale 自動客戶端路由綁定
|
InitialContext registry = new InitialContext(); // Create a DB2ClientRerouteServerList object DB2ClientRerouteServerList address = newDB2ClientRerouteServerList();
// Set the port number and server name for the primary server address.setPrimaryPortNumber(50001); address.setPrimaryServerName(“172.16.24.122”);
// Set the port number and server name for the alternate server
int[] port = {50001}; String[] server = {“172.16.24.123”}; address.setAlternatePortNumber(port); address.setAlternateServerName(server);
registry.rebind(“cell/persistent/serverList”, address);
|
A4. Post-Conn ACR message:
|
com.ibm.db2.jcc.am.ClientRerouteException: [jcc][t4][2027][11212][4.9.66] A connection failed but has been re-established. The host name or IP address is “p5503” and the service name or port number is 50,001. Special registers may or may not be re-attempted (Reason code = 1). ERRORCODE=-4498, SQLSTATE=08506
|
多線程 DB2 CLI 程序訪問 pureScale 數據庫,如果要實現 ACR 和 WLB 功能,
首先,我們需要在 DB2 CLI 客戶端的 /etc/hosts 中添加如下條目:
|
172.16.24.122 p5502 172.16.24.123 p5503
|
以下文章點擊率最高
Loading…
