Sun Cluster 系統管理指南 (適用於 Solaris 作業系統)

第 8章 修補 Sun Cluster 軟體與韌體

本章提供新增與移除 Sun Cluster 配置之修補程式的程序。

以下是本章所介紹程序的清單。

修補 Sun Cluster 概觀

由於叢集本身的性質,所有的叢集成員節點必須在同一個修補層次,叢集才能夠正常運作。 在節點上修補具有 Sun Cluster 修補程式的節點時,您可能需要從叢集成員暫時移除節點或者停止整個叢集,然後再安裝修補程式。 本節說明這些步驟。

在套用 Sun Cluster 修補程式之前,請先檢查 Sun Cluster 網頁有無特別指示,如果需要目前的 URL,請參閱Sun Cluster Release Notes for Solaris OS,或與企業服務代表聯絡。 如果網頁中沒有特別的指示,再檢查修補程式的 README 檔。


註解 –

對於 Sun Cluster 的修補,務必要遵循修補程式的 README 檔,其中的指示優先於本章的程序。


所有叢集節點的修補程式安裝可分成以下情況:


註解 –

基礎叢集通訊協定不會因為修補程式而改變。


使用 patchadd 指令來套用修補程式到叢集,以及 patchrm 來移除修補程式 (必要時)。

Sun Cluster 修補程式秘訣

使用以下秘訣有助於您更有效地管理 Sun Cluster 修補程式:

修補 Sun Cluster

表 8–1 對應作業: 修補叢集

作業  

如需相關說明,請參閱...  

將不要重新開機的 Sun Cluster 修補程式一次套用到一個節點,而不必停止節點 

如何套用不要重新開機的 Sun Cluster 修補程式

將叢集成員切換至非叢集模式之後,套用要重新開機的 Sun Cluster 修補程式 

如何套用要重新開機的修補程式 (節點)

 

如何套用要重新開機的修補程式 (叢集與韌體)

移除 Sun Cluster 修補程式 

    - 如有必要,您可退出修補程式 

如何移除 Sun Cluster 修補程式

如何套用要重新開機的修補程式 (節點)

在處理修補程式期間,將修補程式一次套用至叢集中的一個節點,以保持叢集自身處於作業狀態。 使用這個程序,您必須先關閉節點,並使用 boot -sxb -sx 指令,以單一使用者模式啟動該節點,然後才能套用修補程式。

  1. 在套用修補程式之前,先檢查 Sun Cluster 產品網頁有無特殊的安裝前、安裝後相關指示。

  2. 在您要套用修補程式的節點上成為超級使用者。

  3. 列示要修補之節點上的資源群組與裝置群組。


    # scrgadm -pv
    # scstat
    

  4. 將所有的資源群組、資源及裝置群組從要修補的節點切換到其他叢集成員。


    # scswitch -S -h node[,...]
    

    -S

    從指定節點撤出所有裝置群組與資源群組。

    -h node[,...]

    指定您要用來切換資源群組及裝置群組的節點。

  5. 關閉節點。


    # shutdown -g0 [-y] [-i0]

  6. 以非叢集單一使用者模式啟動節點。

    • SPARC︰


      ok boot -sx
      

    • x86︰


                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      Boot args:
      
      Type    b [file-name] [boot-flags] <ENTER>  to boot with options
      or      i <ENTER>                           to enter boot interpreter
      or      <ENTER>                             to boot with defaults
      
                        <<< timeout in 5 seconds >>>
      Select (b)oot or (i)nterpreter: b -sx
      

  7. 套用修補程式。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    指定修補程式的目錄位置。

    patch-id

    指定修補程式的修補程式編號。


    註解 –

    務必遵循取代本章敘述之程序的修補程式目錄中的指示。


  8. 將節點重新開機為叢集。


    # reboot
    

  9. 確認已成功安裝修補程式。


    # showrev -p | grep patch-id
    

  10. 確認修補程式可以作業,並且節點與叢集正常作業。

  11. 對其餘的叢集節點重複 步驟 2步驟 10

  12. 在需要時可切換資源群組、資源及裝置群組。

    重新啟動所有的節點後,最後一個重新啟動的節點不會使資源群組及裝置群組連線。


    # scswitch -z -D  device-group[,...]-h node[,...]
    # scswitch -z -g  resource-group[,...]-h nod[,...]e
    

    -z

    指定對主要資源群組或裝置群組所做的變更。

    -h node[,...]

    指定您要用來轉換資源群組及裝置群組的節點。

    -D

    將指定的裝置群組切換至 -h 選項所識別的節點上。

    -g

    將指定的資源群組切換至 -h 選項所識別的節點上。 如果未指定 -h,資源群組將會離線。

