跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Linux Enterprise High Availability Extension 文件 / 管理指南 / 安裝、設定和升級 / 升級叢集和更新軟體套件
適用範圍 SUSE Linux Enterprise High Availability Extension 15 SP3

5 升級叢集和更新軟體套件

本章介紹兩種不同的方案:將叢集升級到另一個版本的 SUSE Linux Enterprise High Availability Extension (主要版本或 Service Pack),以及更新叢集節點上的個別套件。請參閱第 5.2 節 「將叢集升級至產品的最新版本」第 5.3 節 「更新叢集節點上的軟體套件」

如果您要升級叢集,請在開始升級之前查閱第 5.2.1 節 「SLE HA 和 SLE HA Geo 支援的升級路徑」第 5.2.2 節 「升級前的必要準備」

5.1 術語

下面將介紹本章中使用的最重要的術語定義:

主要版本, 正式發行 (GA) 版本

主要版本是一個新的產品版本,增加了新功能和工具並停用了先前已取代的元件。其含有不可反向相容的變更。

叢集離線升級

如果新產品版本包含不可回溯相容的重大變更,則需要透過叢集離線升級來升級叢集。需要先將所有節點離線並將叢集做為一個整體進行升級,然後才能將所有節點恢復線上狀態。

叢集滾存升級

執行叢集滾存升級時,每次會升級一個叢集節點,此時,叢集的其他節點仍在執行中。您可以將第一個節點離線,進行升級,然後再將其恢復線上狀態以加入叢集。然後,需要對每個節點重複上述程序,直到所有叢集節點都升級為主要版本。

Service Pack (SP)

將多個修補程式合併為一種易於安裝或部署的形式。Service Pack 都指定了編號,通常包含程式的安全性修正、更新、升級或增強。

更新

安裝某個套件的較新次要版本,其中通常包含安全修復和其他重要修復。

升級

安裝套件或套裝作業系統的較新主要版本,會引入新功能。另請參閱叢集離線升級叢集滾存升級

5.2 將叢集升級至產品的最新版本

支援哪種升級路徑以及如何執行升級,取決於目前產品版本以及您要移轉至的目標版本。

High Availability Extension 支援的升級路徑與基礎系統支援的升級路徑相同。如需完整綜覽,請參閱《SUSE Linux Enterprise Server 升級指南》中的 SUSE Linux Enterprise Server 15 SP3 支援的升級路徑 一節。

此外,由於高可用性叢集堆疊提供了兩種升級叢集的方法,以下規則也適用:

  • 叢集滾存升級僅在同一主要版本內支援叢集滾存升級 (從一個 Service Pack 升級至下一個 Service Pack,或從產品的 GA 版本升級至 SP1)。

  • 叢集離線升級若要從一個主要版本升級至下一個主要版本 (例如,從 SLE HA 12 升級至 SLE HA 15),或者從一個主要版本中的 Service Pack 升級至下一個主要版本 (例如,從 SLE HA 12 SP3 升級至 SLE HA 15),需要執行叢集離線升級。

第 5.2.1 節 列出了 SLE HA (Geo) 支援的從一個版本升級至下一個版本的升級路徑和方法。相關詳細資料欄列出了您應參閱的特定升級文件 (還包括基礎系統和 Geo Clustering for SUSE Linux Enterprise High Availability Extension)。此文件可從以下位置取得:

重要
重要:升級後不支援混合叢集和回復
  • 不支援在 SUSE Linux Enterprise High Availability Extension 12/SUSE Linux Enterprise High Availability Extension 15 上執行混合叢集。

  • 執行了升級到產品版本 15 的程序之後,將支援還原到產品版本 12。

5.2.1 SLE HA 和 SLE HA Geo 支援的升級路徑

升級來源與目標

升級路徑

相關詳細資料

從 SLE HA 11 SP3 到

SLE HA (Geo) 12

叢集離線升級

  • 基礎系統:SLES 12 的《部署指南》中的「更新和升級 SUSE Linux Enterprise」部分

  • SLE HA:從產品版本 11 升級至 12:叢集離線升級

  • SLE HA Geo:SLE HA 12 的《Geo 叢集快速入門》中的「從 SLE HA (Geo) 11 SP3 升級至 SLE HA Geo 12」一節

從 SLE HA (Geo) 11 SP4 到 SLE HA (Geo) 12 SP1

叢集離線升級

  • 基礎系統:SLES 12 SP1 的《部署指南》中的「更新和升級 SUSE Linux Enterprise」部分

  • SLE HA:從產品版本 11 升級至 12:叢集離線升級

  • SLE HA Geo:SLE HA 12 SP1 的《Geo 叢集快速入門》中的「升級至最新產品版本」一節

從 SLE HA (Geo) 12 到 SLE HA (Geo) 12 SP1

