如何通过脚本/iLO CLI修改配备iLO5的HP服务器SATA控制器选项
如何通过脚本/iLO CLI修改配备iLO5的HP服务器SATA控制器选项
很高兴帮你解决这个问题!其实iLO5完全支持通过脚本或CLI工具修改SATA控制器的BIOS设置,不需要手动按F9进入RBSU操作,下面我给你详细介绍几种可行的方案:
方法一:用hponcfg工具(经典脚本化方案)
hponcfg是HP官方推出的工具,能通过XML脚本和iLO交互,直接修改BIOS/RBSU里的各项设置,步骤很清晰:
- 编写XML配置脚本
先创建一个名为sata_config.xml的文件,替换其中的账号密码为你的iLO管理员信息:
<RIBCL VERSION="2.0"> <LOGIN USER_LOGIN="你的iLO管理员账号" PASSWORD="你的iLO密码"> <RBSU MODE="write"> <!-- 禁用嵌入式智能阵列,启用SATA AHCI模式 --> <SETTING NAME="SmartArraySATA"> <VALUE>Disabled</VALUE> </SETTING> <SETTING NAME="EmbeddedSATA"> <VALUE>AHCI</VALUE> </SETTING> </RBSU> </LOGIN> </RIBCL>
- 执行脚本修改设置
- 如果在本地服务器上操作,直接运行:
hponcfg -f sata_config.xml - 如果远程操作(直接连接iLO的IP地址),用这个命令:
hponcfg -h 你的iLO_IP地址 -u 管理员账号 -p 密码 -f sata_config.xml
- 验证设置是否正确
可以写一个读取当前设置的XML脚本read_sata_settings.xml:
<RIBCL VERSION="2.0"> <LOGIN USER_LOGIN="你的iLO管理员账号" PASSWORD="你的iLO密码"> <RBSU MODE="read"> <GET_SETTING NAME="EmbeddedSATA"/> <GET_SETTING NAME="SmartArraySATA"/> </RBSU> </LOGIN> </RIBCL>
执行hponcfg -f read_sata_settings.xml就能看到当前的SATA控制器配置,确认修改是否成功。
方法二:用iLO5 RESTful API(适合自动化批量操作)
iLO5支持Redfish标准的RESTful API,非常适合用curl、Python等工具编写自动化脚本,尤其适合批量管理多台服务器:
- 获取iLO会话令牌
先用curl获取会话并保存cookie,方便后续请求:
curl -X POST https://你的iLO_IP地址/redfish/v1/SessionService/Sessions \ -H "Content-Type: application/json" \ -d '{"UserName":"你的iLO管理员账号", "Password":"你的iLO密码"}' \ -k -c cookies.txt
注:-k是忽略SSL证书验证,生产环境建议配置合法的SSL证书后去掉这个参数。
- 发送修改BIOS设置的请求
执行这条命令修改SATA控制器选项:
curl -X PUT https://你的iLO_IP地址/redfish/v1/Systems/1/Bios/Settings \ -H "Content-Type: application/json" \ -b cookies.txt \ -d '{ "Attributes": { "SmartArraySATA": "Disabled", "EmbeddedSATA": "AHCI" } }' \ -k
- 重启服务器使设置生效
BIOS设置修改后必须重启服务器才能生效,用API发送重启请求:
curl -X POST https://你的iLO_IP地址/redfish/v1/Systems/1/Actions/ComputerSystem.Reset \ -H "Content-Type: application/json" \ -b cookies.txt \ -d '{"ResetType": "ForceRestart"}' \ -k
方法三:用iLO5 CLI(交互式或脚本式操作)
如果你能通过SSH直接登录iLO的命令行界面,也可以直接执行命令修改:
- 登录iLO CLI:
ssh 管理员账号@你的iLO_IP地址 - 执行设置命令:
set /system1/bios/settings SmartArraySATA=Disabled set /system1/bios/settings EmbeddedSATA=AHCI
- 重启服务器:
reset /system1
重要提醒
- 不同型号的HP服务器,BIOS设置的名称可能略有差异,如果执行时提示设置名称不存在,建议先通过hponcfg或API读取所有BIOS设置,找到对应的准确名称。
- 修改BIOS设置前,建议备份当前配置,避免误操作导致服务器无法正常启动。
- 所有操作都需要iLO管理员权限,确保你使用的账号有足够的操作权限。
备注:内容来源于stack exchange,提问作者mocart
相关产品推荐
相关产品推荐

