回到網頁內容 臺灣-繁體中文
HP.com 首頁 產品資訊 支�#169;及驅動程式 解決方案 如何購買
» 聯絡 HP
進階選項
HP.com 首頁
管理 Serviceguard 第十三版 > 第 5 章. 建構 HA 叢集配置

配置叢集

» 

技術文件

PDF 格式的完整書籍
» 回饋意見
內容©韟像B開©l

 » 目錄

 » 索引

本節敘述如何定義基本叢集配置。此項作業必須在不屬於 Serviceguard 叢集之一部分的系統上執行 (亦即在已安裝但並未配置 Serviceguard 的系統上)。

  • 如欲使用 Serviceguard 管理員以配置叢集,請開啟 System Management Homepage (SMH) 並選擇 Tools->Serviceguard Manager

    若需相關資訊,請參閱「使用 Serviceguard 管理員」

  • 如欲使用 Serviceguard 命令以配置叢集,請遵循下節的指示說明。

使用 Serviceguard 命令配置叢集

cmquerycl 命令指定將加入叢集的一組節點,並產生叢集配置檔範本。節點名稱需為 39 個字元以下。

附註: 指定節點名稱時不得包括網域名稱;例如,指定 ftsys9 而不是 ftsys9.cup.hp.com

下列為命令範例:

cmquerycl -v -C /etc/cmcluster/clust1.config -n ftsys9 -n ftsys10 

附註: 在具有許多節點、網路或磁碟的較大或較複雜的叢集配置中,cmquerycl 命令可能需要好幾分鐘才能執行完畢。為了加快配置程序的速度,您可以使用 -k-w 選項,要求命令僅傳回選定的資訊:

-k 會儘量減少部分磁碟探測功能,並且不會傳回潛在叢集鎖定容體群組以及鎖定實體容體的資訊。

-w local 讓您指定區域網路探測功能,並僅驗證每個節點之間的區域網路連線功能。

-w full 讓您指定完整的網路探測功能,驗證叢集中所有節點的所有區域網路介面之實際連線功能。此為預設值。

-w none 會跳過網路查詢步驟。最近若曾檢查過網路,則此選項可節省時間。

若需詳細資訊,請參閱cmquerycl(1m) 線上援助頁 (1M)