叢集滾存升級

  • 基礎系統:SLES 12 SP1 的《部署指南》中的「更新和升級 SUSE Linux Enterprise」部分

  • SLE HA:執行叢集滾存升級

  • SLE HA Geo:SLE HA 12 SP1 的《Geo 叢集快速入門》中的「升級至最新產品版本」一節

從 SLE HA (Geo) 12 SP1 到 SLE HA (Geo) 12 SP2

叢集滾存升級

  • 基礎系統:SLES 12 SP2 的《部署指南》中的「更新和升級 SUSE Linux Enterprise」部分

  • SLE HA:執行叢集滾存升級

  • SLE HA Geo:SLE HA 12 SP2 的《Geo 叢集快速入門》中的「升級至最新產品版本」一節

  • DRBD 8 到 DRBD 9:從 DRBD 8 移轉到 DRBD 9

從 SLE HA (Geo) 12 SP2 到 SLE HA (Geo) 12 SP3

叢集滾存升級

  • 基礎系統:SLES 12 SP3 的《部署指南》中的「更新和升級 SUSE Linux Enterprise」部分

  • SLE HA:執行叢集滾存升級

  • SLE HA Geo:SLE HA 12 SP3 的《Geo 叢集指南》中的「升級至最新產品版本」一節

從 SLE HA (Geo) 12 SP3 到 SLE HA (Geo) 12 SP4

叢集滾存升級

  • 基礎系統:SLES 12 SP4 的《部署指南》中的「更新和升級 SUSE Linux Enterprise」部分

  • SLE HA:執行叢集滾存升級

  • SLE HA Geo:SLE HA 12 SP4 的《Geo 叢集指南》中的「升級至最新產品版本」一節

從 SLE HA (Geo) 12 SP3 到 SLE HA (Geo) 15

叢集離線升級

從 SLE HA (Geo) 12 SP4 到 SLE HA (Geo) 12 SP5

叢集滾存升級

從 SLE HA (Geo) 12 SP4 到 SLE HA (Geo) 15 SP1

叢集離線升級

從 SLE HA (Geo) 12 SP5 到 SLE HA (Geo) 15 SP2

叢集離線升級

從 SLE HA (Geo) 15 到 SLE HA (Geo) 15 SP1

叢集滾存升級

從 SLE HA (Geo) 15 SP1 到 SLE HA (Geo) 15 SP2

叢集滾存升級

從 SLE HA (Geo) 15 SP2 到 SLE HA (Geo) 15 SP3

叢集滾存升級

注意
注意:跳過 Service Pack

最簡單的升級路徑是循序安裝所有 Service Pack。對於 SUSE Linux Enterprise 15 產品系列 (GA 和後續 Service Pack),還支援在升級時跳過某個 Service Pack。例如,支援從 SLE 15 GA 升級至 15 SP2,或從 SLE 15 SP1 升級至 15 SP3。

5.2.2 升級前的必要準備

備份

確保您的系統備份是最新版本且可還原。

測試

在線上環境中執行升級程序前,請先在叢集設定的臨時例項上測試該程序。這樣,您便可以預估維護期所需的時間範圍。這也有助於偵測和解決可能會出現的任何非預期問題。

5.2.3 叢集離線升級

本節適用於以下案例:

如果您的叢集仍然以早期的產品版本而不是上面所列版本為基礎,請先將它升級至 SLES 和 SLE HA 的某個版本,而該版本可用做升級至所需目標版本的來源。

程序 5.1︰ 從產品版本 11 升級至 12:叢集離線升級

