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

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

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

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

修補 Sun Cluster 簡介

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

安裝 Sun Cluster 修補程式前,請檢查 Sun Cluster 網頁是否有任何特殊說明;對於目前的 URL,請參閱「Sun Cluster 3.1 8/05 版本說明 (適用於 Solaris 作業系統)」,或聯絡企業服務。如果網頁中沒有特別的指示,再檢查修補程式的 README 檔。


備註 –

對於 Sun Cluster 修補程式,請務必遵循修補程式的 README 檔案與優先於本章中的程序之 SunSolve 說明。


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


備註 –

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


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

Sun Cluster 修補程式秘訣

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

修補 Sun Cluster

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

作業 

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

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

如何套用不要重新啟動的 Sun Cluster 修補程式

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

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

 

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

移除 Sun Cluster 修補程式 

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

如何移除 Sun Cluster 修補程式

Procedure如何套用要重新啟動的修補程式 (節點)

將修補程式一次套用至叢集中的一個節點,以保持叢集自身在處理修補程式期間處於作業狀態。使用這個程序,您必須先關閉節點,並使用 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. 確認已成功安裝修補程式。


    # showrev -p | grep patch-id
    
  9. 將節點重新啟動為叢集。


    # reboot
    
  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,資源群組將會離線。

  13. 使用 scversions 指令檢查是否需要確定修補程式軟體。


    # /usr/cluster/bin/scversions 
    

    您將看到以下結果之一:


    Upgrade commit is needed.
    
    Upgrade commit is NOT needed. All versions match.
  14. 如果需要確定,請確定該修補程式軟體。


    #/usr/cluster/bin/scversions -c
    

    -c 選項可以使叢集確定並執行新修補的軟體。


    備註 –

    根據情況,執行 scversions(1m) 將導致一次或多次 CMM 重新配置。



範例 8–1 安裝需要重新啟動的修補程式 (節點)

以下範例顯示將將要重新啟動的 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 /var/tmp/patches 234567-05
...
# showrev -p | grep 234567-05

...
# reboot
...
# scswitch -z -D dg-schost-1 -h phys-schost-1
# scswitch -z -g schost-sa-1 -h phys-schost-1
# scversions
Upgrade commit is needed.
# scversions -c

另請參閱

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

Procedure如何套用要重新啟動的修補程式 (叢集與韌體)

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

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

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

  3. 關閉叢集。


    # scshutdown -y -g grace-period message
    
    -y

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

    -g grace-period

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

    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. 確認修補程式可運作,以及節點與叢集正常運作。


範例 8–2 安裝需要重新啟動的修補程式 (叢集)

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


# scshutdown -g0 -y
...

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


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

另請參閱

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

Procedure如何套用不要重新啟動的 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


範例 8–3 安裝不需重新啟動的 Sun Cluster 修補程式


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

另請參閱

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

Procedure如何移除 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

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

  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. 確認成功移除修補程式。


    # showrev -p | grep patch-id
    
  8. 重新啟動節點。


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

  10. 對於其餘的叢集節點,請重複執行步驟 1步驟 9

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

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


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

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

    -h node[,...]

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

    -D

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

    -g

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


範例 8–4 移除 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
...
# showrev -p | grep 234567-05
...
# reboot
...
# scswitch -z -D dg-schost-1 -h phys-schost-1
# scswitch -z -g schost-sa-1 -h phys-schost-1