PowerHA 6.1 DARE 的功能介紹


1.DARE功能介紹

       PowerHA 6.1 提供了 cluster 動態調整的功能,即在 cluster 處於活動的狀態時,動態地對 cluster 拓撲和資源進行變更,這個功能就稱作 Dynamic Automatic Reconfiguration Event,簡稱 DARE

       DARE 功能的實現是它通過對 HACMP ODM 信息三份副本的維護來實現的:

圖 1.PowerHA 6.1 ODM 信息存放位置示意圖
圖 1.PowerHA 6.1 ODM 信息存放位置示意圖

PowerHA 通過對三份 PowerHA 配置拷貝的維護,可以實現在一個節點進行配置變更,然後將配置動態地同步到其它節點,這是DARE 功能實現的前提條件

DARE 功能的實現包括以下 5 步:

第一步,我們在 cluster 中一個節點使用 SMIT 或者命令行對 cluster 進行變更操作,變更信息被同步到本地 DCD 中;

第二步,當我們對 cluster 同步(Extended Verification and Synchronization )的時候,變更信息將會從 DCD 同步到本地 SCD 和 cluster 其它節點的 SCD 中;

第三步,對當前 ACD 信息的 snapshot 是 PowerHA 自動完成的,這個快照(snapshot)用於回滾(roll back)時使用;

第四步,cluster 各個節點的 SCD 覆蓋其 ACD 的信息,然後 cluster manger 重新讀取 ACD 的信息並進行更新;

第五步,整個 cluster 變更信息更新完以後,各個節點上 SCD 臨時信息將會被刪除;

圖 2.PowerHA 6.1 DARE 功能實現示意圖
圖 2.PowerHA 6.1 DARE 功能實現示意圖圖2

DARE 的功能要求 cluster 中節點的 PowerHA 版本相同否則無法實現。

         對於一個穩定運行、沒有 DARE 操作的 cluster 節點中SCD 是不存在的SCD 存在有兩種情況:DARE 在進行中或者 DARE 操作已經失敗

當同步(synchronization)的過程中,cluster 的一個節點出現錯誤,將會導致 DARE 操作失敗。這時候 SCD 的信息將不會被刪除。SCD 會生成鎖,阻止新的 DARE 操作,這也是 cluster 爲了避免錯誤進一步擴大化的一種保護機制。


圖 3.PowerHA DARE fail 示意圖
圖 3.PowerHA DARE fail 示意圖

當 SCD 鎖產生的時候,我們必須手動刪除這個鎖,也就是手動刪除 SCD 的信息,再重啓 cluster 服務,否者可能會造成節點 cluster 配置信息不一致,可能會導致 cluster 節點的崩潰(crash)。


#smit hacmp - Problem Determination Tools - 
Release Locks Set By Dynamic Reconfiguration
圖 4.SCD lock 解鎖方法
圖 4.SCD lock 解鎖方法


2.SCD鎖機制

關於 SCD 鎖機制的作用,可以舉例來進行說明:

例如有一個雙節點的 cluster,名字爲 super。節點分別爲 ibm1 和 ibm2。在 cluster 運行正常的情況下,我們進行 DARE 操作,例如,在 ibm1 上給 cluster 添加一個新的資源組 rg1, 在 ibm1 上操作成功以後(變更信息保存到本地 DCD 中),進行 Extended Verification and Synchronization,同步的過程也是將變更信息從 ibm1 本地 DCD 向 ibm1 的 SCD 和 ibm2 的 SCD 拷貝的過程,如果此時 ibm2 發生錯誤,例如宕機,cluster 同步失敗。此時 ibm1 和 ibm2 上的 SCD 信息都是不完整的。但此時 ibm1 節點的 cluster 服務不受影響,因爲 cluster manger 依然可以從 ibm1 的 ACD 讀取 cluster 配置信息,但是由於 SCD 的存在,會產生鎖,這個鎖阻止新 DARE 操作。這種情況下,當 ibm2 節點恢復正常以後,我們就需要按照上圖所示,手動解鎖,這樣新的 DARE 操作才能進行。

