LoginSignup
3
3

More than 3 years have passed since last update.

ShinobiLayer: SoftLayerのSupermicroのBIOS設定をテキスト形式で取得する方法

Last updated at Posted at 2016-07-04

1. はじめに

SoftLayerはBare Metal Serverが利用できるというのが非常に特徴的であり、サポートにリクエストしてBIOS設定も変更することができます(例えばブートシーケンスを変更する、Hyper-Threadingを無効にする、等)。ただし、BIOSパスワードがないとBIOS設定は見れないし、そもそもBIOSパスワードが分かっていても、BIOS設定をGUI画面から全比較していくのは非常に大変な作業です。そこで、BIOS設定情報を何とかテキスト形式で採取しようというのが、この記事の趣旨です。

2. Supermicro アップデートマネージャ (SUM)とは

SoftLayerのBare Metal ServerはSupermicroのマザーボードを利用しています。よってSupermicro提供の便利なツールが使えると良さそう・・・と思って見つけたのがSupermicro アップデートマネージャ (SUM)です。以下の記事でも紹介されていますが、要はSupermicro製のマザーボードであればBIOSの設定や情報取得ができるようです。
http://tech.blog.ccmp.jp/2015/12/supermicro-update-manager.html

本来は有償版のようですが、下記サイトから評価版をリクエストできるようです。
評価版といえども、特に有償版と違って機能差はないようです。
https://www.supermicro.com/solutions/SMS_SUM.cfm

3. SUMのインストール方法

今回は、同一アカウント内に、対象の物理サーバーとは別に仮想サーバー(CentOS6.8)をプロビジョニングし、そこにSUMを導入してみます。っていうか、ファイルを展開するだけです。

SUMのインストール
# tar -zxvf sum_1.6.0_Linux_x86_64_20151106.tar.gz
# cd sum_1.6.0_Linux_x86_64

4. Sumを使ってBIOS情報を取得してみる

SoftLayerのCustomer Portalでは、物理サーバーのIPMI情報はDevice Details -> Remote Mgmtから確認することができます。以下の例だと、IPMIのManagement IPが10.132.2.248であり、ユーザーはrootであることが分かります。(パスワードも確認できますが、ここでは隠しています)

IPMI情報.jpg

以下の-pのところは、パスワードを指定してください。残念ながら権限が少ないというエラーが出てしまっていますね。

コマンド書式
sum -i {IPMIのアドレス} -u root -p {IPMIのパスワード}  -c GetCurrentBiosCfgTextFile --file {出力ファイル名}
BIOS情報の取得(権限不足)
# ./sum -i 10.132.2.248 -u root -p ******** -c GetCurrentBiosCfgTextFile --file current.txt
Supermicro Update Manager (for UEFI BIOS) 1.6.0 (2015/11/06) (x86_64)
Copyright©2015 Super Micro Computer, Inc. All rights reserved


********************************<<<<<ERROR>>>>>*********************************

ExitCode             = 87
Description          = IPMI standard error.
Program Error Code   = 260.2
Error message:
        root privileges are limited. Only users with the Administrator level
    privileges can perform OOB tasks.

********************************************************************************

5. チケットを起票し、rootユーザーの権限を強くしてもらう。

仕方がないので、例えば以下のようなチケットを発行し、rootユーザーに対して権限を強くしてもらいます。ちなみに、rootユーザーよりADMINユーザーの方が権限が強いのですが、ADMINユーザーはSoftLayerの中の人用なので、rootユーザーをADMINユーザー相当に強くしてもらうというリクエストを発行します。

Title: Add the admin privileges to the IPMI root user
Contents: Could you please change our IPMI root users privileges on these servers to administrator, because we are sometimes requested to use stronger privileges when we access IPMI ?

6. Sumを使ってBIOS情報を取得してみる(再挑戦)

BIOS情報の取得(成功)
# ./sum -i 10.132.2.248 -u root -p ******** -c GetCurrentBiosCfgTextFile --file 10.132.2.248.txt
Supermicro Update Manager (for UEFI BIOS) 1.6.0 (2015/11/06) (x86_64)
Copyright©2015 Super Micro Computer, Inc. All rights reserved
..........
File "10.132.2.248.txt" is created.

