使用 CLI 自動更新系統

您可以使用指令行介面 (CLI) 來安裝 軟體 更新。

開始之前

請執行以下步驟從 7.7.0 版或更高版本更新到 8.1.0 版或更高版本。

如果要從 5.1.x 版或更早的版本更新,請參閱以下網站提供的相關 IBM Knowledge Center 或出版品:www.ibm.com/support

註: 如果您有一些透過光纖通道配接卡連接的緊急備用節點,並將軟體層次 7.8.1.1 或更舊版本,更新至軟體層次 7.8.1.2 或更新版本,則更新可能會停滯。若要避免此問題,請將每一個光纖通道配接卡,從要新增至系統的節點卸下,並檢查是否有安全跳接器。如果有安全跳接器,請卸下安全跳接器,以便讓韌體更新能順利完成。在更新完成之後,請將安全跳接器接回至光纖通道配接卡。如需相關資訊,請搜尋 www.ibm.com/support 中的 "Upgrade to Spectrum Virtualize software-only v7.8.1.2 requires hardware check"。

如果在更新程序中有任何節點發生記憶體 DIMM 故障,請立即停止並遵循「更新系統」中的指示。

當節點為進行更新而離線時,您可以使用指令行介面來解決多重路徑問題。透過遵循下列步驟,您將有能力置換預設 30 分鐘的中間點延遲、暫停更新以及回復停滯的更新:
  1. 如果要啟動更新,但要在半途暫停,請輸入下列指令:
    applysoftware -file filename -pause
  2. 如果要啟動更新,但要在節點為進行更新而離線之前暫停,請輸入下列指令:
    applysoftware -file filename -pause -all
  3. 如果要回復停滯的更新並在半途暫停,請輸入下列指令:
    applysoftware -resume -pause
  4. 如果要回復停滯的更新,並要在剩餘節點為進行更新而離線之前暫停,請輸入下列指令:
    applysoftware -resume -pause -all
    註: -all 參數使每個節點為進行更新而離線之前無限期暫停更新。在現有物件相依磁區檢查執行之前會發生此暫停。-resume 參數可讓使用者繼續更新。
重要: 在已安裝超過 64 GB RAM 的系統上,如果您將系統軟體從 8.1.0 以前的版本更新為 8.1.1 版或更新的版本,所有節點會在更新之後回復,並傳回錯誤碼 841。8.1.0 版以及更新版本配置記憶體的方式不同於舊版,所以必須再次「接受」RAM。如果要解決此錯誤,請完成下列步驟:
  1. 在單一節點上,執行 svctask chnodehw 指令。 不要同時在多個節點上執行指令。
  2. 等待節點重新啟動並且未傳回錯誤。
  3. 再等待 30 分鐘讓多路徑磁碟機在主機上回復。
  4. 對每一個節點重複這個程序,直到清除所有節點上的錯誤為止。

關於這項作業

若要更新系統,請執行以下步驟:

程序

  1. 您必須下載、安裝及執行最新版本的測試公用程式,以驗證現行系統沒有任何問題。
    重要: 在使用管理 GUI 或 CLI 安裝及執行測試公用程式之後,您必須回到本頁面中的步驟 2

    您可以從下列網站下載及安裝此工具的最新版本。該鏈結提供了使用管理 GUI 或 CLI 來安裝及執行測試公用程式的指示。

    http://www.ibm.com/support/docview.wss?uid=ssg1S4000585

  2. www.ibm.com/support 網站下載最新程式碼。
    • 如果您想要將程式碼寫入光碟,必須下載光碟映像檔。
    • 如果您不想將程式碼寫入光碟,必須下載安裝映像檔。
  3. 使用 PuTTY scp (pscp) 將更新檔案複製到節點。
  4. 確保已順利複製更新檔案。
    開始更新之前,您必須瞭解下列狀況:
    • 此安裝程序在下列狀況下會失敗:
      • 如果安裝在遠端系統上的程式碼與新的程式碼不相容,或者如果跨系統通訊錯誤不容許系統檢查程式碼是否相容。
      • 如果系統中有任一節點的硬體類型是新程式碼所不支援的。
      • 如果系統判斷系統中的一或多個磁區會因為在更新程序中重新啟動節點而離線。您可以使用 lsdependentvdisks 指令找到有關哪些磁區會受影響的明細。如果您已準備好在更新期間失去對資料的存取權,則可以使用 force 旗標來置換該限制。
    • 此更新將利用節點之間的內部連線而配送至系統中的所有節點。
    • 一次更新一個節點。
    • 節點將在進行正常系統活動的同時執行新程式碼。
    • 節點更新時,並不會參與 I/O 群組中的 I/O 活動。因此,會透過主機多重路徑軟體將 I/O 群組中磁區的所有 I/O 活動定向到 I/O 群組中的另一個節點。
    • 兩次節點更新之間會有 30 分鐘的延遲。此延遲讓主機多重路徑軟體有時間重新探索通往所更新之節點的路徑。在更新該 I/O 群組中的另一個節點時不會失去存取權。
    • 等到系統中的所有節點都已順利更新至新的程式碼層次之後,才能確定更新。如果所有節點都以新程式碼層次順利重新啟動,則已確定新層次。確定新層次之後,系統重要產品資料 (VPD) 會更新,以反映新程式碼層次。
    • 等到成員節點都已更新,並且已確定更新之後,才能呼叫已更新程式碼的新功能。
    • 因為更新程序需要一些時間,所以一旦系統驗證了程式碼層次,安裝指令就會完成。如果要判斷更新何時完成,您必須在系統 VPD 中顯示程式碼層次,或者在錯誤/事件日誌中尋找軟體更新完成事件。如果有任何節點未能以新程式碼層次重新啟動,或者在程序的任何其他時間失敗,則程式碼層次會回復。
    • 在更新期間,每個節點的版本號碼都在安裝程式碼並重新啟動節點後更新。系統程式碼版本號碼會在新程式碼層次確定後更新。
    • 當更新開始時,會在錯誤日誌或事件日誌中產生一個項目,而在更新完成或失敗時,也會產生另一個項目。
  5. 請發出這個 CLI 指令來啟動更新程序:
    applysoftware -file software_update_file
    其中 software_update_file 是程式碼更新檔案的名稱,它位於您在步驟 3 中將檔案複製到其中的目錄。如果系統識別出任何磁區會因系統更新過程中重新啟動節點而離線,則不會啟動代碼更新。force 選用參數可用來指示即使識別問題仍繼續執行更新。如果您使用 force 參數,則會提示您確認是否要繼續進行。force 參數的行為已變更,將更新套用於在事件日誌中存在錯誤的系統時不再需要此參數。
  6. 如果您要從 7.4.0 版之前的版次更新,請發出下列 CLI 指令以檢查程式碼更新程序的狀態:
    svcinfo lssoftwareupgradestatus
    更新完成後,該指令顯示 inactive
    註: 如果顯示狀態 stalled_non_redundant,則繼續處理餘下的節點更新可能導致磁區離線。請聯絡客戶服務代表來完成更新。
  7. 如果您要從 7.4.0 版或更新的版本進行更新,請發出下列 CLI 指令以檢查程式碼更新程序的狀態:
    lsupdate
    完成更新後,該指令顯示 success如果系統上已配置緊急備用節點,緊急備用節點會接管每一個節點在更新時的 I/O 作業。
    註: 如果顯示狀態 stalled_non_redundant,則繼續處理餘下的節點更新可能導致磁區離線。請聯絡客戶服務代表來完成更新。
  8. 如果您從 7.4.0 版之前的版次進行了更新,則接收到狀態訊息 system_completion_required
    如果要完成更新程序,請發出 applysoftware -complete 指令。在執行該指令後,您可以執行 lsupdate 以查看更新完成的進度。
  9. 如果要驗證是否已順利完成更新,請針對系統中的每個節點發出 lsnodevpd CLI 指令。

    程式碼版本欄位會顯示新的程式碼層次。

結果

套用新程式碼層次後,該程式碼層次會自動安裝在系統中的所有節點上。
註: 每一個節點的自動系統更新可能最多需要 30 分鐘才完成。