同樣,對於這個例子,如果在我們進行 Extended Verification and Synchronization 操作的時候,ibm1 節點出現宕機,這時 ibm1 和 ibm2 上的 SCD 信息都是不完整的,也不會被刪除。這種情況下,ibm2 上 cluster 服務工作是正常的,因爲 cluster manger 讀取的是 ibm2 本地的 ACD 信息。在 ibm1 系統恢復正常以後,我們也需要手動解除 SCD lock,這樣新的 DARE 操作才被允許。

還有一種情況,是我們在一個節點進行 cluster 變更以後,發現這個變更是不合理的,因此不想也不能做 cluster 同步操作,因此,我們就要在這個節點上進行回滾操作,回滾操作讀取的快照是最近一次成功做的 DARE 操作步驟中的第三步自動生成的。

 #smit hacmp - Problem Determination Tools - 
 Restore HACMP Configuration Database from Active Configuration
圖 5. 回滾操作的方法
圖 5. 回滾操作的方法

3.PowerHA 6.1 DARE 支持的功能

PowerHA 6.1 支持的動態變更包括 ( 但不限於 ):

  1. 增加或刪除節點;
  2. 增加或刪除網絡接口;
  3. 增加或刪除一個 HACMP 網絡;
  4. 熱交換一塊網卡;
  5. 修改網絡模塊參數;
  6. 給別名網絡增加一個新的心跳;
  7. 將一個活動的網絡設置成別名網絡心跳;
  8. 更改一個別名網絡中心跳的 IP 地址;
  9. 在別名網絡中增加、更改或者刪除一個網絡接口或者節點配置;

對於以上列出的幾種 cluster 變更,可以在 cluster 服務不停止的情況下動態完成。

4.PowerHA 6.1 DARE 不支持的常見 cluster 變更

常見的 PowerHA 6.1 不支持的 cluster 變更包括:修改 cluster 節點 IP 地址、修改 Service IP、修改 cluster 名、修改節點主機名。對於這四種類型的操作,對應的變更方式如下:

圖 6.PowerHA 6.1 DARE 不支持的常見 cluster 變更實現方式
圖 6.PowerHA 6.1 DARE 不支持的常見 cluster 變更實現方式

在文章接下來的部分,會採取實驗的方式進行說明。


5.DARE 不支持的常見 cluster 變更實現方法

首先需要指出的兩點:

  1. 由於實驗環境的限制,試驗中並未配置磁盤心跳,生產環境下,爲了提高心跳的冗餘性,建議配置磁盤心跳。
  2. 本章節中所涉及的四項操作,均在實驗室完成。在生產環境下,則需要首先停止應用,再進行相關的操作,否則將會對生產環境產生很大的不良影響(如業務中斷)。

PowerHA 6.1 相關項修改採取探討性的方式,遵循兩個原則:第一,使用對現有 cluster 改動少的方式修改相關的配置;第二,PowerHA 的校驗(Extended Verification and Synchronization )和啓動 (clstart) ,均採取非強制模式(Force synchronization if verification fails?=No;Ignore verification errors?=No ),確保 cluster 在非強制模式下可以同步和啓動成功 , 這樣才能保證 cluster 沒有任何 Error 級別的錯誤。

由於文章涉及的 SMIT 菜單選項操作較多,因此,關聯菜單的選擇路徑在文中第一次出現以後,後面涉及到的地方就不在進行詳細描述。

本章中涉及到的常用命令如下:

啓動 cluster:#smit clstart;

停止 cluster:#smit clstop;

查看 cluster 拓撲:/usr/es/sbin/cluster/clstat;

查看資源組狀態:/usr/es/sbin/cluster/utilities/clfindres 或 clRGinfo;

變更以後需要刷新 cluster 進程:

# refresh -s clstrmgrES
# refresh -s clinfoES(clstat 無顯示一般是此進程未啓動)

修改雙機節點 IP 地址

首先,查看已經 PowerHA 拓撲

#clstat

Figure xxx. Requires a heading

