サーバクラッシュ

UPS無停電電源装置)のバッテリが今朝届いた。
毎日毎日UPSが奏でるバッテリ切れのアラーム(喧しい鈴虫みたいな感じの音)を聴かされてうんざりしていたので勇躍交換作業に望んだ。
そしてやってしまった。消耗したバッテリを取り出す際に取り外したUPSのフロントパネルの裏側を誤って触ってしまった。
「ピッ!!」と言う可愛らしい音がしたかと思うと接続されていた3台のサーバのファンの音がしなくなった。
UPSのバッテリを交換した後にサーバの電源を入れて行ったが結局1台がクラッシュしてしまっていた。
古いサーバなので仕方が無いと言えば仕方が無い。なにせCPUはPentium266Mである。もともとはタワーPCでサーバ機として無理矢理使っていた。仕方が無いな…などと諦めがつくわけは無い。
シングルモードで立ち上げてfsckをやってみたが、状況は悪くなる一方で、最終的にはサーバはあきらめざるを得なかった。

駄目になったサーバで立ち上げている機能はDNSとMailだった。メールのほうはほとんど流量が無かったのであまり影響は無かった。DNSの方はドメイン管理と自宅内からのアクセスの名前解決を受け持つ。こちらは自分だけのものではない。仲間内で立ち上げているWWWのドメイン管理が目的なので影響は甚大である。
で、仕方が無いので現行のWWWサーバにとりあえずDNSをインストールし対応することにした。
DNSは前のサーバでも使っていたDJBDNSを用いた。
downloadしてmakeしたが、errnoがどうとかと言うエラーメッセージが出てmakeできない。
調べてみたら最近のLinuxではそういう症状が出るらしい。patchも出ていたが、1行を変更するだけなのでviでファイルを開いて変更した。
作業は順調に進み、結局サーバが強制昇天されてから6時間後には自宅内での名前解決が出来、その後1時間でドメイン管理も復活した。
やれやれ一段落した。外を見たらもう暗くなりかけ。タナゴの顔を見に出撃することも出来ず。
廃棄バッテリを箱に詰めて宅急便に持っていって日のあるうちの作業は終わった。
まぁ、ブログのネタになったから良いか、とも思うが…。

DJBDNSについての備忘1

細かいことは忘れたけど、Fedoraの途中のバージョンから必要になったらしい。だからCentOSでも同じ。まぁ、errnoに関するエラーが出てmakeできなかったらpatchを探してあてるか、下記のようにすれば動く...と思う。これはtinydnsでもdnscacheでも同じ
error.h

 :
extern int errno ;
 :

 :
#include 
 :

DJBDNSについての備忘2

DJBDNSドメイン管理を行うTinydnsと名前解決された結果を返すdnscacheは同一サーバでも同じIPアドレスを用いることは出来ないため、同一サーバでTinydnsとdnscacheを使うためには2つのIPを与える必要がある。ひとつは実IPでもうひとつは仮想IPとなる。
仮想IPの作り方は

# ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up