MicroServer で FreeBSD

ハイテックシステムMicroServer (MicroPC) に FreeBSD をいれて使っています.PCガレージ で購入しました.Intel の ether chip を使った BK-3410 です.このモデルはすでに完売だそうです. 現行品の chip はカニマークです.
ここからは日付の新しい順です.


CPU ファンが壊れて交換しました.今回のは2年以上回りました. 2008.11.9


ちょうど1年半の間回り続けたファンが壊れました.連続運転だとこんなもんかな. 2006.9.18


結局,ファンをくっつけました.COPAL の小さな 5V ファンです. 次の夏は乗り切れるかな. 2005.3.20

ファンの手前は温度センサです


今年は暑い夏ですね.ディスクレスのマイクロサーバも時々勝手にリブートします. CPU のヒートシンク上部で 60°C 以上になることもあります. 接続していたキーボードをはずしてみました.わずかでも電力削減です.しかし冷却も考えないと. 2004.7.18


MN8300 に限らず,最近のネットワーク機器は制御が WEB インタフェースだけのものが多いですね. telnet で制御できれば,例えば,外につながらなくなったら再起動する,といったスクリプトも簡単に書けるのに. で,ruby で MN8300 の再起動スクリプトを書いてみました. IP アドレスを適当に変更,admin:admin をユーザ,パスワードに適当に変更してください.

require 'net/http'
Net::HTTP.version_1_2   # declear to use 1.2 features.
Net::HTTP.start( '10.0.0.1' ) { |http|
    response = http.post('/cgi-bin/main.cgi',
                         'mbg_webname=reboot_result&mbg_reboot=%BA%C6%B5%AF%C6%B0',
                         'Authorization' => 'Basic ' + ["admin:admin"].pack('m').strip)
}
2004.7.18


しばらく前から NTT-ME の MN8300 を導入しています. 固定 IP アドレスを1つ取得して,8300 の GapNAT 機能で MicroServer に外からの ssh など,いくつかの接続開始を回しています.MN8300 のファームは Version 1.11 に更新しました.1.10 は GapNAT が使えなくなっていたのですが,修正されました.快調に動いています.2004.2.17


コンパクトフラッシュにしてディスクレスになったところで温度を計ってみました.HDD がなくなったので,HDD に貼りつけていたセンサはケースの中で浮いています.ケース内温度を計っていることになりますね. 2003.11.18

結果です.時刻は HDD 付きと合わせました.縦置きと比較すると室温が 21.0°→ 17.0°(-4°),CPU は 50.6°→ 46.2°(-4.4°) です.もうひとつのセンサは 37.9°→ 29.2°(-8.7°) とかなり下がっています.HDD がなくなってケース内温度は下がっていますが,CPU 温度にはあまり影響していないわけです.


ディスクがクラッシュしました. read timeout が見えた時点で,別のマシンに / 以下をすべてバックアップしました. その後,数日でディスクにアクセスにいったままハングするようになって,そのディスクはあきらめした.

で,以前に使っていて保存してあったディスクに 4.9R をインストールして繋げてみたのですが,いきなりハング.さらに別のディスクでも同様.ATA コントローラ側が壊れることなんてあるのですかね.

ま,しかたがないので,ハードディスクはあきらめて,残っているコンパクトフラッシュのスロットからブートすることにしました.まず,1G のコンパクトフラッシュに FreeBSD 4.9-RELEASE をインストールします.kit 欲しい経由で CDROM ドライブを繋げ,4.9R の CDROM からコンパクトフラッシュへ.distribution は user にして,kernel ソースもいれてません.いくらか packages をいれて 350MByte くらいに収まっています.

コンパクトフラッシュは書き換え回数の制限が 30 万回といわれているので,/ は read-only で mount しています./var /usr/home /dev を mfs にしました.swap もなし.boot のメッセージ をおいておきます.設定は,このスクリプト を /etc/rc の先頭で実行します./etc/rc.diskless[12] から抜き出したものです.他に,/tmp は /var/tmp に symbolic link を張るとか,/usr/home のファイルをコンパクトフラッシュに作っておいて,/etc/rc.local でコピーするとか,いくらか調整が必要ですが,ほぼこれで動きました.dhcp を使うときは,/etc/resolv.conf の書き換え,reboot を越えて /var/db/dhclient.leases を保持,といった課題があります.

