本章提供關於為 Sun Cluster 配置增加或移除修補程式的程序,以下各節有詳細說明。
由於叢集本身的性質,所有的叢集成員節點必須在同一個修補層級,叢集才能夠正常運作。有時,在使用 Sun Cluster 修補程式修補節點時,您可能需要從叢集成員關係中暫時移除一個節點或停止整個叢集才能安裝修補程式。本節說明這些步驟。
套用 Sun Cluster 修補程式之前,請檢查修補程式的 README 檔案。此外,請檢查您儲存裝置的升級需求以判定它們需要哪個修補程式方法。
對於 Sun Cluster 修補程式,請務必遵循修補程式的 README 檔案與優先於本章中的程序之 SunSolve 說明。
所有叢集節點的修補程式安裝可分成以下情況:
在套用修補程式或韌體之前,必須使用指令 boot -sx 或 shutdown -g -y -i0 將節點啟動為單一使用者模式,然後再重新啟動以加入叢集。首先您必須使節點進入「靜止」狀態,將所有資源群組或裝置群組從要修補的節點切換至其他叢集成員。另外,您要一次在一個叢集節點上套用修補程式或韌體,以避免關閉整個叢集。
在套用這種類型的修補程式時,叢集將保持為可用狀態,即使個別的節點可能暫時關閉。修補後的節點可重新加入叢集當作成員,即使其他節點尚未同在一個修補層次也沒有關係。
必須關閉叢集,而且必須使用指令 boot -sx 或 shutdown -g -y -i0 將每個節點啟動為單一使用者模式,以套用軟體或韌體修補程式。然後,重新啟動節點以加入叢集。對於這種類型的修補程式,叢集在套用修補應用程式期間是無法使用的。
節點不必進入「靜止」狀態 (它仍將控制資源群組或裝置群組),在套用修補程式時也不必關閉或重新啟動。不過,您仍要以一次一個節點的方式套用修補程式,並在修補其他節點之前先進行確認。
基礎叢集通訊協定不會因為修補程式而改變。
使用 patchadd 指令來將修補程式套用至叢集,並使用 patchrm 來移除修補程式 (必要時)。
使用以下秘訣有助於您更有效地管理 Sun Cluster 修補程式:
在套用修補程式之前,務必先閱讀修補程式的 README 檔。
請檢查您儲存裝置的升級需求以判定它們需要哪個修補程式方法。
建議您在生產環境中執行叢集前,先套用所有的修補程式 (這是需要的也是給您的建議)。
檢查硬體韌體層次,並安裝可能需要的必要韌體更新。
叢集成員的所有節點都必須具有相同的修補程式。
叢集子系統修補程式永遠保持最新,例如,這些修補程式包括磁碟區管理、儲存裝置韌體及叢集傳輸。
定期檢閱修補程式報告,例如每季一次,以及使用建議的修補程式套件來修補 Sun Cluster 配置。
依企業服務的建議,請套用選擇性的修補程式。
在主要修補程式更新後,測試容錯移轉。並隨時準備在叢集作業降級或受損時移除修補程式。
作業 |
操作說明 |
---|---|
將不需重新啟動的 Sun Cluster 修補程式一次套用到一個節點,而不必停止節點 | |
將叢集成員切換至非叢集模式之後,套用要重新啟動的 Sun Cluster 修補程式 | |
當您的叢集包含容錯移轉區域時,在單一使用者模式中套用修補程式 | |
移除 Sun Cluster 修補程式 |
將修補程式一次套用至叢集中的一個節點,以保持叢集自身在處理修補程式期間處於作業狀態。使用這個程序,您必須先關閉節點,並使用 boot -sx 或 shutdown -g -y -i0 指令將該節點啟動為單一使用者模式,然後才能套用修補程式。
此程序提供長形式的 Sun Cluster 指令。大多指令也有短的形式。除了指令名稱有長形式和短形式之分外,指令本身是相同的。如需指令及其短形式的清單,請參閱附錄 ASun Cluster 以物件為導向的指令。
在套用修補程式之前,先檢查 Sun Cluster 產品網站有無特殊的安裝前、安裝後相關指示。
成為超級使用者,或在您要套用修補程式的節點上成為提供 solaris.cluster.admin RBAC 授權的角色。
列示要修補之節點上的資源群組與裝置群組。
# clresourcegroup status -n 節點 # cldevicegroup status -n 節點 |
將所有的資源群組、資源及裝置群組從要修補的節點切換到其他叢集成員。
# clnode evacuate -n 節點 |
撤除所有裝置群組和資源群組,包括來自特定節點的所有非全域區域。
指定您要用從中切換資源群組及裝置群組的節點。
關閉節點。
# shutdown -g0 [-y] [-i0] |
以非叢集單一使用者模式啟動節點。
在 SPARC 架構的系統上,執行下列指令:
ok boot -sx |
在 x86 架構的系統上,執行下列指令:
phys-schost# shutdown -g -y -i0 Press any key to continue |
在 GRUB 功能表中,使用方向鍵選取適合的 Solaris 項目,並鍵入 e 以編輯其指令。
GRUB 功能表會以類似以下的方式顯示:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
如需得知更多以 GRUB 為基礎的啟動之相關資訊,請參閱「System Administration Guide: Basic Administration 」中的「System Administration Guide: Basic Administration」中的第 11 章「GRUB Based Booting (Tasks)」。
在啟動參數畫面中,使用方向鍵選取核心項目並鍵入 e 以編輯該項目。
GRUB 啟動參數畫面會以類似以下的方式顯示:
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu. |
將 -sx 增加至指令以指定系統啟動至非叢集模式。
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -x |
按 Enter 鍵接受變更並返回啟動參數畫面。
畫面會顯示已編輯的指令。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.- |
鍵入 b 將節點啟動至非叢集模式。
對核心啟動參數指令所做的這個變更不會在系統啟動後持續。下次您重新啟動節點時,將會啟動至叢集模式。若要啟動至非叢集模式,請再一次執行這些步驟來增加 -sx 選項到核心啟動參數指令。
套用軟體或韌體修補程式。
# patchadd -M patch-dir patch-id |
指定修補程式的目錄位置。
指定修補程式的修補程式編號。
務必遵循取代本章敘述之程序的修補程式目錄中的指示。
確認已成功安裝修補程式。
# showrev -p | grep patch-id |
將節點重新啟動為叢集。
# reboot |
確認修補程式可以作業,並且節點與叢集正常作業。
重新啟動所有的節點後,最後一個重新啟動的節點不會使資源群組及裝置群組連線。
# cldevicegroup switch -n 節點 + | 裝置群組 ... # clresourcegroup switch -n 節點[:區域][,...] + | 資源群組 ... |
您正用來切換資源群組及裝置群組的節點名稱。
可控制資源群組的 節點 上的非全域區域名稱。僅在當您建立資源群組時已指定非全域區域的情況下指定區域。
以下範例顯示將將要重新啟動的 Sun Cluster 修補應用程式套用到節點。
# clresourcegroup status -n rg1 ...Resource Group Resource -------------- -------- rg1 rs-2 rg1 rs-3 ... # cldevicegroup status -n nodedg-schost-1 ... Device Group Name: dg-schost-1 ... # clnode evacuate phys-schost-2 # shutdown -g0 -y -i0 ... |
以非叢集單一使用者模式啟動節點。
SPARC:鍵入:
ok boot -sx |
x86:以非叢集單一使用者模式啟動節點。請參閱上述程序中的啟動步驟。
# patchadd -M /var/tmp/patches 234567-05 ... # showrev -p | grep 234567-05 ... # reboot ... # cldevicegroup switch -n phys-schost-1 dg-schost-1 # clresourcegroup switch -n phys-schost-1 schost-sa-1 |
如果需要解除安裝修補程式,請參閱變更 Sun Cluster 修補程式。
使用這個程序,您必須在套用修補程式之前,先關閉叢集,然後使用 boot -sx 或 shtudown -g -y -i0 指令將每個節點啟動到單一使用者模式。
在套用修補程式之前,先檢查 Sun Cluster 產品網站有無特殊的安裝前、安裝後相關指示。
成為叢集中任何節點的超級使用者。
關閉叢集。
# cluster shutdown -y -g 寬限時間 “訊息” |
對確認提示指定回答 yes (是)。
指定關機前的等待秒數,預設的寬限期為 60 秒。
指定要廣播的警告訊息。如果訊息含有多個文字,請使用引號括住。
以非叢集單一使用者模式啟動每一個節點。
在每一個節點的主控台上,執行下列指令。
在 SPARC 架構的系統上,執行下列指令:
ok boot -sx |
在 x86 架構的系統上,執行下列指令:
phys-schost# shutdown -g -y -i0 Press any key to continue |
在 GRUB 功能表中,使用方向鍵選取適合的 Solaris 項目,並鍵入 e 以編輯其指令。
GRUB 功能表會以類似以下的方式顯示:
GNU GRUB version 0.95 (631K lower / 2095488K upper memory) +-------------------------------------------------------------------------+ | Solaris 10 /sol_10_x86 | | Solaris failsafe | | | +-------------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
如需得知更多以 GRUB 為基礎的啟動之相關資訊,請參閱「System Administration Guide: Basic Administration 」中的「System Administration Guide: Basic Administration」中的第 11 章「GRUB Based Booting (Tasks)」。
在啟動參數畫面中,使用方向鍵選取核心項目並鍵入 e 以編輯該項目。
GRUB 啟動參數畫面會以類似以下的方式顯示:
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu. |
將 -sx 增加至指令以指定系統會啟動至非叢集模式。
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits. ] grub edit> kernel /platform/i86pc/multiboot -x |
按 Enter 鍵接受變更並返回啟動參數畫面。
畫面會顯示已編輯的指令。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -x | | module /platform/i86pc/boot_archive | +----------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ('O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.- |
鍵入 b 將節點啟動至非叢集模式。
對核心啟動參數指令所做的這個變更不會在系統啟動後持續。下次您重新啟動節點時,將會啟動至叢集模式。若要啟動至非叢集模式,請再一次執行這些步驟來增加 -sx 選項到核心啟動參數指令。
套用軟體或韌體修補程式。
一次對一個節點執行下列指令。
# patchadd -M patch-dir patch-id |
指定修補程式的目錄位置。
指定修補程式的修補程式編號。
務必遵循取代本章敘述之程序的修補程式目錄中的指示。
確認修補程式已成功安裝在每個節點上。
# showrev -p | grep patch-id |
在所有的節點套用修補程式後,將節點重新啟動至叢集。
在每一個節點上執行下列指令。
# reboot |
確認修補程式可運作,以及節點與叢集正常運作。
以下範例顯示將要重新開機的 Sun Cluster 修補應用程式套用到叢集。
# cluster shutdown -g0 -y ... |
以非叢集單一使用者模式啟動叢集。
SPARC:鍵入:
ok boot -sx |
x86:以非叢集單一使用者模式啟動每個節點。詳細步驟請參閱上述程序。
... # patchadd -M /var/tmp/patches 234567-05 (Apply patch to other cluster nodes) ... # showrev -p | grep 234567-05 # reboot |
如果需要解除安裝修補程式,請參閱變更 Sun Cluster 修補程式。
將修補程式一次套用至叢集中的一個節點。在套用不需重新啟動的修補程式時,您不必先關閉接收修補程式的節點。
在套用修補程式前,先查閱 Sun Cluster 產品網頁有無特殊的安裝前、安裝後相關指示。
對單一節點套用修補程式。
# patchadd -M patch-dir patch-id |
指定修補程式的目錄位置。
指定修補程式的修補程式編號。
確認已成功安裝修補程式。
# showrev -p | grep patch-id |
確認修補程式可以作業,並且節點與叢集正常作業。
# patchadd -M /tmp/patches 234567-05 ... # showrev -p | grep 234567-05 |
如果需要解除安裝修補程式,請參閱變更 Sun Cluster 修補程式。
執行此作業以單一使用者模式對容錯移轉區域套用修補程式。如果您要將容錯移轉配置中的 Sun Cluster Data Service for Solaris Containers 與 Sun Cluster 一起使用,則需要此修補程式方法。
驗證沒有為任何一個被當作磁碟組 (包括此程序中手動操作的區域路徑) 共用儲存的 LUN 設定法定裝置。
判定法定裝置是否用於包含區域路徑的磁碟組中,並判定法定裝置是否使用 scsi2 或 scsi3 保留。
# clquorum show |
如果法定裝置位於磁碟組的 LUN 中,請將新的 LUN 增加為包含區域路徑且不屬於任何磁碟組的法定裝置。
# clquorum add new-didname |
移除舊的法定裝置。
# clquorum remove old-didname |
如果使用 scsi2 保留作為舊的法定裝置,請從舊的法定裝置中清理 scsi2 保留並驗證沒有剩下任何 scsi2 保留。
# /usr/cluster/lib/sc/pgre -c pgre_scrub -d /dev/did/rdsk/old-didnames2 # /usr/cluster/lib/sc/pgre -c pgre_inkeys -d /dev/did/rdsk/old-didnames2 |
如果您意外清理掉使用中裝置的保留金鑰,您必須移除並重新增加法定裝置以新增新的保留金鑰至法定裝置上。
撤除您想修補的節點。
# clresourcegroup evacuate -n 節點 1 |
使資源或包含 HA Solaris Container 資源的資源群組離線。
# clresourcegroup offline 資源群組名稱 |
停用資源群組中所有離線的資源。
# clresource disable 資源名稱 |
取消管理您使之離線的資源群組。
# clresourcegroup unmanage 資源群組名稱 |
使對應的一個或多個裝置群組離線。
# cldevicegroup offline cldevicegroupname |
停用您使之離線的裝置群組
# cldevicegroup disable 裝置群組名稱 |
從叢集啟動被動節點。
# reboot -- -x |
在繼續之前,驗證是否已在被動節點上完成 SMF 啟動方法。
# svcs -x |
驗證使用中節點上的重新配置程序是否皆已完成。
# cluster status |
判定磁碟組中的磁碟上是否有任何 scsi3 保留。
在被動節點上取得 metaset 的所有權
# metaset -s 磁碟組名稱 -C take -f |
在被動節點上掛載檔案系統或掛載包含區域路徑的檔案系統。
# mount 裝置 掛載點 |
在被動節點上切換至單一使用者模式。
# init s |
停止所有可能已啟動且不受 Sun Cluster Data Service for Solaris Container 所控制的區域。
# zoneadm -z 區域名稱 halt |
(可選擇) 如果您安裝多個修補程式,基於效能的理由,您可選擇在單一使用者模式中啟動所有已配置的區域。
# zoneadm -z 區域名稱 boot -s |
套用修補程式。
重新啟動節點並等待到它所有的 SMF 啟動方法完成為止。僅在重新啟動節點後才執行 svcs -a 指令。
# reboot |
# svcs -a |
現在,第一個節點已就緒。
撤除您要修補的第二個節點。
# clresourcegroup evacuate -n 節點 2 |
對第二個節點重複步驟 8 至 13。
中斷連接您已修補的區域以加速修補程序。
# zoneadm -z 區域名稱 detach |
在被動節點上切換至單一使用者模式。
# init s |
停止所有可能已啟動且不受 Sun Cluster Data Service for Solaris Container 所控制的區域。
# zoneadm -z 區域名稱 halt |
(可選擇) 如果您安裝多個修補程式,基於效能的理由,您可選擇在單一使用者模式中啟動所有已配置的區域。
# zoneadm -z 區域名稱 boot -s |
套用修補程式。
連接您已中斷連接的區域。
# zoneadm -z 區域名稱 attach -F |
將節點重新啟動到叢集模式。
# reboot |
將一個或多個裝置群組連線。
啟動資源群組。
若要移除您已套用至叢集的 Sun Cluster 修補程式,您必須先移除新的 Sun Cluster 修補程式,接著重新套用先前的修補程式或更新版本。若要移除新的 Sun Cluster 修補程式,請參閱下列程序。若要重新套用先前的 Sun Cluster 修補程式,請參閱下列其中一個程序:
套用 Sun Cluster 修補程式之前,請檢查修補程式的 README 檔案。
成為叢集中任何節點的超級使用者。
將叢集節點啟動為非叢集模式。如需關於將節點啟動為非叢集模式的資訊, 請參閱如何以非叢集模式啟動叢集節點。
移除需要重新啟動的修補程式。
# patchrm 修補程式 ID |
將叢集節重新點啟動回叢集模式。
# reboot |
請對每個節點重複步驟 2 到步驟 4。