冷却ファンの自動制御


Hack BBS の634番で SSS さんに HDD の温度表示ツールを紹介いただいたので、 早速インストールし、2日ほど様子を見てみた。

温度測定

1時間に1回の測定では、
外向きサーバの HD-HLAN ガワ + 玄箱マザーボード + Seagate ST3120026A は、 最低44度、最高49度、
内向きサーバの HD-HGLAN + SAMSUNG SV1203N は、 最低35度、最高44度、
であった。

ファンコントロールスクリプト

Hack BBS の642番でもっくんさんからアイデアをいただき、
  • 温度が45度を超えていたらファンを高速回転
  • 温度が45度以下になったらファンを低速回転
    させるスクリプトを書き、 外向きサーバの HD-HLAN 上で cron から1時間に2回動作させてみた。
    #!/bin/sh
    
    TEMPLIMIT=45
    
    LOCKFILE=/tmp/HDDtemp
    if [ -f $LOCKFILE ]
    then
    	echo $0 already running
    	exit
    fi
    
    TEMP=`/usr/sbin/hddtemp -n /dev/hda`
    date
    echo $TEMP C
    
    if [ "$TEMP" -le $TEMPLIMIT ]
    then
    	/bin/echo -n '\\\\' > /dev/ttyS1
    	exit 0
    fi
    
    /bin/echo -n ']]]]' > /dev/ttyS1
    
    touch $LOCKFILE
    while [ 1 ]
    do
    	TEMP=`/usr/sbin/hddtemp -n /dev/hda`
    	date
    	echo $TEMP C
    	if [ "$TEMP" -le $TEMPLIMIT ]
    	then
    		break
    	fi
    	sleep 60
    done
    
    /bin/echo -n '\\\\' > /dev/ttyS1
    rm $LOCKFILE
    exit 0
    

    結果、 45度を超えているとファンが高速で回って冷却し、
    45度以下だとファンが低速になって静かになる
    事を実現できた。

    Wed May 26 22:55:00 JST 2004
    46 C
    Wed May 26 22:55:00 JST 2004
    46 C
    Wed May 26 22:56:00 JST 2004
    46 C
    Wed May 26 22:57:00 JST 2004
    46 C
    Wed May 26 22:58:01 JST 2004
    45 C	←ここで 22:55 に起動したスクリプト終了
    Wed May 26 23:25:01 JST 2004
    47 C
    Wed May 26 23:25:01 JST 2004
    47 C
    Wed May 26 23:26:01 JST 2004
    47 C
    Wed May 26 23:27:01 JST 2004
    47 C
    Wed May 26 23:28:01 JST 2004
    47 C
    Wed May 26 23:29:01 JST 2004
    47 C
    Wed May 26 23:30:03 JST 2004
    47 C
    Wed May 26 23:31:03 JST 2004
    47 C
    Wed May 26 23:32:03 JST 2004
    47 C
    Wed May 26 23:33:03 JST 2004
    46 C
    (略)
    Wed May 26 23:41:04 JST 2004
    46 C
    Wed May 26 23:42:05 JST 2004
    45 C	←ここで 23:25 に起動したスクリプト終了
    Wed May 26 23:55:00 JST 2004
    46 C
    Wed May 26 23:55:00 JST 2004
    46 C
    Wed May 26 23:56:01 JST 2004
    46 C
    Wed May 26 23:57:01 JST 2004
    46 C
    Wed May 26 23:58:01 JST 2004
    46 C
    Wed May 26 23:59:01 JST 2004
    46 C
    Thu May 27 00:00:01 JST 2004
    46 C
    Thu May 27 00:01:01 JST 2004
    46 C
    Thu May 27 00:02:03 JST 2004
    46 C
    Thu May 27 00:03:03 JST 2004
    45 C	←ここで 23:55 に起動したスクリプト終了
    
    あとは、どのぐらいの頻度で起動するかだが、、、気休めに15分に1回かな。 常駐させるほどのものでもないだろうし。
    閾値も、45度ではなく50度でも良いかもしれない。
    LinkStation/玄箱 をハックしよう → LinkStation シリーズ制覇

    Copyright (C) 2004 Yasunari Yamashita. All Rights Reserved.
    yasunari @ yamasita.jp
    山下康成京都府向日市