本章說明如何重頭開始安裝和設定 SUSE® Linux Enterprise High Availability Extension 12 。選擇自動設定或手動設定。自動設定可讓您在數分鐘之內便擁有一個運作中的叢集 (您可以選擇在稍後調整任何選項),而手動設定則可讓您一開始就設定好個別選項。
若要移轉執行舊版 SUSE Linux Enterprise High Availability Extension 的叢集,或是更新屬於執行中叢集之節點上的軟體套件,請參閱附錄 D 升級叢集和更新軟體套件一章。
本章使用了一些術語,其定義如下。
「現存叢集」一詞用於指代至少包含一個節點的任一叢集。現存叢集擁有定義了通訊通道的基本 Corosync 組態,但目前不必擁有資源組態。
網路內進行一對多通訊所採用的一種技術,可用於叢集通訊。Corosync 支援多路廣播與單點傳播。如果多路廣播不符合您的企業 IT 政策,請改用單點傳播。
若要使用多路廣播進行叢集通訊,請確定您的交換器支援多路廣播。
mcastaddr)
Corosync 可執行檔用於多路廣播的 IP 位址。IP 位址可以是 IPv4 或 IPv6。如果使用的是 IPv6 網路,則必須指定節點 ID。您可以使用您私人網路中的任何多路廣播位址。
mcastport)
用於叢集通訊的連接埠。Corosync 使用兩個連接埠:用於接收多路廣播的指定 mcastport,以及用於傳送多路廣播的 mcastport -1。
一種將訊息傳送至單一網路目的地的技術。Corosync 支援多路廣播與單點傳播。在 Corosync 中,單點傳播是以 UDP 單點傳播 (UDPU) 的形式執行。
bindnetaddr)
Corosync 執行檔應該結合的網路位址。為方便在整個叢集中共享組態檔案,Corosync 使用了網路介面網路遮罩,以便僅遮罩用於路由網路的位址位元。例如,如果本地介面是 192.168.5.92 且網路遮罩是 255.255.255.0,請將 bindnetaddr 設為 192.168.5.0。如果本地介面是 192.168.5.92 且網路遮罩是 255.255.255.192,請將 bindnetaddr 設為 192.168.5.64。
由於所有節點上將使用相同的 Corosync 組態,因此請務必使用 bindnetaddr 這樣的網路位址,而不要使用特定網路介面的位址。
允許使用多重備援區域網路,以針對部分或全部網路錯誤提供恢復功能。如此一來,只要有一個網路正常運作,便仍可進行叢集通訊。Corosync 支援 Totem 備援環狀通訊協定。系統會對所有參與節點施加一個邏輯記號傳遞環,以安全穩妥地傳遞訊息。只有持有記號的節點才允許廣播訊息。若需更多資訊,請參閱http://www.rcsc.de/pdf/icdcs02.pdf。
如果 Corosync 中已定義備援通訊通道,請使用 RRP 告知叢集如何使用這些介面。RRP 有三種模式 (rrp_mode):
如果設為 active,Corosync 將會主動使用這兩個介面。
如果設為 passive,Corosync 會選擇性地透過可用網路傳送訊息。
如果設為 none,將會停用 RRP。
可用於在叢集中的所有節點間,甚至在地理叢集間複製組態檔案的同步工具。Csync2 可以處理任意數量、分屬不同同步群組的主機。每個同步群組都有其自己的主機成員清單,以及定義同步群組中應同步之檔案的包含/排除模式。群組、屬於各個群組的主機名稱以及各個群組的包含/排除規則皆在 Csync2 組態檔案 /etc/csync2/csync2.cfg 中指定。
Csync2 使用 IP 位址和預先共用金鑰在同步群組內進行驗證。您需要為每個同步化群組產生一個金鑰檔案,並將其複製到群組中的所有成員。
如需有關 Csync2 的詳細資訊,請參閱 http://oss.linbit.com/csync2/paper.pdf。
conntrack 工具使用這些工具可與內核連接追蹤系統互動,以對 iptables 啟用陳述封包檢查。High Availability Extension 使用它來在叢集節點之間同步連線狀態。如需詳細資訊,請參閱 http://conntrack-tools.netfilter.org/。
AutoYaST 這套系統可在不需使用者互動的情況下自動安裝一或多個 SUSE Linux Enterprise 系統。在 SUSE Linux Enterprise 上,您可以建立包含安裝與組態資料的 AutoYaST 設定檔。此設定檔會告訴 AutoYaST 要安裝什麼,及如何設定安裝的系統,以便最終部署一個即用系統。之後,可以採用多種方式使用此設定檔進行大規模部署 (例如,複製現存叢集節點)。
如需如何在不同情況下使用 AutoYaST 的詳細指示,請參閱 http://www.suse.com/doc 上的《SUSE Linux Enterprise 12 部署指南》。詳情位於「自動安裝」一章。
安裝並初始設定叢集時需要執行以下基本步驟。
使用 YaST 安裝該軟體套件。或者,也可以在指令行中使用 zypper 進行安裝︰
root #zypperin -t pattern ha_sles
初始設定叢集︰
在將會成為叢集成員的所有節點上安裝軟體後,需要執行以下步驟以初始設定叢集。
選擇性︰定義驗證設定
將組態傳輸至所有節點。由於 Csync2 的組態只是在一個節點上設定,因此所有節點上都需要啟動 Csync2 及 xinetd 服務。
選擇性︰同步叢集節點間的連接狀態
連線叢集。所有節點上都需要啟動 Corosync 服務。
可以採用自動方式 (使用開機程序檔) 也可以採用手動方式 (使用 YaST 叢集模組或指令行) 來執行叢集設定步驟。
如果您決定以自動方式設定叢集,請參閱第 3.4 節「自動設定叢集 (ha-cluster-bootstrap)」。
若要手動設定叢集 (或要在自動設定後調整任何選項),請參閱第 3.5 節「手動設定叢集 (YaST)」。
此外,您還可以將這兩種設定方法結合起來使用,例如︰使用 YaST 叢集設定一個節點,然後使用 ha-cluster-join 整合更多節點。
若要進行大規模部署,也可以透過 AutoYaST 複製現存節點。複製的節點將安裝相同的套件並具有相同的系統組態。如需詳細資料,請參閱第 3.6 節「使用 AutoYaST 進行大規模部署」。
高可用性安裝模式中包含了使用 High Availability Extension 設定與管理叢集所需的套件。此模式只在 SUSE Linux Enterprise High Availability Extension 已做為 SUSE® Linux Enterprise Server 的附加產品安裝後才能使用。如需如何安裝附加產品的資訊,請參閱 http://www.suse.com/doc 上的《SUSE Linux Enterprise 12 部署指南》。詳情位於「安裝附加產品」一章。
以 root 使用者身分啟動 YaST,然後選取 › 。
或者在指令行上以 root 身分使用 yast2 sw_single 啟動 YaST 模組。
從清單中選取,然後啟用模式清單中的模式。
按一下開始安裝套件。
高可用性叢集所需的軟體套件不會自動複製到叢集節點。
在所有將成為叢集成員的機器上安裝高可用性模式。
如果您不想手動在將成為叢集成員的所有節點上安裝 SUSE Linux Enterprise Server 12 和 SUSE Linux Enterprise High Availability Extension 12,可使用 AutoYaST 來複製現有節點。若需更多資訊,請參閱第 3.6 節「使用 AutoYaST 進行大規模部署」。
ha-cluster-bootstrap 套件中提供了使單節點叢集運作、將其他節點加入叢集以及從現有叢集中移除節點所需要的一切功能︰
使用 ha-cluster-init 可定義進行叢集通訊需要的基本參數,以及 (選擇性) 設定 STONITH 機制以保護您的共享儲存。如此可讓您擁有一個正常運作的單節點叢集。
使用 ha-cluster-join 可將更多節點新增到叢集中。
使用 ha-cluster-remove 可從叢集中移除節點。
所有指令都會執行開機程序檔,此類程序檔所需的時間極少,需要使用者手動介入。用於執行啟始化和加入操作的開機程序檔會自動在防火牆中開啟進行叢集通訊所需的連接埠。該組態會寫入 /etc/sysconfig/SuSEfirewall2.d/services/cluster。開機過程中設定的任何選項都可在之後使用 YaST 叢集模組加以修改。
啟動自動設定程序前,請先確定將成為叢集成員的所有節點都符合以下必要條件︰
符合第 2.2 節「軟體需求」 及第 2.4 節「其他要求與建議」 中列出的要求。
ha-cluster-bootstrap 套件已安裝。
網路已根據您的需要進行設定。例如,設定了用於叢集通訊的私人網路,以及網路裝置 bonding。如需 bonding 的相關資訊,請參閱第 10 章「網路裝置 Bonding」。
若要對您的共享儲存使用 SBD,您需要一個適用於 SBD 的共享區塊裝置。該區塊裝置不需要格式化。此外,需要準備一個適當的硬體監視程式裝置。如需詳細資訊,請參閱第 17 章「儲存保護」。
所有節點都必須能夠透過相同路徑 (/dev/disk/by-path/... 或 /dev/disk/by-id/...) 存取該共享儲存。
ha-cluster-init 指令會檢查 NTP 的組態,並引導您完成設定叢集通訊層 (Corosync) 組態的步驟,以及 (選擇性) SBD 組態設定步驟以保護您的共享儲存。
此外,您可以配合 -t 選項來執行程序檔,讓其根據樣板執行其他叢集組態。例如,ha-cluster-init -t ocfs2 會將部分共享儲存分割成兩塊:1 MB 用於 SBD,其餘的空間用於 OCFS2。如需該程序檔之功能範圍和選項的詳細資料,以及它可以建立和修改之檔案的綜覽,請參閱 ha-cluster-init man 頁面。
以 root 身分登入要做為叢集節點的實體或虛擬機器。
執行如下指令啟動開機程序檔
root #ha-cluster-init
如果 NTP 未設定為在開機時啟動,則會出現一則訊息。該程序檔還會檢查有無硬體監視程式裝置 (如果您要設定 SBD,這個裝置將非常重要),如果不存在此類裝置,將會向您發出警告。
如果您決定仍要繼續,該程序檔將會自動產生用於 SSH 存取及 Csync2 同步工具的密鑰,並啟動這兩項任務所需的服務。
若要設定叢集通訊層 (Corosync)︰
輸入要繫結到的網路位址。程序檔預設將建議 eth0 網路位址。您也可以輸入不同的網路位址,如 bond0 位址。
輸入多路廣播位址。程序檔會建議一個隨機位址,您可將其做為預設值。
輸入多路廣播連接埠。程序檔會建議預設值 5405。
若要設定 SBD (選擇性),請輸入要用於 SBD 的區塊裝置之分割區的永久路徑。該路徑必須在叢集的所有節點間保持一致。
最後,程序檔將啟動 Pacemaker 服務以使單節點叢集上線,並啟用 Web 管理介面 Hawk。Hawk 將要使用的 URL 會顯示在螢幕上。
如需該設定程序的任何詳細資料,請查看 /var/log/ha-cluster-bootstrap.log。
您現在便擁有了一個正常運作的單節點叢集。使用 crm status 檢查叢集狀態:
root # crm status
Last updated: Thu Jul 3 11:04:10 2014
Last change: Thu Jul 3 10:58:43 2014
Current DC: alice (175704363) - partition with quorum
1 Nodes configured
0 Resources configured
Online: [ alice ] 開機程序會建立名為 hacluster 且密碼為 linux 的 Linux 使用者。您登入 Hawk 時需要使用該資訊。請立即以安全的密碼取代預設密碼:
root #passwdhacluster
如果您的叢集處於正常運作狀態 (包含一或多個節點),您可以使用 ha-cluster-join 開機程序檔新增更多叢集節點。該程序檔只需要存取一個現存叢集節點,然後便會自動在目前機器上完成基本設定。請執行下列步驟。如需詳細資料,請參閱 ha-cluster-init man 頁面。
如果您已使用 YaST 叢集模組設定現有叢集節點,請在執行 ha-cluster-join 之前確定符合以下必要條件︰
現存節點上的 root 使用者已經準備好用於無密碼登入的 SSH 密鑰。
現存節點上已設定 Csync2。如需詳細資訊,請參閱過程 3.8, “使用 YaST 設定 Csync2”。
如果您目前是透過 Hawk 登入第一個節點,便可以追蹤叢集狀態的變更並檢視 Web 介面中啟動的資源。
以 root 身分登入要加入叢集的實體或虛擬機器。
執行如下指令啟動開機程序檔︰
root #ha-cluster-join
如果 NTP 未設定為在開機時啟動,則會出現一則訊息。該程序檔還會檢查有無硬體監視程式裝置 (如果您要設定 SBD,這個裝置將非常重要),如果不存在此類裝置,將會向您發出警告。
如果您決定仍要繼續,系統將提示您輸入現存節點的 IP 位址。請輸入 IP 位址。
如果之前未在這兩台機器之間設定無密碼 SSH 存取,此時系統還會提示您輸入現存節點的 root 密碼。
登入指定節點後,程序檔將會複製 Corosync 組態,設定 SSH 與 Csync2,並使目前機器以新叢集節點的身分上線。除此之外,它還會啟動 Hawk 所需的服務。如果您已設定包含 OCFS2 的共享儲存,程序檔還將自動為 OCFS2 檔案系統建立掛接點目錄。
對要新增至叢集的所有機器重複上述步驟。
如需該程序的詳細資料,請查看 /var/log/ha-cluster-bootstrap.log。
使用 crm status 檢查叢集狀態。如果您成功新增了另一個節點,輸出將如下所示:
root # crm status
Last updated: Thu Jul 3 11:07:10 2014
Last change: Thu Jul 3 10:58:43 2014
Current DC: alice (175704363) - partition with quorum
2 Nodes configured
0 Resources configured
Online: [ alice bob ]no-quorum-policy
新增所有節點後,請檢查您是否需要調整全域叢集選項中的 no-quorum-policy。這對包含兩個節點的叢集尤為重要。如需詳細資訊,請參閱第 4.1.2 節「no-quorum-policy 選項」。
如果您的叢集處於正常運作狀態 (至少包含兩個節點),您可以使用 ha-cluster-remove 開機程序檔從叢集中移除單個節點。您需要知道要從叢集中移除之節點的 IP 位址或主機名稱。請執行下列步驟。如需詳細資料,請參閱 ha-cluster-remove man 頁面。
以 root 身分登入其中一個叢集節點。
執行如下指令啟動開機程序檔︰
root #ha-cluster-remove-cIP_ADDR_OR_HOSTNAME
該程序檔會啟用 sshd,在指定的節點上停止 Pacemaker 服務,並傳播檔案以在其餘節點間與 Csync2 同步化。
如果您指定了主機名稱,但是無法聯繫上要移除的節點 (或該主機名稱無法解析),程序檔將告知您這一情況,並詢問您是否無論如何都要移除該節點。如果您指定了 IP 位址,但是無法聯繫上該節點,程序檔將要求您輸入主機名稱並確認是否無論如何都要移除該節點。
若要移除更多節點,請重複上述步驟。
如需該程序的詳細資料,請查看 /var/log/ha-cluster-bootstrap.log。
如果以後您需要重新新增已移除的節點,請使用 ha-cluster-join。如需詳細資訊,請參閱過程 3.3, “將節點新增至現存叢集”。
如需進行初始設定需要執行的所有步驟的綜覽,請參閱第 3.2 節「綜覽」。
以下各節將引導您透過 YaST 叢集模組完成每個設定步驟。若要存取該模組,請以 root 身分啟動 YaST,然後選取 › 。或者在指令行上使用 yast2 cluster 啟動模組。
第一次啟動叢集模組時會顯示精靈,指導您完成基本設定的所有步驟。如果並非第一次啟動,可以按一下左側面板上的類別,以存取每個步驟的組態選項。
YaST 叢集模組會自動在目前機器的防火牆中開啟進行叢集通訊所需的連接埠。該組態會寫入 /etc/sysconfig/SuSEfirewall2.d/services/cluster。
請注意,YaST 叢集模組中的部分選項僅適用於目前節點,其餘選項可能會自動傳送到所有節點。如需詳細資訊,請參閱以下各節。
若要讓叢集節點之間順利通訊,至少需定義一個通訊通道。
強烈建議您透過兩種或更多種備援途徑設定叢集通訊。可以透過以下方式來實現︰
Corosync 中的另一個通訊通道。如需詳細資料,請參閱過程 3.6, “定義備援通訊通道”。
如果情況允許,請選擇網路裝置 Bonding。
在叢集節點間進行通訊需要使用多路廣播 (UDP) 或單點傳播 (UDPU)。
在 YaST 叢集模組中,切換至類別。
若要使用多路廣播︰
將通訊協定設定為多路廣播。
定義。將此值設定為要用於叢集多路廣播的子網路。
定義。
定義。
輸入以上值後,您即為叢集定義了一個通訊通道。在多路廣播模式下,相同的 bindnetaddr、mcastaddr 及 mcastport 將會用於所有叢集節點。叢集中的所有節點透過使用相同的多路廣播位址瞭解彼此的存在。對於不同的叢集,請使用不同的多路廣播位址。
若要使用單點傳播︰
將通訊協定設定為單點傳播。
定義。將此值設定為要用於叢集單點傳播的子網路。
定義。
若要進行單點傳播通訊,Corosync 需要知道叢集中所有節點的 IP 位址。請對將成為叢集成員的每個節點按一下,然後輸入以下詳細資料:
(僅當在 Corosync 中使用了第二個通訊通道時,才需要指定)
(僅當停用了 選項時,才需要指定)
若要修改或移除叢集成員的任何位址,請使用或按鈕。
選項預設已啟用。如果您使用的是 IPv4 位址,則節點 ID 是選填資料;但如果使用的是 IPv6 位址,則節點 ID 是必填資料。若要為每個叢集節點自動產生唯一的 ID (與手動為每個節點指定 ID 相比,這種做法較不容易出錯),請將此選項保留為啟用狀態。
定義。
輸入。此值對 Corosync 非常重要,它要使用該值來為分割叢集計算最低節點數。依預設,每個節點的投票數為 1。必須與叢集中的節點數相符。
如果修改了現存叢集的任何選項,請確認您的變更並關閉叢集模組。YaST 會將此組態寫入 /etc/corosync/corosync.conf。
如有需要,依照下文所述定義另一個通訊通道。或者,按,然後繼續過程 3.7, “啟用安全驗證”。
如果網路裝置 Bonding 因某種原因而無法使用,次佳選擇就是在 Corosync 中定義備援通訊通道 (另一個環)。如此便可使用實體位置相互分隔的兩個網路進行通訊。如果一個網路發生故障,叢集節點仍然可以透過另一個網路進行通訊。
/etc/hosts
如果設定多個環狀網路,每個節點都可以擁有多個 IP 位址。這需要反映在所有節點的 /etc/hosts 檔案中。
在 YaST 叢集模組中,切換至類別。
啟用。備援通道必須使用您定義的第一個通訊通道所使用的相同通訊協定。
如果使用多路廣播,請為備援通道定義、及。
如果使用單點傳播,請定義及,然後輸入將成為叢集成員的所有節點的 IP 位址。
現在,您便已在 Corosync 中定義了另一個通訊通道,這將構成又一個記號傳遞環。在 /etc/corosync/corosync.conf 中,主要環狀網路 (即您設定的第一個通道) 的環狀網路編號為 0,第二個環狀網路 (備援通道) 的環狀網路編號為 1。
若要指示 Corosync 如何及何時使用這兩個不同的通道,請選取要使用的(active 或 passive)。如需這些模式的詳細資訊,請參閱備援環狀通訊協定 (RRP) 或按一下。一旦使用 RRP,便會使用串流控制傳輸協定 (SCTP) 替代 TCP 進行節點間的通訊。High Availability Extension 會監控目前各環的狀態,並在發生故障後自動重新啟用備援環。或者,您也可以使用 corosync-cfgtool 手動檢查環狀網路狀態。請使用 -h 檢視可用選項。
如果只定義了一個通訊通道,則會自動停用(設為 none 值)。
如果修改了現存叢集的任何選項,請確認您的變更並關閉叢集模組。YaST 會將此組態寫入 /etc/corosync/corosync.conf。
若要進一步設定叢集組態,請按並繼續第 3.5.3 節「定義驗證設定」。
/etc/corosync/corosync.conf.example 中提供了 UDP 設定的範例檔案。/etc/corosync/corosync.conf.example.udpu 中則提供了 UDPU 設定的範例。
下一步是定義叢集的驗證設定。您可以使用 HMAC/SHA1 驗證,這種驗證方式需要使用共享密碼來保護和驗證訊息。您指定的驗證金鑰 (密碼) 將用於叢集中的所有節點。
在 YaST 叢集模組中,切換至類別。
啟動。
針對新建立的叢集按一下。系統即會建立一個驗證金鑰並將其寫入 /etc/corosync/authkey。
如果要讓目前機器加入現存叢集,請不要產生新的金鑰檔案,而是將現存叢集某個節點中的 /etc/corosync/authkey 複製到目前機器 (以手動方式或使用 Csync2)。
如果修改了現存叢集的任何選項,請確認您的變更並關閉叢集模組。YaST 會將此組態寫入 /etc/corosync/corosync.conf。
若要進一步設定叢集組態,請按並繼續第 3.5.4 節「將組態傳輸至所有節點」。
您應當使用 csync2 工具在叢集中的所有節點間複製產生的組態檔案,而不是手動將其複製到所有節點。
若要如此,您需要執行下列基本步驟︰
Csync2 會幫助您追蹤組態變更,並在叢集節點之間保持檔案同步。
您可以定義對操作而言非常重要的檔案清單。
您可以顯示這些檔案的變更 (針對其餘叢集節點)。
您可以使用單一指令同步化設定的檔案。
透過 ~/.bash_logout 中的一個簡單外圍程序程序檔,您在從系統登出之前可以收到變更未同步的提醒。
http://oss.linbit.com/csync2/ 和 http://oss.linbit.com/csync2/paper.pdf 上提供了關於 Csync2 的詳細資訊。
在 YaST 叢集模組中,切換至類別。
若要指定同步群組,請在群組中按一下,然後輸入叢集中所有節點的本地主機名稱。對於每個節點,都必須使用 hostname 指令傳回的字串。
如果主機名稱解析無法在您的網路中正常運作,您也可對每個叢集節點指定主機名稱與 IP 位址的組合。要這樣做,請使用字串主機名稱@IP,例如 alice@192.168.2.100。然後,Csync2 將在連接時使用 IP 位址。
按一下建立同步化群組的金鑰檔案。建立的金鑰檔案會寫入 /etc/csync2/key_hagroup。建立之後,必須手動將其複製到叢集的所有成員。
若要在清單中填入所有節點間執行同步化通常所需的檔案,請按一下。
若要在待同步檔案的清單中、或檔案,則使用相應的按鈕。您必須輸入各個檔案的絕對路徑名稱。
按一下以啟動 Csync2。如此會執行以下指令,以在開機時自動啟動 Csync2:
root #systemctlenable csync2.socket
如果修改了現存叢集的任何選項,請確認您的變更並關閉叢集模組。隨後,YaST 會將 Csync2 組態寫入 /etc/csync2/csync2.cfg。若現在要啟動同步程序,請繼續過程 3.9, “使用 Csync2 同步組態檔案”。
若要進一步設定叢集組態,請按並繼續第 3.5.5 節「同步叢集節點間的連接狀態」。
若要使用 Csync2 成功同步檔案,請確定符合以下必要條件︰
所有節點上都設定了相同的 Csync2 組態。在依照過程 3.8, “使用 YaST 設定 Csync2” 所述設定檔案 /etc/csync2/csync2.cfg 後,手動將其複製到所有節點。建議您將此檔案加入欲使用 Csync2 同步之檔案的清單中。
將您在步驟 3 中於一個節點上產生的 /etc/csync2/key_hagroup 檔案複製到叢集中的所有節點上。Csync2 在進行驗證時需要使用該檔案。但是,請不要在其於節點上重新產生此檔案,因為在所有節點上,該檔案都必須相同。
所有節點上都必須執行 Csync2 與 xinetd。
在所有節點上執行以下指令,以在開機時自動啟動這兩項服務並立即啟動 xinetd︰
root #systemctlenable csync2.socketroot #systemctlenable xinetd.serviceroot #systemctlstart xinetd.service
在要從中複製組態的節點上,執行如下指令︰
root #csync2-xv
此操作會將所有檔案推送到其餘節點,從而一次即同步所有檔案。如果成功同步了所有檔案,Csync2 完成時不會顯示任何錯誤。
如果要同步的一或多個檔案在其他節點上 (不僅僅是目前節點上) 進行了修改,Csync2 將報告有衝突。輸出內容與以下類似︰
While syncing file /etc/corosync/corosync.conf: ERROR from peer hex-14: File is also marked dirty here! Finished with 1 errors.
如果您確定目前節點上的是檔案的「最佳」版本,可以透過強制使用此檔案並重新同步來解決衝突︰
root #csync2-f/etc/corosync/corosync.confcsync2-x
如需有關 Csync2 選項的詳細資訊,請執行 csync2 。
-help
Csync2 僅會推送變更,而不會持續在節點間同步檔案。
每次對需要同步的檔案進行更新時,都需要將變更推入至其於節點︰在您進行了變更的節點上執行 csync2 。如果在未變更檔案的任何其他節點上執行該指令,系統不會執行任何操作。
-xv
若要對 iptables 啟用陳述封包檢查,請執行下列基本步驟來設定並使用 conntrack 工具︰
為 conntrackd 設定資源 (類別︰ocf,提供者︰heartbeat)。如果使用 Hawk 新增資源,請使用 Hawk 建議的預設值。
設定 conntrack 工具之後,可以將其用於 Linux 虛擬伺服器,請參閱載入平衡。
conntrackd #
使用 YaST 叢集模組設定使用者空間 conntrackd。該工具需要一個不會用於其他通訊通道的專屬網路介面。之後,可透過資源代辦啟動該精靈。
在 YaST 叢集模組中,切換至類別。
選取一個用於同步連接狀態的。系統會自動偵測到所選介面的 IPv4 位址並在 YaST 中顯示。該介面必須已設定並支援多路廣播。
定義用於同步連接狀態的。
在中,定義要與之同步連接狀態的群組數字 ID。
按一下以建立 conntrackd 的組態檔案。
如果修改了現存叢集的任何選項,請確認您的變更並關閉叢集模組。
若要進一步設定叢集組態,請按並繼續第 3.5.6 節「設定服務」。
conntrackd #在 YaST 叢集模組中定義是否要在節點開機時啟動某些服務。您還可以使用該模組手動啟動和停止服務。若要使叢集節點上線並啟動叢集資源管理員,必須以服務形式執行 Pacemaker。
在 YaST 叢集模組中,切換至類別。
若要在此叢集節點每次開機時都啟動 Pacemaker,請在群組中選取相應的選項。如果在群組中選取,則每次此節點開機後,您都必須手動啟動 Pacemaker。若要手動啟動 Pacemaker,請使用以下指令:
root #systemctlstart pacemaker.service
若要立即啟動或停止 Pacemaker,請按一下相應的按鈕。
如果修改了現存叢集節點的任何選項,請確認您的變更並關閉叢集模組。請注意,該組態僅適用於目前機器,而非所有叢集節點。
如果初始叢集設定都是透過 YaST 叢集模組進行的,那麼此時基本組態步驟便已結束。繼續執行 第 3.5.7 節「連線叢集」。
完成初始叢集組態設定之後,請在每個叢集節點上啟動 Pacemaker 服務,以使堆疊上線︰
登入現存節點。
檢查該服務是否已在執行︰
root #systemctlstatus pacemaker.service
如果未在執行,請立即啟動 Pacemaker:
root #systemctlstart pacemaker.service
對每個叢集節點重複上述步驟。
在其中一個節點上,使用 crm status 指令檢查叢集狀態。如果所有節點都已上線,則輸出應如下所示︰
root # crm status
Last updated: Thu Jul 3 11:07:10 2014
Last change: Thu Jul 3 10:58:43 2014
Current DC: alice (175704363) - partition with quorum
2 Nodes configured
0 Resources configured
Online: [ alice bob ]此輸出表示叢集資源管理員已啟動,並可以管理資源。
完成基本組態設定並使節點上線之後,便可開始設定叢集資源。您可以使用一種叢集管理工具,例如 crm 外圍程序 (crmsh) 或 HA Web Konsole。如需更多資訊,請參閱第 6 章「設定和管理叢集資源 (指令行)」或第 5 章「設定和管理叢集資源 (Web 介面)」。
部署現有節點之副本的叢集節點時可以採用以下程序。複製的節點將安裝相同的套件並具有相同的系統組態。
本案例假設您要將 SUSE Linux Enterprise High Availability Extension 12 部署到硬體組態完全一樣的一組機器上。
如果要在不相同的硬體上部署叢集節點,請參閱《SUSE Linux Enterprise 12 部署指南》「自動安裝」一章中的「以規則為基礎的自動安裝」一節,該文件的網址為 http://www.suse.com/doc。
確定已正確安裝並設定要複製的節點。如需詳細資料,請分別參閱第 3.3 節「安裝為附加產品」、第 3.4 節「自動設定叢集 (ha-cluster-bootstrap)」 或第 3.5 節「手動設定叢集 (YaST)」。
依照《SUSE Linux Enterprise 12 部署指南》中的概要描述,進行簡單的大規模安裝。基本步驟包括以下幾項︰
建立 AutoYaST 設定檔。請使用 AutoYaST GUI 在現存系統組態的基礎上建立一個設定檔並加以修改。在 AutoYaST 中,選擇模組,然後按一下按鈕。如有需要,調整其他模組中的組態,並將產生的控制檔案儲存為 XML 檔案。
如果您已設定 DRBD,也可以在 AutoYaST GUI 中選取並複製此模組。
指定 AutoYaST 設定檔的來源,以及要傳遞給其他節點的安裝常式的參數。
指定 SUSE Linux Enterprise Server 與 SUSE Linux Enterprise High Availability Extension 安裝資料的來源。
指定及設定自動安裝的開機程序。
透過手動新增參數或建立 info 檔案的方式,將指令行傳遞給安裝常式。
啟動和監控自動安裝程序。
成功安裝副本後,請執行以下步驟將複製的節點加入叢集︰
依照第 3.5.4 節「將組態傳輸至所有節點」 所述使用 Csync2 將金鑰組態檔案從設定的節點傳輸到複製的節點。
若要使節點上線,請依照第 3.5.7 節「連線叢集」所述在複製的節點上啟動 Pacemaker 服務。
複製的節點現在將加入叢集,因為 /etc/corosync/corosync.conf 檔案已透過 Csync2 套用至複製的節點。CIB 會自動在叢集節點間同步。