#contents();
*** 狙い [#yde5a6ab]
- サーバーが HDD_recorder などメディアセンターとしても使われるようになったので、動作状態をリアルタイム監視したいと考えた
- &color(blue){CPU負荷、ネットワーク負荷、メモリー消費量については、標準の gnome-panel にアプレットが用意されていた};
-- 単純に有効に化するだけで組み込む事ができた
-- &ref(pic_sensor.JPG);
- サーバーヘルス監視では HDDとマザーボードの温度監視が非常に重要だが、これはマザーボード上のセンサー情報を取得する必要がある
*** [[gnome-applet:http://sensors-applet.sourceforge.net/]] [#jc075133]
- gnome-panle に常駐可能なセンサー監視用のアプレット (gnome-applet-sensor) が利用できる
-- Fedora5 では dag のリポジトリを指定していれば yum でインストール可能
-- センサーの読み込みには、別に lm_sensor を設定して動かす必要がある
-- lm_sensor を動かすには、ボード毎のセンサードライバー(主に i2c)を動かす必要がある
-- [[@IT の参考記事:http://www.atmarkit.co.jp/flinux/rensai/linuxtips/893hddtemp.html]]
- [[CentOS 用の gnome-sensor-applet:http://centos.karan.org/el4/extras/stable/i386/RPMS/repodata/repoview/gnome-applet-sensors-0-1.0-1.el4.kb.html]] の &ref(gnome-applet-sensors-1.0-1.el4.kb.i386.rpm,center,RPM); をダウンロードして導入した
[root@spirit ~]# rpm -ivh ./Downloads/gnome-applet-sensors-1.0-1.el4.kb.i386.rpm
警告: ./Downloads/gnome-applet-sensors-1.0-1.el4.kb.i386.rpm: V3 DSA signature: NOKEY, key ID 3e13cf5b
Preparing... ########################################### [100%]
1:gnome-applet-sensors ########################################### [100%]
- lm_sensor でセンサー情報を読み込まないと 何も表示されなかった
-- &ref(pic_sensor2.JPG);
*** [[lm_sensor:http://www.lm-sensors.org/]] の導入 [#u98ffe84]
- sensors-detect では2つのセンサーが検出された ⇒ &ref(sensors-detect.log);
Driver `eeprom' (should be inserted):
Detects correctly:
* Bus `SMBus I801 adapter at 0500' (Algorithm unavailable)
Busdriver `i2c-i801', I2C address 0x50
Chip `SPD EEPROM' (confidence: 8)
* Bus `SMBus I801 adapter at 0500' (Algorithm unavailable)
Busdriver `i2c-i801', I2C address 0x51
Chip `SPD EEPROM' (confidence: 8)
Driver `w83627hf' (should be inserted):
Detects correctly:
* ISA bus address 0x0290 (Busdriver `i2c-isa')
Chip `Winbond W83627THF Super IO Sensors' (confidence: 9)
- sensors-detect で自動生成された module 読み込み設定 (=/etc/sysconfig/lm_sensors)
[root@spirit ~]# cat /etc/sysconfig/lm_sensors
# /etc/sysconfig/sensors - Defines modules loaded by /etc/rc.d/init.d/lm_sensors
# Copyright (c) 1998 - 2001 Frodo Looijaard <frodol@dds.nl>
(snip)
# This file is used by /etc/rc.d/init.d/lm_sensors and defines the modules to
# be loaded/unloaded. This file is sourced into /etc/rc.d/init.d/lm_sensors.
#
# The format of this file is a shell script that simply defines the modules
# in order as normal variables with the special names:
# MODULE_0, MODULE_1, MODULE_2, etc.
#
# List the modules that are to be loaded for your system
#
# Generated by sensors-detect on Thu Jan 4 11:05:05 2007
MODULE_0=i2c-i801
MODULE_1=i2c-isa
MODULE_2=eeprom
MODULE_3=w83627hf
*** lm_sensor 実行結果 &color(red){⇒ 結論として期待した情報(CPU,HDD の温度、FAN 回転数)を取得できていない}; [#y5cf135f]
- 問題 1. : マザーボードの SMBus の情報を取得できていない
- 問題 2. : winbond (w83627hf) のセンサーデバイス用のドライバーが組み込まれていない
[root@spirit ~]# sensors
eeprom-i2c-3-51
Adapter: SMBus I801 adapter at 0500
Unknown EEPROM type (8)
eeprom-i2c-3-50
Adapter: SMBus I801 adapter at 0500
Unknown EEPROM type (8)
eeprom-i2c-0-57
Adapter: NVIDIA i2c adapter 0 at 1:00.0
eeprom-i2c-0-56
Adapter: NVIDIA i2c adapter 0 at 1:00.0
Unknown EEPROM type (82)
eeprom-i2c-0-55
Adapter: NVIDIA i2c adapter 0 at 1:00.0
eeprom-i2c-0-54
Adapter: NVIDIA i2c adapter 0 at 1:00.0
eeprom-i2c-0-53
Adapter: NVIDIA i2c adapter 0 at 1:00.0
Unknown EEPROM type (255).
eeprom-i2c-0-52
Adapter: NVIDIA i2c adapter 0 at 1:00.0
Memory type: DRDRAM RIMM
Memory size (MB): invalid (1 52 12 74)
eeprom-i2c-0-51
Adapter: NVIDIA i2c adapter 0 at 1:00.0
eeprom-i2c-0-50
Adapter: NVIDIA i2c adapter 0 at 1:00.0
Either use the ddcmon driver instead of the eeprom driver,
or run the decode-edid.pl script.
- lm_sensor 起動後に読み込まれているセンサー
-- i2c_sensor ・・・lm_sensorでは指定していないドライバーだが、これが怪しいか?
[root@spirit ~]# cat /proc/modules | grep i2c
i2c_sensor 3649 1 eeprom, Live 0xf92a7000
i2c_isa 2369 0 - Live 0xf92a9000
i2c_i801 8013 0 - Live 0xf92da000
i2c_core 22337 5 eeprom,i2c_sensor,i2c_isa,i2c_i801,nvidia, Live 0xf91f2000
-- winbond のドライバーは読み込まれていない
[root@spirit ~]# cat /proc/modules | grep w
[root@spirit ~]#
*** 原因究明 [#n261d18e]
- 起動スクリプト (=/etc/init.d/lm_sensor) の中で i2c 関係のドライバーをロードする部分のメッセージを出すようにした
- &color(red){winbond のデバイスを kernel が見つけることが出来ないのが原因のようだ};
[root@spirit ~]# FATAL: Error inserting w83627hf (/lib/modules/2.6.9-42.0.3.EL/kernel/drivers/i2c/chips/w83627hf.ko): No such device
- 本当にデバイスがあるのか ?
*** [[hddtemp:http://www.guzu.net/linux/hddtemp.php]] の導入 ・・・・ S.M.A.R.T. から温度情報を読み取る [#gca01118]
- データーベースに登録されていないドライブは、自分でデータベース (= /usr/share/misc/hddtemp.db) に追加することができる
# muna add
"HDT725040VLAT80" 194 C "Hitachi Deskstar 400GB, 7200RPM, 8MB, ATA"
- 登録後 2台のディスクの温度を正しく表示することができた (これは backup.hmuna.com のデーター )
[root@backup ~]# hddtemp /dev/hda /dev/hdb
/dev/hda: Maxtor 7Y250P0: 31°C
/dev/hdb: Hitachi HDT725040VLAT80: 35°C
- 同様に 500GB SATAのドライブ情報を追加して、 spirit.hmuna.com でもコマンドラインからは正しく温度が読み取れる
[root@spirit ~]# hddtemp /dev/sdb /dev/hdb
/dev/sdb: Hitachi HDT725050VLA360: 36°C
/dev/hdb: Maxtor 6Y080L0: 34°C
- &color(red){ps でデーモンが起動している事は確認できるのだが、gnome-sensors-applet にはセンサーとして認識されない};
[root@spirit ~]# ps aux | grep hddtemp
root 12639 0.0 0.0 5824 960 ? S 01:26 0:00 hddtemp -d /dev/sdb /dev/hdb
root 12692 0.0 0.0 5744 716 pts/1 R+ 01:27 0:00 grep hddtemp
- 本来ならこの写真のように hddtemp もセンサーとして認識されるはずなのだが
-- &ref(004-sensors-prefs.jpg);