06-軟件升級配置
本章節下載: 06-軟件升級配置 (382.06 KB)
目 錄
設備軟件主要包括Bootrom程序和係統啟動文件。設備上電後,先運行Bootrom程序,初始化硬件並顯示設備的硬件參數,然後運行係統啟動文件;啟動文件一方麵提供對硬件的驅動和適配功能,另一方麵實現了業務特性。Bootrom程序與係統啟動文件是設備啟動、運行的必備軟件,為整個設備提供支撐、管理、業務等功能,它們的關係如圖1-1所示。
圖1-1 Bootrom程序與係統啟動文件關係示意圖
Bootrom程序和係統啟動文件都可以通過Bootrom菜單和命令行兩種方式來升級,本文隻介紹命令行升級方式,通過Bootrom菜單升級的具體操作請參見設備的版本說明書。
即便都是通過命令行,但因為實現原理不同,命令行下的軟件升級方式又可以細分為以下幾類:
升級方式及介紹 |
可升級的設備軟件 |
各種升級方式對比說明 |
Bootrom、啟動文件 |
· 該方式通過重啟設備來實現設備軟件的升級,設備重啟完成後,直接使用新版本軟件運行 · 使用該方式升級設備軟件時會導致當前業務中斷 |
|
啟動文件 |
· 熱補丁是一種快速、低成本修複啟動文件缺陷的方式 · 與通過整機重啟升級啟動文件相比,熱補丁的優勢是在升級過程中不會中斷設備當前正在運行的業務 · 補丁文件與啟動文件的版本一一對應,使用熱補丁升級啟動文件時,隻能修複與補丁文件對應啟動文件的缺陷,不涉及功能的添加及刪除 |
|
通過ISSU(In-Service Software Upgrade,不中斷業務升級)方式升級啟動文件 |
啟動文件 |
· 通過ISSU方式升級啟動文件是一種簡便、快速升級啟動文件的方式 · 通過主備倒換機製完成啟動文件的升級,ISSU方式能夠保證設備在升級過程中業務不中斷 · 關於ISSU的詳細描述,請參見“基本配置指導”中的“ISSU配置” |
僅S5500-EI係列交換機支持通過ISSU方式升級啟動文件。
請按以下步驟升級Bootrom:
(1) 使用FTP或者TFTP,將Bootrom程序拷貝到設備存儲介質的根目錄下。
(2) 使用命令行升級Bootrom程序。
(3) 重啟設備,使新的Bootrom程序生效。
IRF係統中,由於不同成員設備的Bootrom可能各不相同,用戶容易混淆,從而導致Bootrom升級錯誤。通過啟動Bootrom升級時的合法性檢查功能,設備就能夠對Bootrom升級文件的正確性、版本配套性等進行嚴格的檢查,保證升級成功。
表1-1 升級Bootrom
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動升級時的合法性檢查功能 |
bootrom-update security-check enable |
可選 缺省情況下,Bootrom升級時的合法性檢查功能是開啟的 |
返回用戶視圖 |
quit |
- |
升級指定成員設備的Bootrom程序 |
bootrom update file file-url slot slot-number-list |
必選 該命令在用戶視圖下執行 |
必須先將Bootrom文件保存到相應成員設備存儲介質的根目錄下,bootrom命令才能執行成功。
采用本特性升級啟動文件時,請按以下步驟進行:
(1) 使用FTP、TFTP或者其它方式將啟動文件下載保存到Master設備存儲介質的根目錄下。
(2) 將新的啟動文件拷貝到Slave設備存儲介質的根目錄下。
(3) 使用命令行分別指定Master設備和Slave設備下次啟動時使用的啟動文件(以下簡稱為下次啟動文件)。
(4) 重啟設備,使新的啟動文件生效。
表1-2 指定下次啟動文件
操作 |
命令 |
說明 |
指定成員設備的下次啟動文件 |
boot-loader file file-url slot { all | slot-number } { main | backup } |
必選 該命令在用戶視圖下執行 |
· 下次啟動文件必須存放在設備存儲介質的根目錄下。可使用文件的拷貝或移動操作來調整文件的路徑為根目錄。
· 必須先將下次啟動文件保存到相應成員設備存儲介質的根目錄下,boot-loader命令才能執行成功。
· Master和Slave的下次啟動文件名稱可以不同,但是版本必須一致,否則,Slave會使用Master的啟動文件重新啟動加入IRF。
使用本特性升級設備等效於1.3.2 通過整機重啟方式升級啟動文件(方法一),但縮減了升級步驟。它通過一條命令可以完成將指定文件拷貝到指定成員設備,並設置為該成員設備下次啟動配置文件的功能。使用本特性升級IRF時,因為IRF中通常存在多個成員設備,能簡化升級步驟。
采用本特性升級啟動文件時,請按以下步驟進行:
(1) 使用FTP、TFTP或者其它方式將啟動文件下載保存到Master存儲介質的根目錄下。
(2) 同步升級啟動文件。
(3) 重啟指定成員設備或者整個IRF係統,使新的啟動文件生效。
表1-3 同步升級啟動文件
操作 |
命令 |
說明 |
同步升級指定成員設備或者所有成員設備的啟動文件 |
boot-loader update file file-url slot { slot-number | all } { 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。
補丁文件的狀態信息內容保存在Flash中的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-4 熱補丁配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
安裝補丁 |
一步式安裝補丁 |
二者任選其一 一步式配置和分步配置效果等同,分步配置時用戶可以控製安裝過程中的各個狀態 |
|
分步安裝補丁 |
|||
分步卸載補丁 |
可選 |
補丁文件是根據安裝補丁的設備類型按需發布。在進行補丁操作前,需要通過FTP/TFTP等方式將補丁文件保存到設備的存儲介質上,保存時請注意:
· 補丁版本必須與設備型號、設備的軟件版本相匹配。如果不匹配,則會造成補丁操作失敗。
· 補丁文件的名稱必須符合要求,否則係統無法找到補丁文件,造成補丁操作失敗。設備是根據補丁標誌(PATCH-FLAG)生成補丁文件名,再根據文件名將補丁從存儲介質(默認為Flash)中讀取到補丁區進行加載或安裝。設備在出廠時已經定義了PATCH-FLAG。display patch information命令顯示信息中Version字段的前3個字符值就是PATCH-FLAG的後綴,補丁文件名稱的格式為“patch_後綴.bin”。設備補丁文件缺省名稱為patch_xxx.bin。
加載和安裝操作的對象是所有成員設備,所以,執行加載和安裝操作前,請將補丁文件保存到所有成員設備存儲介質的根目錄下,所有成員設備上補丁文件必須一致(包括補丁文件的名稱和內容)。
用戶可以通過執行patch install命令來一步式安裝補丁。執行該命令同時,需要指定補丁文件的來源,目前設備上可支持指定補丁文件的加載路徑和從指定補丁包文件兩種方式。
在執行patch install命令時,係統會提示“Do you want to continue running patches after reboot? [Y/N]:”:
· 如果輸入<Y>或者<y>,則會安裝指定路徑下的所有補丁,設備重啟後這些補丁繼續生效,補丁狀態從IDLE轉換到RUNNING。
· 如果輸入<N>或者<n>,則會安裝指定路徑下的所有補丁,設備重啟後這些補丁不再繼續生效,補丁狀態從IDLE轉換到ACTIVE。
表1-5 一步式安裝補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
一步式完成補丁的安裝 |
patch install { patch-location | file patch-package } |
必選 · patch-location:表示補丁文件所在的路徑,該參數用於安裝沒有經過打包的補丁文件。 · file patch-package:表示補丁包文件的名稱,該參數用於安裝補丁包文件。 |
· 指定路徑下的補丁必須與版本匹配,否則係統不能正確識別補丁文件。
· 如果設備以前安裝過補丁,必須先將曆史補丁卸載,才能安裝新補丁。用戶可以使用display patch information顯示設備的補丁信息。
· 如果通過指定補丁文件的加載路徑來安裝補丁,則執行補丁安裝操作後,係統會將補丁文件的加載路徑(patch location)修改成“patch install patch-location”中patch-location參數所指向的位置;如果通過指定補丁包文件來安裝補丁,則執行補丁安裝操作後係統不會改變補丁文件的加載路徑。
· 如果要一步式卸載設備上所有已安裝的補丁,請直接執行命令undo patch install。執行該命令等效於1.4.7 分步卸載補丁。在搭建IRF環境下,推薦使用undo patch install命令一步式卸載補丁。
用戶可以通過執行多條命令分步式安裝補丁,該方式便於用戶控製補丁安裝過程中的各個狀態。
表1-6 分步安裝補丁配置任務簡介
配置任務 |
說明 |
詳細配置 |
設置補丁文件的加載路徑 |
可選 如果是要安裝補丁包,則無需設置補丁文件的加載路徑 |
|
加載補丁文件 |
必選 |
|
激活補丁 |
必選 |
|
確認運行補丁 |
可選 |
表1-7 設置補丁文件的加載路徑
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
設置補丁文件的加載路徑 |
patch location patch-location |
可選 缺省情況下,補丁文件的加載路徑為flash: |
· 為了保證加載補丁過程的安全可靠,建議用戶將補丁文件保存到Flash的根目錄下。
· patch-location參數指定的路徑必須在所有成員設備上都存在,如果某成員設備上不存在該路徑,則該命令在該成員設備上不生效。
· 通過指定補丁文件的加載路徑來安裝補丁文件的情況下,用戶執行patch install命令後係統會自動修改補丁文件的加載路徑。比如,先配置了patch location xxx,再執行patch install yyy,此時係統會自動將補丁文件的加載路徑從xxx改為yyy。
隻有正確加載補丁文件後才能進行補丁狀態的管理。
· 如果要從補丁文件中安裝補丁,則係統默認從Flash中讀取補丁文件。
· 如果要從補丁包中安裝補丁,則係統從指定的補丁包文件中查找補丁文件並進行加載操作。
當使用FTP或TFTP方式將補丁文件上傳/下載到設備的Flash中前,請將文件傳輸的模式設置為二進製模式,以免不能正確解析補丁文件。
表1-8 加載補丁文件
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
將補丁文件從存儲介質(Flash)加載到指定的內存補丁區中 |
patch load slot slot-number [ file patch-package ] |
必選 |
激活補丁後,補丁會立即生效,處於試運行階段。設備複位或重啟後,該補丁不再生效,需要重新激活。
補丁的激活狀態主要是提供一個緩衝帶,如果補丁本身有問題,可以重啟設備,以消除該補丁的作用,從而防止因為補丁錯誤而導致係統連續運行故障。
表1-9 激活補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
激活補丁 |
patch active [ patch-number ] slot slot-number |
必選 |
確認運行補丁後,補丁的狀態將變為RUNNING,處於正式運行階段。設備複位或重啟後,該補丁會繼續生效。
表1-10 確認運行補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
確認運行補丁 |
patch run [ patch-number ] [ slot slot-number ] |
必選 |
該操作隻對處於激活狀態的補丁有效,對於處於其它狀態的補丁,該操作無效。
表1-11 分步卸載補丁配置任務簡介
配置任務 |
說明 |
詳細配置 |
停止運行補丁 |
必選 |
|
刪除補丁 |
必選 |
停止運行補丁後,補丁將進入未激活狀態(DEACTIVE)。係統按打補丁前的特性運行。
表1-12 停止運行補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
停止運行補丁 |
patch deactive [ patch-number ] slot slot-number |
必選 |
執行該操作,隻是將補丁從內存補丁區中刪除,並不會將補丁從存儲介質中刪除,補丁回到初始狀態(IDLE)。補丁刪除後,係統按打補丁前的特性運行。
表1-13 刪除補丁
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
將補丁從內存補丁區中刪除 |
patch delete [ patch-number ] slot slot-number |
必選 |
搭建IRF環境下,推薦使用undo patch install命令一步式卸載補丁。
在完成上述配置後,在任意視圖下執行display命令可以顯示軟件升級的當前狀態,通過查看顯示信息驗證配置的效果。
表1-14 軟件升級顯示和維護
操作 |
命令 |
顯示啟動文件信息 |
display boot-loader [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
顯示補丁包信息 |
display patch [ | { begin | exclude | include } regular-expression ] |
顯示熱補丁的信息 |
display patch information [ | { begin | exclude | include } regular-expression ] |
· Master和Slave兩台成員設備組成IRF。Master的成員編號為1,Slave的成員編號為2。
· IRF當前的軟件版本為soft-version1,通過遠程操作,將IRF係統的軟件版本升級到soft-version2,配置文件升級到new-config;
· 最新版本的應用程序soft-version2.bin和最新配置文件new-config.cfg都保存在TFTP server上;
· IRF的IP地址為1.1.1.1/24,由Master(成員編號為1)和Slave(成員編號為2)兩台成員設備組成。TFTP server的IP地址為2.2.2.2/24。IRF與TFTP server之間路由可達。
圖1-7 通過整機重啟方式升級啟動文件組網圖
(1) TFTP server的配置(注意:不同的服務器類型配置可能不同)
通過合法渠道(比如H3C官方網站或者代理商、技術支援人員)獲取正確版本的啟動文件和配置文件,並將該文件存儲到TFTP server的工作路徑,以便TFTP client可以訪問。
(2) IRF的配置
# 將new-config.cfg下載到Master上(注意:不同的服務器類型顯示信息可能不同)。
<IRF> tftp 2.2.2.2 get new-config.cfg
..
File will be transferred in binary mode
Downloading file from remote TFTP server, please wait.....
TFTP: 917 bytes received in 1 second(s)
File downloaded successfully.
# 將new-config.cfg下載到Slave(成員編號為2)上。
<IRF> tftp 2.2.2.2 get new-config.cfg slot2#flash:/new-config.cfg
# 將啟動文件soft-version2.bin下載到Master和Slave上。
<IRF> tftp 2.2.2.2 get soft-version2.bin
...
File will be transferred in binary mode
Downloading file from remote TFTP server, please wait............
TFTP: 10058752 bytes received in 141 second(s)
File downloaded successfully.
<IRF> tftp 2.2.2.2 get soft-version2.bin slot2#flash:/soft-version2.bin
# 將所有成員設備的下次啟動配置文件指定為new-config.cfg。
<IRF> startup saved-configuration new-config.cfg main
Please wait ...
Setting the master board ...
... Done!
Setting the slave board ...
Slot 2:
Set next configuration file successfully
# 將所有成員設備的下次啟動文件指定為soft-version2.bin。
<IRF> boot-loader file soft-version2.bin slot all main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on slot 1!
The specified file will be used as the main boot file at the next reboot on slot 2!
# 重啟所有成員設備完成升級。
<IRF> reboot
設備重啟後可以使用display version命令驗證升級是否成功。
· IRF(IRF是整個IRF的統稱,在本舉例中包括Matser和Slave兩台成員設備)當前的軟件版本存在一些缺陷,需要使用補丁文件進行修複。
· 補丁文件patch_xxx.bin保存在TFTP server上。
· IRF的IP地址為1.1.1.1/24,TFTP server的IP地址為2.2.2.2/24,IRF與TFTP server之間路由可達。
圖1-8 熱補丁升級組網圖
(1) TFTP server的配置(不同應用程序的配置方式不同,具體步驟略)
· 啟動TFTP server功能。
· 將patch_xxx.bin文件放到TFTP server的工作路徑。
(2) IRF的配置
配置前需確認設備Flash有足夠的剩餘空間來存儲補丁文件。
# 開始升級前,執行save命令保存當前配置(配置步驟略)。
# 將TFTP server上的文件patch_xxx.bin下載到Master存儲介質的根目錄下。
<IRF> tftp 2.2.2.2 get patch_xxx.bin
# 將TFTP server上的文件patch_xxx.bin下載到Slave存儲介質的根目錄下。
<IRF> tftp 2.2.2.2 get patch_xxx.bin slot2#flash:/patch_xxx.bin
# 安裝補丁。
<IRF> system-view
[IRF] patch install flash:
Patches will be installed. Continue? [Y/N]:y
Do you want to continue running patches after reboot? [Y/N]:y
Installing patches........
# 安裝完成後,可以使用display patch information命令驗證補丁安裝是否成功。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!