HACMP認證知識:應用程序兼容性

運行在某個獨立 AIX 服務器上的幾乎任何應用程序都可以通過使用 HACMP 集羣得到保護,從這個意義上講,HACMP 是一個靈活的高可用性解決方案。

HACMP認證知識:應用程序兼容性

在開始集羣應用程序規劃時,應該考慮以下方面:

與所使用的 AIX 版本的應用程序兼容性。與要實現用於高可用性的存儲方法的應用程序兼容性。還必須知道應用程序和平臺之間的所有相互依賴性,也就是所有應用程序文件的所有存儲位置(持久數據、臨時文件、套接字,以及管道——如適用的話)。還應該能夠提供無人蔘與的應用程序啓動/停止方法(腳本),並且應用程序必須能夠在重新啓動時從錯誤(例如,在運行應用程序的節點崩潰的情況下)中恢復。重要:如果應用程序無法在獨立節點上正常運行,或者不能確定所有的應用程序依賴性,請不要繼續進行 HACMP 實現!

如果計劃使用應用程序監視,則還應該提供應用程序監視工具(方法、行爲和腳本)。應用程序客戶端依賴性(服務器重新啓動時的客戶端行爲)。應用程序網絡依賴性(套接字、路由等等)許可證授權問題,也就是說,如果應用程序依賴 CPU ID,則應該考慮爲能夠承載應用程序的每個節點購買備用許可證。此外,如果應用程序基於處理器數量授予許可證,則在故障轉移情況下,要確保不會違背許可證授權。應用程序服務器

根據 HACMP 定義,應用程序服務器由一個腳本集合來表示,HACMP 使用這些腳本在激活資源組時啓動應用程序,或在將資源組置於離線時停止同一個應用程序。

在應用程序已啓動之後,HACMP 還可以監視該應用程序,並在應用程序不能正常運行時採取相應措施。應用程序監視可以在進程級別執行,還可以使用自定義方法來執行(例如,對於諸如數據庫引擎等多進程應用程序)。

注意:HACMP/ES V4.4 中已經引入了基於 RSCT 的事件管理功能 (EM) 的應用程序監視。從 HACMP V5.2 開始,事件管理已被取代爲資源監視和控制(Resource Monitoring and Control,RMC),後者在功能上是等效的,但是提供了更多的靈活性。從 HACMP V5.2 開始,還可以監視應用程序啓動。

HACMP 還提供了應用程序可用性分析工具,此工具對於審覈總體應用程序可用性和用於評估集羣環境非常有用。

  規劃 NFS 配置

HACMP 的典型應用之一是爲客戶端計算機和應用程序提供高可用性網絡文件系統 (HA-NFS)。這對於使用交叉掛載的網絡文件系統實現相互接管來說是非常有用的',在運行應用程序的集羣中尤其是如此。

從 HACMP V4.4 開始,HA-NFS 功能已集成到 HACMP 中,因此不再存在單獨的產品。

使用 NFS 時的一些注意事項:

對於將要通過 NFS 導出的共享卷組,卷組主編號(Major Number)在能夠提供該 VG 中的文件系統的所有集羣節點上都是相同的。

在 AIX 中,當您導出文件和目錄時,將使用 mknfsexp 命令,因此將創建/更新 /etc/exports 文件。另一方面,在 HACMP 中,必須在資源組配置中指定要導出和進行 NFS 裝入的文件系統和目錄。如果需要這些文件系統的任何可選配置,則應該創建 /usr/es/sbin/cluster/etc/exports 文件。對於具有要導出的文件系統的所有資源組,必須將“File systems Mounted before IP Address Configured”屬性設置爲“true”。HACMP 腳本包含缺省 NFS 行爲。您可能需要修改這些腳本以處理特定的配置。在 HACMP V5.1 中,除了級聯資源組外,還可以在循環或自定義資源組中配置高可用性 NFS。注意:NFS 鎖功能僅限於兩節點的集羣。此功能提供了可靠的 NFS 服務器能力,允許備份處理器在主 NFS 服務器發生故障時恢復當前 NFS 活動,從而將鎖保留在 NFS 文件系統和副本緩存 (dupcache) 上。

有關更多信息,請參見 HACMP for AIX 5L V5.1 Planning and Installation Guide,SC23-4861-02。

  許可證授權

大多數軟件供應商都要求,對於每臺物理計算機或多處理器 (SMP) 計算機中的每個處理器,每個應用程序應該使用一個唯一的許可證。通常,許可證激活代碼是在安裝時輸入的。

但是在 HACMP 環境中,在接管情況下,如果應用程序在不同的節點上重新啓動,您必須確保擁有用於新計算機的必需激活代碼(許可證);否則應用程序可能無法正常啓動。

應用程序還可能需要與節點綁定的唯一許可證(每個節點上的一個單獨許可證文件)。

有些應用程序還具有關於可在集羣中用於該應用程序的浮動許可證數量的限制。爲避免此問題,請確保您擁有用於每臺集羣節點計算機的足夠許可證,以便應用程序能夠同時在多個節點上運行(對於併發應用程序尤其是如此)。

  客戶端連接

在資源組接管期間,應用程序在另一個節點上啓動,因此客戶端必須知道該操作。在某些情況下,應用程序客戶端使用客戶端計算機上的 ARP 緩存來重新連接到服務器。在此情況下,存在兩種可能的情形:

包含該應用程序的服務 IP 的網絡將通過 IP 替換的 IPAT 用於本地管理的 MAC 地址接管(因而不必更新客戶端計算機 ARP 緩存)。每當發生網絡或節點事件,HACMP 就使用 clinfo 程序,此程序將調用 /usr/es/sbin/cluster/etc/ 腳本。缺省情況下,此操作將更新系統的 ARP 緩存和指定的客戶端 ARP 緩存,以反映對網絡地址的更改。如果需要進一步的操作,可以自定義此腳本。運行 clinfo 守護進程的客戶端將能夠在發生集羣事件後快速重新連接到集羣。

注意:如果使用通過 IP 別名的 IPAT,請確保所有客戶端都支持 TCP/IP 無故 ARP 功能。

如果 HACMP 節點和客戶端在同一個子網上,並且客戶端沒有運行 clinfo 守護進程,您可能必須通過從集羣節點 ping 該客戶端,從而間接更新本地 ARP 緩存。