今度はうまくいったようです。例えば、以下の結果からHyper-ThreadingやAES-NIが有効になっていることが分かりますね!

# less 10.132.2.238.txt
#Please refer to SUM User's guide '4.1 Format of BIOS Settings Text File' for usage.

[Advanced|Boot Feature]
Quiet Boot=01                           // Please enter the value in 2 hexadecimal digits. Default value is <<<01>>>
AddOn ROM Display Mode=01               // *01 (Force BIOS), 00 (Keep Current)
Bootup NumLock State=01                 // *01 (On), 00 (Off)
Wait For "F1" If Error=01               // 00 (Disabled), *01 (Enabled)
INT19 Trap Response=01                  // *01 (Immediate), 00 (Postponed)
Re-try Boot=00                          // *00 (Disabled), 01 (Legacy Boot), 02 (EFI Boot)
Watch Dog Function=00                   // *00 (Disabled), 01 (Enabled)
Power Button Function=01                // *01 (Instant Off), 00 (4 Seconds Override)
Restore on AC Power Loss=02             // 00 (Stay Off), 01 (Power On), *02 (Last State)

[Advanced|CPU Configuration]
Clock Spread Spectrum=00                // Please enter the value in 2 hexadecimal digits. Default value is <<<00>>>
Hyper-Threading (ALL)=00                // 01 (Disable), *00 (Enable)
Cores Enabled=00                        // Please enter the value in 2 hexadecimal digits. Default value is <<<00>>>
Execute Disable Bit=01                  // 00 (Disable), *01 (Enable)
PPIN Control=01                         // 00 (Unlock/Disable), *01 (Unlock/Enable)
Hardware Prefetcher=01                  // *01 (Enable), 00 (Disable)
Adjacent Cache Prefetch=01              // *01 (Enable), 00 (Disable)
DCU Streamer Prefetcher=01              // *01 (Enable), 00 (Disable)
DCU IP Prefetcher=01                    // *01 (Enable), 00 (Disable)
Direct Cache Access (DCA)=02            // 00 (Disable), 01 (Enable), *02 (Auto)
X2APIC=00                               // *00 (Disable), 01 (Enable)
X2APIC_OPT_OUT Flag=00                  // *00 (Disable), 01 (Enable)
AES-NI=01                               // 00 (Disable), *01 (Enable)
Intel Virtualization Technology=01      // 00 (Disable), *01 (Enable)
(以下略)

7. その他情報取得方法

BIOSのBuildDate
# ./sum -i 10.132.2.238 -u root -p xxxxxxxx -c GetBiosInfo
Supermicro Update Manager (for UEFI BIOS) 1.6.0 (2015/11/06) (x86_64)
Copyright©2015 Super Micro Computer, Inc. All rights reserved
....
Managed system...........10.132.2.238
    Board ID.............0844
    BIOS build date......2015/12/17
BMCのバージョン
# ./sum -i 10.132.2.248 -u root -p xxxxxxxx -c GetBMcInfo
Supermicro Update Manager (for UEFI BIOS) 1.6.0 (2015/11/06) (x86_64)
Copyright©2015 Super Micro Computer, Inc. All rights reserved
....
Managed system...........10.132.2.248
    BMC type.............X10_ATEN
    BMC version..........03.26
BMCの構成情報
# ./sum -i 10.132.2.248 -u root -p xxxxxxxx -c GetBMcCfg --file 10.132.2.248_bmccfg.txt
Supermicro Update Manager (for UEFI BIOS) 1.6.0 (2015/11/06) (x86_64)
Copyright©2015 Super Micro Computer, Inc. All rights reserved
.........
.............................

File "10.132.2.248_bmccfg.txt" is created

# grep X10 10.132.2.248_bmccfg.txt
        <BoardPartNum>X10DRU-i+</BoardPartNum>

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3