The High Availability Extension 12 叢集堆疊的各個元件包含重大變更 (例如 /etc/corosync/corosync.conf、OCFS2 的磁碟格式)。因此,不支援從任何 SUSE Linux Enterprise High Availability Extension 11 版本進行叢集滾存升級。所有叢集節點都必須處於離線狀態,並且需要依照所述升級整個叢集。

  1. 登入每個叢集節點,並使用以下指令停止叢集堆疊:

    root # rcopenais stop
  2. 將每個叢集節點都升級至 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 的所需目標版本 — 請參閱第 5.2.1 節 「SLE HA 和 SLE HA Geo 支援的升級路徑」

  3. 完成升級程序後,將裝有 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 升級版本的每個節點重新開機。

  4. 如果在叢集設定中使用了 OCFS2,請執行以下指令更新裝置上的結構:

    root # o2cluster --update PATH_TO_DEVICE

    它會為磁碟新增額外參數。SUSE Linux Enterprise High Availability Extension 12 和 12 SPx 隨附的已更新 OCFS2 版本需要這些參數。

  5. 若要更新 Corosync 版本 2 的 /etc/corosync/corosync.conf

    1. 登入某個節點,然後啟動 YaST 叢集模組。

    2. 切換到通訊通道類別,並輸入以下新參數的值:叢集名稱預期投票數。如需詳細資料,請分別參閱程序 4.1 「定義第一個通訊通道 (多路廣播)」程序 4.2 「定義第一個通訊通道 (單點傳播)」

      如果 YaST 偵測到對 Corosync 版本 2 無效或缺失的任何其他選項,它會提示您變更這些選項。

    3. 確認您在 YaST 中所做的變更。YaST 會將組態寫入 /etc/corosync/corosync.conf

    4. 如果為叢集設定了 Csync2,請使用以下指令將更新的 Corosync 組態推入至其於叢集節點:

      root # csync2 -xv

      如需 Csync2 的詳細資料,請參閱第 4.5 節 「將組態傳輸至所有節點」

      或者,也可以透過將 /etc/corosync/corosync.conf 手動複製到所有叢集節點的方式來同步化更新的 Corosync 組態。

  6. 登入每個節點,並使用以下指令啟動叢集堆疊:

    root # crm cluster start
  7. 使用 crm status 或 Hawk2 檢查叢集狀態。

  8. 將以下服務設定為在開機時啟動:

    root # systemctl enable pacemaker
    root # systemctl enable hawk
    root # systemctl enable sbd
注意
注意:升級 CIB 語法版本

有時,新功能只能在最新的 CIB 語法版本中使用。升級至新的產品版本時,預設不會升級 CIB 語法版本。

  1. 使用以下指令檢查版本:

    cibadmin -Q | grep validate-with
  2. 使用以下指令升級至最新的 CIB 語法版本:

    root # cibadmin --upgrade --force
程序 5.2︰ 從產品版本 12 升級至 15:叢集離線升級
重要
重要:從頭開始安裝

如果您決定從頭開始安裝叢集節點 (而不是升級它們),請參閱第 2.2 節 「軟體要求」以取得 SUSE Linux Enterprise High Availability Extension 15 SP3 所需的模組清單。如需模組、延伸及相關產品的詳細資訊,請參閱 SUSE Linux Enterprise Server 15 的版本說明。您可以從 https://www.suse.com/releasenotes/ 上取得這些文件。

  1. 在開始離線升級至 SUSE Linux Enterprise High Availability Extension 15 之前,請如注意:升級 CIB 語法版本所述手動升級目前叢集中的 CIB 語法。

  2. 登入每個叢集節點,並使用以下指令停止叢集堆疊:

    root # crm cluster stop
  3. 將每個叢集節點都升級至 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 的所需目標版本 — 請參閱第 5.2.1 節 「SLE HA 和 SLE HA Geo 支援的升級路徑」

  4. 完成升級程序後,請登入每個節點,並將安裝了 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 升級版的每個節點開機。

  5. 如果您使用叢集 LVM,則需要從 clvmd 移轉至 lvmlockd。請參閱 lvmlockd 的 man 頁面中的「changing clvm VG to lockd VG」(將 clvm VG 變更為 lockd VG) 部分,另請參閱第 22.4 節 「從鏡像 LV 線上移轉至叢集 MD」

  6. 使用以下指令啟動叢集堆疊:

    root # crm cluster start
  7. 使用 crm status 或 Hawk2 檢查叢集狀態。

5.2.4 叢集滾存升級

本節適用於以下案例:

  • 從 SLE HA 12 升級到 SLE HA 12 SP1

  • 從 SLE HA 12 SP1 升級至 SLE HA 12 SP2

  • 從 SLE HA 12 SP2 升級至 SLE HA 12 SP3

  • 從 SLE HA 12 SP3 升級至 SLE HA 12 SP4

  • 從 SLE HA 12 SP4 升級至 SLE HA 12 SP5

  • 從 SLE HA 15 升級到 SLE HA 15 SP1

  • 從 SLE HA 15 SP1 升級至 SLE HA 15 SP2

  • 從 SLE HA 15 SP2 升級至 SLE HA 15 SP3

依據情況使用以下其中一個程序:

  • 如果要進行較為一般的滾存升級,請參閱程序 5.3

  • 如果要進行特定的滾存升級,請參閱程序 5.4

警告
警告:使用中的叢集堆疊

在開始升級某個節點之前,請停止該節點上的叢集堆疊。

如果節點上的叢集資源管理員在軟體更新期間處於使用中狀態,可能會導致圍籬區隔使用中節點等結果。

重要
重要:叢集滾存升級的時間限制

只有將所有叢集節點升級至最新產品版本之後,才可使用最新產品版本隨附的新功能。在叢集滾存升級期間,只有一段較短的時間支援混合版本叢集升級。請在一週內完成叢集滾存升級。

當所有線上節點執行的都是升級的版本後,其他使用舊版本的節點不升級就無法 (重新) 加入叢集。

