什麼是 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 封包走向
封包格式(IPMI v2.0)
- SoL 是使用 RMCP+(Remote Management Control Protocol)封包,透過 UDP port
623
。
- 封包內包含:
Payload Type = SerialOverLan
Sequence Number
Data
:真實的串列字元
ACK/NACK
:可靠傳輸確認
指令 |
功能 |
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 Redirection |
BIOS 設定,允許將畫面輸出轉導到串列埠 |
IPMI v2.0 |
所有 SoL 操作依據 IPMI v2.0 中 SerialOverLAN 指令定義 |
Redfish ConsoleService |
現代 BMC 支援透過 Redfish 取代 IPMI SoL(如 WebSocket 串流) |