搭建Domino群集

HighCache發表於2009-08-07

搭建Domino群集

浙江省電力辦公自動化系統(以下簡稱:OA系統)是全省推廣,統一軟體、統一平臺、統一規劃與實施的一套大型應用系統。它的硬體平臺採用IBM的小型機AS/400,軟體採用Lotus Domino/Notes,並實施了在一臺小型機上配置多個Domino的方案。

嘉興電力局隨著市局、縣(市)OA系統單軌制的實施,對網路、伺服器的要求不斷提高,而以往採用的單機執行配置模式,已經無法滿足連續執行的要求。因此嘉興電力局在全省電力系統第一個實現了在AS/400伺服器環境下雙機執行、Domino群集方案。在軟體級解決了系統的雙工問題,使得任何一臺單機無法執行時,都不影響全域性OA的正常應用,從而實現系統和資料的高可用性。

嘉興電力局群集的規劃

嘉興電力局OA系統有兩臺AS/400 820小型機,每臺AS/400上配置兩塊千兆網路卡,作業系統版本是V5R1,分別執行3個和4個Domino服務,Domino的版本是R5.0.5。實施群集後,兩臺AS/400分別又增加了4個和3個Domino服務,使每臺伺服器執行7個Domino服務。在此,主要以一個Domino實施群集為例進行介紹。由於每臺AS/400配置雙網路卡,我們考慮為群集建立私有區域網,將群集透過伺服器探測和群集複製產生的網路通訊分離到私有區域網,這樣可更多地保留主區域網的可用頻寬。

群集的配置

配置Domino伺服器

以JXPHEPMA01/Serves/ZPEPC為例,首先,在同一Domino域中註冊另外一個Domino伺服器:JXPHEPMA02/Serves/ZPEPC。在JXPHEPMA01上安裝和配置JXPHEPMA02。

許可權設定

設定Domino群集中Administrator以及伺服器所需要的許可權:

(1) 設定建立資料庫副本的許可權

在JXPHEPMA01及JXPHEPMA02伺服器配置文件的安全性頁面上,把建立資料庫副本的許可權賦予系統管理員。

(2) 增加群組

群組名稱:JXPHEP_Cluster_01;

群組型別:多用途;

成員:JXPHEPMA01/Serves/ZPEPC ,JXPHEPMA02/Serves/ZPEPC。

(3) 修改資料庫存取控制

修改JXPHEPMA01伺服器上資料庫names.nsf、admin4.nsf、catalog.nsf、cldbdir以及所有應用資料庫的存取控制列表。在基本頁面上,新增JXPHEP_Cluster_01群組,

使用者型別:伺服器組;

存取級別:管理者。

在高階頁面上,

管理伺服器:JXPHEPMA01/Serves/ZPEPC

選中此資料庫的所有副本並採用相同的存取控制列表。完成存取控制設定後,群集伺服器就對資料庫及其副本有一致的控制許可權。

在群集伺服器上建立連線。

建立JXPHEPMA02/Serves/ZPEPC到JXPHEPMA01/Serves/ZPEPC一個連線。

建立群集

在 Domino Administrator 中,單擊“配置”附籤,展開“伺服器”,並單擊“所有伺服器文件”,選擇要新增到群集的伺服器:JXPHEPMA01/Serves/ZPEPC,JXPHEPMA02/Serves/ZPEPC,單擊“新增到群集中”,當詢問選擇要新增伺服器到其中的群集時,選擇“新建群集”,鍵入新群集的名稱:JXPHEP_Cluster_01。將上面的資料庫及所有應用資料庫都建立副本到JXPHEPMA02伺服器上。

建立私網

(1) AS/400增加IP地址。

在兩臺小型機的另外一塊網路卡上分別增加IP地址192.168.64.1 和 192.168.64.2,作為每個Domino的第二個IP地址。

(2) 群集伺服器新增埠。

在“伺服器”“設定埠”中新建埠,名稱:tcp;驅動器:TCP。在“伺服器”每個群整合員的“伺服器”文件的“埠”“Notes 網路埠”附籤中,新增為私有區域網,啟用新埠,如圖1所示。

圖1

(3) 修改NOTES.INI檔案。

從相應的子網為每個埠分配 IP 地址並且將資訊以下列格式寫入 NOTES.INI 檔案中:

PORT1_TcpIPAddress=0,a.b.c.d:1352

PORT2_TcpIPAddress=0,e.f.g.h:1352

其中 PORT1 和 PORT2 是埠名稱,a.b.c.d 和 e.f.g.h 是這些埠的 IP 地址。如:JXPHEPMA01埠名稱為 TCPIP 和 tcp,這些資訊如下所示:

