Db2配置HADR高可用+TSA添加集群節點
一、服務器資源
Master IP:10.78.10.1 數據庫:dbclass
Slave IP:10.78.10.2 數據庫:dbclass
VIP:10.78.10.10
定額設備IP:10.78.10.9
系統版本:Redhat 6.7
數據庫版本:V10.5 fp10
二、服務器必要配置
2.1、確認主機名
#hostname
dbclass-1
dbclass-2
2.2、主機名與IP對應關系
#vim /etc/hosts
dbclass-1 10.78.10.1
dbclass-2 10.78.10.2
2.3、添加數據庫用戶無密碼訪問數據庫
#vim /etc/hosts.equiv
+ dbclass-1 db2inst1
+ dbclass-2 db2inst1
#vim /root/.rhosts
dbclass-1 root
dbclass-2 root
#su – db2inst1
$db2set DB2RSHCMD=/usr/bin/rsh
$vim .rhosts
dbclass-1 db2inst1
dbclass-2 db2inst1
2.4、配置RSH
#yum -y install rsh*
#vim /etc/xinetd.d/rsh
Disable = no
#vim /etc/xinetd.d/rlogin
Disable = no
#vim /etc/xinetd.d/rexec
Disable = no
#service xinetd restart
2.5、驗證測試rsh
dbclass-1#rsh dbclass-2 ls
此處存在輸出當前用戶桌面文件結果,為配置正確。
db2inst1@dbclass-1$rsh dbclass-2 ls
此處存在輸出當前用戶桌面文件結果,為配置正確。
2.6、創建節點數據庫集群
#/usr/sbin/rsct/install/bin/recfgct
#preprnode dbclass-1 dbclass-2
2.7、修改端口對應關系(最后一行添加)
#vim /etc/service
Db2_hadr_1 55001/tcp
Db2_hadr_2 55002/tcp
Db2_hadr_3 55003/tcp
DB2_hadr_4 55004/tcp
2.8、修改模塊
#vim /etc/modprobe.conf
blacklist iTCO_wdt
blacklist iTCO_vendor_support
2.9、導入TSA的license
#samlicm –i sam41TB.lic
2.A、驗證license
$samlicm -s
$samlicm -p; echo $?
=> result should be 0
返回值0:正式的license;返回值1:未導入license;返回值2:試用的license
$samlicm -t; echo $?
=> result should be 0
三、配置數據庫HADR
3.1、主、備服務器配置
3.1.1、創建備份目錄、log日志目錄、archive目錄
$su – db2inst1
$mkdir /home/db2inst1/db2 _archive
$ mkdir /home/db2inst1/db2 _log
$mkdir /home/db2inst1/db2 _backup
3.2、設置主、備服務器支持在線備份和備機可讀
3.2.1、設置在線備份並配置備份目錄
$db2 update db cfg for dbclasse using NEWLOGPATH /home/db2inst1/db2 _log
$db2 update db cfg for dbclasse using logarchmeth1 disk:/home/db2inst1/db2 _archive
3.2.2、設置當主、備服務器切換為備機時可讀
$db2set db2_hadr_ros=on
$db2set db2_standby_iso=ur
$db2 update db cfg for dbclass using LOGINDEXBUILD ON
$db2 update db cfg for dbclass using INDEXREC RESTART
$db2 update db cfg for dbclass using LOGRETAIN ON
3.2、主服務器HADR配置
$db2 update db cfg for dbclass using hadr_local_host 10.78.10.1
$db2 update db cfg for dbclass using hadr_local_svc 55001
$db2 update db cfg for dbclass using hadr_remote_host 10.78.10.2
$db2 update db cfg for dbclass using hadr_remote_svc 55002
$db2 update db cfg for dbclass using hadr_remote_inst db2inst1
$db2 update db cfg for dbclass using hadr_syncmode NEARSYNC
$db2 update db cfg for dbclass using HADR_TIMEOUT 120
$db2 update db cfg for dbclass using HADR_PEER_WINDOW 120
3.4、備服務器HADR配置
$db2 update db cfg for dbclass using hadr_local_host 10.78.10.2
$db2 update db cfg for dbclass using hadr_local_svc 55002
$db2 update db cfg for dbclass using hadr_remote_host 10.78.10.1
$db2 update db cfg for dbclass using hadr_remote_svc 55001
$db2 update db cfg for dbclass using hadr_remote_inst db2inst1
$db2 update db cfg for dbclass using hadr_syncmode NEARSYNC
$db2 update db cfg for dbclass using HADR_TIMEOUT 120
$db2 update db cfg for dbclass using HADR_PEER_WINDOW 120
3.5、主備同時操作
$db2 force applications all
$db2 DEACTIVATE DATABASE dbclass
3.6、啟動HADR
3.6.1、先啟動備庫
$db2 start hard on db dbclass as standby
3.6.2、在啟動主庫
$db2 start hard on db dbclass as primary
3.7、主備同時查看db2 HADR狀態和通信狀態
$db2 get db cfg for dbclass |grep HADR
$db2 get snapshot for db on dbclass|grep –A 15 HADR
$netstat –anp|grep 10.78.10.
四、配置數據庫TSA
4.1、首先在備庫執行
$db2haicu
歡迎使用 DB2 高可用性實例配置實用程序(db2haicu)。
可以在 DB2 服務器診斷日志文件 db2diag.log 中查找詳細的診斷信息。還可以使用 db2pd 實用程序來查詢您創建的集群域的狀態。
有關使用 db2haicu 來配置集群環境的更多信息,請參閱 DB2 信息中心中的 “DB2 高可用性實例配置實用程序(db2haicu)”主題。
db2haicu 已確定當前的 DB2 數據庫管理器實例為 db2inst2。 緊接着出現的集群配置將應用於此實例。
db2haicu 正在收集有關當前設置的信息。完成此步驟可能要花一些時間,這是因為 db2haicu 需要激活所有數據庫,以便實例發現所有路徑...
使用 db2haicu 來配置集群環境時,將創建集群域。 有關更多信息,請參閱 DB2 信息中心中的“使用 db2haicu 創建集群域”主題。db2haicu 正在當前機器上搜索現有的活動集群域...
db2haicu 在此機器上未找到集群域。 db2haicu 現在將查詢系統以獲取有關集群節點的信息,以便創建新的集群域...
db2haicu 在此機器上未找到集群域。要繼續配置集群環境以實現高可用性,必須創建集群域,否則 db2haicu 將退出。
要創建一個域並繼續嗎?[1]
1. 是
2. 否
1
為新域創建一個唯一名稱:
db2ha
現在必須將節點添加至新的域。
域 db2ha 將包含多少個集群節點?
2
輸入要添加至域的機器的主機名:
dbclass-1
輸入要添加至域的機器的主機名:
dbclass-2
現在,db2haicu 可以創建一個包含您指定的 2 機器的新域。如果您選擇現在不創建域,那么 db2haicu 將退出。
現在要創建域嗎?[1]
1. 是
2. 否
1
正在集群中創建域 db2ha...
成功地在集群中創建了域 db2ha。
現在,可以為域配置定額設備。有關更多信息,請參閱 DB2 信息中心中的“定額設備”主題。如果不為域配置定額設備,那么當集群中的某些機器失去連接時,操作員就必須進行手工干預。
要對稱為 db2ha 的域配置定額設備嗎?[1]
1. 是
2. 否
1
以下是受支持的定額設備類型的列表:
1. 網絡定額
輸入與要使用的定額設備類型相對應的編號:[1]
1
指定定額設備的網絡地址:
10.78.10.9
正在為域 db2ha 配置定額設備...
成功地為域 db2ha 配置了定額設備。
集群管理器在該域內的各台機器中找到了 2 個網絡接口卡。 可以使用 db2haicu 為這些網絡接口卡創建網絡。 有關更多信息,請參閱 DB2 信息中心中的“使用 db2haicu 創建網絡”主題
要為這些網絡接口卡創建網絡嗎?[1]
1. 是
2. 否
1
輸入集群節點 db2-node01 上的網絡接口卡 eth0 的網絡的名稱:
1. 為此網絡接口卡創建一個新的公用網絡。
2. 為此網絡接口卡創建一個新的專用網絡。
輸入所作的選擇:
1
確實要將集群節點 db2-node01 上的網絡接口卡 eth0 添加至網絡 db2_public_network_0 嗎?[1]
1. 是
2. 否
1
正在將集群節點 db2-node01 上的網絡接口卡 eth0 添加至網絡 db2_public_network_0...
成功地將集群節點 db2-node01 上的網絡接口卡 eth0 添加至網絡 db2_public_network_0。
正在檢索實例 db2inst2 的高可用性配置參數...
未設置集群管理器名稱配置參數(高可用性配置參數)。有關更多信息,請參閱 DB2 信息中心 中的“cluster_mgr - 集群管理器名稱配置參數”主題。要設置高可用性配置參數嗎?
以下是高可用性配置參數的有效設置:
1.TSA
2.供應商
輸入高可用性配置參數的值:[1]
1
正在將實例 db2inst2 的高可用性配置參數設置為 TSA。
正在將 DB2 數據庫分區 0 添加至集群...
成功地將 DB2 數據庫分區 0 添加至集群。
要對 HADR 數據庫 dbclass 驗證和自動進行 HADR 故障轉移嗎?[1]
1. 是
2. 否
1
正在對域添加 HADR 數據庫 dbclass...
在域中找不到集群節點 10.78.10.1。請重新輸入主機名。
dbclass-1
在域中找不到集群節點 10.78.10.2。請重新輸入主機名。
dbclass-2
正在對域添加 HADR 數據庫 dbclass...
已經確定 HADR 數據庫 dbclass 可具備高可用性。 但是,無法將此數據庫添加至此節點中的集群,原因是 db2haicu 檢測到此節點是用於 HADR 數據庫 dbclass 的備用節點。在 HADR 數據庫
dbclass 的主節點上運行 db2haicu 以將該數據庫配置為可自動進行故障轉移。
已成功完成所有集群配置。db2haicu 正在退出...
[db2inst2@dbclass-2 ~]$
4.2、配置完成后再主庫執行
$db2haicu
[db2inst2@dbclass-1 ~]$ db2haicu
歡迎使用 DB2 高可用性實例配置實用程序(db2haicu)。
可以在 DB2 服務器診斷日志文件 db2diag.log 中查找詳細的診斷信息。還可以使用 db2pd 實用程序來查詢您創建的集群域的狀態。
有關使用 db2haicu 來配置集群環境的更多信息,請參閱 DB2 信息中心中的 “DB2 高可用性實例配置實用程序(db2haicu)”主題。
db2haicu 已確定當前的 DB2 數據庫管理器實例為 db2inst2。 緊接着出現的集群配置將應用於此實例。
db2haicu 正在收集有關當前設置的信息。完成此步驟可能要花一些時間,這是因為 db2haicu 需要激活所有數據庫,以便實例發現所有路徑...
使用 db2haicu 來配置集群環境時,將創建集群域。 有關更多信息,請參閱 DB2 信息中心中的“使用 db2haicu 創建集群域”主題。db2haicu 正在當前機器上搜索現有的活動集群域...
db2haicu 在此機器上找到了一個稱為 db2ha 的集群。 緊接着出現的集群配置將應用於此域。
正在檢索實例 db2inst2 的高可用性配置參數...
未設置集群管理器名稱配置參數(高可用性配置參數)。有關更多信息,請參閱 DB2 信息中心 中的“cluster_mgr - 集群管理器名稱配置參數”主題。要設置高可用性配置參數嗎?
以下是高可用性配置參數的有效設置:
1.TSA
2.供應商
輸入高可用性配置參數的值:[1]
1
正在將實例 db2inst2 的高可用性配置參數設置為 TSA。
正在將 DB2 數據庫分區 0 添加至集群...
成功地將 DB2 數據庫分區 0 添加至集群。
要對 HADR 數據庫 GHAN 驗證和自動進行 HADR 故障轉移嗎?[1]
1. 是
2. 否
1
正在對域添加 HADR 數據庫 dbclass...
在域中找不到集群節點 10.78.10.2。請重新輸入主機名。
dbclass-2
在域中找不到集群節點 10.78.10.1。請重新輸入主機名。
dbclass-1
正在對域添加 HADR 數據庫 dbclass...
成功地對域添加了 HADR 數據庫dbclass。
要對 HADR 數據庫dbclass 配置虛擬 IP 地址嗎?[1]
1. 是
2. 否
1
輸入虛擬 IP 地址:
10.78.10.10
輸入虛擬 IP 地址10.78.10.10 的子網掩碼:[255.255.255.0]
255.255.255.0
為虛擬 IP 地址 10.78.10.10 選擇網絡:
1. db2_public_network_0
輸入所作的選擇:
1
正在將虛擬 IP 地址 10.78.10.10 添加至域...
成功地將虛擬 IP 地址10.78.10.10 添加至域。
已成功完成所有集群配置。db2haicu 正在退出...
注:TSA優先在備庫配置過程中,驗證數據庫HADR切換時會報錯無法執行,這是正常的,不必在意,只需在主數據庫上添加后測試即可。
五、至此TSA+HADR配置完成