下面的小節介紹 SUSE® Linux Enterprise High Availability Extension 的系統要求和一些必要條件。此外,還提供了關於叢集設定的建議。
下面的清單指定了基於 SUSE® Linux Enterprise High Availability Extension 之叢集的硬體要求。這些要求代表最低硬體組態。依您打算如何使用叢集而定,您可能還需要其他硬體。
1 至 32 部安裝了第 2.2 節「軟體需求」 中所指定之軟體的 Linux 伺服器。伺服器不需要使用相同的硬體 (記憶體、磁碟空間,等等),但必須具有相同的架構。系統不支援跨平台叢集。
每個叢集節點至少有兩個 TCP/IP 通訊媒體。叢集節點使用多路廣播或單路廣播進行通訊,因此,網路設備必須支援您要使用的通訊方式。通訊媒體應支援 100 Mbit/s 或更高的資料速率。最好結合乙太網路通道。
選擇性:連接至叢集 (需要從該叢集存取磁碟子系統) 內所有伺服器的共享磁碟子系統。請參閱第 2.3 節「儲存需求」。
一個 STONITH 機制。STONITH 裝置是一種電源交換器,叢集可使用它重設系統認為已當機或行為異常的節點。這是確保懸置節點或只是呈現為失效狀態的節點不會損毀資料的唯一可靠方法。
確定下列軟體需求都已符合:
所有將要加入叢集的節點上都安裝了 SUSE® Linux Enterprise Server12 (包含所有可用的線上更新)。
所有將要加入叢集的節點上都安裝了 SUSE Linux Enterprise High Availability Extension 12 (包含所有可用的線上更新)。
如果您要使用地理叢集,請確定所有將要加入叢集的節點上都安裝了 Geo Clustering for SUSE Linux Enterprise High Availability Extension 12 (包含所有可用的線上更新)。
為了確保資料的高可用性,我們建議您為叢集使用共享磁碟系統 (儲存區域網路,即 SAN)。如果使用共享磁碟子系統,請注意下列事項:
已根據製造商的指示正確設定共用磁碟系統,而且可以正常運作。
共享磁碟系統中包含的磁碟應設定為使用鏡像複製或 RAID,以增強共享磁碟系統的容錯能力。建議使用硬體型 RAID。系統並不是對所有組態都支援主機型軟體 RAID。
如果使用 iSCSI 存取共用磁碟系統,必須確定已正確設定 iSCSI 啟動程式和目標。
使用 DRBD* 實作在兩台機器間配送資料的鏡像 RAID 系統時,請務必只存取 DRBD 提供的裝置,切勿存取備份裝置。請與叢集的其餘部分使用相同 (繫結) 的 NIC,以利用該處所提供的備援。
為了實現受支援且有用的高可用性設定,請考慮以下建議:
每個叢集必須至少包含兩個叢集節點。
強烈建議使用奇數數量的叢集節點,並且最少有三個節點。
叢集需要使用最低節點數來確保服務處於執行狀態。因此,三節點叢集只能容許每次有一個節點失敗,而五節點叢集可以容許兩個節點失敗,依此類推。
系統不支援沒有 STONITH 的叢集。
為了實現受支援的高可用性設定,請確保滿足以下條件:
高可用性叢集中的每個節點必須至少有一個 STONITH 裝置 (通常是一個硬體)。我們強烈建議為每個節點提供多個 STONITH 裝置,除非使用了 SBD。SBD 可讓您在叢集中啟用 STONITH 和圍籬區隔而無需外部電源開關,但它需要使用共享儲存。
全域叢集選項 stonith-enabled 和 startup-fencing 必須設定為 true。一旦變更這些選項,您將會失去支援。
為了實現受支援的高可用性設定,您需要透過兩個或更多個備援路徑建立叢集通訊。可以透過以下方式來實現︰
Corosync 中的另一個通訊通道。如需詳細資料,請參閱過程 3.6, “定義備援通訊通道”。
如果情況允許,請選擇網路裝置 Bonding。
叢集節點應與叢集外的 NTP 伺服器同步。如需詳細資訊,請參閱 http://www.suse.com/doc/ 上的《SUSE Linux Enterprise Server 12 管理指南》。詳情位於「使用 NTP 進行時間同步化」一章。
如果節點未同步化,將很難分析記錄檔案和叢集報告。
在所有節點上都必須相同。
編輯叢集中每個伺服器上的 /etc/hosts 檔案,以設定主機名稱解析。若要確保叢集通訊不會減慢且不會被任何 DNS 篡改:
使用靜態 IP 位址。
在此檔案中以完全合格的主機名稱和簡短主機名稱列出所有叢集節點。叢集的成員必須能夠籍由名稱找到彼此,這是一項基本要求。如果名稱不可用,內部叢集通訊將會失敗。
如需詳細資訊,請參閱 http://www.suse.com/doc 上的《SUSE Linux Enterprise Server 12 管理指南》。請參閱「基本網路」一章中的「使用 YaST 設定網路連線」>「設定主機名稱和 DNS」小節。
有些服務可能需要使用共享儲存。有關相應要求,請參閱第 2.3 節「儲存需求」。您也可以使用外部 NFS 共享或 DRBD。如果使用外部 NFS 共享,必須能夠從所有叢集節點透過備援通訊路徑可靠地存取該共享。請參閱備援通訊路徑。
如果使用 SBD 做為 STONITH 裝置,則共享儲存還需要滿足其他要求。如需詳細資料,請參閱 http://linux-ha.org/wiki/SBD_Fencing 上的「Requirements」(要求) 部分。
所有叢集節點必須能透過 SSH 互相存取。諸如 hb_report 或 crm_report (用於疑難排解) 等工具以及 Hawk 的,要求節點之間透過無密碼的 SSH 方式來存取,否則它們只能從目前節點收集資料。如果您使用的是非標準 SSH 連接埠,請使用 -X 選項 (請參閱 man 頁面)。例如,如果 SSH 連接埠為 3479,請使用以下指令呼叫 hb_report:
root # hb_report -X "-p 3479" [...] 如果無密碼 SSH 存取不符合法規要求,您可以對 crm_report 使用以下解決方式:
建立一個不需要密碼 (例如使用公用金鑰驗證) 便可登入的使用者。為此使用者設定 sudo,使其不再要求該使用者提供 root 密碼。在指令行上啟動 crm_report 時包含 -u 選項,以指定使用者名稱。如需詳細資訊,請參閱 crm_report man 頁面。
對於,目前還沒有其他方式可替代無密碼登入。