2013/08/31

HWの情報を取得できるdmidecodeコマンドが結構便利だと思った

はじめに

普段はあまりないかも知れませんが、HW構成などに関する詳細な情報を確認しなければならないことがあります。

例えば、サーバで物理的な故障が発生したとき、メーカー製のサーバであればサポートへ問い合わせて保守対応をしていただくことになりますが、問い合わせを行ったとき、故障した箇所や内容によってそのHWに関する情報を求めらることがあります。
HWシリアル番号、BIOSのバージョン情報、搭載されているメモリモジュールのメモリサイズ・数…等です。

そういった情報が分からないときにわざわざ電源を落としてBIOSの画面等から調べる…といったことはなかなか出来ないことが多いですが、Linux系OSであれば、そういった情報を知りたいときにdmidecodeというコマンドを利用できます。

RHEL系5系,6系であればdmidecodeパッケージをインストールする必要があります。
※CentOS6.4 x86_64の例

% rpm -qf /usr/sbin/dmidecode
dmidecode-2.11-2.el6.x86_64

以下はdmidecodeコマンドについてのメモです。

dmidecodeコマンド

dmidecodeはハードウェア情報をDMI(SMBIOS)に格納されている内容を解析して人間に読めるようなフォーマットとして報告します。
SMBIOS(System Management BIOS)とは簡単に言うとハードウェアの情報をBIOSに格納するための規格です。

オプションなしでコマンドを実行すると、取得可能な全ての情報が表示されます。
-qオプションで不明な情報や無効な情報、メーカー固有の情報を省いたり、-s オプションでキーワード文字を指定したり、-t でタイプを指定してできます。
※詳しくはmanを参照してください。

-sオプションで指定可能なキーワード
# dmidecode -s
dmidecode: option requires an argument -- 's'
Valid string keywords are:
  bios-vendor
  bios-version
  bios-release-date
  system-manufacturer
  system-product-name
  system-version
  system-serial-number
  system-uuid
  baseboard-manufacturer
  baseboard-product-name
  baseboard-version
  baseboard-serial-number
  baseboard-asset-tag
  chassis-manufacturer
  chassis-type
  chassis-version
  chassis-serial-number
  chassis-asset-tag
  processor-family
  processor-manufacturer
  processor-version
  processor-frequency
-tオプションで指定可能なタイプ
 # dmidecode -t
dmidecode: option requires an argument -- 't'
Type number or keyword expected
Valid type keywords are:
  bios
  system
  baseboard
  chassis
  processor
  memory
  cache
  connector
  slot

動作確認

環境

実行環境は以下です。

プラットフォーム さくらのVPS SSD 1Gモデル
OS CentOS 6.4 x86_64 (64bit)
実行

dmidecodeコマンドを実行していくつか情報を取得してみます。

BIOSの情報一覧を取得してみます。KVMゲストから実行したものですが、実際のBIOSから取得できた情報なのか分かりません...

# dmidecode -t bios
# dmidecode 2.11
SMBIOS 2.4 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
 Vendor: Seabios
 Version: 0.5.1
 Release Date: 01/01/2007
 Address: 0xE8000
 Runtime Size: 96 kB
 ROM Size: 64 kB
 Characteristics:
  BIOS characteristics not supported
  Targeted content distribution is supported
 BIOS Revision: 1.0

サーバのモデル名を取得してみます。KVM環境だと以下のような情報が取得できました。

# dmidecode -s system-product-name
KVM

HWのシリアルナンバーを取得してみます。KVMの環境だと取得できないようです。

# dmidecode -s system-serial-number
Not Specified

おわりに

HWに関する情報を取得するdmidecodeコマンドについて簡単に記載しました。

システムを停止したり、メーカーの管理ツールを使ったり、構成情報の資料を見たりしないと確認できないと思っていた情報でもコマンドで簡単に確認できるものもあります。
上記ではKVM環境で実行してみました結果ですが、物理マシン上で実行すると、システム製造元、モデル名、シリアル番号、BIOS バージョンやメーカー固有の情報(DELL製HWだとサービスタグ等)やメモリスロットに何GBのメモリモジュールが挿さっているかといった情報まで、細かい情報が確認できます。
管理がされていない詳細不明なHWでも情報を整理していけるかもしれません。

0 Comments:

コメントを投稿