範例—套用要重新開機的修補程式 (節點)

以下範例顯示將將要重新開機的 Sun Cluster 修補應用程式套用到節點。


# scrgadm -pv
...
RG Name: schost-sa-1
...
# scstat
...
Device Group Name:											dg-schost-1
...
# scswitch -S -h phys-schost-2
# shutdown -g0 -y -i0
...

以非叢集單一使用者模式啟動節點。


...
# patchadd -M /tmp/patches 234567-05
...
# reboot
...
# showrev -p | grep 234567-05
# scswitch -z -D dg-schost-1 -h phys-schost-1
# scswitch -z -g schost-sa-1 -h phys-schost-1

下一步

如果您需要移除修補程式,請參閱 如何移除 Sun Cluster 修補程式

如何套用要重新開機的修補程式 (叢集與韌體)

使用這個程序,您必須在套用修補程式之前,先關閉叢集,然後使用 boot -sxb -sx 指令,以單一使用者模式啟動每一個節點。

  1. 在套用修補程式之前,先檢查 Sun Cluster 產品網頁有無特殊的安裝前、安裝後相關指示。

  2. 成為叢集中任何節點的超級使用者。

  3. 關閉叢集。


    # scshutdown -y -g grace-period message
    

    -y

    對確認提示指定回答 yes (是)。

    -g grace-period

    指定關機前的等待秒數, 預設的寬限期為 60 秒。

    message

    指定要廣播的警告訊息。 如果 message 含有多個字,請使用引號括住。

  4. 以非叢集單一使用者模式啟動每一個節點。

    在每一個節點的主控台上,執行下列指令。

    • SPARC︰


      ok boot -sx
      

    • x86︰


                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      Boot args:
      
      Type    b [file-name] [boot-flags] <ENTER>  to boot with options
      or      i <ENTER>                           to enter boot interpreter
      or      <ENTER>                             to boot with defaults
      
                        <<< timeout in 5 seconds >>>
      Select (b)oot or (i)nterpreter: b -sx
      

  5. 套用軟體或韌體修補程式。

    一次對一個節點執行下列指令。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    指定修補程式的目錄位置。

    patch-id

    指定修補程式的修補程式編號。


    註解 –

    務必遵循取代本章敘述之程序的修補程式目錄中的指示。


  6. 確認修補程式已成功安裝在每個節點上。


    # showrev -p | grep patch-id
    

  7. 在所有的節點套用修補程式後,將節點重新開機至叢集。

    在每一個節點上執行下列指令。


    # reboot
    

  8. 確認修補程式可運作,以及節點與叢集正常運作。

範例—套用要重新開機的修補程式 (叢集)

以下範例顯示將要重新開機的 Sun Cluster 修補應用程式套用到叢集。


# scshutdown -g0 -y
...

以非叢集單一使用者模式啟動叢集。


...
# patchadd -M /tmp/patches 234567-05
(Apply patch to other cluster nodes)
...
# showrev -p | grep 234567-05
# reboot

下一步

如果您需要移除修補程式,請參閱 如何移除 Sun Cluster 修補程式

如何套用不要重新開機的 Sun Cluster 修補程式

