圖1 無共享并行體系結構 共享磁盤共享方式是指多個數據庫同時工作,但是他們所讀寫的資源都是在一個共享的磁盤庫中。他們之間的訪問沖突是通過鎖機制來解決的。它的優點是高可用性,任何一個節點的故障都不會對數據訪問造成影響,每一個節點都可以訪問全部的數據資源;這種缺點當然也是有缺點的:隨著服務器數量的增加,鎖的數量以及數據庫訪問失敗的頻率也會指數級的增加,會成為數據庫訪問的瓶頸。然而,在目前的實際應用中,一般集群數量不會太多,所有這個因素可以忽略不記,而其帶來的高可用性是大多用戶選擇它的主要原因。其工作原理如圖所示: 1234下一頁
圖2,共享磁盤并行體系結構 Symantec SFCFS簡介 SFCFS的全稱是Storage Foundation Cluster File System;它是symantec旗下SF產品線的一員,其具體的安裝配置過程稍后會有仔細的講解。現在就讓用戶大概了解一下:SFCFS其實和SF是非常相似的,都是用來治理磁盤和文件系統的。對于磁盤組,卷和文件系統的概念和SF是完全一樣的。它和SF唯一的不同是它支持多個節點同時訪問一個文件系統上面的數據,由SFCFS來進行文件鎖治理,而SF中對于文件系統的訪問是具有獨占性的。SFCFS答應多個節點同時訪問的特點就是針對數據庫的并行操作的需求而來的,所以它非常適合進行數據庫的并行處理模式的治理。 DB2的配置 在DB2的配置中,我們先做好如下假設:由system1和system2來組成集群,其ip分別是192.168.0.1 192.168.02,磁盤組名為DB2DG,卷為DB2Vol,文件系統將掛載在/home/db2目錄下。 注重:在配置過程中將不再說明DB2的基礎配置,配置的具體信息請看Veritas Cluster Server for DB2雙機-入門。 1.安裝SFCFS的程序在system1和system2上; 2.創建SFCFS需要使用的共享磁盤和共享文件系統(原理和細節稍后會有專題,這里只是配置): a)在兩臺機器上面運行下面命令: i.# vxdctl -c mode 得到的結果可能是下面兩個中的任意一個: cluster active - MASTER cluster active – SLAVE 注重,下述的命令只能在返回是master的那臺機器執行,因為它是整個cluster中的主節點。 b)創建共享磁盤組 # vxdg -s init DB2DB c0t0d0; -s就是共享(share)的意思; 上一頁1234下一頁 c)將新建的磁盤組以共享模式加入到system1和system2: # vxdg deport DB2DG # vxdg -s import DB2DG 注重:假如在這里沒有用-s參數,那么磁盤組將被第一個執行導入的系統使用,其他系統的導入操作將會失敗。必須以共享模式導入才能被多個系統使用。 d)創建卷: # vxassist -g DB2DG make DB2Vol 5g e)創建文件系統: # mkfs -F vxfs -o largefiles /dev/vx/rdsk/DB2DG/DB2Vol f)將新建的文件系統以共享模式加載到兩臺機器上面: # mkdir /home/db2 # mount -F vxfs -o cluster /dev/vx/dsk/DB2DG/DB2Vol /home/db2 3.在兩臺機器創建相同的數據庫治理組和治理員,并且加上DB2的注冊碼(配置方法見入門篇): 4.安裝DB2的程序到兩臺機器上,將數據文件指定到共享盤所在的目錄/home/db2下面; 5.修改db2nodes.cfg文件; 這里我想具體的講述一下這個文件的格式,因為這個文件的配置正確與否之間關系到了配置能否成功,而對于這個文件的內容,即使很多DB2的老用戶也不是很清楚: 這個文件的一個常見配置如下所示: 0 sysA 0 1 sysA 1 2 sysB 0 3 sysC 0 4 sysD 0 這個文件的每一行是一個節點的信息,其中第一列數字是唯一編號,表示后面的系統分區是一個集群的成員;第二列是主機的名稱,一般就是系統的名稱,表示這個成員是運行在哪臺主機上的;第三列是端口偏移量,假如某個系統上面部署了多個分區提供數據庫服務的話,DB2將通過不同的端口服務來區別不同的分區。 所以,根據上述解釋,將該文件修改如下: 0 system1 0 1 system2 1 6.確認數據庫安裝配置正常: 上一頁1234下一頁 在每一臺機器執行下列命令: # su - db2inst1 $ db2start $ db2stop 假如配置正確,那么下列命令在各個系統都能工作正常。 這樣,數據庫的配置就已經完成了。 VCS的配置 1.配置集群文件系統服務組: 在安裝了SFCFS之后,VCS自動為集群文件系統創建一個原始的服務組,我們只需要稍微改變它一下即可。 a)在該磁盤組下面創建Cluster Disk group資源和Cluster Volume資源;并修改其屬性,讓它們控制DB2DG和DB2Vol的狀態; b)在原有的集群掛載點資源(CFSMount)上設置依靠屬性,讓其依靠于集群卷;在設置集群卷依靠與集群磁盤組; c)設置后的關系圖如圖所示:
圖3,集群文件系統依靠關系圖 2.配置DB2服務組: a)創建DB2資源,IP資源和網卡資源,分別設定其屬性,IP就是各個系統的主機IP地址; b)設置資源間的依靠關系:DB2數據庫依靠IP資源,IP資源依靠網卡資源; c)設置好的關系圖如圖所示:
圖4,DB2數據庫的依靠關系 3.建立集群服務組和DB2服務組之間的依靠關系: a)右鍵點擊VCS界面左側新建的DB2服務組; b)選擇“link”,然后選擇CFS服務組,選擇online local以及soft模式; c)這樣DB2服務組就依靠與CFS服務組的狀態了,假如CFS在某臺系統故障,則其上的數據庫服務就會停止,對其資源的請求將會被DB2轉移到其他數據庫節點上面; 4.測試工作狀態: 讓DB2服務組在兩臺機器同時上線,假如成功,則說明配置已經生效,并能正常使用。 數據庫作為現在數據治理不可或缺的一個部分,在生產環境中有著重要的地位。因此,如何能夠使數據庫能夠穩定,高效的工作,成為每一個數據庫治理員和系統治理員重要的工作。所以配置數據庫雙機互備和雙機熱備的配置方法,是每一個數據庫治理員的基礎。 通過本文及一些相關文章大家已經了解到DB2數據庫的治理和配置方法,下面我們還將為大家介紹Oracle和sybase的集群的配置方法,并可以比較這些主流數據庫的不同之處。 上一頁1234 新聞熱點
疑難解答