BMC運維管理:IPMI實現服務器遠控制
BMC(Baseboard Management Controller,基板管理控制器)是服務器硬件的一個獨立管理模塊,嵌入在主板中,用于實現服務器的監控和遠程管理,BMC可以獨立于操作系統運行.
通過IPMI工具(Intelligent Platform Management Interface,智能平臺管理接口)實現對服務器的管理、監控和診斷,甚至在操作系統崩潰的情況下也能對設備進行控制。
IPMI和BMC的結合為服務器管理提供了可靠的遠程控制方案,通過IPMI工具可以輕松實現BMC用戶密碼的重置、網絡參數的配置以及服務器的遠程開關機等操作。這種靈活性特別適用于遠程辦公或數據中心環境,使服務器管理變得更高效、更簡便。
IPMI工具安裝
apt-get install ipmitool #Debian/Ubuntu 系統
yum install ipmitool #CentOS/RHEL 系統
實操一、使用IPMI重置BMC用戶密碼
IPMI工具可以幫助重置BMC用戶的密碼。首先,需要列出BMC中已存在的用戶,然后重置目標用戶的密碼
步驟一、查看BMC用戶列表,此命令列出所有BMC的用戶
ipmitool user list 1
步驟二、重置用戶密碼:
ipmitool user set password <userid> <new_password>
將userid替換為目標用戶的ID,new_password替換為新密碼,即可完成密碼重置。
實操二、使用IPMI配置BMC的靜態IP
可以通過設置BMC的網絡參數,為BMC配置靜態IP地址,以確保其在網絡中的固定地址。
傳統方式都是通過bios進行設置,每次開機都要等很久
ipmitool lan set 1 ipsrc static # 設置IP為靜態
ipmitool lan set 1 ipaddr <BMC_IP> # 設置BMC的IP地址
ipmitool lan set 1 netmask <子網掩碼> # 設置子網掩碼
ipmitool lan set 1 defgw ipaddr <網關地址> # 設置網關
ipmitool lan print 1 # 查看配置情況
實操三、IPMI實現BMC和主機控制操作
IPMI工具的核心功能之一是通過BMC實現對服務器的遠程控制。以下是一些常用命令:
- 查看主機電源狀態:
在實際管理過程中,可以配置一臺跳板機,通過如下命令對機器批量進行開機等運維操作
ipmitool -I lanplus -H <BMC_IP> -U <username> -P <password> power on
-H
:BMC管理IP地址-U
:BMC用戶名-P
:BMC密碼
常見操作
# 查看電源狀態
ipmitool power status
# 執行開機操作
ipmitool power on
# 執行關機操作
ipmitool power off
# 硬重啟
ipmitool power reset
# 軟重啟:
ipmitool power soft(類似輕按電源按鈕)
- 重啟BMC
冷重啟會重新初始化BMC
ipmitool mc reset cold
此命令重啟BMC控制器,但不會影響主機操作系統
熱重啟會重新加載BMC服務,但不會重新初始化硬件,相當于軟重啟
ipmitool mc reset warm
冷重啟:適用于BMC無法響應、卡死、或需要重新初始化的情況。
熱重啟:適用于輕微故障、配置修改后或服務刷新時使用,影響較小。
實操四、ipmitool查看服務器基本信息
# 查看BMC硬件信息,BMC的固件版本、制造商等基本信息
ipmitool mc info
# 查看系統信息,顯示服務器整體狀態,包括電源狀態、主板溫度、電池狀態等
ipmitool chassis status
# 查看所有傳感器的狀態,硬件傳感器的數據,如CPU溫度、風扇轉速、電壓等。
傳感器狀態中出現Non-Recoverable、Critical或Warning標識,代表有警告或故障
ipmitool sensor
實操五、ipmitool實現問題定位
使用ipmitool可以查看服務器的系統事件日志(System Event Log, SEL),這些日志記錄了服務器硬件層的各種事件,例如硬件故障、重啟記錄、電源狀態等。以下是使用ipmitool查看服務器事件的常用命令。
查看系統重啟原因
ipmitool chassis restart_cause
查看系統事件日志
ipmitool sel list
此命令列出服務器的系統事件日志,顯示日志中的每一條事件記錄,通常包括事件時間戳、事件類型、描述等信息。
常用命令
# 查看系統事件日志
ipmitool sel list
# 查看系統事件日志詳情
# 統計系統事件日志數量
ipmitool sel info
# 導出系統事件日志
ipmitool sel save /path/to/sel_log.txt
# 清除系統事件日志
ipmitool sel clear
# 查看系統事件日志事件
ipmitool sel time get