iLO 什麼意思?HPE 伺服器遠端管理詳解
iLO 是 Integrated Lights-Out 的縮寫,字面意思是“熄燈管理”:HPE ProLiant 伺服器主機板上自帶的遠端管理控制器(BMC)。機房裡沒人、主機關機或系統崩潰時,照樣能遠端開關機、看螢幕、掛映象裝系統;能用到什麼程度,取決於 iLO 的代際和 Standard 還是 Advanced 許可。
iLO 什麼意思?iLO 是 HPE(慧與)伺服器上的遠端管理控制器,全稱 Integrated Lights-Out。Lights-Out 指機房關著燈、現場沒有人的狀態,名字說的就是它的用途:人不在現場,也能管理伺服器。它是焊在 ProLiant 主機板上的一顆獨立晶片,也就是常說的 BMC,有自己的處理器、記憶體、韌體和網口(背板上標著 iLO 的那個 RJ45 口),只要伺服器插著電源線就在執行,不依賴主機的 CPU 和作業系統。出廠時使用者名稱是 Administrator,密碼是印在前面板拉卡上的隨機字串,網路預設走 DHCP。
iLO 能做什麼:從開關機到遠端裝系統
| 你要做的事 | iLO 裡對應的功能 |
|---|---|
| 遠端開機、關機、重啟 | 虛擬電源按鈕:短按(Momentary Press)、長按強制關機(Press and Hold)、熱重啟(Reset)、斷電再上電(Cold Boot) |
| 看螢幕、操作鍵盤滑鼠 | 整合遠端控制檯(Integrated Remote Console),從開機自檢、BIOS 到作業系統全程可見 |
| 遠端掛 ISO 裝系統 | 虛擬介質(Virtual Media),可以掛本地檔案,也可以填機房內的映象 URL |
| 判斷硬體是否健康 | 健康摘要、溫度與風扇感測器、IML 日誌 |
| 下一次從網路或光碟機啟動 | 一次性啟動設定(One-Time Boot),配合 PXE 或虛擬光碟機 |
| 硬體故障通知 | SNMP Trap、郵件告警、遠端 syslog |
| 指令碼批次管理 | IPMI、Redfish(RESTful API)、SSH 命令列、HPE 的 iLOrest 工具 |
存取 iLO 有四條路:瀏覽器開啟 https://<iLO 位址> 的網頁;SSH 登入 iLO 的命令列;IPMI over LAN(iLO 5 起出廠預設關閉,要用 ipmitool 先在網頁的安全存取設定裡開啟);Redfish 介面。SSH 命令列適合在網頁打不開時救急,下面是一次典型會話:
$ ssh [email protected]
</>hpiLO-> power 檢視主機當前電源狀態
</>hpiLO-> power on 開機
</>hpiLO-> power reset 硬重啟
</>hpiLO-> vsp 進入虛擬串列連接埠,按 Esc 再按 ( 返回命令列
vsp 能看到 Linux 的串列連接埠控制檯,前提是 BIOS 裡虛擬串列連接埠對應的 COM 口和系統核心的 console= 引數一致,具體對應哪個 ttyS 裝置以機型文件為準。它不需要圖形控制檯,在許可受限時很有用。
iLO 4、iLO 5、iLO 6 有什麼區別
iLO 的代際跟著 ProLiant 的代際走,看機型名後面的 Gen 編號就能對上:
| 代際 | 對應伺服器 | 遠端控制檯 | 管理介面 | 需要注意的地方 |
|---|---|---|---|---|
| iLO 2 / iLO 3 | G5、G6 / G7 | Java 為主 | 網頁、SSH、IPMI、RIBCL 指令碼 | 只支援舊版 TLS,新瀏覽器常常打不開網頁,只適合用命令列和 IPMI 維持 |
| iLO 4 | Gen8、Gen9 | .NET 和 Java 客戶端,較新韌體提供 HTML5 控制檯(以韌體發行說明為準) | 網頁、SSH、IPMI、RIBCL,較新韌體提供 RESTful API | IPMI over LAN 出廠開啟;二手機器的韌體往往很舊,接入前先升級到 HPE 釋出的最新 iLO 4 版本 |
| iLO 5 | Gen10、Gen10 Plus | HTML5 為預設,另有 .NET、Java | 網頁、SSH、IPMI、Redfish | 引入晶片級可信根(Silicon Root of Trust)校驗韌體;IPMI over LAN 出廠關閉;可切換高安全、FIPS 等安全狀態 |
| iLO 6 | Gen11 | HTML5 | 網頁、SSH、Redfish 為主 | 延續 iLO 5 的介面和安全架構;HPE 已把 RIBCL 等舊指令碼介面轉入維護階段,部分平台不再支援 |
Gen12 配的是 iLO 7,細節以 HPE 當前文件為準。對 IDC 來說,代際差異主要落在三處:控制檯要不要裝客戶端、老韌體的 TLS 和瀏覽器相容、自動化指令碼該用 RIBCL 還是 Redfish。新寫的指令碼優先用 Redfish:iLO 4 較新的韌體起都提供,只是越老的代際實現的資源越少,具體路徑以實際返回為準。
手上只有一個 iLO 位址、不確定是哪一代時,用 Redfish 查一下(-u 只寫使用者名稱,curl 會提示輸入密碼,密碼不留在命令歷史裡):
curl -sk -u Administrator https://10.20.5.31/redfish/v1/Managers/1/ \
| grep -oE '"(Model|FirmwareVersion)": *"[^"]*"'
返回的 Model 會是 iLO 4、iLO 5 這樣的字樣,FirmwareVersion 是 iLO 韌體版本。老韌體不支援 Redfish 時,用 ipmitool -I lanplus -H 10.20.5.31 -U Administrator -a mc info 看 Firmware Revision,-a 同樣是互動式輸入密碼。
Standard 和 Advanced 許可差在哪
iLO 的硬體每台都有,功能靠許可解鎖。所有 ProLiant 出廠自帶 iLO Standard,Advanced 需要另購許可金鑰;此外還有面向部分機型的 Essentials、在 Advanced 基礎上加強安全功能的 Advanced Premium Security Edition 等檔位,適用機型以 HPE 說明為準。IDC 日常要分清的是 Standard 和 Advanced:
| 功能 | iLO Standard(隨機自帶) | iLO Advanced |
|---|---|---|
| 網頁、SSH、IPMI、Redfish 管理 | 有 | 有 |
| 遠端開關機、一次性啟動設定 | 有 | 有 |
| 健康狀態、IML、iLO 事件日誌 | 有 | 有 |
虛擬串列連接埠(vsp) |
有 | 有 |
| 圖形遠端控制檯 | 只在開機自檢到作業系統載入之前可用 | 全程可用 |
| 虛擬介質(掛本地 ISO 或映象 URL) | 無 | 有 |
| 多人共享控制檯、啟動與故障畫面錄影 | 無 | 有 |
| 目錄服務登入(LDAP、Kerberos 等) | 無 | 有 |
| 郵件告警、遠端 syslog | 無 | 有 |
表中是 iLO 4、iLO 5 的常見劃分,個別功能在不同代際、不同韌體版本中的歸屬有過調整,採購前以 HPE 當前的許可說明為準。
判斷標準很直接:這台機器要不要在系統執行時看螢幕、要不要遠端掛 ISO。只有 Standard 的機器,系統一啟動控制檯就停在一個提示需要許可的畫面上;客戶報“系統起不來”時還能看到開機自檢,報“系統卡死”時就什麼也看不到。對外出租、要遠端裝系統的 ProLiant 基本都要配 Advanced;只做內部計算節點、靠 PXE 裝機的,Standard 加虛擬串列連接埠也能湊合。
安裝許可的步驟:
- 登入 iLO 網頁,進入 Administration → Licensing,確認當前顯示的是 iLO Standard 還是 iLO Advanced。二手機器和退租回收的機器尤其要先看這一項。
- 在 Activation Key 一欄輸入 25 位許可金鑰,點 Install。
- 許可安裝後即生效,一般不需要重啟 iLO 或主機;回到遠端控制檯確認系統執行時也能看到畫面。
HPE 也提供限時的評估許可,適合臨時救急,時長和申請方式以 HPE 說明為準。
遠端控制檯怎麼用
以 iLO 5 為例:
- 登入網頁,在 Overview 頁的 Integrated Remote Console 一欄點 HTML5,或者在左側 Remote Console & Media 裡啟動。HTML5 不需要裝任何客戶端;.NET 客戶端只能在 Windows 上用,Java 客戶端需要 Java Web Start,相容問題多,能不用就不用。
- 控制檯頂部有電源選單:Momentary Press 相當於短按電源鍵,系統會正常關機;Press and Hold 相當於長按,強制斷電;Reset 是熱重啟;Cold Boot 是先斷電再上電,適合主機和外設都卡住的情況。
- 開機自檢時注意螢幕下方的按鍵提示:F9 進 System Utilities(BIOS 和 iLO 配置),F10 進 Intelligent Provisioning(HPE 的系統部署工具),F11 是一次性啟動選單,F12 是網路啟動。本地瀏覽器攔截了功能鍵時,用控制檯鍵盤選單裡的虛擬按鍵或熱鍵(Hot Keys)傳送。
- 需要傳送 Ctrl+Alt+Del 時用鍵盤選單,不要直接按本機鍵盤,否則會被你自己的電腦接管。
三個常見問題:
- 網頁能登入,控制檯打不開:多半是防火牆只放行了 443。用 .NET 或 Java 客戶端時,遠端控制檯預設走 TCP 17990,虛擬介質預設走 TCP 17988(連接埠可在 iLO 的存取設定裡改),要一起放行;HTML5 控制檯的連接埠要求以對應韌體的文件為準。
- 滑鼠指標和畫面對不上:在遠端控制檯設定裡調整 High Performance Mouse 選項,Linux 圖形介面和老版本 Windows 對這項設定比較敏感。
- 系統啟動後畫面變成許可提示:這是 Standard 許可的限制,不是故障,見上一節。
虛擬介質:掛 ISO 裝系統的兩種方式
| 方式 | 映象放在哪 | 速度取決於 | 適合 |
|---|---|---|---|
| 控制檯掛本地 ISO | 操作人員自己的電腦 | 你的電腦到 iLO 的頻寬,跨公網時一個幾 GB 的安裝映象可能要讀很久 | 臨時掛一張工具盤、驅動盤 |
| 映象 URL(Scripted Media) | 機房內網的 HTTP 伺服器 | iLO 到 HTTP 伺服器的內網頻寬 | 遠端裝系統、批次操作 |
掛本地 ISO:在 HTML5 控制檯工具欄點光碟圖示,選 CD/DVD → Local *.iso file,選中映象檔案;然後用電源選單重啟,開機按 F11,在一次性啟動選單裡選名稱帶 Virtual CD 的那一項。掛載期間瀏覽器標籤頁不能關,關了映象就斷開。
填映象 URL:進入 Remote Console & Media → Virtual Media,在 CD/DVD 一欄的 Scripted Media URL 裡填 HTTP 位址,例如 http://10.20.0.5/iso/rocky-9.4-x86_64-dvd.iso,勾選 Boot on Next Reset,點 Insert Media,再重啟主機。映象由 iLO 直接從內網拉取,不經過你的電腦,速度和穩定性都好得多。前提是 iLO 所在的管理網能存取這台 HTTP 伺服器。
同樣的操作可以用 Redfish 指令碼完成,適合一次處理多台:
ILO=10.20.5.31
# 檢視虛擬介質裝置,iLO 5 上 2 號通常是 CD/DVD,以返回的 MediaTypes 為準
curl -sk -u Administrator https://$ILO/redfish/v1/Managers/1/VirtualMedia/2/
# 插入內網 HTTP 伺服器上的 ISO
curl -sk -u Administrator -X POST -H 'Content-Type: application/json' \
https://$ILO/redfish/v1/Managers/1/VirtualMedia/2/Actions/VirtualMedia.InsertMedia/ \
-d '{"Image": "http://10.20.0.5/iso/rocky-9.4-x86_64-dvd.iso"}'
# 下一次啟動從光碟機啟動,只生效一次
curl -sk -u Administrator -X PATCH -H 'Content-Type: application/json' \
https://$ILO/redfish/v1/Systems/1/ \
-d '{"Boot": {"BootSourceOverrideTarget": "Cd", "BootSourceOverrideEnabled": "Once"}}'
# 重啟主機
curl -sk -u Administrator -X POST -H 'Content-Type: application/json' \
https://$ILO/redfish/v1/Systems/1/Actions/ComputerSystem.Reset/ \
-d '{"ResetType": "ForceRestart"}'
每條命令都會提示輸入密碼,正式指令碼里改用 Redfish 會話令牌。只有 Standard 許可的機器,插入映象這一步通常會返回許可相關的錯誤,這時可以改走 PXE:把一次性啟動目標設為 Pxe,由機房的 PXE 服務完成安裝。
IML 日誌:伺服器報修先看這裡
iLO 裡有三份日誌,用途不同,不要看錯:
| 日誌 | 記錄什麼 | 給誰看 | iLO 5 網頁位置 |
|---|---|---|---|
| IML(Integrated Management Log) | 主機硬體事件:記憶體、CPU、電源、風扇、溫度、硬碟、開機自檢錯誤 | 維運排障、報修 | Information → Integrated Management Log |
| iLO 事件日誌(iLO Event Log) | iLO 自身的事件:誰登入、改了哪些設定、執行了哪些電源操作 | 審計、追查誤操作 | Information → iLO Event Log |
| Active Health System 日誌 | 後台持續採集的配置與遙測資料,匯出為二進位制的 .ahs 檔案 | HPE 售後分析 | Information → Active Health System Log |
讀 IML 的順序:
- 按嚴重程度排序,先看 Critical 和 Caution,Informational 一般是開關機、清日誌這類正常事件。
- 看描述裡的部件和位置。記憶體類事件會寫處理器編號和記憶體槽位,電源、風扇會寫編號,對照機箱蓋內側的部件位置圖找到實物。
- 看次數和最後發生時間。同一條事件 Count 不斷增加,說明問題還在持續,比只出現過一次的更急。
- 換件之後把條目標記為已修復(Mark as Repaired),否則健康摘要可能一直顯示降級,下一次真有故障時容易被忽略。
常見條目怎麼處理:
| 描述裡的關鍵詞 | 一般意味著 | 先做什麼 |
|---|---|---|
| Memory、Corrected Memory Error | 某條記憶體的可糾正錯誤超過閾值 | 記下槽位,安排停機更換,不要等它發展成不可糾正錯誤導致當機 |
| Power Supply | 電源故障或冗餘丟失 | 先查這隻電源的輸入線和對應 PDU 是否有電,再判斷是否換電源 |
| Fan | 風扇故障或轉速異常 | 換風扇,同時看溫度感測器讀數是否已經偏高 |
| Temperature | 某個溫度點超過閾值 | 查進風溫度、機櫃盲板和冷熱通道,再看風扇 |
| Drive、Storage | 硬碟或陣列狀態變化 | 到陣列管理工具確認是哪塊盤、陣列是否降級 |
| POST Error 加編號 | 開機自檢發現的錯誤 | 按編號查 HPE 的錯誤程式碼說明 |
報修時把 IML 匯出來附在工單裡,比截圖更完整。iLO 5 起可以用 Redfish 一次匯出(不支援 $expand 的老韌體需要逐條讀取 Members 裡的連結):
curl -sk -u Administrator "https://10.20.5.31/redfish/v1/Systems/1/LogServices/IML/Entries/?\$expand=." \
| python3 -m json.tool > iml-10.20.5.31.json
iLO 事件日誌在 /redfish/v1/Managers/1/LogServices/IEL/Entries/,寫法相同。
在管理系統裡怎麼落地
一個機房裡 Gen8 到 Gen10 混著用,iLO 4 和 iLO 5 的控制檯客戶端、選單位置、許可狀態各不相同,逐台記位址和密碼是很多維運的日常。Toplink DCIM 把這些差異收進一個後台:IPMI 遠端管理的控制檯支援清單包含 iLO 2、iLO 4 和 iLO 5,錄入位址和帳號後,在瀏覽器裡就能開關機、指定下次從 PXE 或線上 ISO 啟動、開啟 VNC 控制檯,不必再裝 Java 或 .NET 客戶端,每次會話自動錄影、支援倍速回放;其他代際的 iLO 接入前先對照支援清單確認。機器租出去以後,重啟、重灌和救援模式交給客戶在自助端自己操作,重灌、救援這類高危動作要過 OTP 動態口令這一關,不必把 iLO 的管理員帳號交給客戶。遠端控制檯和虛擬介質本身受 iLO 許可約束,出租前先在 Licensing 頁面確認許可等級。
常見問題
iLO 和 iDRAC、IPMI 是什麼關係?
iLO 和 Dell 的 iDRAC 一樣,是廠商給自家 BMC 起的名字,各有自己的網頁、命令列和許可方式;IPMI 和 Redfish 是存取 BMC 的標準介面,較新的 iLO 兩種都支援,所以 ipmitool 和通用的 Redfish 指令碼也能管理 iLO。
iLO 能直接放到公網上存取嗎?
不建議。iLO 擁有伺服器的完全控制權,Web 連接埠和 UDP 623 暴露在公網會被持續掃描和爆破。iLO 口應接入獨立的管理網,只允許跳板機或管理系統存取,需要遠端時先連 VPN 或跳板機。
升級 iLO 韌體會影響伺服器上的業務嗎?
不會。升級只重啟 iLO 本身,主機和作業系統照常執行,期間遠端控制檯和監控會斷開幾分鐘。在 iLO 網頁的韌體更新頁面上傳 HPE 提供的韌體檔案即可;版本跨度很大的老韌體,按 HPE 發行說明確認是否需要分步升級。