利用MSCS來對DB2集群服務(wù)進(jìn)行高效創(chuàng)建
以下的文章主要向大家講述的是如何正確利用MSCS來對DB2集群服務(wù)進(jìn)行高效創(chuàng)建,周末加班,事先以說好幫人建一個關(guān)于Windows操作系統(tǒng)的故障轉(zhuǎn)移集群。雖說現(xiàn)在主要精力是在中間件上,但Windows畢竟還是深入學(xué)習(xí)過一年的。
更何況在WebSphere和WebLogic上都做過MSCS的集群,所以以為不過是小菜一碟,最后想不到從6點搞到了凌晨1點。
周末加班,事先得知是幫人建一個Windows的故障轉(zhuǎn)移集群。雖說現(xiàn)在主要精力是在中間件上,但Windows畢竟還是深入學(xué)習(xí)過一年的嘛,更何況在WebSphere和WebLogic上都做過MSCS的集群,所以以為不過是小菜一碟,最后想不到從6點搞到了凌晨1點。
我們首先是采用Oracle在Windows下的套路:兩臺主機(jī)上都啟用數(shù)據(jù)庫實例,數(shù)據(jù)庫則存放在共享存儲上,通過在集群資源中添加DB2的通用服務(wù),從而達(dá)到數(shù)據(jù)庫服務(wù)的故障轉(zhuǎn)移。
應(yīng)該說思路沒什么問題,但是實行起來有個問題,就是在有用戶連接的情況下,停止db2服務(wù)會失敗,第二次再去停止才能夠停下來,這樣手動轉(zhuǎn)移集群就會有點問題。于是我們就想著法子怎么再數(shù)據(jù)庫服務(wù)停止前執(zhí)行一下中斷所有數(shù)據(jù)庫鏈接的命令……苦思冥想、多次嘗試,弄的焦頭爛額。
最后上IBM developerworks找文檔,才知道原來根本不用這么麻煩,實例只需一份,而且DB2集群服務(wù)早就給你準(zhǔn)備好了db2msce工具,只要寫一份db2mscs.cfg的配置文件:
DB2_INSTANCE=DB2 //指定需要轉(zhuǎn)換的實例名稱
DB2_LOGON_USERNAME=dbdomain/db2admin //指定登錄實例的域用戶賬號
DB2_LOGON_PASSWORD=0000 //指定登錄實例域用戶賬號的密碼
CLUSTER_NAME=MYCLUSTER //指定群集的名稱
GROUP_NAME=DB2 Group A //指定用于該實例的組名稱
DB2NODE=0 //指定該組資源對應(yīng)的 DB2 節(jié)點號
IP_NAME= MscsA //指定用于該實例的 IP 地址資源的名稱
IP_ADDRESS=192.168.192.31 //指定 IP 地址資源的IP地址屬性
IP_SUBNET=255.255.255.0 //指定 IP 地址資源的子網(wǎng)掩碼
IP_NETWORK=Public Network //指定 IP 地址資源綁定的網(wǎng)絡(luò)連接
NETNAME_NAME = MscsAName //指定網(wǎng)絡(luò)名資源的名稱
NETNAME_VALUE = DataCenter //指定網(wǎng)絡(luò)名資源的機(jī)器名屬性
NETNAME_DEPENDENCY = MscsA //指定該網(wǎng)絡(luò)資源名對應(yīng)的 IP 地址資源的名稱
DISK_NAME=DISK E: //指定該節(jié)點需要使用的磁盤資源
INSTPROF_DISK=E: //指定該節(jié)點目錄所在的磁盤資源上述配置文件中的NAME選項都可以隨便填寫,以簡單明了為主,IP_ADDRESS是DB2服務(wù)的浮動IP,IP_NETWORK應(yīng)該寫提供集群外網(wǎng)服務(wù)的那塊網(wǎng)卡名稱,NETNAME的那三個選項可以不填,不影響使用(因為都是用IP連接的)。
然后運(yùn)行db2mscs -f:db2mscs.cfg命令(注意F不是指盤符,將db2mscs.cfg放于db2mscs同一個目錄下),你就會看到DB2集群服務(wù)中自動添加了一個資源組:DB2 Group A,添加了一個名為DB2的DB2類型服務(wù),而這個服務(wù)類型之前是沒有的。
【編輯推薦】
- DB2如何安裝實例數(shù)據(jù)庫和TOLLSDB數(shù)據(jù)庫
- Oracle DB2數(shù)據(jù)庫中支持外部文件格式介紹
- DB2計劃三招“破甲” IBM在華能否得償所愿
- 對Oracle SQL到DB2 SQL移植的淺析
- DBA該如何在DB2中找出未使用索引,表和包