06-軟件升級配置
本章節下載: 06-軟件升級配置 (321.69 KB)
目 錄
設備軟件主要包括Bootrom程序和係統啟動文件。設備上電後,先運行Bootrom程序,初始化硬件並顯示設備的硬件參數,然後運行係統啟動文件;啟動文件一方麵提供對硬件的驅動和適配功能,另一方麵實現了業務特性。Bootrom程序與係統啟動文件是設備啟動、運行的必備軟件,為整個設備提供支撐、管理、業務等功能,它們的關係如圖1-1所示。
圖1-1 Bootrom程序與係統啟動文件關係示意圖
Bootrom程序和係統啟動文件都可以通過Bootrom菜單和命令行兩種方式來升級,本文隻介紹命令行升級方式,通過Bootrom菜單升級的具體操作請參見設備的安裝手冊。
即便都是通過命令行,但因為實現原理不同,命令行下的軟件升級方式又可以細分為兩類:
升級方式及介紹 |
可升級的設備軟件 |
各種升級方式對比說明 |
Bootrom、啟動文件 |
該方式需要重啟設備來實現升級,會導致當前業務的中斷,不推薦使用 |
|
啟動文件 |
熱補丁是一種快速、低成本修複產品軟件版本缺陷的方式。和升級軟件版本相比,熱補丁的主要優勢是不會使設備當前正在運行的業務中斷,即在不重啟設備的情況下,可以對設備當前軟件版本的缺陷進行修複 |
請按以下步驟升級Bootrom:
(1) 使用FTP或者TFTP,將Bootrom程序拷貝到設備存儲介質的根目錄下。
(2) 使用命令行指定下次啟動時使用的Bootrom程序。
(3) 重啟設備,使新的Bootrom程序生效。
表1-1 升級Bootrom
操作 |
命令 |
說明 |
讀取、恢複、備份或升級設備的Bootrom程序 |
bootrom { backup | read | restore | update file file-url } [ all | part ] |
必選 不指定all和part參數時,操作Bootrom的全部內容 該命令在用戶視圖下執行 |
Bootrom文件必須存放在設備的根目錄下,可使用文件的拷貝或移動操作來調整文件的路徑為根目錄。
采用本特性升級啟動文件時,請按以下步驟進行:
(1) 使用FTP、TFTP或者其它方式將啟動文件下載保存到設備存儲介質的根目錄下。
(2) 使用命令行指定設備下次啟動時使用的啟動文件(以下簡稱為下次啟動文件)。
(3) 重啟設備,使新的啟動文件生效。
表1-2 指定下次啟動文件
操作 |
命令 |
說明 |
|
指定設備的下次啟動文件 |
boot-loader file file-url { main | backup } |
必選 該命令在用戶視圖下執行 |
|
下次啟動文件必須存放在設備的根目錄下,可使用文件的拷貝或移動操作來調整文件的路徑為根目錄。
熱補丁是一種快速、低成本修複產品軟件版本缺陷的方式。和升級軟件版本相比,熱補丁的主要優勢是不會使設備當前正在運行的業務中斷,即在不重啟設備的情況下,可以對設備當前軟件版本的缺陷進行修複。
補丁(又被稱為補丁單元)是用來修複某個缺陷的程序包,通常以補丁文件的形式發布,一個補丁文件可能包含一個或多個補丁,不同的補丁具有不同的功能。當補丁文件被用戶從存儲介質加載到內存補丁區中時,補丁文件中的補丁將被分配一個在此內存補丁區中唯一的單元序號,用於標誌、管理、操作各補丁,補丁的單元序號從1開始順序編號,如某補丁文件中有3個補丁單元,那合法的補丁單元號為1、2和3。
所謂增量補丁,是指各補丁單元和其前麵的補丁單元有依賴性。比如,補丁文件中有3個補丁單元,則3號補丁必須在1號和2號補丁生效之後才能運行,而不能直接單獨運行3號補丁。
當前發布補丁文件中的補丁均為增量補丁。
· 正式補丁(Common patches)是通過版本發布流程發布的補丁。
· 臨時補丁(Temporary patches)是未通過版本發布流程發布,用於臨時解決緊急問題和需求的補丁。
正式補丁總會包含前麵臨時補丁的功能,從而替代前麵的臨時補丁。補丁的類型隻對補丁加載(Load)過程產生影響——係統在加載正式補丁之前會先將係統中所有臨時補丁刪除。
每個補丁都有自身的狀態,隻有在用戶命令行的幹預下才能發生切換。補丁狀態切換與命令操作關係如圖1-2所示,其中:
· IDLE、DEACTIVE、ACTIVE和RUNNING表示補丁的不同狀態;
· 加載、臨時運行、確認運行、停止運行、刪除、安裝、卸載表示補丁操作,分別對應命令patch load、patch active、patch run、patch deactive、patch delete、patch install和undo patch install;
· 箭頭方向表示狀態的轉變方向。
比如對DEACTIVE狀態的補丁執行patch active操作,補丁的狀態就會變為ACTIVE。
補丁文件的狀態信息內容保存在存儲介質中的patchstate文件裏,建議用戶不要對該文件進行操作。
表示尚未加載補丁,無法進行安裝、運行等補丁操作,如圖1-3所示(假設係統補丁區中最多可以加載8個補丁)。
當前內存補丁區中支持的最大補丁數為200個。
表示補丁已經被加載到內存補丁區,但尚未運行。假設用戶將加載的補丁文件包含7個補丁,則這7個補丁將在經過版本校驗及CRC校驗之後被加載到內存補丁區,加載成功的補丁處於DEACTIVE狀態,此時係統中補丁狀態如圖1-4所示。
表示補丁已經被臨時運行,即該補丁在設備重啟之後不再生效。對於圖1-4中7個處於DEACTIVE狀態的補丁,用戶如果激活前5個補丁,則前5個補丁的狀態將由DEACTIVE狀態變成ACTIVE狀態,此時係統中補丁狀態如圖1-5所示。
係統重啟後,所有處於ACTIVE狀態的補丁將變成DEACTIVE狀態。
表示補丁已經被永久運行,即該補丁在設備重啟之後會繼續生效。對於圖1-5中5個處於ACTIVE狀態的補丁,用戶確認運行前3個補丁後,前3個補丁的狀態將由ACTIVE狀態變成RUNNING狀態,此時係統中補丁狀態如圖1-6所示。
係統重啟後,所有處於RUNNING狀態的補丁仍保持為RUNNING狀態。
表1-3 熱補丁配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
安裝補丁 |
一步式安裝補丁 |
二者任選其一 一步式配置和分步配置效果等同,分步配置時用戶可以控製安裝過程中的各個狀態 |
|
分步安裝補丁 |
|||
卸載補丁 |
分步卸載補丁 |
一步式配置和分步配置效果等同,分步配置時用戶可以控製卸載過程中的各個狀態 |
補丁文件是根據安裝補丁的設備或單板類型按需發布。在進行補丁操作前,需要通過FTP/TFTP等方式將補丁文件保存到設備的存儲介質上,保存時請注意:
· 補丁版本必須與設備型號、設備的軟件版本相匹配。如果不匹配,則會造成補丁操作失敗。
· 補丁文件的名稱必須符合要求,否則係統無法找到補丁文件,造成補丁操作失敗。設備是根據補丁標誌(PATCH-FLAG)生成補丁文件名,再根據文件名將補丁從存儲介質中讀取到補丁區進行加載或安裝。設備在出廠時已經定義了PATCH-FLAG,不同類型設備或單板的PATCH-FLAG不同。display patch information命令顯示信息中Version字段的前3個字符就是PATCH-FLAG的後綴,補丁文件名稱的格式為“patch_後綴.bin”。比如設備的PATCH-FLAG為PATCH-MXN,則它對應的補丁文件必須命名為patch_mxn.bin。單板補丁文件缺省名稱如表1-4所示。
單板類型 |
PATCH-FLAG |
補丁缺省文件名 |
支持無線功能的所有單板 支持無線功能的所有單板指支持無線控製器功能的單板,不包括WX3000係列的交換引擎和WX6103的交換接口板 |
PATCH-MPU |
patch_mpu.bin |
用戶可以通過執行patch install命令來一步式安裝補丁。執行該命令同時,需要指定補丁文件的來源,目前設備上可支持指定補丁文件的加載路徑和從指定補丁包文件兩種方式。
在執行patch install命令時,係統會提示“Do you want to continue running patches after reboot? [Y/N]:”:
· 如果輸入<Y>或者<y>,則會安裝指定路徑下的所有補丁,設備或單板重啟後這些補丁繼續生效,補丁狀態從IDLE轉換到RUNNING,相當於依次執行了patch location、patch load、patch active和patch run命令。
· 如果輸入<N>或者<n>,則會安裝指定路徑下的所有補丁,設備或單板重啟後這些補丁不再繼續生效,補丁狀態從IDLE轉換到ACTIVE,相當於依次執行了patch location、patch load和patch active命令。
若要通過指定補丁包文件來安裝補丁,則需預先將補丁包文件保存在主控板的存儲介質上,所有備用板和接口板將從主控板加載補丁文件。
表1-5 一步式安裝補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
一步式完成補丁的安裝 |
patch install { patch-location | file patch-package } |
必選 |
· 指定路徑下的補丁必須與單板的型號和版本匹配,否則係統不能正確識別補丁文件。
· 如果通過指定補丁文件的加載路徑來安裝補丁,則執行補丁安裝操作後,係統會將補丁文件的加載路徑(patch location)修改成“patch install patch-location”中patch-location參數所指向的位置;如果通過指定補丁包文件來安裝補丁,則執行補丁安裝操作後係統不會改變補丁文件的加載路徑。
· 如果要一步式卸載設備上所有已安裝的補丁,請直接執行命令undo patch install。執行該命令等效於1.4.7 分步卸載補丁。
用戶可以通過執行多條命令分步式安裝補丁,該方式便於用戶控製補丁安裝過程中的各個狀態。
表1-6 分步安裝補丁配置任務簡介
配置任務 |
說明 |
詳細配置 |
設置補丁文件的加載路徑 |
可選 如果是要安裝補丁包,則無需設置補丁文件的加載路徑 |
|
加載補丁文件 |
必選 |
|
激活補丁 |
必選 |
|
確認運行補丁 |
可選 |
當設備支持多個存儲介質時,用戶可以將補丁文件保存到其它存儲介質。此時,需要使用該命令告知係統補丁文件的位置,執行補丁加載操作時,係統會將該路徑下指定後綴的補丁加載到對應的單板。因此,在執行補丁加載之前,請確保補丁文件存放位置與設置好的路徑一致。如果設備上隻有一個存儲介質,則不用設置該參數。
表1-7 設置補丁文件的加載路徑
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
設置補丁文件的加載路徑 |
patch location patch-location |
可選 缺省情況下,補丁文件的加載路徑為flash:或者cfa0: |
通過指定補丁文件的加載路徑來安裝補丁文件的情況下,用戶執行patch install命令後係統會自動修改補丁文件的加載路徑。比如,先配置了patch location xxx,再執行patch install yyy,此時係統會自動將補丁文件的加載路徑從xxx改為yyy。
隻有正確加載補丁文件後才能進行補丁狀態的管理。
· 如果要從補丁文件中安裝補丁,則係統默認從存儲介質中讀取補丁文件。
· 如果要從補丁包中安裝補丁,則係統從指定的補丁包文件中查找補丁文件並進行加載操作。
當使用FTP或TFTP方式將補丁文件上傳/下載到設備的存儲介質中前,請將文件傳輸的模式設置為二進製模式,以免不能正確解析補丁文件。
表1-8 加載補丁文件
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
將補丁文件從存儲介質(比如Flash、CF卡)加載到內存補丁區中 |
patch load [ file patch-package ] |
必選 |
激活補丁後,補丁會立即生效,處於試運行階段。設備複位或重啟後,該補丁不再生效,需要重新激活。
補丁的激活狀態主要是提供一個緩衝帶,如果補丁本身有問題,可以重啟設備,以消除該補丁的作用,從而防止因為補丁錯誤而導致係統連續運行故障。
表1-9 激活補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
激活補丁 |
patch active [ patch-number ] |
必選 |
確認運行補丁後,補丁的狀態將變為RUNNING,處於正式運行階段。設備複位或重啟後,該補丁會繼續生效。
表1-10 確認運行補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
確認運行補丁 |
patch run [ patch-number ] |
必選 |
該操作隻對處於激活狀態的補丁有效,對於處於其它狀態的補丁,該操作無效。
表1-11 分步卸載補丁配置任務簡介
配置任務 |
說明 |
詳細配置 |
停止運行補丁 |
必選 |
|
刪除補丁 |
必選 |
停止運行補丁後,補丁將進入未激活狀態(DEACTIVE)。係統按打補丁前的特性運行。
表1-12 停止運行補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
停止運行補丁 |
patch deactive [ patch-number ] |
必選 |
執行該操作,隻是將補丁從內存補丁區中刪除,並不會將補丁從存儲介質中刪除,補丁回到初始狀態(IDLE)。補丁刪除後,係統按打補丁前的特性運行。
表1-13 刪除補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
將補丁從內存補丁區中刪除 |
patch delete [ patch-number ] |
必選 |
在完成上述配置後,在任意視圖下執行display命令可以顯示軟件升級的當前狀態,通過查看顯示信息驗證配置的效果。
表1-14 軟件升級顯示和維護
操作 |
命令 |
顯示啟動文件信息 |
display boot-loader [ | { begin | exclude | include } regular-expression ] |
顯示補丁包信息 |
display patch |
顯示熱補丁的信息 |
display patch information [ | { begin | exclude | include } regular-expression ] |
· AC當前的軟件版本為soft-version1,通過遠程操作,在業務空閑時間(比如淩晨3點)將設備的軟件版本升級到soft-version2,配置文件升級到new-config;
· 最新版本的應用程序soft-version2.bin和最新配置文件new-config.cfg都保存在FTP server的aaa目錄下;
· AC的IP地址為1.1.1.1/24,FTP server的IP地址為2.2.2.2/24,AC與FTP server之間路由可達;
· User通過Telnet遠程登錄到AC,User與AC之間路由可達。
圖1-7 配置定時升級組網圖
(1) FTP server的配置(注意:不同的服務器類型配置可能不同)
· 設置FTP client訪問參數(包括啟動FTP server功能、配置FTP用戶名為aaa,密碼為hello、授權路徑為flash:/aaa)。
<FTP-server> system-view
[FTP-server] ftp server enable
[FTP-server] local-user aaa
[FTP-server-luser-aaa] password cipher hello
[FTP-server-luser-aaa] service-type ftp
[FTP-server-luser-aaa] authorization-attribute work-directory flash:/aaa
· 在FTP server上使用文本編輯器編輯批處理文檔auto-update.txt。批處理文件的內容如下:
return
startup saved-configuration new-config.cfg
boot-loader file soft-version2.bin main
reboot
(2) AC的配置
# 登錄FTP server(注意:不同的服務器類型顯示信息可能不同)。
<AC> ftp 2.2.2.2
Trying 2.2.2.2 ...
Press CTRL+K to abort
Connected to 2.2.2.2.
220 WFTPD 2.0 service (by Texas Imperial Software) ready for new user
User(2.2.2.2:(none)):aaa
331 Give me your password, please
Password:
230 Logged in successfully
[ftp]
# 下載FTP server上的文件auto-update.txt。
[ftp] ascii
[ftp] get auto-update.txt
# 下載FTP server上的文件new-config.cfg
[ftp]get new-config.cfg
# 下載FTP server上的文件soft-version2.bin。
[ftp] binary
[ftp] get soft-version2.bin
[ftp] bye
<AC>
# 將auto-update.txt文件更名為批處理文件auto-update.bat。
<AC> rename auto-update.txt auto-update.bat
為確保文件正確,可以使用more命令查看確認文件內容。
# 使用定時自動執行功能實現設備在淩晨3點定時自動升級。
<AC> system-view
[AC] job autoupdate
[AC-job-autoupdate] view system-view
[AC-job-autoupdate] time 1 one-off at 03:00 command execute auto-update.bat
設備重啟後可以使用display version命令驗證升級是否成功。
· AC當前的軟件版本存在一些缺陷,需要使用補丁文件進行修複。
· 補丁文件patch_xxx.bin保存在TFTP server上。
· AC的IP地址為1.1.1.1/24,TFTP server的IP地址為2.2.2.2/24,AC與TFTP server之間路由可達。
圖1-8 熱補丁升級組網圖
(1) TFTP server的配置(不同應用程序的配置方式不同,具體步驟略)
· 啟動TFTP server功能。
· 將patch_xxx.bin文件放到TFTP server的工作路徑。
(2) AC的配置
配置前需確認設備的存儲介質有足夠的剩餘空間來存儲補丁文件。
# 開始升級前,執行save命令保存當前配置(配置步驟略)。
# 將TFTP server上的文件patch_xxx.bin下載到設備存儲介質的根目錄下。
<AC> tftp 2.2.2.2 get patch_xxx.bin
# 安裝補丁。
<AC> system-view
[AC] patch install cfa0:
Patches will be installed. Continue? [Y/N]:y
Do you want to continue running patches after reboot? [Y/N]:y
Installing patches........
Installation completed, and patches will continue to run after reboot.
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!