ディスクがないので,www サーバやメールサーバの運用は困難ですが,DNS secondary やルータ,プロキシなどなら動かせるでしょう.こちらでは bind が走っています.

ハギワラシスコムコンパクトフラッシュ は書込みデータを内部で自動的に再配置処理して,寿命を伸ばす工夫をしているそうです.コンパクトフラッシュの書き換え寿命 の計算式も公表しています.こちらが入手したのは I-O DATACFX シリーズ で,高速性を謳っています.速いのは大歓迎ですね.2003.11.16


センサに Maxim Integrated ProductsDS18B20 を使った アスペクトシステム多点温度センサ で動作中の CPU や HDD の温度を計ってみました.こちらの環境での 1 回の測定ですので,あくまで参考ということでお願いします.
センサのケーブルをフラッシュメモリのスロットから通したため,ケースの蓋が閉まっていません.温度を下げるのに役立っているでしょう. 本体を普通に横に置いたときと,電源スイッチ側を下にして縦に置いたときの両方を測定しています.2003.11.4

CPU 部分です.ヒートシンクの上方にくっついています.
緑色のコンデンサもヒートシンクにくっついています
HDD の温度測定.ヒートシンクを張り付けるためのシールで密着させようとしましたが,少し浮いてます
本体を縦置きにしたときの CPU 用センサです.写真の右を上にして置きました.センサはヒートシンクの上になります

測定結果です.グラフをクリックすれば大きくなります.

横置きの結果です.CPU はほぼ idle で,温度は 54 度程度で一定しています.午前 3 時に HDD の温度が上がっているのは,ネットワーク経由で別マシンに /etc や /usr/local のファイルを転送しているためです.2 つめのピークは /etc/periodic/weekly の実行です
縦置きの結果です.横置きの測定の翌日の同じ時刻の結果です.CPU は 2 度弱,HDD は 2 度程度低くなっています.こちらのほうが 室温が 0.4 度ほど高いので,縦置きで 2 度は低下したといってよいでしょう
温度が安定した時刻の CPU と HDD だけグラフにしました.横置きと縦置きを比較してください.
横置きのディスクのグラフでは weekly 処理が走って山がありますが,平均値に大きな違いはないでしょう
RC5-72 クラッキングを 2 時間走らせました.CPU 温度は 51.0 度 から 53.38 度に上昇しました.差が少ない印象です.元の 51 度が高いのかな.この間の室温は平均 21.2 度でした

ハードディスクの温度

ディスクの基板側にセンサをつけています.CPU とはディスクをはさんで反対側です. CPU 側になる HDD 金属ケースの温度は,グラフの数字より高いでしょう. IC25N040ATCS04 の動作温度は 摂氏 5 度〜 55 度です.CPU の測定値がこれより低い間は一応規格内ですが,夏場はきびしいかな.もともと,推奨通電時間 333 時間/月 (1 日に 10 時間程度) のディスクなので,24 時間回し続けて壊れてもあまり文句はいえません.

CPU そばのコンデンサ

CPU のヒートシンクにくっついているコンデンサは,使用温度 105 度の表示が見えます.といっても 105 度では 3000 時間くらいの保証寿命しかありません.常に 50 度だとどのくらいもつのでしょうね.こんな状態 はいやだなぁ. NS Geode GX1 そのものは 0 〜 85 度のようで問題ないですが.
Ether にカニチップがのっている現行品には,この緑のコンデンサの代わりに,茶色のコンデンサが複数のっているようです.これなら接触はしないかな.


