交換機(jī):zone配置、級(jí)聯(lián)與巡檢實(shí)戰(zhàn))
簡(jiǎn)介面向數(shù)據(jù)中心光纖存儲(chǔ)網(wǎng)絡(luò)運(yùn)維人員與初入SAN領(lǐng)域的工程師這份博科Brocade Fabric交換機(jī)培訓(xùn)文檔與操作手冊(cè)以25頁(yè)P(yáng)DF形式梳理日常運(yùn)維所需的核心知識(shí)。內(nèi)容從FC交換機(jī)與以太網(wǎng)、FC協(xié)議與TCP/IP的差異講起延伸到常見(jiàn)接口類型、交換機(jī)基礎(chǔ)配置、Zone與VSAN等通道業(yè)務(wù)配置并配有案例演示和FAQ巡檢、日志收集思路便于按章節(jié)查漏補(bǔ)缺。資源包共1個(gè)PDF文件約3.28MB結(jié)構(gòu)緊湊適合打印成冊(cè)或隨查隨用。已有1898人學(xué)習(xí)說(shuō)明其在存儲(chǔ)交換機(jī)入門與運(yùn)維場(chǎng)景中具有一定參考價(jià)值。讀者可據(jù)此掌握登錄改密、管理地址與NTP設(shè)置、端口啟停、switchname修改、Zone創(chuàng)建激活、VSAN與Port Channel配置等操作要點(diǎn)也能借助巡檢命令和排障日志方法提升日常維護(hù)與故障定位效率。1. 一份 25 頁(yè)的設(shè)備交接文檔為什么值得反復(fù)翻。機(jī)房搬遷前夜一臺(tái)博科存儲(chǔ)交換機(jī)要新增兩個(gè) zone還要跟另一臺(tái)做級(jí)聯(lián)。帶你的老工程師已經(jīng)離職留下的就是一份 25 頁(yè)的培訓(xùn)文檔加操作手冊(cè)。它把博科交換機(jī) OS 的功能模塊、基礎(chǔ)管理命令、光纖通道業(yè)務(wù)配置、級(jí)聯(lián)案例和巡檢命令按操作順序串了起來(lái)從串口登錄一直講到fcping和checkrclink帶寬驗(yàn)證。它解決的不是“學(xué)會(huì) FC 原理”而是“明天要?jiǎng)邮纸裢碇烂織l命令敲下去會(huì)發(fā)生什么”。適合兩類人剛接手存儲(chǔ)交換機(jī)的運(yùn)維和需要給 FC 網(wǎng)絡(luò)做 zone 變更、級(jí)聯(lián)擴(kuò)容的老手。第 1 章不講命令先把 FC 跟以太網(wǎng)的分工差異講清楚因?yàn)楹竺婷恳粋€(gè)參數(shù)都跟這個(gè)差異有關(guān)。2. 協(xié)議棧分工決定參數(shù)FC 為什么要把 buffer 當(dāng)成一等公民2.1 HBA 和交換機(jī) ASIC 承擔(dān)了底層四層主機(jī)只看到上層數(shù)據(jù)FC 協(xié)議棧從下往上分五層FC-0 管物理介質(zhì)、接口和速率FC-1 管編碼解碼FC-2 管幀、序列和交換FC-3 是公共服務(wù)FC-4 做上層協(xié)議映射最典型的是 FCP 承載 SCSI新一點(diǎn)的是 FC-NVMe。關(guān)鍵在于 FC-0 到 FC-3 這四層的處理不在主機(jī)內(nèi)核里而是在 HBA 卡和交換機(jī) ASIC 的固件里完成送到主機(jī)內(nèi)存里的數(shù)據(jù)已經(jīng)是干干凈凈的上層數(shù)據(jù)。TCP/IP 走的是另一條路。以太網(wǎng)卡把收到的每一幀都送到主機(jī)內(nèi)核協(xié)議棧IP 層做地址判斷TCP 層做數(shù)據(jù)段定界、校驗(yàn)、排序、重傳和拼接每一步都要占主機(jī) CPU還要經(jīng)歷多次內(nèi)存拷貝。所以在大塊順序讀寫(xiě)這種場(chǎng)景下FC 的 CPU 占用和時(shí)延都明顯低。這個(gè)差異直接決定了兩個(gè)配置習(xí)慣。第一FC 鏈路靠信用機(jī)制BB credit做流控發(fā)送方必須先拿到接收方的 buffer 額度才發(fā)幀鏈路不丟包、不重傳所以“buffer 夠不夠”比“帶寬夠不夠”更容易成為瓶頸。第二鏈路距離一長(zhǎng)在途幀數(shù)量變大需要更多 credit 才能把管道填滿這就是級(jí)聯(lián)時(shí)要配portcfglongdistance和看portbuffershow的原因而不是簡(jiǎn)單調(diào)個(gè)速率了事。提示不要在 FC 環(huán)境里套用以太網(wǎng)那套“先擴(kuò)容帶寬”的思路。帶寬足夠但 credit 不足時(shí)portperfshow顯示的吞吐量會(huì)穩(wěn)定在某個(gè)上不去的值看起來(lái)很像鏈路有問(wèn)題實(shí)際上參數(shù)沒(méi)給夠。2.2 七類服務(wù)模塊各自對(duì)應(yīng)一組命令文檔把 Fabric OS 的服務(wù)拆成登錄服務(wù)、目錄服務(wù)、光纖控制器服務(wù)、時(shí)間服務(wù)、管理服務(wù)、別名服務(wù)、廣播服務(wù)。這套劃分不算嚴(yán)格意義上的模塊架構(gòu)但它是一張很好用的“命令索引表”遇到問(wèn)題時(shí)先判斷是哪類服務(wù)在起作用再去查對(duì)應(yīng)命令比漫無(wú)目的翻手冊(cè)快得多。服務(wù)模塊作用常用命令登錄服務(wù)與其它交換機(jī)節(jié)點(diǎn)或服務(wù)交換數(shù)據(jù)fabricshow、islshow目錄服務(wù)名稱服務(wù)器節(jié)點(diǎn)注冊(cè)、查詢、發(fā)現(xiàn)其它設(shè)備nsshow、nsallshow、nscamshow光纖控制器服務(wù)節(jié)點(diǎn)狀態(tài)變更通知fabricshow、日志檢查時(shí)間服務(wù)保持全網(wǎng)時(shí)間同步日志可對(duì)齊date、tsclockserver管理服務(wù)唯一可直接配置的服務(wù)管基礎(chǔ)配置和通道業(yè)務(wù)ipaddrset、switchname、cfgcreate等別名服務(wù)節(jié)點(diǎn)名稱注冊(cè)與分組alicreate、alishow、aliadd廣播服務(wù)發(fā)到廣播地址的幀向全域擴(kuò)散一般只做診斷不主動(dòng)配實(shí)際排障時(shí)的順序通常是先看清楚“誰(shuí)在 fabric 里”目錄服務(wù)再看“鏈路通不通”登錄服務(wù)最后才動(dòng)“配置對(duì)不對(duì)”管理服務(wù)。反過(guò)來(lái)做很容易在錯(cuò)誤的層面上折騰半天。2.3 U_Port 變成 F_Port 還是 E_Port決定了這條鏈路能承載什么光纖交換機(jī)上電后端口默認(rèn)是 U_Port誰(shuí)先連上來(lái)、對(duì)端是什么角色它自動(dòng)協(xié)商成對(duì)應(yīng)類型。接主機(jī) HBA 或存儲(chǔ)陣列端口協(xié)商成 F_Port接另一臺(tái)交換機(jī)做級(jí)聯(lián)協(xié)商成 E_Port接交換機(jī)但級(jí)聯(lián)沒(méi)成功就會(huì)停在 G_Port。switchshow輸出里每個(gè)端口那一列的狀態(tài)就是判斷當(dāng)前處于哪種角色最直接的依據(jù)。接口形態(tài)上常見(jiàn)的是 SFP 光口8G/16G/32G FC、QSFP 口用于更高密度或 128G 鏈路以及少量銅纜接口用于管理網(wǎng)或短距互聯(lián)。選型上我一般按三條原則走跨機(jī)柜或跨樓層一律光纖同一機(jī)柜內(nèi) 3 米以內(nèi)可以上銅纜降成本光模塊的速率和距離等級(jí)必須成對(duì)匹配短距模塊SR不要硬拉長(zhǎng)距離兩端模塊廠商和型號(hào)盡量統(tǒng)一混插是后面porterrshow里出現(xiàn)各種奇怪計(jì)數(shù)的常見(jiàn)來(lái)源。端口角色不對(duì)時(shí)先別懷疑模塊。級(jí)聯(lián)場(chǎng)景下如果switchshow一直顯示 G_Port八成是 domain ID 沖突或授權(quán)缺失這兩條在避坑章里會(huì)展開(kāi)。2.4 上線前摸清硬件三條只讀命令在動(dòng)任何配置之前先把這臺(tái)設(shè)備的型號(hào)、端口布局、模塊在位情況和 Fabric 歸屬看清楚。這三條命令都是只讀的生產(chǎn)時(shí)間跑也安全。# 1) 整機(jī)與端口總覽型號(hào)、domain、當(dāng)前 zone 是否生效、每個(gè)端口的狀態(tài)與角色 switchshow # 2) Fabric 成員有幾臺(tái)交換機(jī)、誰(shuí)是主、各自的 IP 和 WWN fabricshow # 3) 指定端口的光模塊信息類型、速率、廠商、收發(fā)光功率 sfpshow 0 sfpshow 24switchshow輸出里有幾個(gè)字段要盯住switchName是設(shè)備名switchDomain是域 ID級(jí)聯(lián)沖突就看它zoning顯示 ON 表示 zone 服務(wù)已啟用端口部分的state列給出Online、No_Module、No_Light、In_Sync、Online等狀態(tài)comment列會(huì)帶上F-Port或E-Port以及對(duì)端 WWN。fabricshow里主交換機(jī)前面會(huì)有標(biāo)記級(jí)聯(lián)成功的兩臺(tái)設(shè)備必須出現(xiàn)在同一份輸出里否則就是 fabric 沒(méi)合并。sfpshow的參數(shù)是端口號(hào)不是 area 號(hào)寫(xiě)錯(cuò)了會(huì)提示端口不存在。輸出里的Media、Connector、Transceiver三行確認(rèn)模塊類型是否和預(yù)期一致后面的Rx Power、Tx Power就是光功率讀數(shù)單位是 uW 和 dBm 雙顯示下一章講閾值時(shí)再細(xì)說(shuō)。3. 基礎(chǔ)管理配置九條命令把裸設(shè)備變成可運(yùn)維狀態(tài)3.1 三條接入路徑與各自的默認(rèn)參數(shù)新設(shè)備拆箱后第一件事是連上去。文檔給了三條路徑串口、管理口 SSH、Web。串口是最保底的波特率 9600、8 位數(shù)據(jù)位、無(wú)校驗(yàn)、1 位停止位、無(wú)流控用 RJ45 轉(zhuǎn) USB 或 Mini-USB 線接到筆記本終端軟件里選對(duì)串口號(hào)即可。這條路徑不依賴網(wǎng)絡(luò)設(shè)備 IP 配錯(cuò)了也能救回來(lái)所以我一般建議現(xiàn)場(chǎng)施工時(shí)先確認(rèn)串口能通再去配管理網(wǎng)。管理口有出廠默認(rèn)地址 10.77.77.77默認(rèn)賬號(hào)admin、默認(rèn)密碼password。這個(gè)默認(rèn)值是全網(wǎng)皆知的設(shè)備一上線必須改掉。SSH 登錄用ssh admin10.77.77.77前提是筆記本網(wǎng)口配一個(gè)同網(wǎng)段地址比如 10.77.77.100/24。Web 方式用https://管理IP訪問(wèn)但要注意 Java 依賴文檔里提到某型號(hào)需要 Java 7、另一型號(hào)需要 Java 8。這條是血淚經(jīng)驗(yàn)——瀏覽器升級(jí)后 Java 插件被禁Web 界面直接白屏很多現(xiàn)場(chǎng)以為是設(shè)備故障其實(shí)是本地環(huán)境問(wèn)題。能用 SSH 就別用 Web腳本化和批量操作都方便得多。3.2 賬號(hào)、管理地址這兩條命令改完立即生效passwd不帶參數(shù)改當(dāng)前登錄用戶的密碼帶用戶名改指定用戶交互式輸入兩遍新密碼。ipaddrset是交互式命令逐項(xiàng)詢問(wèn)以太網(wǎng) IP、子網(wǎng)掩碼、網(wǎng)關(guān)、帶內(nèi) IP注意它是即刻生效的回車確認(rèn)后當(dāng)前 SSH 會(huì)話立刻斷開(kāi)必須用新地址重連。# 改當(dāng)前用戶密碼 passwd # 改指定用戶密碼需要 admin 權(quán)限 passwd admin # 新增一個(gè)只讀運(yùn)維賬號(hào)角色為 user userconfig --add ops01 -r user -p Init#2024 # 改管理地址交互式改完立即生效SSH 會(huì)掉線 ipaddrsetuserconfig的-r參數(shù)決定權(quán)限admin可以做全部配置變更user只能做有限操作和查詢operator權(quán)限更低。生產(chǎn)上給巡檢腳本單獨(dú)開(kāi)一個(gè)user角色賬號(hào)比共用 admin 賬號(hào)好排查——clihistory里能看出是誰(shuí)在什么時(shí)候敲了什么。ipaddrset執(zhí)行前先確認(rèn)筆記本已經(jīng)配好新網(wǎng)段的地址否則改完就連不上只能回到串口。這個(gè)“后悔藥”成本很高尤其在遠(yuǎn)程操作時(shí)。3.3 會(huì)話超時(shí)、NTP 與設(shè)備名會(huì)話超時(shí)用timeout 分鐘數(shù)值為 0 表示永不超時(shí)。生產(chǎn)環(huán)境不建議設(shè) 0運(yùn)維終端開(kāi)著去開(kāi)會(huì)回來(lái)發(fā)現(xiàn)會(huì)話還掛著別人順手敲一條命令就可能出事。我一般設(shè) 10 到 15 分鐘。時(shí)間同步是tsclockserver NTP服務(wù)器IP注意 IP 要加引號(hào)。時(shí)間不同步帶來(lái)的問(wèn)題很隱蔽兩臺(tái)交換機(jī)的日志時(shí)間差幾分鐘級(jí)聯(lián)故障時(shí)根本沒(méi)法按時(shí)間線對(duì)齊事件追起來(lái)像在黑匣子里找線索。配置完用date確認(rèn)當(dāng)前時(shí)間再用tsclockserver不帶參數(shù)查當(dāng)前設(shè)置的服務(wù)器。設(shè)備名用switchname 新名字。命名規(guī)范建議帶上機(jī)房、樓層、角色和序號(hào)比如DC1-A-SW01因?yàn)閒abricshow輸出里只顯示這個(gè)名稱級(jí)聯(lián)后一眼能看出誰(shuí)是誰(shuí)。# 會(huì)話超時(shí) 15 分鐘 timeout 15 # 配置 NTP 服務(wù)器IP 必須加引號(hào) tsclockserver 10.31.255.254 # 查看當(dāng)前時(shí)間與 NTP 配置 date tsclockserver # 修改設(shè)備名 switchname DC1-A-SW013.4 禁用、啟用與關(guān)機(jī)順序錯(cuò)了多停十分鐘switchdisable讓整臺(tái)交換機(jī)退出 fabric所有端口停止轉(zhuǎn)發(fā)但設(shè)備本身還在運(yùn)行配置命令依然能敲。switchenable恢復(fù)。改 domain ID、改 fabric 參數(shù)這類操作必須先在 disable 狀態(tài)下做在線改會(huì)直接被拒絕。端口級(jí)的portdisable 端口號(hào)和portenable 端口號(hào)影響面小得多換模塊、換線前先 disable 對(duì)應(yīng)端口是基本動(dòng)作。注意portdisable是臨時(shí)狀態(tài)設(shè)備重啟后端口可能自動(dòng)恢復(fù)如果希望重啟后仍保持禁用要配portcfgpersistentdisable反過(guò)來(lái)用portcfgpersistentenable。關(guān)機(jī)用sysshutdown執(zhí)行后會(huì)走正常的停機(jī)流程。直接拔電源的后果是配置文件可能沒(méi)落盤下次啟動(dòng)回到舊配置這種翻車現(xiàn)場(chǎng)我見(jiàn)過(guò)不止一次。正確順序是確認(rèn)業(yè)務(wù)已切走 →switchdisable→sysshutdown→ 等面板指示燈滅 → 斷電源。注意switchdisable會(huì)中斷整臺(tái)設(shè)備的轉(zhuǎn)發(fā)級(jí)聯(lián)環(huán)境下對(duì)端交換機(jī)會(huì)收到 RSCN主機(jī)側(cè)多路徑軟件可能觸發(fā)路徑切換。做這類操作前先跟存儲(chǔ)和主機(jī)側(cè)確認(rèn)窗口。3.5 建立只讀基線一次跑完的查詢組合接手一臺(tái)不熟悉的設(shè)備我會(huì)先跑一組只讀命令把當(dāng)前狀態(tài)存成一份基線文本后續(xù)任何變更都跟這份基線對(duì)比。文檔里列出的查詢命令正好夠用。# 管理層信息 ipaddrshow # 管理口地址 uptime # 運(yùn)行時(shí)長(zhǎng)判斷是否發(fā)生過(guò)意外重啟 clihistory --show # 歷史命令看前任做過(guò)什么 # 硬件與 Fabric chassisshow # 主板、序列號(hào)、固件版本 fabricshow # Fabric 成員 switchshow # 端口總覽 # 配置層 configshow # 系統(tǒng)參數(shù) cfgactvshow # 當(dāng)前生效的配置文件 zoneshow # 已定義和生效的 zone alishow # 別名與 WWN 對(duì)應(yīng) # 性能與健康 portcfgshow # 端口配置 porterrshow # 端口錯(cuò)誤計(jì)數(shù) fanshow # 風(fēng)扇狀態(tài) memshow # 內(nèi)存使用clihistory這條容易被忽略但它能告訴你前任是不是剛改過(guò)什么還沒(méi)生效的配置。uptime顯示的運(yùn)行時(shí)長(zhǎng)如果比預(yù)期短說(shuō)明設(shè)備近期重啟過(guò)要順著日志查原因。chassisshow里的固件版本一定要記錄不同版本的命令參數(shù)前綴有差異后面配長(zhǎng)距離參數(shù)時(shí)就可能踩到。4. alias、zone、cfg 三層對(duì)象把變更做成可回滾的四步鏈路4.1 三層對(duì)象的關(guān)系與生效模型FC 網(wǎng)絡(luò)的訪問(wèn)控制不靠 IP靠 WWN。三層對(duì)象從細(xì)到粗alias 是給 WWN 起的名字zone 是允許互訪的成員集合cfg配置文件是一組 zone 的集合同一時(shí)刻只有一份 cfg 生效。主機(jī)要能看到存儲(chǔ)兩個(gè)端口的 WWN 必須落在同一個(gè)生效 zone 里。成員寫(xiě)法有三種WWN20:00:00:25:b5:00:00:1a、別名ESXi01_HBA1、域端口對(duì)1,3表示 domain 1 的端口 3。第三種最脆弱設(shè)備換板卡或端口位置一變就失效我一般只在臨時(shí)測(cè)試時(shí)用生產(chǎn)一律用 alias 包 WWN。生效模型要分清兩層cfgsave把內(nèi)存里的定義寫(xiě)進(jìn) flash這是“保存”cfgenable讓某份 cfg 真正生效這是“啟用”。只保存不啟用配置在zoneshow里能看到但主機(jī)不認(rèn)只啟用不保存設(shè)備重啟后配置丟失。這兩步都做了才算變更完成。4.2 建、加、存、生效四步一個(gè)都不能省標(biāo)準(zhǔn)流程是建 alias → 建 zone → 建 cfg 并把 zone 加進(jìn)去 → 保存并啟用。下面這段可以直接照抄改參數(shù)。# 第一步建別名把 WWN 換成看得懂的名字 alicreate ESXi01_HBA1, 20:00:00:25:b5:00:00:1a alicreate STOR01_CTL0_P0, 50:00:d3:10:00:5e:00:01 # 第二步建 zone成員用分號(hào)隔開(kāi) zonecreate zone_esxi01_stor01, ESXi01_HBA1;STOR01_CTL0_P0 # 第三步建配置文件并把 zone 加進(jìn)去 cfgcreate cfg_dc1_prod, zone_esxi01_stor01 # 第四步保存到 flash 并啟用 cfgsave cfgenable cfg_dc1_prodalicreate和zonecreate的成員用分號(hào)分隔一條命令可以帶多個(gè)成員。cfgcreate的第二個(gè)參數(shù)可以給空之后再cfgadd逐個(gè)添加也可以一次給全。cfgsave提交當(dāng)前事務(wù)cfgenable的參數(shù)是cfg 的名字不是 zone 的名字——文檔里這一行寫(xiě)成了cfgEnable testzonename容易讓人誤以為填 zone 名實(shí)際填錯(cuò)會(huì)報(bào)找不到配置文件。啟用瞬間交換機(jī)會(huì)向所有登錄節(jié)點(diǎn)發(fā) RSCN主機(jī)側(cè)多路徑軟件會(huì)看到路徑狀態(tài)變化可能出現(xiàn)短暫的 IO 抖動(dòng)。生產(chǎn)變更安排在業(yè)務(wù)低峰并且提前跟主機(jī)側(cè)打招呼這是我踩過(guò)的最貴的一課。4.3 改名、替換、刪成員連帶影響先想清楚zoneobjectrename改的是對(duì)象名可以改 zone、alias也能改 cfg。改名之后必須重新cfgsave和cfgenable才生效。關(guān)鍵一點(diǎn)改 alias 的名字引用它的 zone 成員信息會(huì)跟著變用的是 alias 名字而不是 WWN所以 zone 不會(huì)失效——這條如果沒(méi)想明白很容易以為要重建所有 zone。zoneobjectreplace做的是替換成員典型場(chǎng)景是存儲(chǔ)控制器換板卡WWN 變了但邏輯位置不變。用替換而不是刪了重建可以保持 zone 里的成員順序不變少一次全量重建的風(fēng)險(xiǎn)。# 改 zone 名 zoneobjectrename zone_esxi01_stor01, zone_esxi01_stor01_v2 # 把 old 成員整體替換成 new 成員 zoneobjectreplace STOR01_CTL0_P0, STOR01_CTL0_P0_NEW # 增刪成員 aliadd ESXi01_HBA1, 20:00:00:25:b5:00:00:1b zoneadd zone_esxi01_stor01, ESXi01_HBA2 aliremove ESXi01_HBA1, 20:00:00:25:b5:00:00:1b zoneremove zone_esxi01_stor01, ESXi01_HBA2 # 刪除對(duì)象 alidelete ESXi01_HBA1 zonedelete zone_esxi01_stor01 cfgdelete cfg_dc1_prod # 任何變更之后 cfgsave cfgenable cfg_dc1_prod刪除是全局的zonedelete會(huì)把所有 cfg 里引用的這個(gè) zone 一并刪掉而不只是當(dāng)前生效的那份。多數(shù)時(shí)候一個(gè) zone 只存在于一份 cfg 里所以感覺(jué)不到但如果你維護(hù)著“生產(chǎn) cfg 災(zāi)備 cfg”兩套刪一個(gè) zone 會(huì)同時(shí)從兩套里消失。這個(gè)行為必須提前知道。4.4 把表格里的 WWN 批量變成命令真實(shí)場(chǎng)景很少只有一對(duì)端口。一張 Excel 表里幾十行主機(jī) HBA WWN 和存儲(chǔ)端口 WWN手敲必然出錯(cuò)。我的做法是先用腳本生成命令文本人工檢查一遍再粘進(jìn)交換機(jī)。#!/bin/bash # hosts.csv 兩列alias_name,wwn while IFS, read -r name wwn; do # 跳過(guò)表頭和空行 [ -z $name ] continue [ $name alias_name ] continue # 去掉 Windows 換行符和首尾空格 wwn$(echo $wwn | tr -d \r | xargs) echo alicreate \$name\, \$wwn\ done hosts.csv ali_cmds.txtIFS,把分隔符改成逗號(hào)read -r防止反斜杠被轉(zhuǎn)義tr -d \r處理從 Windows 導(dǎo)出的 CSV 末尾回車xargs順手去掉前后空格。生成的ali_cmds.txt里每行一條alicreate復(fù)制到交換機(jī)命令行執(zhí)行即可。zone 可以用同樣的思路生成但成員組合必須從業(yè)務(wù)關(guān)系表里來(lái)不能讓腳本自己配對(duì)——兩個(gè)不該互通的 zone 一旦合并主機(jī)可能看到不該看到的 LUN這類事故排查起來(lái)極其費(fèi)時(shí)。生成完先cat一遍看有沒(méi)有異常的 WWN 格式比如少一位或多一位再執(zhí)行。5. 五個(gè)常見(jiàn)問(wèn)題現(xiàn)象、成因與處置順序5.1 zone 建完主機(jī)不認(rèn)盤defined 有、effective 沒(méi)有現(xiàn)象zoneshow能看到新建的 zonecfgactvshow里卻沒(méi)有它主機(jī)側(cè)重新掃描也看不到新 LUN。原因通常有三個(gè)只執(zhí)行了cfgsave沒(méi)執(zhí)行cfgenablecfgadd之后忘了保存配置還在內(nèi)存事務(wù)里或者啟用了另一份 cfg新 zone 加進(jìn)了沒(méi)生效的那份。還有一種隱蔽情況前一次操作中斷留下了未提交事務(wù)后續(xù)命令全部被擋住。解決順序先cfgtransshow看有沒(méi)有掛起的事務(wù)有就cfgtransabort中止再cfgshow對(duì)比 Defined 和 Effective 兩段內(nèi)容確認(rèn)目標(biāo) zone 在哪一份里然后cfgsave最后cfgenable 正確的cfg名用cfgactvshow復(fù)核生效的 cfg 名。全部確認(rèn)后主機(jī)側(cè)做一次 rescan必要時(shí)重啟多路徑服務(wù)。5.2 級(jí)聯(lián)端口停在 G_Port先查 domain ID 和授權(quán)現(xiàn)象兩臺(tái)交換機(jī)光纖接好switchshow里端口狀態(tài)是In_Sync或G_Portfabricshow只顯示自己一臺(tái)fabric 沒(méi)合并。最常見(jiàn)的原因是 domain ID 沖突兩臺(tái)設(shè)備出廠都是 1接上就打架。處理流程是switchdisable→configure→ 在Fabric parameters處回答y→ 輸入唯一域 ID1 到 239避開(kāi)已用值→ 其余提示直接回車接受 →switchenable。改完switchshow里的switchDomain應(yīng)該變成新值。第二個(gè)原因是授權(quán)。兩臺(tái)交換機(jī)互聯(lián)需要級(jí)聯(lián)授權(quán)超過(guò) 10 公里還需要遠(yuǎn)距離授權(quán)。licenseshow查看已安裝的授權(quán)項(xiàng)缺了就先補(bǔ)再談其它。第三個(gè)原因是速率和 FEC 不匹配一端固定速率、一端自適應(yīng)或者一端開(kāi)了 FEC 一端沒(méi)開(kāi)鏈路會(huì)停在同步階段。用portcfgfec --disable -FEC 端口或--enable讓兩端一致再觀察狀態(tài)。成功后的標(biāo)志很明確端口狀態(tài)變成E-Portfabricshow輸出里主交換機(jī)前有從屬設(shè)備標(biāo)注 upstream / downstreamislshow能看到級(jí)聯(lián)鏈路明細(xì)。5.3 porterrshow 一報(bào)錯(cuò)就換線Enc_Out 和 Crc_Err 要分開(kāi)看現(xiàn)象porterrshow里某端口有錯(cuò)誤計(jì)數(shù)第一反應(yīng)是換整條光纖換完還是漲。Enc_Out是編碼層的外部錯(cuò)誤單獨(dú)出現(xiàn)、且增長(zhǎng)緩慢時(shí)多半是線纜或連接器端面污染、彎折過(guò)度。Crc_Err是幀校驗(yàn)錯(cuò)誤反映的是數(shù)據(jù)完整性。兩個(gè)一起增長(zhǎng)更可能是光模塊本身的光電轉(zhuǎn)換出了問(wèn)題。只漲Crc_Err而Enc_Out不動(dòng)鏈路誤碼的可能性更大要順著整條鏈路查包括配線架上的法蘭盤。處置順序我一般是先sfpshow看收發(fā)光功率是否在范圍內(nèi) → 清潔兩端端面 → 換一段已知良好的跳線做交叉驗(yàn)證 → 換模塊 → 最后才懷疑交換機(jī)端口。判斷增速比看絕對(duì)值有用得多portstatsclear 端口清零后觀察 10 分鐘漲幾百和漲幾萬(wàn)是兩種性質(zhì)的問(wèn)題。5.4 sfpshow 讀數(shù)看不懂uW 和 dBm 的換算與閾值現(xiàn)象sfpshow顯示Rx Power是 200 uW看著數(shù)字不小實(shí)際鏈路余量已經(jīng)不夠了。uW 是線性單位dBm 是對(duì)數(shù)單位兩者換算關(guān)系是dBm 10 × log10(uW / 1000)。文檔給出的經(jīng)驗(yàn)閾值是大于 398 uW 為正常換算過(guò)來(lái)約等于 -4.0 dBm。幾個(gè)常用點(diǎn)記住就夠光功率 (uW)約合 (dBm)判斷10000強(qiáng)短距鏈路常見(jiàn)398-4.0文檔給出的正常下限參考100-10偏低長(zhǎng)距鏈路可能正常10-20接近靈敏度極限需核查判讀要成對(duì)看本端Tx Power和對(duì)端Rx Power的差值就是這段光纖的插損正常情況下幾個(gè) dB 以內(nèi)。如果插損突然變大先查跳線和法蘭別急著換模塊。不同速率的模塊靈敏度不同16G 模塊比 8G 模塊對(duì)損耗更敏感混插時(shí)更容易出問(wèn)題。5.5 抄來(lái)的命令報(bào) Unknown Command命令體系不是一套現(xiàn)象網(wǎng)上搜到set login user xxx password xxx、set ip interface ...這類寫(xiě)法粘進(jìn)博科交換機(jī)直接報(bào)未知命令。原因是命令體系不同。set開(kāi)頭那一套屬于另一派網(wǎng)絡(luò)設(shè)備的配置風(fēng)格博科 Fabric OS 用的是自己的動(dòng)詞體系改密碼是passwd改管理地址是ipaddrset改設(shè)備名是switchname改超時(shí)是timeout??吹健翱雌饋?lái)很像但就是報(bào)錯(cuò)”的命令先懷疑來(lái)源不對(duì)而不是設(shè)備有問(wèn)題。穩(wěn)妥做法是用設(shè)備自帶的幫助確認(rèn)help列出頂層命令commandhelp 命令看具體參數(shù)格式。任何在生產(chǎn)設(shè)備上沒(méi)敲過(guò)的命令先在測(cè)試設(shè)備或者至少--help層面確認(rèn)一遍別拿生產(chǎn)當(dāng)試驗(yàn)田。6. 日常巡檢與帶寬驗(yàn)證把感覺(jué)正常換成可對(duì)比的數(shù)字巡檢的價(jià)值在于“有基線可比”。我習(xí)慣按頻次分三檔把switchshow、fabricshow、cfgactvshow、porterrshow、fanshow放在每日一檔sfpshow、portbuffershow、chassisshow放每周supportshow這種重命令只在變更前后或排障時(shí)跑一次。supportshow輸出極大直接刷屏?xí)ㄗ?huì)話用supportshow | more分頁(yè)或者配置好上傳路徑自動(dòng)落到服務(wù)器上。頻次命令關(guān)注點(diǎn)每日switchshow、fabricshow端口狀態(tài)、Fabric 成員是否變化每日porterrshow錯(cuò)誤計(jì)數(shù)是否新增每日cfgactvshow、fanshow、memshow生效配置、風(fēng)扇、內(nèi)存每周sfpshow 端口、portbuffershow光功率趨勢(shì)、buffer 余量變更前后supportshow、chassisshow全量快照用于對(duì)比和取證帶寬驗(yàn)證別靠“感覺(jué)快”。fcping打目標(biāo) WWN加--number參數(shù)跑多包看丟包和往返時(shí)延吞吐量用portperfshow 端口直接讀 MB/s。要做端到端壓力測(cè)試用checkrclink一端起服務(wù)端另一端起客戶端跑固定時(shí)長(zhǎng)。# 鏈路連通性與時(shí)延 fcping --number 500 20:00:00:25:b5:00:00:1a # 端到端帶寬測(cè)試一端 server一端 client跑 60 秒 checkrclink --serverstart 2:4:1 checkrclink --startclient 3:4:1 fe80::2341:2:ac02:6523 60 # 實(shí)時(shí)吞吐 portperfshow 2checkrclink的參數(shù)前綴在不同固件版本上不一樣老版本是checkrclink serverstart 端口新版本是帶--的寫(xiě)法跑之前用checkrclink --help對(duì)一下。端口參數(shù)按domain:area:port或簡(jiǎn)化的端口號(hào)填客戶端那串地址是對(duì)端端口的標(biāo)識(shí)照著服務(wù)端回顯抄就行。從那以后我每次做 zone 變更都強(qiáng)制走一遍「cfgtransshow確認(rèn)無(wú)掛起事務(wù) →cfgsave→cfgenable→cfgactvshow復(fù)核」這四步級(jí)聯(lián)前必查 domain ID 和授權(quán)換模塊前必看兩端sfpshow讀數(shù)。這幾條寫(xiě)在便簽上貼顯示器邊框比記在腦子里靠譜。這份文檔我按操作順序整理過(guò)一遍配合自己設(shè)備的實(shí)際回顯對(duì)照著看落地會(huì)快很多。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取