將修補程式一次套用至叢集中的一個節點。 在套用不要重新開機的修補程式時,您不必先關閉接收修補程式的節點。

  1. 在套用修補程式前,先查閱 Sun Cluster 產品網頁有無特殊的安裝前、安裝後相關指示。

  2. 對單一節點套用修補程式。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    指定修補程式的目錄位置。

    patch-id

    指定修補程式的修補程式編號。

  3. 確認已成功安裝修補程式。


    # showrev -p | grep patch-id
    

  4. 確認修補程式可以運作,節點與叢集都運作正常。

  5. 對其餘的叢集節點重複 步驟 2步驟 4

範例—套用不要重新開機的 Sun Cluster 修補程式


# patchadd -M /tmp/patches 234567-05
...
# showrev -p | grep 234567-05

下一步

如果您需要移除修補程式,請參閱 如何移除 Sun Cluster 修補程式

如何移除 Sun Cluster 修補程式

如有必要,您可以退出 (移除) Sun Cluster 修補程式。

  1. 在您要移除修補程式的節點上成為超級使用者。

  2. 列示要移除修補之節點上的資源群組與裝置群組。


    # scrgadm -pv
    # scstat
    

  3. 將所有的資源群組、資源以及裝置群組從要移除修補程式的節點上,切換至其他叢集成員。


    # scswitch -S -h node[,...]
    

    -S

    從指定的節點撤出所有的裝置服務與資源群組。

    -h node[,...]

    指定要從此節點切換出資源群組及裝置群組。

  4. 關閉節點。


    # shutdown -g0 -y -i0 message
    

    -g0

    指定關機前的等待秒數, 預設的寬限期為 60 秒。

    -y

    對確認提示指定回答 yes (是)。

    -i0

    指定初始狀態為 0。 在以 SPARC 為基礎的系統上使用此選項使節點顯示 OpenBoot PROM ok 提示符號,或在以 x86 為基礎的系統上使節點進入啟動子系統。

    message

    指定要廣播的警告訊息。 如果 message 含有多個字,請使用引號括住。

  5. 以非叢集單一使用者模式啟動節點。

    • SPARC︰


      ok boot -sx
      

    • x86︰


                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      Boot args:
      
      Type    b [file-name] [boot-flags] <ENTER>  to boot with options
      or      i <ENTER>                           to enter boot interpreter
      or      <ENTER>                             to boot with defaults
      
                        <<< timeout in 5 seconds >>>
      Select (b)oot or (i)nterpreter: b -sx
      

  6. 移除修補程式。


    # patchrm patch-id
    

    patch-id

    指定修補程式的修補程式編號。

  7. 重新啟動節點。


    # reboot
    

  8. 確認成功移除修補程式。


    # showrev -p | grep patch-id
    

  9. 確認節點與叢集運作正常。

  10. 對其餘的叢集節點重複 步驟 1步驟 9

  11. 在需要時可切換資源群組、資源及裝置群組 (選用的)。

    重新啟動所有的節點後,最後一個重新啟動的節點不會使資源群組及裝置群組連線。


    # scswitch -z -Ddevice-group[,...]  -h node[,...]
    # scswitch -z -g resource-group[,...] -h node[,...]
    

    -z

    指定對主要資源群組或裝置群組所做的變更。

    -h node[,...]

    指定您要用來轉換資源群組及裝置群組的節點。

    -D

    將指定的裝置群組切換至 -h 選項所識別的節點上。

    -g

    將指定的資源群組切換至 -h 選項所識別的節點上。 如果未指定 -h,資源群組將會離線。

範例—移除 Sun Cluster 修補程式

以下範例顯示如何移除 Sun Cluster 修補程式


# scrgadm -pv
...
RG Name: schost-sa-1
...
# scstat
...
Device Group Name:     dg-schost-1
...
# scswitch -S -h phys-schost-2
# shutdown -g0 -y -i0 "Rebooting down node for maintenance"
...

以非叢集模式啟動節點。


...
# patchrm 234567-05
...
# reboot
...
# pkgchk -v 234567-05
...
# scswitch -z -D dg-schost-1 -h phys-schost-1
# scswitch -z -g schost-sa-1 -h phys-schost-1