04-軟件升級配置
本章節下載: 04-軟件升級配置 (358.16 KB)
軟件升級用於對軟件包進行版本升級、增加特定軟件特性或是對軟件缺陷進行修複。本章簡要介紹了軟件升級涉及的主要軟件包類型、軟件升級方式、以及如何從命令行通過Boot-Loader方式對軟件進行升級。
軟件升級涉及的軟件包有:BootWare程序和Comware軟件包。
也稱為Boot ROM程序,包括基本段和擴展段。基本段用於引導係統啟動。擴展段用於硬件初始化並提供係統管理菜單。在設備無法正常啟動時,用戶可通過這些菜單加載軟件和下次啟動配置文件,並管理文件。為避免軟件適配錯誤,BootWare程序通常集成到Comware軟件的Boot包中。
(1) Boot包:包含Linux內核程序,提供進程管理、內存管理、文件係統管理等功能的.bin文件。
(2) System包:包含Comware內核和基本功能模塊的.bin文件,比如設備管理、接口管理、配置管理和路由模塊等。
(3) Feature包:包含高級或定製業務的.bin文件。用戶可根據需要購買Feature包。
(4) 補丁(Patch)包:用來修複設備軟件缺陷的.bin程序文件。補丁包隻能修複啟動軟件包的缺陷,不涉及功能的添加和刪除。所以補丁包隻有安裝而沒有升級的說法。補丁包分為疊加補丁包和非疊加補丁包,具體定義如下:
¡ 疊加補丁包:兩個版本的疊加補丁包之間所解決的問題可以是包含、不包含或不完全包含的關係。隻有當兩個版本的疊加補丁包之間所解決的問題為不包含的關係時,設備才可以同時安裝這兩個補丁包。
¡ 非疊加補丁包:新版本的補丁包包含舊版本的補丁包所解決的所有問題,每個Boot、System和Feature包隻能安裝一個非疊加補丁。為同一個Boot、System或Feature包安裝新版本補丁包的同時,設備會卸載舊版本的補丁包。為Boot、System或Feature包安裝的非疊加補丁包可以同時安裝在設備上。
疊加補丁包和非疊加補丁包可以同時安裝到設備上。
設備必須具有Boot包和System包才能正常運行。
設備上可安裝的軟件包(包括Boot包、System包、Feature包和補丁包)共為32個,其中Boot包和System包隻能安裝一個,Feature包和補丁包總共可安裝30個。
軟件包有如下兩種發布形式:
· 以.bin文件的形式獨立發布。這種發布形式需要用戶關注軟件包之間的適配關係。
· 打包為.ipe的IPE(Image Package Envelope,複合軟件包套件)文件發布,減少軟件包之間的版本適配錯誤。設備在加載IPE文件時,會自動將它解壓縮成多個.bin文件,並使用這些.bin文件來升級設備。
軟件包文件的名稱采用“設備簡稱-Comware版本-軟件包類型-release號”的形式。在本文檔中,Boot包和System包的文件名統一采用boot.bin和system.bin。
表1-1 軟件升級方式
升級方式 |
升級對象 |
說明 |
通過命令行的Boot-Loader方式升級 |
· BootWare程序 · Comware軟件包(該方式不能升級補丁包) |
該方式需要重啟設備,會導致當前業務中斷 |
通過命令行的ISSU方式升級 |
Comware軟件包 |
ISSU是一種高可靠性升級方式,推薦使用該方式升級 關於該方式的詳細描述請參見“基礎配置指導”中的“ISSU” |
通過BootWare菜單進行升級 |
· BootWare程序 · Comware軟件包 |
該方式用於無法啟動Comware係統時進行軟件升級和修複 該升級方式需要連接到Console接口,斷電重啟。啟動過程中根據提示按<Ctrl+B>進入BootWare菜單,通過BootWare來重新加載軟件包,具體操作請參見產品隨軟件發布的版本說明書 |
本章僅涉及如何通過命令行的Boot-Loader方式進行軟件升級。
在進行軟件升級時,用戶需要將升級軟件包指定為啟動軟件包,作為設備下次啟動時加載的軟件包。
在升級時,用戶可為設備指定主用啟動軟件包和備用啟動軟件包。加載軟件包時,係統會優先選擇主用軟件包。隻有當主用軟件包不可用時,才會選擇備用軟件包。
設備加載並初始化BootWare之後,會按如下流程來選擇加載的啟動軟件包,進入Comware係統:
(1) 優先加載主用軟件包。
(2) 如果任何指定的主用軟件包不存在或不可用,嚐試加載備用軟件包。
(3) 如果任何指定的備用軟件包不可用,查看主用Boot包或者備用Boot包是否可用。
如果主用Boot包或者備用Boot包均不可用,設備加載失敗,無法正常啟動。
當前軟件不能滿足現網運行或用戶業務需求時,可以通過軟件升級實現設備性能優化,以滿足用戶的業務需求。
當需要修複軟件缺陷且不升級軟件版本時,可以安裝版本配套的補丁包;當需要配置設備擴展業務功能時,可以安裝對應的Feature包。
數字簽名機製用於保證軟件包的合法性和完整性,確保設備安裝的軟件安全可用。
軟件包發布後,在傳輸、下載、存儲、安裝這些環節中,存在被替換或組件被篡改的安全隱患。為了解決這個問題,產品在發布軟件包時,會對軟件進行數字簽名,並將生成的數字簽名信息打包到軟件包中一起發布。以下場景中,設備會對軟件包進行數字簽名的驗證,認證通過之後才認為該軟件包是完整的、可信的:
· 設備啟動過程中,在加載啟動軟件包前會對啟動軟件包進行數字簽名校驗,如果軟件包通過校驗則會被加載;如果軟件包未通過校驗則不會被加載,並返回錯誤提示信息。
· 通過BootWare菜單進行升級的過程中,係統會在用戶指定啟動軟件包時進行數字簽名校驗,如果軟件包通過校驗則指定成功;如果軟件包未通過校驗則指定失敗,並返回錯誤提示信息。
· 係統將文件係統中的BootWare程序加載到BootWare的Normal區前會對文件係統中包含BootWare程序的文件進行數字簽名校驗,如果文件通過校驗則會被加載;如果文件未通過校驗則不會被加載,並返回錯誤提示信息。
· 通過Boot-Loader方式配置設備下次啟動時使用的軟件包時,設備在修改啟動軟件包列表前會對軟件包進行數字簽名校驗,如果軟件包通過校驗則會替換現有的軟件包列表;如果軟件包未通過校驗則不會替換現有的軟件包列表,並返回錯誤提示信息。
· 配置安全引擎的加載軟件包時,係統在將指定軟件包備份到所有主控板前會對軟件包進行數字簽名校驗,如果軟件包通過校驗則會備份到所有主控板;如果軟件包未通過校驗則不會備份到所有主控板,並返回錯誤提示信息。
· 通過ISSU方式指定設備的啟動軟件包時,係統在升級設備的啟動軟件包並將設備的主用下次啟動軟件包設置為指定的軟件包前會對軟件包進行數字簽名校驗,如果軟件包通過校驗則升級設備的啟動軟件包並將設備的主用下次啟動軟件包設置為指定的軟件包;如果軟件包未通過校驗則不會升級設備的啟動軟件包並將設備的主用下次啟動軟件包設置為指定的軟件包,並返回錯誤提示信息。關於ISSU的詳細介紹,請參見“基礎配置指導”中的“ISSU”。
· 激活Feature包或補丁包前,係統會對Feature包或補丁包進行數字簽名校驗,如果軟件包通過校驗則激活Feature包或補丁包;如果軟件包未通過校驗則不激活Feature包或補丁包,並返回錯誤提示信息。
在當前的升級動作未結束前,不允許再執行其他升級動作。升級動作包括執行install、issu、boot-loader命令。
如果將可插拔存儲介質內的軟件包指定為設備下次啟動時使用的軟件包,重啟設備時不要將可插拔存儲介質從設備上拔出,否則可能導致設備無法正常啟動。建議將固定存儲介質中的軟件包指定為設備下次啟動時使用的軟件包。
僅缺省Context支持軟件升級。
(1) 升級整機
a. (可選)加載BootWare程序
預先加載BootWare程序能縮短後續軟件包升級的時間,減小升級過程中斷電引起的升級失敗。如果未執行本步驟,那麼設備在升級Boot包時會自動升級BootWare程序。
(2) (可選)將IRF主設備的當前軟件包同步到從設備
IRF從設備的軟件與IRF主設備的軟件不一致時,可通過本任務將IRF主設備的啟動軟件包同步到IRF從設備。
升級設備軟件前,請進行如下操作:
(1) 使用display version命令查看設備當前運行的BootWare程序以及啟動軟件的版本。
(2) 獲取新軟件的版本發布說明書,了解新軟件的版本號、軟件大小以及和當前運行的BootWare程序以及Comware軟件的兼容性。
(3) 通過版本發布說明書了解將安裝的軟件包是否需要License。如果需要,查看設備上是否有對應的有效的License。如果沒有,請先安裝License。否則,會導致軟件包安裝失敗。
(4) 使用dir命令查看存儲介質是否有足夠的空間存儲新的軟件。如果存儲空間不足,可使用delete /unreserved命令刪除一些暫時不用的文件。關於dir和delete命令的詳細描述請參見“基礎配置命令參考”中的“文件係統管理”。
在IRF中,請保證所有成員設備上都有足夠的存儲空間。
(5) 使用FTP、TFTP方式將新軟件包下載到任一文件係統的根目錄下。FTP、TFTP和文件係統管理的具體配置和介紹請參見“基礎配置指導”中的“FTP和TFTP”和“文件係統管理”。
(1) 進入係統視圖。
system-view
(2) (可選)開啟升級時的合法性檢查功能。
bootrom-update security-check enable
缺省情況下,BootWare升級時的合法性檢查功能處於開啟狀態。
該功能用於檢查BootWare文件的有效性以及硬件兼容性,保證BootWare正確升級。
(3) 返回用戶視圖。
quit
(4) (可選)備份當前運行的BootWare程序。請選擇其中一項進行配置。
¡ 將BootWare程序從BootWare的Normal區備份到Backup區。
¡ 將BootWare程序從BootWare的Normal區備份到缺省文件係統中。
bootrom backup slot slot-number-list [ all | part ]
執行本命令後,若在設備運行過程中,Normal區的BootWare程序損壞或者需要版本回退,可以使用bootrom restore命令將BootWare程序從Backup區恢複到Normal區。
¡ 將BootWare程序從BootWare的Normal區備份到缺省文件係統中。
bootrom read slot slot-number-list [ all | part ]
成功執行本命令後,係統會自動生成basicbtm.bin(BootWare基本段)和extendbtm.bin(BootWare擴展段)文件並保存到缺省文件係統中。
(5) 加載新的BootWare程序。
bootrom update file file slot slot-number-list [ all | part ]
執行本命令後,係統會將文件係統中的BootWare程序加載到BootWare的Normal區。
係統將文件係統中的BootWare程序加載到BootWare的Normal區前會對文件係統中包含BootWare程序的文件進行數字簽名校驗,如果文件通過校驗則會被加載;如果文件未通過校驗則不會被加載,並返回錯誤提示信息。
要使新的BootWare程序生效,需要重啟設備。
請在用戶視圖下執行以下操作。
(1) 為所有成員設備指定啟動軟件包。請選擇其中一項進行配置。
¡ boot-loader file ipe-filename [ patch filename&<1-30> ] { all | slot slot-number } { backup | main }
¡ boot-loader file boot filename system filename [ feature filename&<1-30> ] [ patch filename&<1-30> ] { all | slot slot-number } { backup | main }
成功執行本命令後,係統在用命令中指定的軟件包替換現有的軟件包列表前會對軟件包進行數字簽名校驗,如果軟件包通過校驗則會替換現有的軟件包列表;如果軟件包未通過校驗則不會替換現有的軟件包列表,並返回錯誤提示信息。
對於有多台成員設備組成的IRF係統中,建議使用all參數升級軟件包,逐一升級slot會導致升級期間slot之間的版本不一致。
(2) 保存當前配置。
save
(3) 重啟設備。
reboot
(4) (可選)可選檢查升級後的軟件版本。
display version
確認當前的軟件版本為升級後的版本。
當從設備和主設備的下次啟動軟件版本不一致時,需要刷新從設備的軟件版本,使其軟件版本和主設備當前運行的軟件版本保持一致。
在進行軟件同步時,係統會進行如下處理:
· 如果主設備是使用主用啟動軟件包啟動的,則將其主用下次啟動軟件包拷貝到從設備的對應目錄下,並設置為從設備的主用啟動軟件包。如果這些軟件包中有任一軟件包不存在或者不可用,則命令執行失敗。
· 如果主設備是使用備用啟動軟件包列表啟動的,則將其備用下次啟動軟件包列表中的軟件包拷貝到從設備的對應目錄下,並設置為從設備的主用下次啟動軟件包。如果這些軟件包中有任一軟件包不存在或者不可用,則命令執行失敗。
如果主設備剛安裝了補丁或者進行了ISSU升級,在執行本命令前,請執行install commit命令刷新主設備的主用啟動軟件包列表。否則,可能導致從設備升級後與主設備的版本不一致。
請在用戶視圖下執行以下操作。
(1) 指定需要同步主設備的從設備。
boot-loader update { all | slot slot-number }
(2) 重啟涉及同步的從設備。
reboot slot slot-number [ force ]
通過install命令升級配置任務如下:
(1) (可選)通過IPE文件獲得軟件包
(2) 安裝/升級軟件包
(3) (可選)卸載軟件包
(4) (可選)校驗Boot包/System包/Feature包
(5) 確認軟件包更改
(6) (可選)刪除軟件包
(1) (可選)查看該IPE文件中包含的軟件包。
display install ipe-info
(2) 解壓縮IPE文件。
install add ipe-filename filesystem
該命令在用戶視圖下執行。
執行install命令可以安裝/升級軟件包。如果當前係統沒有運行相同類型的軟件包,則該過程稱為安裝軟件包;如果當前係統有相同類型的軟件包在運行,則該過程稱為升級軟件包。
通常情況下,設備上必定存在一個Boot包和一個System包,所以Boot包和System包通常為升級;而補丁包隻能修複啟動軟件包的缺陷,不涉及功能的添加和刪除,所以補丁包隻有安裝而沒有升級的說法。
使用install命令安裝/升級軟件包分為激活和確認更改兩個步驟。
當需要安裝/升級兩個或兩個以上軟件包時,請選擇以下任意一種方法來安裝/升級軟件包:
· 使用一條命令激活完一個slot的所有軟件包後再激活另一個slot的所有軟件包,最後確認激活。
· 先激活完所有slot的某種類型的包(比如Boot包)之後,再激活所有slot的另外一種類型的包(比如System包),最後確認激活。若使用該方法進行安裝/升級,則需要查看軟件版本說明書,確保升級軟件包和設備當前軟件包之間版本的兼容性,否則可能導致安裝/升級失敗。
· 安裝新Feature包/補丁包時,必須先激活主設備;升級已有Boot包/System包/Feature包時,必須先激活從設備,再激活主設備。否則,安裝/升級過程可能出錯。
· 激活軟件包以後,軟件包僅對設備本次啟動生效,設備重啟後這些軟件包不再有效。用戶隻有使用install commit命令確認軟件包更改後,才能使此次激活的軟件包在係統重啟後繼續生效。
請在用戶視圖下執行以下操作。
(1) 確定係統處於穩定狀態。
display system stable state
使用本命令顯示的system state字段為Stable,則表示設備處於穩定狀態。安裝/升級前使用本命令查看設備的狀態,需要等待設備進入穩定狀態,才可以進行安裝/升級。
(2) 激活Boot包/System包/Feature包。
install activate { boot filename | system filename | feature filename&<1-30> } *
install activate { boot filename | system filename | feature filename&<1-30> } * slot slot-number
請在用戶視圖下執行以下操作。
(1) 確定係統處於穩定狀態。
display system stable state
使用本命令顯示的system state字段為Stable,則表示設備處於穩定狀態。安裝前使用本命令查看設備的狀態,需要等待設備進入穩定狀態,才可以進行安裝。
(2) 激活補丁包。
install activate patch filename
本命令一次隻能激活一個補丁包,但是可以通過多次執行此命令為設備激活多個補丁包。
install activate patch filename { all | slot slot-number }
本命令一次隻能激活一個補丁包,但是可以通過多次執行此命令為設備激活多個補丁包。
指定all參數表示同時激活所有硬件上的補丁包,此時無需執行install commit命令,所有補丁包在設備重啟後繼續生效。
因為Boot包和System包是設備運行的基礎軟件,所以Boot包和System包不支持卸載,隻能卸載Feature包和補丁包。當Feature包/補丁包被卸載後,該軟件包將處於未激活狀態,係統也將不再具備該軟件包提供的功能。但是軟件包仍然存在於存儲介質上,可以通過install remove命令將卸載後的軟件包從存儲介質上徹底刪除。
Feature包/補丁包卸載也隻在設備本次運行過程中生效。如果用戶希望係統重啟後,Feature包/補丁包卸載依然生效,請用戶使用install commit命令確認軟件包的更改。
請在用戶視圖下執行以下操作。
(1) 確定係統處於穩定狀態。
display system stable state
使用本命令顯示的system state字段為Stable,則表示設備處於穩定狀態。卸載前使用本命令查看設備的狀態,需要等待設備進入穩定狀態,才可以進行卸載。
(2) 卸載Feature包。
install deactivate feature filename&<1-30>
install deactivate feature filename&<1-30> slot slot-number
請在用戶視圖下執行以下操作。
(1) 確定係統處於穩定狀態。
display system stable state
使用本命令顯示的system state字段為Stable,則表示設備處於穩定狀態。卸載前使用本命令查看設備的狀態,需要等待設備進入穩定狀態,才可以進行卸載。
(2) 卸載補丁包。
install deactivate patch filename
本命令一次隻能卸載一個補丁包,若要卸載多個補丁包,則需要多次執行此命令。
install deactivate patch filename { all | slot slot-number }
本命令一次隻能卸載一個補丁包,若要卸載多個補丁包,則需要多次執行此命令。
指定all參數表示同時卸載所有硬件上的補丁包,此時無需執行install commit命令,所有補丁包在設備重啟後不再生效。
為了保證設備進行install命令升級之後能夠正常運行,需要執行本命令對軟件包進行如下檢驗:
· 完整性:檢驗Boot包、System包和Feature包的完整性。
· 一致性:檢驗係統內各激活的軟件包列表的差異,以方便用戶知道係統內各軟件包版本是否一致。
· 軟件包狀態:檢查各設備上激活的軟件包列表和確認的軟件包列表之間的差異,以方便用戶知道是否有未確認的軟件包。
請在用戶視圖下執行以下操作。
(1) Boot包/System包/Feature包校驗。
install verify
(2) 如發現不一致的軟件包,更新激活的軟件包列表。
install { activate | deactivate }
install commit
軟件包升級成功後,可以通過以下步驟刪除舊版本的軟件包。
執行刪除操作後,軟件包會從設備上徹底刪除。請確認不需要使用該軟件包之後,再執行刪除操作。
請在用戶視圖下執行本命令,刪除軟件包。
install remove { filename | inactive }
install remove [ slot slot-number ] { filename | inactive }
如果在設備運行過程中,Normal區的BootWare程序損壞或者需要版本回退,可使用本配置,將BootWare程序從Backup區恢複到Normal區,來修複BootWare。
若Normal區的BootWare程序被損壞或需要版本回退,須保證在此之前使用過bootrom backup命令將可用的BootWare程序從BootWare的Normal區備份到Backup區。
請在用戶視圖下執行以下操作。
(1) 將BootWare程序從BootWare的Backup區恢複到Normal區。
bootrom restore slot slot-number-list [ all | part ]
(2) 重啟設備。
reboot
啟動時,設備使用修複後的BootWare程序。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後軟件包的運行情況,通過查看顯示信息驗證配置的效果。
表1-2 軟件升級顯示和維護
操作 |
命令 |
顯示本次啟動和下次啟動所采用的啟動軟件包的名稱 |
display boot-loader |
顯示當前係統中已激活的軟件包的相關信息 |
display install active [ verbose ] |
顯示設備下次啟動時使用的備用軟件包的相關信息 |
display install backup [ verbose ] |
顯示設備下次啟動時使用的主用軟件包的相關信息 |
display install committed [ verbose ] |
顯示文件係統根目錄下、沒有被激活的所有軟件包的相關信息 |
display install inactive [ verbose ] |
顯示IPE文件信息 |
display install ipe-info ipe-filename |
顯示係統中正在執行的激活、卸載、回滾三種操作 |
display install job |
顯示軟件包信息 |
display install package { filename | all } [ verbose ] |
顯示一個組件或文件所屬的軟件包 |
display install which { component name | file filename } |
表1-3 軟件升級顯示和維護
操作 |
命令 |
顯示本次啟動和下次啟動所采用的啟動軟件包的名稱 |
display boot-loader [ slot slot-number ] |
顯示當前係統中已激活的軟件包的相關信息 |
display install active [ slot slot-number ] [ verbose ] |
顯示設備下次啟動時使用的備用軟件包的相關信息 |
display install backup [ slot slot-number ] [ verbose ] |
顯示設備下次啟動時使用的主用軟件包的相關信息 |
display install committed [ slot slot-number ] [ verbose ] |
顯示文件係統根目錄下、沒有被激活的所有軟件包的相關信息 |
display install inactive [ slot slot-number ] [ verbose ] |
顯示IPE文件信息 |
display install ipe-info ipe-filename |
顯示係統中正在執行的激活、卸載、回滾三種操作 |
display install job |
顯示軟件包信息 |
display install package { filename | all } [ verbose ] |
顯示一個組件或文件所屬的軟件包 |
display install which { component name | file filename } [ slot slot-number ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!