上述範例會建立 ASCII 範本檔,預設為 /etc/cmcluster/clust1.config。在此輸出檔案中,關鍵字與定義之間以空格分隔,檔案中可以輸入註解,註解前方最左邊的欄位必須加上井字號 (#)。

命令的 cmquerycl 線上援助頁可進一步定義此檔案中所出現的參數,其中有許多已於第 4 章「規劃與記錄 HA 叢集 」一章中說明。請依照您的需要,使用您填入叢集工作表的資料修改 /etc/cmcluster/clust1.config 檔案。

附註: HP 極力建議您修改檔案,以將心跳傳到所有可能的網路。

指定鎖定磁碟

雙節點叢集需要叢集鎖定磁碟或仲裁伺服器。所有節點必須能存取鎖定,且必須由節點分別供應鎖定的電源。若需相關資訊,請參閱第 3 章的「叢集鎖定」

如欲建立鎖定磁碟,請在叢集名稱後輸入鎖定磁碟資訊。鎖定磁碟必須位於叢集中所有節點皆可存取的 LVM 容體群組中。

cmquerycl 命令建立的 ASCII 範本中,提供的 FIRST_CLUSTER_LOCK_VGFIRST_CLUSTER_LOCK_PV 預設值,是連接至所有叢集節點之磁碟的容體群組和實體容體名稱;若有一個以上的磁碟,則會依據計算出來的最小故障轉移時間而得出。您需確認此磁碟符合您電源佈線的要求。必要時,請選擇其電源線路供應叢集中半數以下節點的磁碟。

若要顯示磁碟的故障轉移時間,請使用 cmquerycl 命令,指定叢集中的所有節點。這個命令的輸出會列出連接各個節點的磁碟,以及它們的重組時間。

切勿包括節點的整個網域名稱;例如,指定 ftsys9 而非 ftsys9.cup.hp.com
cmquerycl -v -n ftsys9 -n ftsys10 

cmquerycl 不會列印目前屬於叢集的容體群組之重組時間資訊。欲利用 cmquerycl 列印容體群組的重組時間,請執行 vgchange -c n <容體群組名稱>,以便自容體群組清除叢集 ID。接著,務必執行 vgchange -c y 容體群組名稱,以便將叢集 ID 重新寫回容體群組,例如:

vgchange -c y /dev/vglock

附註: 若您的配置沒有特別指明,您應配置第二個鎖定容體群組或實體容體。請參閱第 3 章「叢集鎖定」一節中有關「雙鎖定磁碟」的討論。

若您的配置要求您配置第二個叢集鎖定,請在叢集配置檔中輸入下列參數:

SECOND_CLUSTER_LOCK_VG /dev/容體-群組
SECOND_CLUSTER_LOCK_PV /dev/磁碟/區塊-特殊-檔案

其中 /dev/容體-群組為第二組容體群組的名稱,而區塊-特殊-檔案為選擇的容體群組中鎖定磁碟的實體容體名稱。每個節點均應增加這些設定,例如:

SECOND_CLUSTER_LOCK_VG /dev/vglock
SECOND_CLUSTER_LOCK_PV /dev/dsk/c4t0d0

或 (使用敏捷定位,請參閱「裝置檔案名稱 (裝置特殊檔案) 簡介」):

SECOND_CLUSTER_LOCK_VG /dev/vglock
SECOND_CLUSTER_LOCK_PV /dev/disk/disk100

亦請參閱「選擇叢集鎖定磁碟」

指定仲裁伺服器

欲指定仲裁伺服器而非鎖定磁碟,請使用含有 -q 選項的 cmquerycl 命令來指定仲裁伺服器的主機伺服器。範例:

# cmquerycl -n ftsys9 -n ftsys10 -q qshost

此例所產生的叢集 ASCII 檔案包括定義仲裁伺服器的參數。檔案內有關此部份的內容如下所示:

# Quorum Server Parameters. Use the QS_HOST, QS_POLLING_INTERVAL,
# and QS_TIMEOUT_EXTENSION parameters to define a quorum server.
# The QS_HOST is the host name or IP address of the system
# that is running the quorum server process. The
# QS_POLLING_INTERVAL (microseconds) is the interval at which
# The optional QS_TIMEOUT_EXTENSION (microseconds) is used to increase
# the time interval after which the quorum server is marked DOWN.
#
# The default quorum server interval is calculated from the
# Serviceguard cluster parameters, including NODE_TIMEOUT and
# HEARTBEAT_INTERVAL. If you are experiencing quorum server
# timeouts, you can adjust these parameters, or you can include
# the QS_TIMEOUT_EXTENSION parameter.
#
# For example, to configure a quorum server running on node
# "qshost" with 120 seconds for the QS_POLLING_INTERVAL and to
# add 2 seconds to the system assigned value for the quorum server
# timeout, enter:
#
# QS_HOST qshost
# QS_POLLING_INTERVAL 120000000
# QS_TIMEOUT_EXTENSION 2000000

輸入 QS_HOSTQS_POLLING_INTERVAL 和 (視需要) QS_TIMEOUT_EXTENSION

識別心跳子網路

叢集 ASCII 檔中包含心跳子網路上的 IP 位址項目。建議您使用專用的心跳子網路,不過,您亦可將其配置於其他子網路上,包括資料子網路。

心跳必須位在 IPv4 子網路上並需採用 IPv4 位址。不支援 IPv6 心跳。

附註: 若使用 VERITAS CVM 3.5 版磁碟群組,便僅能使用單一心跳子網路 (應為專用子網路)。此子網路上的每個系統都必須配置備用區域網路,以確定有高可用性的心跳路徑 (4.1 版配置可以有多個心跳)。並非所有系統皆支援 CVM,請參閱「VERITAS CFS 與 CVM 簡介」

指定配置套件的最大數量

指定叢集內最多可配置的套件。

參數值必須等於或大於叢集中目前配置的套件數量。數量包括所有類型的套件:故障轉移、多節點,與系統多節點。

Serviceguard A.11.17 版的預設值為 150,即每個叢集最多可擁有的所有套件數量。

附註: 請記得調整每一個節點上的 HP-UX 核心程式參數,以確保該參數能符合將在該節點上同時執行的套件最大數。

修改叢集定時參數

cmquerycl 命令會為 HEARTBEAT_INTERVALNODE_TIMEOUT 提供預設的叢集定時參數。改變這些參數,會直接影響叢集的重組及故障轉移時間。如果叢集偶爾會由於沉重的系統負載或網路通訊流量導致重組,可以考慮修改這些參數,以避免這類情形。

NODE_TIMEOUT 預設值設為 2 秒鐘,則會有最佳的故障轉移時間,30 秒。如果將 NODE_TIMEOUT 設定改為 10 秒鐘,表示叢集管理者需要等待 5 倍長的時間才能判定節點逾時,因而使故障轉移時間增加 5 倍,大約為 150 秒。NODE_TIMEOUT 應該至少為 HEARTBEAT_INTERVAL 的兩倍。根據經驗而言,一個 NODE_TIMEOUT 之內產生 2 到 3 次心跳者為佳。若需節點逾時的相關資訊,請參閱「節點逾時的情形」

最佳化

Serviceguard Extension for Faster Failover (SGeFF) 為另行購買的產品。若已安裝,則配置檔會顯示參數以便啟用。

SGeFF 可減少 Serviceguard 處理故障轉移時所花費的時間,但是無法改變套件和應用程式漸進式關機和重新啟動時需花費的時間。

如叢集配置範本檔中概述,SGeFF 需要叢集配置。

若需相關資訊,請參閱刊載於 http://www.docs.hp.com -> High Availability 的《《Serviceguard Extension for Faster Failover 版本需知》》。

亦請參閱可於 http://www.docs.hp.com -> High Availability -> Serviceguard -> White Papers 取得的《《Optimizing Failover Time in a Serviceguard Environment》》。

存取控制規則

從 Serviceguard A.11.16 版開始,存取控制規則允許非 root 使用者使用一般管理命令。

圖形使用者介面 Serviceguard 管理員的非 root 使用者必須有配置好的存取規則,以檢視和管理 Serviceguard 叢集和套件。在新的配置中,最好立即配置至少一個監視存取規則。

輸入文字時請檢查拼寫,特別是鍵入萬用字元如 ANY_USER
CLUSTER_MEMBER_NODE 時。若拼字錯誤,Serviceguard 會將其假定為特定使用者或節點,使得您可能無法配置所需的存取規則。

叢集上的 root 使用者可以在叢集執行時建立或修改存取規則。

若需相關資訊,請參閱「存取角色」「編輯安全性檔案」

新增容體群組

將已配置的 LVM 容體群組新增至 ASCII 叢集配置檔,且每個將在叢集中使用的可判別叢集之容體群組有個別的 VOLUME_GROUP 參數。使用 cmapplyconf 命令時,這些容體群組將以叢集 ID 初始化。此外,您應新增合適的容體群組、邏輯容體以及檔案系統資訊至啟用容體群組的每個套件控制命令集中。這項程序將於第 6 章中說明。

附註: 若使用 CVM 磁碟群組,應該利用「以 VERITAS 叢集容體管理員 (CVM) 建立儲存設備基本架構與檔案系統」中所說明的程序,在叢集配置完成後進行配置。VERITAS 磁碟群組會新增至套件配置檔,如第 6 章所述。並非所有系統皆支援 CVM,請參閱「VERITAS CFS 與 CVM 簡介」

驗證叢集配置

在 Serviceguard 管理員中按一下「檢查」按鈕以驗證配置。

如果您已使用命令行編輯 ASCII 叢集配置檔,請使用下列命令驗證檔案的內容:

cmcheckconf -k -v -C /etc/cmcluster/clust1.config 

兩種方式都會檢查下列項目

  • 網路位址與連線。

  • 叢集鎖定連接性 (若配置鎖定磁碟)。

  • 叢集與套件配置參數之正確性。

  • 名稱的獨特性。

  • 命令行中指定的命令集是否存在以及其權限。

  • 所有指定的節點是否位於同一心跳子網路。

  • 您是否指定錯誤的配置檔名稱。

  • 是否所有節點均可存取。

  • 僅指定一個 CLUSTER_NAMEHEARTBEAT_INTERVALAUTO_START_TIMEOUT

  • 套件執行與中止命令集逾時值不超過 4294 秒。

  • NODE_TIMEOUT 值至少是 HEARTBEAT_INTERVAL 值的兩倍。

  • AUTO_START_TIMEOUT 變數是 >=0。

  • 心跳網路最低要求。叢集中必須配置一個備用的心跳區域網路、兩個心跳區域網路、或一個沒有本機區域網路切換的心跳網路,但有一個配置為至少兩個介面之連結聚合的主要區域網路。

  • 至少指定一個 NODE_NAME

  • 每個節點是否均已連接到心跳網路。

  • 所有心跳網路均屬於同類型的區域網路。

  • 指定的網路介面裝置檔均為合法的區域網路裝置檔。

  • VOLUME_GROUP 項目目前並未標示為可判別叢集。

  • (在支援 CVM 的系統上) 若使用 CVM 3.5 版磁碟儲存設備,則僅配置一個心跳子網路。

如果叢集已經連線,檢查也會驗證是否符合配置中的所有特定變更狀況。

附註: 使用 -k 選項表示 cmcheckconf 僅檢查 ASCII 檔案中標示的 LVM 磁碟之磁碟連接是否正常。忽略 -k 選項 (預設動作) 代表 cmcheckconf 會測試所有節點上所有 LVM 的連接是否正常。使用 -k 可大幅提升命令作業的速度。

配送二進位配置檔

指定所有叢集參數後,即可套用配置。這項動作會將二進位配置檔配送到叢集中的所有節點。建議您在配置套件 (於下一章說明) 先進行這項作業。如此,您才可以在執行的叢集中,使用 cmviewcl 命令驗證叢集鎖定、心跳網路及其他叢集層次的作業是否正常。配送配置之前,先確認您的安全檔是否容許您在叢集節點之間複製檔案。請參閱本章開頭的「備妥您的系統」

使用 Serviceguard 管理員配送二進位檔案

資訊輸入完畢後,請按一下「套用」。

在命令行上配送二進位檔案

使用下列步驟產生二進位配置檔,並將配置配送到叢集中的所有節點:

  • 啟用叢集鎖定容體群組,如此便能初始化鎖定磁碟:

    vgchange -a y /dev/vglock  
  • 產生二進位配置檔,並將它配送至:

    cmapplyconf -k -v -C /etc/cmcluster/clust1.config   

    # cmapplyconf -k -v -C /etc/cmcluster/clust1.ascii
    附註: 使用 -k 選項表示 cmapplyconf 僅檢查 ASCII 檔案中標示的 LVM 磁碟之磁碟連接是否正常。忽略 -k 選項 (預設動作) 代表 cmapplyconf 會測試所有節點上所有 LVM 的連接是否正常。使用 -k 可大幅提升命令作業的速度。
  • 停用叢集鎖定容體群組

    vgchange -a n /dev/vglock  

cmapplyconf 命令會建立一個二進位版本的叢集,並將它配送到叢集中的所有節點。這個動作可確保檔案內容在所有節點上都一致。請注意,cmapplyconf 命令不會配送 ASCII 配置檔。

附註: 除非在套用前先在一個節點上啟用叢集鎖定容體群組,否則套用無法完成。但是先前已在相同的實體容體與容體群組上配置叢集鎖定者則不受限於此規定。

套用配置後需停用叢集鎖定容體群組。

儲存容體群組及叢集鎖定配置資料

配置叢集之後,請使用 vgcfgbackup 命令,為您建立的各個容體群組建立 LVM 容體群組配置備份。若需更換容體群組中的磁碟,您可以使用
vgcfgrestore 命令回復磁碟的中介資料 (metadata)。若需程序說明,請參閱第 8 章「叢集疑難排解」一章的「更換磁碟」一節。

請務必對所有容體群組使用 vgcfgbackup,特別是叢集鎖定容體群組。

附註: 不論您建立容體群組時是使用 System Management Homepage (SMH)、SAM 或 HP-UX 命令,都必須使用 vgcfgbackup 命令儲存叢集鎖定磁碟的配置資料複本。

如果叢集鎖定磁碟需在叢集執行時更換,則必須使用 vgcfgrestore 命令將鎖定資訊回復到替換的磁碟上。如果不進行這項作業,則所有鎖定磁碟的備援備份均失效,且替換機制或 LUN 均無法回復鎖定配置時,可能會導致整個叢集失效 (若叢集鎖定磁碟配置於磁碟陣列,RAID 保護會提供叢集鎖定資料的備援複本。MirrorDisk/UX 無法鏡射叢集鎖定資訊)。

可列印版本
隱私權聲明 使用範圍與著作權聲明
© Hewlett-Packard Development Company, L.P.