一、介紹
在批量伺服器配置的過程中我們會接觸到各種伺服器批量配置工具,例如華為的FusionServer uMate套件,Dell的Racadm iDRAC配置工具。這些工具可以通過命令列或者圖形化介面對伺服器進行快速配置甚至批量配置,而他們多數也有命令列版本,因此可以配合Shell指令碼進行自定義的快捷設定。今天我們會對Dell伺服器iDRAC管理工具RACADM進行介紹。
iDRAC是戴爾用於伺服器遠端控制的平臺,類似於華為的iBMC和惠普的iLO。通過這平臺我們可以在機器下電的前提下對伺服器進行初始化的配置和遠端控制檯操作,非常方便。但是因為這些操作都是高危操作,因此建議不要直接在上線伺服器進行練習和測試。可以找一臺暫時無人使用的或者退役的戴爾伺服器進行相關的聯絡。
1、RACADM連線方式
RACADM命令列實用程式提供可編寫指令碼的介面,允許您在本地配置或遠端配置遠端訪問控制器(RAC)
。該實用程式在Management Station
和普通伺服器上執行,包括戴爾伺服器本機和其他網路中可連通的標準伺服器。
RACADM實用程式支援以下介面:
① 本地
支援從受管伺服器的作業系統執行RACADM命令。要執行本地RACADM命令,請在受管伺服器上安裝OpenManage軟體。一次只能在系統上執行一個Local RACADM例項。如果您嘗試開啟另一個例項,則會顯示一條錯誤訊息,並且第二個Local RACADM例項會立即關閉。要從support.dell.com下載本地RACADM工具,請選擇驅動程式和下載,選擇伺服器,然後選擇Systems Management > Dell Toolkit
。
② SSH或Telnet(指通過該途徑登入iDRAC)
也稱為韌體RACADM。通過使用SSH或Telnet登入iDRAC,可以訪問韌體RACADM。您無需指定iDRAC IP,使用者名稱或密碼即可執行Firmware RACADM命令。與Local RACADM類似,在RACADM提示符下,直接執行不帶RACADM字首的命令。
③ 遠端(通過IP和賬密遠端racadm)
支援從遠端管理站(如膝上型電腦或桌上型電腦)執行RACADM命令。要執行Remote RACADM命令,請從遠端計算機上的OpenManage軟體安裝DRAC Tools實用程式。要執行遠端RACADM命令:將命令配置為本地或SSH / Telnet RACADM命令。
此外,請指定-r -u -p
選項。其中-r
代表目標iDRAC IP,-u
和-p
分別代表使用者密碼。
2、RACADM基本語法
① 本地命令語法
racadm get <devicename>.<groupname>.[<index>].[<objectname>]
racadm set <devicename>.<groupname>.[<index>].<objectname> <value>
racadm <subcommand>
複製程式碼
示例:
racadm get idrac.info
racadm getsysinfo
複製程式碼
② 遠端racadm命令語法
基本語法:
racadm -r <racIpAddr> -u <username> -p <password> get <devicename>.<groupname>.[<index>].[<objectname>]
racadm -r <racIpAddr> -u <username> -p <password> set <devicename>.<groupname>.[<index>].<objectname> <value>
racadm -r <racIpAddr> -u <username> -p <password> <subcommand>
複製程式碼
示例:
racadm -r 192.168.1.0 -u root -p xxxx get idrac.ssh.port
Security Alert: Certificate is invalid - Certificate is not signed by Trusted Third Party Continuing execution.
Use -S option for racadm to stop execution on certificate-related errors. [Key=idrac.Embedded.1#SSH.1] Port=22
複製程式碼
需要注意的是此類遠端命令一般都會出現安全警報,一般來說無視即可。
部分遠端命令不會出現安全警告,例如:
racadm -r 192.168.0.0 -u root -p xxxx set idrac.ssh.port 22
racadm -r 192.168.0.0 -u root -p xxxx getsysinfo
racadm -r 192.168.0.0 -u root -p xxxx --nocertwarn get idrac.ssh.port
複製程式碼
③ 獲取索引編碼的裝置資訊
racadm可以精確地指定本地或者遠端伺服器需要操作或者查詢的裝置編號,只要有準隊的對應裝置索引即可。類似於snmp中OID的用法。
以下語法為指定特定裝置:
device.<group name>.[<index>].<object name>
複製程式碼
如果想要獲取整個裝置組的資訊,可以用以下語法:
racadm get device.<group name>
複製程式碼
示例:
racadm get nic.nicconfig
NIC.nicconfig.1 [Key=NIC.Integrated.1-1-1#nicconfig]
NIC.nicconfig.2 [Key=NIC.Integrated.1-2-1#nicconfig]
NIC.nicconfig.3 [Key=NIC.Integrated.1-3-1#nicconfig]
NIC.nicconfig.4 [Key=NIC.Integrated.1-4-1#nicconfig]
複製程式碼
如果要獲取特定的裝置組,則用以下語法:
racadm get device.<group name>.<index>
複製程式碼
示例:
racadm get nic.nicconfig.2
[Key=NIC.Integrated.1-2-1#nicconfig]
BannerMessageTimeout=5
BootStrapType=AutoDetect
HideSetupPrompt=Disabled
LegacyBootProto=NONE
LnkSpeed=AutoNeg
#VLanId=1
VLanMode=Disabled
複製程式碼
如果要獲取特定的裝置(單一),則用以下語法:
racadm get device.<group name>.<index>.<object name>
複製程式碼
示例:
racadm get nic.nicconfig.3.legacybootproto
[Key=NIC.Integrated.1-3#NICConfig]
Legacybootproto=PXE
複製程式碼
以上示例都使用了本地指令格式,事實上remote指令格式也可以一樣使用
④ RACADM 遠端登入引數說明
引數名 | 用法 |
---|---|
-r <HostIP> | 輸入遠端配置目標的IP |
-r <HostIP>:<Port> | 輸入遠端配置目標的IP和埠 |
-u <username> | 輸入遠端配置目標的使用者名稱 |
-p <password> | 輸入遠端配置目標的密碼 |
-S | 指定RACADM必須確認證書的有效性,如果有效性存疑則停止配置 |
--nocertwarn | 不顯示與證書相關的警告訊息。(常用) |
二、RACADM子命令(關鍵)
racadm的能量核心就在於其強大豐富的子命令集。大量的子命令可以讓我們本地或者遠端通過命令列非常精確地、細微地、全面的對伺服器進行配置和操作。本章會對所有的常用racadm子命令進行說明。
1、help子命令
和大多數Linux命令一樣,racadm也可以用help子命令來查詢相關指令的資訊和具體裝置組或裝置的資訊。語法格式如下:
racadm help
racadm help <subcommand>
racadm help <device name>.<Group>
racadm help <device name>.<Group>.<object>
複製程式碼
示例:
racadm help idrac.lcd #顯示idrac.lcd的幫助文件
racadm help system.power #顯示系統電源的幫助文件
複製程式碼
2、arp子命令
arp子命令用於顯示地址解析協議(ARP)表的內容,說白了主要就是用來查目標伺服器遠控卡的MAC地址。無法新增或刪除ARP表條目。要使用此子命令,必須具有“除錯”許可權。語法格式如下:
racadm arp
複製程式碼
示例:
racadm arp
(10.00.1.1) at bc:16:65:d7:27:43 [either] on bond0
複製程式碼