If you have multiple servers and you need to change BIOS settings, it is not wise to bring up BIOS setup screen on each server and change the values. It's time consuming. Also you easily make a mistake like forget to change a value on one of the servers.
To avoid this, we normally automate a process with a tool or a script to replicate the changes on all target servers, but is there an interface to do this on Fujitsu PRIMERGY servers? Yes, there is. You can change BIOS settings through iRMC (integraded Remote Management Controller) which is similar to DELL iDRAC or HP iLO. iRMC accepts an XML file as a BIOS configuration file, and it will enable the changes after a reboot.
Here is an example. I will change the CPU Hyper-Threading setting from "Enable" to "Disable" through iRMC on PRIMERGY BX2580 M2.
- Create a BIOS configuration change XML file. To disable Hyper-Threading, create a file like this:
- Send the XML file to the iRMC BIOS restore interface. I use the curl command to do an HTTP POST to iRMC.
- Reboot the server. You can see the value is changed to Disabled in BIOS after the reboot.
$ cat input.xml <?xml version="1.0" encoding="utf-8"?> <config> <sysId>BX2580M2</sysId> <configuration> <token api="BSPBR"></token> <supportedSetting> <id>HyperThreading</id> <name>Hyper-Threading</name> <setupItemID>0x0057</setupItemID> <value>Disabled</value> </supportedSetting> </configuration> </config>
$ curl --basic -u <iRMC username>:<iRMC password> --data @<XML file> http://<iRMC IP address>/biosrestoreexample)
$ curl --basic -u admin:admin --data @input.xml http://192.168.10.21/biosrestore
If you need to change multiple settings, you just need to add "<supportedSetting>(BIOS setting you want to change)</supportedSetting>" to the XML file like the following (change both "HT" and "Hardware Prefetcher" to "Disabled":
$ cat input.xml <?xml version="1.0" encoding="utf-8"?> <config> <sysId>BX2580M2</sysId> <configuration> <token api="BSPBR"></token> <supportedSetting> <id>HyperThreading</id> <name>Hyper-Threading</name> <setupItemID>0x0057</setupItemID> <value>Disabled</value> </supportedSetting> <supportedSetting> <id>HardwarePrefetcher</id> <name>Hardware Prefetcher</name> <setupItemID>0x012E</setupItemID> <value>Disabled</value> </supportedSetting> </configuration> </config>
If you need to change multiple servers, you can create a script to send the same XML file to iRMC.
2 comments:
Hi! Is there a similar way to view all the BIOS settings?
Hi,
Very good post but can you tell me how enable intel virtualization Technology
and vt-d settings or if you have a list of all supported settings please?
Thanks in advance.
Best regards.
Post a Comment