下面,我們將節點 ha61_g11c35 的兩個 BootIP 分別改成 :172.16.14.138 和 172.16.15.138

首先,停止運行的 cluster:smit clstop, 停止成功以後:

修改 cluster 中兩個節點的 /etc/hosts 配置文件中對應的 IP:

Figure xxx. Requires a heading

其次,我們需要將 en0 的 IP 修改爲 172.16.14.138(smit tcpip),將 en1 的 IP 修改爲 172.16.15.13, 修改完畢以後,進行查看:

Figure xxx. Requires a heading

將 cluster 刪除,smit hacmp--Extended Configuration-- Extended Topology Configuration--Configure an HACMP Cluster--Remove an HACMP Cluster

Figure xxx. Requires a heading

刪除成功以後,重新創建 cluster,rg 並添加相應的資源,具體配置 cluster 的步驟,本文不進行描述。

Cluster 重新配置完以後,先進行:Discover HACMP-related Information from Configured Nodes, 再進行同步 #smit hacmp-- Extended Configuration--Extended Verification and Synchronization ,確保這兩步可以成功。

同步成功以後,重新啓動 cluster:#smit clstart

Figure xxx. Requires a heading

然後查看 cluster 的拓撲,可以看出,節點 ha61_g11c35 的節點 IP 已經修改成功。

Figure xxx. Requires a heading

查看資源組的運行情況 , 資源組運行正常:

Figure xxx. Requires a heading

修改 Service IP

首先查看現有的 service IP:

Figure xxx. Requires a heading

現在兩個 service IP 分別爲 :172.16.50.170 和 171,我們分別將其修改爲 : 172.16.50.172 和 172.16.50.173.

首先停掉雙機 :#smit clstop

接下來,修改雙機兩個節點的 /etc/hosts 文件:

Figure xxx. Requires a heading

修改完畢以後,刪除兩個資源組 #smit hacmp-- Initialization and Standard Configuration--Configure HACMP Resource Groups--Remove a Resource Group

Figure xxx. Requires a heading

再添加資源組,並將 Service IP,VG 和 application 重新添加到資源組中 ( 具體配置本文不做描述 ),然後執行 Exended Verification and Synchronization 同步,可以成功;啓動 cluster 的時候,可以看到 serviceIP 已經可以正常啓動:

從命令輸出來看,浮動 IP 地址修改已經成功。

#clstat

Figure xxx. Requires a heading

修改 cluster 名

查看現有 cluster 的名字爲 cluster1,將其改爲 ibm1.

Figure xxx. Requires a heading

首先停止 cluster:

#smit clstop

Figure xxx. Requires a heading

接下來,修改 cluster name:#smit hacmp- Extended Configuration--Extended Topology Configuration--Configure an HACMP Cluster--Add/Change/Show an HACMP Cluster

Figure xxx. Requires a heading

修改成功以後, Extended Verification and Synchronization, 可以成功。

接下來,啓動 cluster,可以成功 , 可以看出,cluster name 已經被成功修改:

Figure xxx. Requires a heading

修改節點主機名

首先查看 cluster 節點的名稱,分別爲 : ha61_g11c35 和 ha61_g11c36,我們接下來將其改成 ibm1 和 ibm2,並把 cluster 的名字改成 beijing

Figure xxx. Requires a heading

執行 #smit clstop 停止雙機,將 cluster 徹底刪除,#smit hacmp--Extended Configuration-- Extended Topology Configuration--Configure an HACMP Cluster--Remove an HACMP Cluster

然後重新配置,添加新的節點 ibm1 和 ibm2,然後按照配置 cluster 的步驟,添加資源組已經相應的資源,配置完畢以後,重新同步 cluster#smit hacmp-- Extended Configuration--Extended Verification and Synchronization ,可以成功(具體配置不進行描述)。

#smit clstart

Figure xxx. Requires a heading

Cluster 啓動成功以後,查看狀態,可以發現,cluster node name 已經成功修改。

Figure xxx. Requires a heading



本文 整理自IBM官網 :http://www.ibm.com/developerworks/cn/aix/library/1205_weixy_powerhadare/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章