恢復(fù)出廠:命令行、BootROM與硬件復(fù)位全攻略)
這是很典型的網(wǎng)絡(luò)運(yùn)維活兒。華三交換機(jī)恢復(fù)出廠聽起來就是個(gè)reset的事但實(shí)際工作中因?yàn)閳?chǎng)景不同密碼丟了、設(shè)備要退網(wǎng)、配置亂了要清盤、二手設(shè)備要重寫你需要的“恢復(fù)出廠”方式完全不一樣。我這幾年經(jīng)手過不少華三的設(shè)備從S5024這種老百兆到S5560、S6800這些框式核心總結(jié)下來就三條路命令行rest、BootROM菜單、硬件復(fù)位鍵。這篇把三種方式的操作細(xì)節(jié)、適用場(chǎng)景和坑都盤一遍看完基本能直接照做。1. 先搞清楚三種方式的適用場(chǎng)景和選型思路恢復(fù)出廠設(shè)置這件事最忌諱的就是上來就敲命令。不同方式對(duì)應(yīng)不同的設(shè)備狀態(tài)選錯(cuò)了不僅清不掉配置還可能把設(shè)備搞得起不來。1.1 三種方式的本質(zhì)區(qū)別先說結(jié)論命令行恢復(fù)清的是配置BootROM恢復(fù)動(dòng)的是啟動(dòng)文件硬件復(fù)位鍵恢復(fù)的是整個(gè)設(shè)備狀態(tài)。這三者的操作層級(jí)完全不同?;謴?fù)方式適用場(chǎng)景能否遠(yuǎn)程操作風(fēng)險(xiǎn)等級(jí)耗時(shí)命令行reset還能登錄設(shè)備、密碼正確可以低可反悔1-2分鐘BootROM菜單密碼丟失、console口可用不可以中操作失誤有風(fēng)險(xiǎn)5-10分鐘硬件復(fù)位鍵設(shè)備完全無響應(yīng)、忘記console密碼且找不到人不可以高不可逆3-5分鐘我個(gè)人的習(xí)慣是能命令行解決的事絕對(duì)不動(dòng)BootROM因?yàn)锽ootROM菜單在不同型號(hào)上長(zhǎng)得不一樣操作起來需要額外小心。硬件復(fù)位鍵則是我在設(shè)備徹底“變磚”或密碼徹底丟失時(shí)才會(huì)考慮的手段平時(shí)幾乎不用。1.2 為什么推薦優(yōu)先用命令行恢復(fù)命令行恢復(fù)的原理很簡(jiǎn)單華三交換機(jī)的配置存儲(chǔ)在flash的startup.cfg或startup配置文件里運(yùn)行時(shí)配置在內(nèi)存中。reset saved-configuration刪掉的是flash里的啟動(dòng)配置reboot重啟后設(shè)備會(huì)用空配置啟動(dòng)等于恢復(fù)了出廠。整個(gè)過程沒有動(dòng)到BootROM和系統(tǒng)文件設(shè)備還是按原來的系統(tǒng)版本啟動(dòng)只是配置空了。這個(gè)方式的優(yōu)勢(shì)在于可逆性——如果你發(fā)現(xiàn)配置刪錯(cuò)了只要沒重啟還能重新保存配置即使重啟了只要系統(tǒng)文件還在設(shè)備也能正常啟動(dòng)。相比之下BootROM菜單里有個(gè)“刪除配置文件”的選項(xiàng)那個(gè)更徹底因?yàn)樗菑奈募到y(tǒng)層把配置刪掉有時(shí)候連備份的機(jī)會(huì)都沒有。1.3 恢復(fù)出廠前的強(qiáng)制備份習(xí)慣無論你用哪種方式恢復(fù)出廠前必須備份當(dāng)前配置。這不是流程化要求而是血淚教訓(xùn)。有一次我?guī)涂蛻籼幚硪慌_(tái)S5130客戶說配置無所謂直接清就行結(jié)果清完才發(fā)現(xiàn)那臺(tái)設(shè)備上的VLAN劃分關(guān)聯(lián)著整個(gè)辦公網(wǎng)的權(quán)限策略最后花了兩個(gè)多小時(shí)重新配。從那以后我養(yǎng)成了習(xí)慣在任何設(shè)備上執(zhí)行恢復(fù)出廠之前先敲一條display current-configuration把輸出保存到記事本再敲save命令備份。2. 方式一命令行恢復(fù)最常用、最安全、可操作性強(qiáng)這是日常工作中用得最多的一種方式。適用于你能正常登錄設(shè)備Telnet、SSH、console都算并且不忘記enable密碼的情況。操作流程整體分為三步備份、清配置、重啟驗(yàn)證。2.1 登錄設(shè)備并確認(rèn)當(dāng)前狀態(tài)先用console線或者遠(yuǎn)程方式登錄到設(shè)備進(jìn)入用戶視圖H3C執(zhí)行[H3C] display version確認(rèn)設(shè)備型號(hào)和當(dāng)前軟件版本目的是防止某些老設(shè)備命令格式不同。比如Comware V5和V7的部分命令有差異雖然reset saved-configuration基本通用但保險(xiǎn)起見看一眼版本更穩(wěn)妥。然后執(zhí)行[H3C] display saved-configuration這條命令會(huì)展示flash里保存的啟動(dòng)配置內(nèi)容。確認(rèn)當(dāng)前配置文件是你需要清掉的那份。有時(shí)設(shè)備上有多個(gè)配置文件這里會(huì)有顯示你可以明確要?jiǎng)h除的是哪一個(gè)。2.2 核心命令解析reset saved-configuration這是命令行恢復(fù)出廠的“主菜”。在系統(tǒng)視圖下執(zhí)行H3C reset saved-configuration系統(tǒng)會(huì)提示The saved configuration file will be erased. Are you sure? [Y/N]:輸入Y回車配置就被清除了。注意此時(shí)設(shè)備還在運(yùn)行內(nèi)存中的配置仍然生效只是flash里那份啟動(dòng)配置文件被刪掉了。這里有一個(gè)細(xì)節(jié)經(jīng)常被新手忽略清掉的是startup.cfg但設(shè)備還可能存在backup.cfg等其他備份配置文件。執(zhí)行完上面的命令后可以再執(zhí)行H3C dir看下flash根目錄下還有沒有其他.cfg文件。如果有用delete /unreserved filename.cfg逐個(gè)刪除確保完全干凈。/unreserved參數(shù)表示徹底刪除不進(jìn)回收站華三設(shè)備刪除文件默認(rèn)會(huì)暫存在回收站里用undelete還能找回。2.3 重啟并驗(yàn)證配置是否清空配置刪掉之后直接重啟H3C reboot系統(tǒng)會(huì)提示是否保存當(dāng)前配置這里一定要選擇N否則已經(jīng)運(yùn)行的配置會(huì)被重新寫入flash剛才的刪除就白做了。重啟過程大概一兩分鐘設(shè)備會(huì)恢復(fù)出廠默認(rèn)狀態(tài)。重啟完成后重新登錄設(shè)備執(zhí)行H3C display current-configuration正常情況會(huì)看到一個(gè)幾乎空白的配置只有默認(rèn)的管理VLAN通常是VLAN 1的接口地址以及默認(rèn)的登錄方式設(shè)置。到這一步命令行恢復(fù)出廠就完成了。我實(shí)測(cè)下來整個(gè)過程熟練的話不到兩分鐘就能搞定。這個(gè)方式不需要進(jìn)入BootROM不涉及底層操作適合大多數(shù)人使用。2.4 命令行恢復(fù)的注意事項(xiàng)命令行恢復(fù)有一個(gè)前提你還能登錄設(shè)備。如果你連密碼都忘了或者遠(yuǎn)程連接方式配置錯(cuò)誤導(dǎo)致進(jìn)不去那就只能走后面的方式二了。另外提醒一句reset saved-configuration這條命令沒有確認(rèn)二次提示只問一次所以敲Y之前一定要想清楚flash里的配置一旦刪除沒有后悔藥。我建議在敲這條命令之前確保已經(jīng)把當(dāng)前配置導(dǎo)出一份格式如下[H3C] display current-configuration然后在終端窗口里右鍵復(fù)制、保存到本地文件即可。或者使用FTP/TFTP把配置上傳到PC命令是[H3C] tftp 192.168.1.100 put startup.cfg3. 方式二BootROM菜單恢復(fù)密碼丟失時(shí)的救命稻草當(dāng)設(shè)備密碼丟失、無法登錄時(shí)就需要進(jìn)入BootROM也就是設(shè)備的啟動(dòng)引導(dǎo)菜單來操作。華三交換機(jī)的BootROM菜單相當(dāng)于電腦的BIOS在設(shè)備加電自檢階段可以進(jìn)入。這個(gè)方式也是很多運(yùn)維在接手二手設(shè)備時(shí)的首選處理辦法。3.1 何時(shí)必須用BootROM方式登錄密碼全部丟失Telnet/SSH/console都進(jìn)不去設(shè)備上配置了ACL限制管理地址而你的終端IP不在允許列表里設(shè)備啟動(dòng)異常需要從BootROM層面重置啟動(dòng)配置這個(gè)方式的原理是在設(shè)備引導(dǎo)階段BootROM會(huì)提供一個(gè)交互菜單其中包含刪除配置文件、格式化flash、設(shè)置啟動(dòng)文件等選項(xiàng)。通過這些選項(xiàng)即使不進(jìn)入命令行也能把配置文件清掉。3.2 進(jìn)入BootROM菜單的操作流程操作方法并不復(fù)雜用console線連接設(shè)備的console口在PC上打開終端軟件我習(xí)慣用MobaXterm或SecureCRT設(shè)置波特率9600數(shù)據(jù)位8停止位1無校驗(yàn)。給設(shè)備上電當(dāng)終端上出現(xiàn)如下提示時(shí)立刻按CtrlBPress CtrlB to enter Boot Menu: 3這里的數(shù)字是一個(gè)倒計(jì)時(shí)通常是5秒或3秒。錯(cuò)過窗口也沒關(guān)系重新斷電再上電再試一次即可。因?yàn)榈褂?jì)時(shí)時(shí)間短我通常的做法是先在終端界面準(zhǔn)備好等設(shè)備上電瞬間就盯著屏幕一出現(xiàn)提示就狂按CtrlB。進(jìn)入后會(huì)看到如下菜單BOOT 1. Download file to update system 2. Select a startup file 3. Display all files in the device 4. Delete a file in the device 5. Restore to factory default configuration 6. Reboot device不同型號(hào)的華三設(shè)備菜單編號(hào)和選項(xiàng)順序略有差異。我見過S5120的菜單里“恢復(fù)出廠默認(rèn)配置”是選項(xiàng)5而S5560的版本里可能叫“Restore default configuration”且在選項(xiàng)6。進(jìn)去之后先別慌把菜單整屏看一下找到恢復(fù)默認(rèn)配置那個(gè)選項(xiàng)再操作。3.3 在BootROM菜單中恢復(fù)出廠以常見的菜單為例選擇Restore to factory default configuration或者對(duì)應(yīng)編號(hào)系統(tǒng)會(huì)提示確認(rèn)Are you sure to restore to factory default configuration? [Y/N]:輸入Y設(shè)備會(huì)把flash里的配置文件恢復(fù)到出廠狀態(tài)。部分型號(hào)還會(huì)詢問是否同時(shí)清空用戶自定義的ACL、QoS策略等按需選擇即可。完成后回到主菜單選擇Reboot device通常是選項(xiàng)6或0設(shè)備會(huì)以空配置啟動(dòng)。這樣密碼也就隨之清掉了重新登錄后就是默認(rèn)的admin/admin華三大多數(shù)設(shè)備的初始賬號(hào)密碼是admin密碼可能是admin或空具體看型號(hào)和版本。3.4 BootROM操作中的經(jīng)驗(yàn)心得BootROM方式有幾點(diǎn)容易踩坑的地方第一console線連接參數(shù)錯(cuò)了會(huì)進(jìn)不去。我遇到好多次終端軟件設(shè)置了錯(cuò)誤的串口屏幕上全是亂碼根本觸發(fā)不了CtrlB。正確檢查一下設(shè)備管理器里COM口號(hào)是否對(duì)應(yīng)波特率是否為9600。第二某些型號(hào)只有CtrlB沒有CtrlD等其他組合。另外有的設(shè)備比如部分框式交換機(jī)可能需要先給主控板單獨(dú)進(jìn)入BootROM這個(gè)要參考相應(yīng)型號(hào)的《用戶手冊(cè)》。第三恢復(fù)出廠之后設(shè)備如果有擴(kuò)展模塊比如光模塊、堆疊線纜可能需要重新初始化才能識(shí)別。這個(gè)問題我在S5560上遇到過恢復(fù)出廠后堆疊配置沒了需要重新配置堆疊口和成員編號(hào)才能恢復(fù)堆疊功能。4. 方式三硬件復(fù)位鍵恢復(fù)不推薦、但必要時(shí)可用第三種方式是通過設(shè)備面板上的RESET物理按鍵部分型號(hào)是一個(gè)小孔需要用回形針捅來強(qiáng)制復(fù)位。這個(gè)方式實(shí)際上不是標(biāo)準(zhǔn)的“恢復(fù)出廠設(shè)置”而是“恢復(fù)設(shè)備到最基礎(chǔ)狀態(tài)”。我把它放在最后講因?yàn)檫@種方式的風(fēng)險(xiǎn)和不可逆性最高但確實(shí)在一些特殊情況下是唯一選擇。4.1 哪些型號(hào)有復(fù)位鍵哪些沒有華三的交換機(jī)不是所有型號(hào)都有物理復(fù)位按鍵。一般來說盒式設(shè)備比如S5024、S5130、S5560等部分型號(hào)在面板側(cè)面有一個(gè)Reset小孔長(zhǎng)按可以復(fù)位框式設(shè)備比如S7500E、S10500等通常沒有單獨(dú)復(fù)位鍵但主控板上有RESET按鈕作用是重啟主控板不是恢復(fù)出廠早期一些設(shè)備比如S3100沒有復(fù)位鍵只能通過命令行或BootROM處理所以在考慮用硬件復(fù)位鍵之前先確認(rèn)設(shè)備到底有沒有這個(gè)按鍵別把別的小孔比如Console口旁的針孔當(dāng)成Reset了。華三設(shè)備上一般會(huì)標(biāo)注RESET或者一個(gè)小箭頭符號(hào)。4.2 硬件復(fù)位的正確操作順序如果確認(rèn)設(shè)備有復(fù)位鍵操作流程如下確認(rèn)設(shè)備已經(jīng)完全斷電拔掉電源線或者關(guān)閉電源開關(guān)找到面板上的RESET孔或按鍵用回形針或?qū)iT的頂針按住RESET鍵不放保持按住的同時(shí)給設(shè)備上電持續(xù)按壓10秒以上部分型號(hào)需要15秒直到設(shè)備指示燈出現(xiàn)異常閃爍或全部熄滅再亮起松開按鍵等待設(shè)備重新啟動(dòng)這個(gè)操作的效果因型號(hào)而異有的是清掉配置恢復(fù)到出廠有的是讓設(shè)備進(jìn)入BootROM菜單有的是單純強(qiáng)制重啟。我建議操作前先查一下該型號(hào)的說明書確認(rèn)長(zhǎng)按復(fù)位鍵的具體行為。4.3 硬件復(fù)位的風(fēng)險(xiǎn)控制與替代方案我不太推薦用戶優(yōu)先使用硬件復(fù)位鍵原因有兩點(diǎn)無法預(yù)判實(shí)際效果。我遇到過一臺(tái)設(shè)備長(zhǎng)按復(fù)位鍵后設(shè)備進(jìn)入了BootROM菜單而且配置文件仍然存在最終還是需要手動(dòng)進(jìn)BootROM去刪配置有些設(shè)備長(zhǎng)按復(fù)位鍵會(huì)同時(shí)觸發(fā)生成樹、ACL等模塊的默認(rèn)恢復(fù)導(dǎo)致網(wǎng)絡(luò)出現(xiàn)瞬時(shí)環(huán)路或中斷如果設(shè)備處于“完全無響應(yīng)、任何方式都進(jìn)不去”的狀態(tài)我更建議的做法是短按重置鍵觸發(fā)重啟觀察設(shè)備指示燈狀態(tài)如果設(shè)備能起來那就趕緊用console進(jìn)入BootROM菜單操作。本質(zhì)上硬件復(fù)位鍵是我最不愿意碰的設(shè)備操作之一能不用就不用。5. 實(shí)操過程中的常見問題與排查技巧做運(yùn)維這幾年光是“恢復(fù)出廠設(shè)置”這件事我就遇到過不少稀奇古怪的情況。下面把最常見的幾個(gè)問題和排查經(jīng)驗(yàn)整理出來幫你少走彎路。5.1 問題一執(zhí)行了reset saved-configuration重啟后配置還在這個(gè)現(xiàn)象挺常見的原因是設(shè)備在重啟時(shí)提示是否保存配置你手滑選了Y。前面說過reset saved-configuration只刪除了flash里的舊配置但運(yùn)行中的配置還駐留在內(nèi)存里。重啟時(shí)如果選擇保存當(dāng)前運(yùn)行配置新的配置文件會(huì)被重新寫入flash。解決辦法重新執(zhí)行一遍reset saved-configuration然后重啟時(shí)看清楚提示選N。如果設(shè)備已經(jīng)完成重啟且配置仍在那就意味著在重啟前的保存提示中選了Y只能再來一遍。還有一個(gè)隱蔽原因設(shè)備上存在多個(gè)配置文件名reset saved-configuration只刪除了一個(gè)而重啟時(shí)指定了另一個(gè)配置文件作為啟動(dòng)文件。這種情況在S55系列上遇到過設(shè)備里有main和backup兩套配置刪了mainbackup還在。解決方法是先display startup看下當(dāng)前主用啟動(dòng)文件是誰然后到BootROM菜單里去看flash里的所有文件手動(dòng)一個(gè)一個(gè)清理。5.2 問題二恢復(fù)出廠后無法遠(yuǎn)程登錄設(shè)備恢復(fù)出廠后默認(rèn)情況下只有Console口可以登錄管理VLAN的IP地址是空的所以原來的Telnet/SSH地址肯定連不上。這不是設(shè)備壞了而是出廠配置本身就沒有配置遠(yuǎn)程登錄。解決辦法通過console口進(jìn)入設(shè)備重新配置管理IP和登錄方式H3C system-view [H3C] interface Vlan-interface 1 [H3C-Vlan-interface1] ip address 192.168.1.1 24 [H3C-Vlan-interface1] quit [H3C] ssh server enable [H3C] local-user admin [H3C-luser-manage-admin] service-type ssh [H3C-luser-manage-admin] authorization-attribute user-role network-admin配完就能遠(yuǎn)程連了。另外如果發(fā)現(xiàn)設(shè)備恢復(fù)出廠后管理地址無法ping通外網(wǎng)檢查一下上聯(lián)口是否在默認(rèn)VLAN 1是否配置了正確的端口類型。5.3 問題三強(qiáng)烈建議恢復(fù)出廠后檢查的幾項(xiàng)配置設(shè)備恢復(fù)出廠設(shè)置后別急著投入使用有幾項(xiàng)配置容易遺漏時(shí)區(qū)和NTP配置恢復(fù)出廠后設(shè)備時(shí)間會(huì)變成UTC默認(rèn)值日志時(shí)間不對(duì)影響排查故障SNMP/日志服務(wù)器配置這部分會(huì)上報(bào)給監(jiān)控系統(tǒng)漏配會(huì)導(dǎo)致監(jiān)控告警瞎報(bào)端口速率協(xié)商模式部分老舊設(shè)備恢復(fù)后端口模式可能不適合當(dāng)前線纜速率造成大量CRC錯(cuò)誤PoE供電開關(guān)如果設(shè)備帶PoE功能恢復(fù)出廠后默認(rèn)是關(guān)閉狀態(tài)下掛AP、攝像頭直接沒電推薦在恢復(fù)出廠后先把管理IP配上做一次display logbuffer查看啟動(dòng)日志里面是否有異常報(bào)錯(cuò)再慢慢補(bǔ)其他配置。5.4 斷網(wǎng)環(huán)境下的“偽恢復(fù)出廠”小技巧有些場(chǎng)景下你并不是真的要把配置全部清掉只是想讓設(shè)備“干凈”一點(diǎn)。比如設(shè)備要移交給另一個(gè)部門使用或者要測(cè)試一些臨時(shí)配置。這時(shí)可以用一個(gè)取巧的辦法不執(zhí)行reset saved-configuration而是用save startup.cfg先把當(dāng)前配置保存為另一個(gè)文件名再把當(dāng)前運(yùn)行的配置清掉。步驟是[H3C] save test.cfg保存完成后用display current-configuration確認(rèn)當(dāng)前運(yùn)行配置還在然后需要一條條撤銷或者手動(dòng)清空關(guān)鍵配置VLAN、ACL、路由等。這個(gè)方法適合你不想徹底重置、但希望設(shè)備“看起來像干凈”的場(chǎng)景。當(dāng)然如果希望徹徹底底干凈還是老老實(shí)實(shí)用前面三種方式。6. 總結(jié)三種方式的最終建議最后聊點(diǎn)個(gè)人體會(huì)。我處理華三交換機(jī)恢復(fù)出廠這件事用命令行方式的次數(shù)大概占八成BootROM方式不到兩成硬件復(fù)位鍵幾乎沒用過。不是硬件復(fù)位鍵沒用而是它的不確定性太高了。設(shè)備狀態(tài)診斷不清楚貿(mào)然物理復(fù)位小事變大是常有的事。我的建議是把這三種方式當(dāng)成一套組合拳來掌握先試命令行命令行進(jìn)不去就上BootROMBootROM都解決不了再考慮物理復(fù)位鍵。恢復(fù)出廠設(shè)置的本質(zhì)不是“劈一刀就完事”而是要確保設(shè)備能順利回到可用狀態(tài)。所以任何時(shí)候手頭備一根console線并把設(shè)備型號(hào)和軟件版本記下來這些陌生的設(shè)備也能很快搞定。