TCPIP_TcpIPAddress=0, *.*.*.*:1352

tcp_TcpIPAddress=0,192.168.64.1:1352

Server_Cluster_Default_Port=tcp

然後重新啟動伺服器,讓修改的配置生效。
群集測試

狀態測試

在Domino伺服器的控制檯上鍵入:show cluster,出現Domino群集資訊,如圖2所示:

可以看出,群集中的伺服器狀態都正常。

複製分析

從“伺服器”、“分析”、“群集分析”,如圖2所示進入:

圖2

產生群集的分析報告,如圖3所示。

圖3

透過群集分析報告顯示的問題,對資料庫的存取控制列表進行修改,保證資料庫副本的完全一致性。

私網測試

為了確保群集複製使用私有區域網,為此,可以檢視群集統計資訊。單擊“伺服器”“統計資訊”附籤,展開群集的埠名,私有區域網埠tcp的下列統計資訊:BytesReceived,BytesSent;展開 Replica,Cluster,SessionBytes,並檢視下列群集複製統計資訊:In,Out。比較 tcp.portname.BytesReceived 和 Replica.Cluster.SessionBytes.In的值,tcp.portname.BytesSent 和 Replica.Cluster.SessionBytes.Out 的值,這些值應彼此非常接近,但並不相同,因為私有網路不僅用於群集複製。

郵件測試

(1) 在任意一個Domino伺服器上以某一身份向某使用者User1的郵箱發信,兩個伺服器重新整理後,能立即收到,速度也很快。

(2) 關掉管理伺服器JXPHEPMA01後,向User1發郵件,以User1的身份進去後能馬上收到郵件。

根據實際應用,再進行郵件的轉發、刪除等一系列測試工作,均可實現同步,則可以證明郵件的群集是成功的。

收發文的測試

在任意一個Domino伺服器上新建一個收發文的流程後,此流程的資料庫馬上在另一個Domino伺服器上得到更新。以相應許可權進去後,也能進入流程進行操作。關掉任意一個Domino伺服器後,收發文應能正常收取。

失效轉移測試

關掉JXPHEPMA01伺服器後,客戶端會自動連線到JXPHEPMA02伺服器上,在使用者層面上,沒有感覺,其它應用操作均正常,只有檢視當前資料庫屬性時才會發現目前使用的是JXPHEPMA02伺服器上的資料庫。

群集應用中存在的問題

(1) 應用資料庫新建後,副本不會自動在群集的另外一臺伺服器上建立,需要手工複製。而且新建的資料庫在複製前,首先要按照群集的要求修改資料庫存取控制列表,保證今後Domino群集中資料庫副本的一致性。

(2) 有些應用資料庫實時性很強,群集不能保證每一秒看到的兩個資料庫副本一摸一樣。兩個使用者分別在兩個群集伺服器上,對同一個資料庫的同一條文件進行操作時,兩邊的內容有可能會存在不一致性。針對這種情況,可以透過設定伺服器的有效閾值來解決,如果伺服器有效指標小於有效閾值,則伺服器被標記為 BUSY。伺服器標記為 BUSY 時,開啟資料庫的請求將重新定向到群集中的其它伺服器。在JXPHEPMA02伺服器NOTES.INI檔案中新增:

server_availability_threshold=100

這樣伺服器被標記為 BUSY。平常情況下,使用者只對JXPHEPMA01上的資料庫進行操作,不過群集間資料庫的複製照常進行,當JXPHEPMA01伺服器失敗時,使用者的操作轉移到JXPHEPMA02上。這樣保證了資料庫文件的一致性,不過群集的負載均衡就無法實現。

(3) 應用資料庫的副本不能實現文件的完全一致。這主要是資料庫設計時使用“讀者”域限制對特定文件的存取。在存取控制列表中具有“編輯者”(或更高)存取級別的使用者,若未列入“讀者”域中,也不能讀文件,更無法複製該文件。所以把伺服器增加到每個“讀者”域中,保證群集中的伺服器對資料庫的每個文件有讀取許可權,實現副本的一致。

Domino群集在AS/400上的實現,使得使用者可以實現無間斷的訪問資料,平衡伺服器間的工作負載,並且在擴大企業規模時保持執行。但是,Domino群集的真正實現還是體現在應用資料庫的群集實現,所以在資料庫設計階段就要把群集方案考慮進去,這樣才能達到真正意義上Domino群集的成功
資料引用:

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/184309/viewspace-1025015/,如需轉載,請註明出處,否則將追究法律責任。

相關文章