上週到某客戶端,協助升級 ESXi patch,因為被資安部門掃到安全漏洞,所以被要求升級。
客戶環境是 Dell R640 數台,配置了 HBA LPe16000,這張卡片是 Emulex 16GB 光纖,以往升級 patch 是件簡單不過的事,之前都從 ESXi v6 升上來了,心想應該也會很順利。
事實是,越是這樣想就越會遇到困難,你有多自信難度就會有多高,神奇吧!
就在第一台升級完 7.0U3I 後,客戶要把 VM 移過來時,居然發現看不到 storage 空間,當下心想怎麼可能,我在查了一下後發現,HBA 是 offline,心裡暗罵 WTF,什麼鬼!
經過一輪的查找及測試,確定是 Emulex LPe16000 驅動出了問題,在 ESXi 7.0U3I 預設會安裝的版本是 14.0.622.0,但我上 VMware 官網去找,以下是 for Emule HBA 32002 使用的驅動,無法正確的驅動 LPe16000 運作。
重點來了,當你要下載 14.0.169 這個版本時,它會告訴你這已經包含在 7.0U3f ,沒有提供任何下載連結。好奇的我去打開 7.0U3I patch 的 zip 檔案,在 vib2.0/lpfc 目錄下看到 14.0.169 及 14.0.622 二支驅動,因為 622 版本較高,所以系統優先用這支來升級。
接下來要先移除現有 14.0.622,再安裝 14.0.169,重新開機後,就可以抓到 datastoge 了,指令如下:
esxcli software vib remove -n lpfc -f (lpfc 是 HBA vendor vib 的名字)
esxcli software vib install –v /tmp/VMW_bootbank_lpfc_14.0.169.26-5vmw.703.0.50.20036589.vib
esxcli system shutdown reboot -r “ lpfc drive reinstall"
如果你也遇到相同的問題,希望這篇文章有幫助到你,GOOD LUCK TO U!