跳至主要内容

serial over lan

什麼是 SoL?

  • Serial over LAN 是一種技術,允許使用者透過網路(通常是 Ethernet)來遠端存取主機的序列埠(Serial Port),也就是說SoL是將傳統串列埠資料轉封包,經網路傳送,再還原為串列資料的過程。

爲什麼需要 SoL?

  • 傳統串列埠(如 RS-232)需直接接線,非常不方便遠端操作。
  • BMC(Baseboard Management Controller)透過 SoL:
    • 在作業系統開機前也能觀察主機輸出(BIOS/UEFI/Post)。
    • 可搭配 IPMI 或 Redfish 管理介面啟用/停止 SoL。
    • 達到「無人值守的伺服器管理」。

Components

組件本質角色解釋
主機 COM1實體輸出主機 BIOS/OS 的序列輸出通常連到此
BMC UART中繼橋接BMC 接收主機 UART 資料
IPMI LAN傳輸媒介BMC 將 UART 資料轉封包送往管理者
管理端控制台使用 ipmitool sol activate 之類指令遠端接收輸出

SoL 封包走向

+--------------------------------------+
| 主機 UART (串列埠 COM) |
+--------------------------------------+
|
| UART 字元流 (bytes)
V
+--------------------------------------+
| BMC UART 接收緩衝區 |
| 將 bytes 包裝成 IPMI 封包 (RMCP+ UDP) |
+--------------------------------------+
|
| UDP/IP 封包 (IPMI SoL payload)
V
+--------------------------------------+
| 遠端管理者 IPMI Console (ipmitool) |
| 將封包還原成 UART 字元 |
+--------------------------------------+

封包格式(IPMI v2.0)

  • SoL 是使用 RMCP+(Remote Management Control Protocol)封包,透過 UDP port 623
  • 封包內包含:
    • Payload Type = SerialOverLan
    • Sequence Number
    • Data:真實的串列字元
    • ACK/NACK:可靠傳輸確認

常見 ipmitool 指令

指令功能
ipmitool -I lanplus -H <BMC_IP> -U <user> -P <pw> sol info查看 SoL 狀態
ipmitool -I lanplus -H <BMC_IP> -U <user> -P <pw> sol activate啟用 SoL,進入串列監控畫面
ipmitool -I lanplus -H <BMC_IP> -U <user> -P <pw> sol deactivate關閉 SoL
ipmitool sol set timeout 15設定閒置 timeout
ipmitool sol set privilege-level admin設定存取權限

常見使用場景(Usecases)

Usecase解釋
✅ 遠端開機畫面觀察BIOS/POST 階段出現錯誤可即時察看
✅ OS kernel panic 偵錯如果有串列 console 輸出,可保留錯誤紀錄
✅ 安裝 OS 時遠端互動Debian / CentOS / Ubuntu netinstall 可以完全透過 SoL
✅ 偵錯無法登入的系統無 SSH 時仍可存取 Console 觀察
✅ 無人值守測試搭配 PXE boot + SoL 可自動部署伺服器

延伸

概念說明
Console RedirectionBIOS 設定,允許將畫面輸出轉導到串列埠
IPMI v2.0所有 SoL 操作依據 IPMI v2.0 中 SerialOverLAN 指令定義
Redfish ConsoleService現代 BMC 支援透過 Redfish 取代 IPMI SoL(如 WebSocket 串流)