4.9-RELEASE にアップデートしました.ソースは cvsup でもってきましたが, make buildworld を別のマシンで実行して /usr/obj をコピーし, make installworld, kernel の再構築,mergemaster としました. ソースを更新した後の時刻の /usr/obj でないと installworld で touch が見付からない,といったエラーが出ます. 2003.11.1


4.8-RELEASE patch level 13 にアップデートしました./usr/src の make world には 7 時間 21 分かかりました. 2003.10.19


MicroServerの CPU NS Geode GX1 の部門は AMD売却 されるそうです.2003.8.7


ディスクを IBM (日立) IC25N040ATCS04 に換装しました. OS は FreeBSD 4.8-RELEASE にしました.TAKE-CF のインストーラを差し替えてインストールしました. 以下のように行ないました.

TAKE-CF のスライス 2 に FreeBSD 4.6-RELEASE 日本語インストーラがはいっているので,別のマシンで,このスライスを mount する.
FreeBSD 4.8-RELEASE の floppies/boot.flp をマウントする.こんな感じ
  vnconfig /dev/vn0 boot.flp
  mount /dev/vn0 /mnt
この /mnt のファイルを TAKE-CF にコピーする.MicroServer の BIOS 設定で D から boot するように指定して, TAKE-CF からブートし,ネットワークインストールする.BIOS で C から boot するように設定を戻す.

4.8-RELEASE と 40Gbyte ディスクの組合せで特に問題なく動作しています.2003.7.6

boot のメッセージ kernel config ファイル

設定ファイル,ログなど (FreeBSD 4.8-RELEASE)


小型計算機研究所 の情報は充実しています.大助かりです. 2003.6.30


暑くなってきました.部屋ではあまりクーラをかけないので MicroServerも温まってきます.きょうの午後 2時でケースの上面で 37.3度を観測しています.室温は 29度くらい. CPU 負荷はほとんどありません. MicroServerには AC アダプタ AC100V 入力部分で実測 0.2A 程度の電流があります. これくらいの温度で壊れることはないでしょうが,熱源になっているのは確かですねぇ. 2003.6.22


ports で XFree86-Server-4.3.0_8 に更新しましたが,モニタの表示がなくなる件は改善していません.
3月25日に FreeBSD 4.7-RELEASE-p9 にバージョンアップしています.快調です. 2003.5.17


モニタの表示がなくなる件について,似たような症状になったとき
  vidcontrol 80x25 < /dev/ttyv0
で復活したことがある,との情報を FreeBSDUsersML メールリストで教えていただきました. ただ,こちらの MicroServerでは,このコマンドでは復活しませんでした.残念. 2003.3.23


PCガレージ の MicroServerに FreeBSD をいれました. Intel の ether chip を使った BK-3410 です.このモデルはすでに完売だそうです. 現行品の chip はカニマークです. FreeBSD のバージョンは 4.7-RELEASE patch 6です. 音も出ていますが,CPU パワーがないので MP3 再生では音が途切れます.

Xも動きました.しかし XFree86 4.2.0 では vesa モードでの動作でした. Vertical refresh rate は目に悪い 60Hz,xvidtune も動きませんでした. XFree86 Version 4.3.0 が ports (XFree86-4.3.0,1) になったのでいれてみたところ, nsc ドライバでわりとうまく動いています.Vertical refresh も 85Hz でやってます. xvidtune も動きます.

ただ,X を終了したあと,モニタ (SONY 17sf9) が Out of Sync といって表示できなくなります. ふと思って,ja-kon2 をいれてみました. 見えないままに kon RET, exit RET と打って kon を上げ,下げすると画面が復帰します. kon のどこが効いているのかまで追っていないので, kon のソースから shell を実行するところを削って初期化と後始末だけするバイナリを xinit の後に実行するというしょうもない方法でしのいでいます. ちなみに,普通に kon を上げても Out of Sync になります.BIOS 設定かもしれませんが未確認. 2003.3.16

boot のメッセージ kernel config ファイル
XF86Config X のログ

設定ファイル,ログなど (FreeBSD 4.7-RELEASE p6)


ホーム
webmaster