程序 5.3︰ 執行叢集滾存升級
  1. root 使用者身分登入要升級的節點,並停止叢集堆疊:

    root # crm cluster stop
  2. 升級至 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 的所需目標版本。若要瞭解個別升級程序的詳細資料,請參閱第 5.2.1 節 「SLE HA 和 SLE HA Geo 支援的升級路徑」

  3. 在已升級的節點上啟動叢集堆疊,讓該節點重新加入叢集:

    root # crm cluster start
  4. 讓下一個節點離線,並對其重複執行此程序。

  5. 使用 crm status 或 Hawk2 檢查叢集狀態。

    如果偵測到您的叢集節點有不同的 CRM 版本,Hawk2 狀態螢幕還會顯示一則警告。

重要
重要:滾存升級的時間限制

只有將所有叢集節點升級至最新產品版本之後,才可使用最新產品版本隨附的新功能。在滾存升級期間,只有一段較短的時間支援混合版本叢集。請在一週內完成滾存升級。

如果偵測到您的叢集節點有不同的 CRM 版本,Hawk2 狀態螢幕還會顯示一則警告。

除了本機升級之外,許多客戶更喜歡進行全新安裝,即使是要升級至下一個 Service Pack 時也是如此。下面的程序顯示雙節點叢集 (包含節點 alice 和 bob) 升級至下一個 Service Pack (SP) 的情況:

程序 5.4︰ 執行新 Service Pack 的叢集範圍全新安裝
  1. 備份叢集組態。下面的清單中顯示了至少應備份的檔案:

    /etc/corosync/corosync.conf
    /etc/corosync/authkey
    /etc/sysconfig/sbd
    /etc/modules-load.d/watchdog.conf
    /etc/hosts
    /etc/ntp.conf

    依據您的資源,您可能還需要備份以下檔案:

    /etc/services
    /etc/passwd
    /etc/shadow
    /etc/groups
    /etc/drbd/*
    /etc/lvm/lvm.conf
    /etc/mdadm.conf
    /etc/mdadm.SID.conf
  2. 先從節點 alice 開始。

    1. 將節點置於待命模式。這樣便能將資源移出節點:

      root # crm --wait node standby alice reboot

      使用 --wait 選項,該指令僅會在叢集完成轉換並變為閒置狀態時傳回。reboot 選項可使節點一旦重新上線就已脫離待命模式。儘管 reboot 選項的名稱是重新開機,但只要節點離線後又上線,該選項就會發揮作用。

    2. 停止節點 alice 上的叢集服務:

      root # crm cluster stop
    3. 此時,alice 不再有任何執行中資源。升級節點 alice,完成後將其重新開機。假定叢集服務不會在系統開機時啟動。

    4. 步驟 1 中的備份檔案複製到原始位置。

    5. 將節點 alice 重新加入叢集:

      root # crm cluster start
    6. 檢查資源是否正常。

  3. 對節點 bob 重複步驟 2

5.3 更新叢集節點上的軟體套件

警告
警告:使用中的叢集堆疊

啟動某節點的套件更新之前,請停止該節點上的叢集堆疊,或將該節點置於維護模式,具體視叢集堆疊是否受影響而定。如需詳細資料,請參閱步驟 1

如果節點上的叢集資源管理員在軟體更新期間處於使用中狀態,可能會導致圍籬區隔使用中節點等結果。

  1. 在節點上安裝任何套件更新之前,請檢查以下幾點:

    • 更新是否會影響屬於 SUSE Linux Enterprise High Availability Extension 或 Geo Clustering for SUSE Linux Enterprise High Availability Extension 的任何套件?如果,請在開始軟體更新前先在節點上停止叢集堆疊:

      root # crm cluster stop
    • 更新套件是否需要重新開機?如果,請在開始軟體更新前先在節點上停止叢集堆疊:

      root # crm cluster stop
    • 如果不屬於以上任一種情況,則不需要停止叢集堆疊。在此情況下,請在開始軟體更新前將節點置於維護模式:

      root # crm node maintenance NODE_NAME

      如需維護模式的詳細資料,請參閱第 17.2 節 「用於維護任務的不同選項」

  2. 使用 YaST 或 Zypper 來安裝套件更新。

  3. 在成功安裝更新後:

    • 啟動相應節點上的叢集堆疊 (如果在執行步驟 1 時已將它停止):

      root # crm cluster start
    • 或者移除維護旗標,使節點恢復正常模式:

      root # crm node ready NODE_NAME
  4. 使用 crm status 或 Hawk2 檢查叢集狀態。

5.4 更多資訊

如需所升級產品目標版本的任何變更及新功能的詳細資訊,請參閱其版本說明,這些文件可從 https://www.suse.com/releasenotes/ 取得。