More from: サーバ

時計が進まない?????

ここ数日サーバの一台でトラブルが続いている。
一部のサービスがいきなり止まってしまうようで、クライアントからのアクセスを拒否するようになってしまう。
このサーバは最近マザーボードのキャパシタが壊れてしまったので、応急処置として他のPCのマザー(チップセットは同じもの)を入れたところ、その数日後から現象が出るようになった。

止まるサービスが一つならばそのサービスを見直せば良いのだろうが、複数のサービスが止まってしまう上、これまで全く問題無く動作していたqpopperまでが接続を拒否するようになってしまったので訳が判らない。
不思議なことにtelnetやsshのサービスは動作するので、外部からログインして操作することは可能。

最初に「おかしいな?」と思ったのは時計が進んでいないこと。
dateコマンドで時刻を見ると12時間以上遅れていたので、正しい時刻に合わせてもそこから時刻が進まない、それどころか時刻が戻っては進むというのを繰り返してしまう。
マザーボード上の電池が消耗しているのは判っていたので、交換して起動したところ問題無く動作を始めたが、その二日後にまた同じ現象でサービスが止まってしまった。
今度は再起動だけで済んだが、電池の消耗が原因ではなかったということが判明した。
うーん、何が原因なのだろう?交換したマザーが関係しているとは思うけど、なにをどうすれば解決できるのだろう?
カーネルの時計関係の部分が交換したマザーの時計モジュールに対応していないのかな?

←クリックしてくれると嬉しいです。

サーバが止まってた(爆)

今朝職場に着いて掃除をしていたら、内線で「サーバが1台止まってます」との連絡が来た。
とりあえず部下に電源ユニットを持たせて現地に行かせたが、電源ユニットの障害では無かった。
そうなるとマザーかCPU辺りの故障となるが、生憎代わりになるマザーが無いので、HDDの壊れたPCからマザーを摘出して交換した。
このマザーはメーカー製PCに入っていたものなので、フロントパネルのコネクタが独自設計でピンアサインが判らない(ボード上のシルク印刷も無い)。
少なくとも電源SWを接続するピンが判らないと困る(電源を入れられない)ので、フロントパネルから延びているケーブルに付いているコネクタの導通をテスタでチェックして電源SWとリセットSWのピンを特定した。
HDD-LEDのピンは外部から見ても判ったので、こちらは問題なく接続できた。

後は死んだサーバに入っていたHDD2本を移植したところ無事にOS(Linux)が起動してきたが、パーティション1つが見つからないというエラーでOSの起動が完了しない。
これはHDDを接続しているIDEチャネルを間違えた為で、正しく接続し直したところ今度はきちんと起動した。

これでめでたしめでたしと思ったが、危惧したとおりネットワークアダプタが認識されない。
/etc/sysconfig/network-scripts/にあるifup-ethXを使ってもエラーになってしまうので、どうも正しいドライバが入っていないようだ。
そこで古いチップを使ったPCIのカードを用意して取り付けたがやはり起動時にLANに接続できない。
lsmodで見るとドライバはモジュールとして組み込まれているので、ifup-ethXを手動で動かすとLANに接続できるようになったので一安心。
その後もルーティングの設定がstatic-routesに記述してあるようにはならなかったり、名前解決が出来なかったりしたが、それぞれ手動で設定して、どうにか業務に復帰させることが出来た。

それにしても休みの日の夜に止まらないで欲しいよなぁ(笑)。

#後で壊れたマザーをチェックしたところ、CPU周りのキャパシタが液漏れを起こしていたので、マザーの障害ということだったようだ。

←クリックしてくれると嬉しいです。

sambaでの接続が回復した・・・・・・・

しばらく前からsambaでアクセス出来ないと言われて預かっていたサーバで、ようやくアクセスが可能になった(と思う)。
正確には起動直後はアクセス可能なのだが、時間が経過するとアクセスが遮断されるようになっていた。
いろいろ調べていてlog.nmbdを見るとマスターブラウザになろうとしてなれないというエラーが出ていた。
同じセグメントにはWindowsサーバもあり、そちらがマスターになっているようでリクエストを遮断しているように思えた。
まぁマスターブラウザにする必要も無いので、smb.confを修正してマスターブラウザにならないようにしたが、それでもエラーは出ていたが、とりあえずこの件は無視。

http://www.samba.gr.jp/ にあった文書を参考に、
smbclient -L サーバ名
でlinuxサーバ自身から接続しようとすると
Receiving SMB: Server stopped responding
session request to “サーバ名” failed (Call timed out: server did not respond after 20000 milliseconds)
とタイムアウトを起こしてしまいアクセス出来無い。
さらにsambaのログにも残らないので、これはリクエストがsmbdに渡っていないということだ。

そこで
netstat -a
コマンドでnetbios-ssn ポートが「LISTEN」状態になっているかを確認すると、それさえ表示されない(あれ?)。
ps -ax
でプロセスを確認すると
smbd -D
は動いているから、その前になにか障害があるようだ。

気になったのは
/var/log/samba/log.nmbd
に停止時のログとして
Packet send failed to 192.168.122.255(138) ERRNO=無効な引数です
というエラーが記録されているが、こんなIPアドレスを設定した覚えは無い。

nmbdが正しく動作しているかを確認するために、
nmblookup -B “サーバ名” __SAMBA__
を実行すると、正しいIPアドレスが帰ってくるから少なくともnmbdは動作していて、リクエストも受け取ってくれている。

次にクライアントのアドレスも返してくれるか、
nmblookup -B 192.168.xxx.255 “クライアントPC名”
を実行すると、こちらもIPアドレスが帰ってくる。

さらにブロードキャストへの応答を確認しようと
nmblookup -d 2 ‘*’
を実行したところ、
added interface virbr0 ip=192.168.122.1 bcast=192.168.122.255 netmask=255.255.255.0
added interface eth0 ip=xxx.xxx.xxx.xxx bcast=xxx.xxx.xxx.255 netmask=255.255.255.0
querying * on 192.168.122.255
Got a positive name query response from 192.168.122.1 ( 192.168.122.1 )
192.168.122.1 *<00>
と出力された。

interfaceのeth0は設定してあるが、もう一つの”virbr0″というのは設定した覚えは無い。
ところがこのIPアドレスには見覚えがある。
そう!log.nmbdにあった謎のブロードキャストアドレスと同じネットワークのアドレスだ。
そもそも”virbr0″というinterfaceは設定していないのだが、何故に出て来ているのだろうと思って、”virbr0″でググって見ると、どうも(XENとかで使う)ヴァーチャルマシン用のブリッジデバイスのことらしい。
この”virbr0″というinterfaceはlibvirtをインストールすると勝手に作られるらしく、どうもこれが本来のeth0の邪魔をしている感じだ。

/sbin/ifconfig
でネットワークの設定を見ても立派にネットワークインターフェースとして設定されている。
なので、このインターフェースを
/etc/sysconfig/network-scripts/ifdown virbr0
として止めようとしたが、
使い方: ifdown <デバイス名>
と出てしまい止められない(そりゃそうだ、実在のデバイスでは無いのだから)。

XENをインストールした覚えは無いが念のため
ps -ax | grep xen
としてみたが、当然ながら何も出てこない。
やけっぱちで
ps -ax | grep vir
としてみたら、
2189 ? S 0:00 libvirtd –daemon
というのが出てきたでは無いか。
仮想マシンを使うつもりは毛頭無いので、これを動かす必要も無く、早速止めることにした。

止めるには
/etc/rc.d/init.d/
の下にある”libvirtd”スクリプトを使えば良く、
/etc/rc.d/init.d/libvirtd stop
で簡単に止まった。
そうしたところ、virbr0というインターフェースは消滅し、smbclientでの接続も可能になり、クライアントPCからの接続も可能になった(はぁー、長かった・・・)。
ただ、このままではサーバの起動時に自動でlibvirtdが起動してしまうので、
/sbin/chkconfig –level 345 libvirtd off
として、自動起動を止めた。
しっかし、なんでlibvirtなんて入っていたのかなぁ?

←クリックしてくれると嬉しいです。

無限ループは解決したけど

昨日書いた「Ridoc Document Routerの無限ループ」はなんとか解決した。
今日の朝Ricohに問い合わせたところ、複数の原因が考えられるがとりあえず出来ることを教えてもらえたので、現場に行ってやってみた。
ループに陥る原因としては、受信したデータを処理中にサーバがダウンしたために、処理が中途半端になったデータがあることや、処理するデータが大量にあるために処理に時間がかかり一見無限ループに陥ってしまったように見える場合もあるとのこと(いや、それは判りますがね)。
他には実行ファイルそのもの(Dds.exe)の破損も考えられるということだったが、今回は敢えて考えないことにした。
今回のはIO機器から送ったデータがA4一枚分しか無いことや、サーバを何度再起動しても変化が無いことからデータ量が多過ぎるということが原因とは思えず、やはり処理途中の中途半端な状態のデータがある為に配信サービスのプロセスが処理を終了できないでいると考えた。
そこで処理途中の中途半端な状態のデータを捨てることで正常な状態に復帰するのではないか(いや、「復帰して欲しい」が正解か)と思い、IO機器から送られたデータがどのように処理されるかを教えて貰い、正常に処理がされていればデータが存在しないはずのフォルダにあるファイルを消すことにした。
以降のフォルダ名の先頭の「RidocCab」はインストール時に指定したデータフォルダ名を指すので、ドライブレターやフォルダ名はその指定したものになる(例えばデータフォルダを「C:\Ricoh-data」とした場合は「C:\Ricoh-data\FtpRoot\”機器NO”」のようになる)。
IO機器から送られたデータは、最初に「RidocCab\FtpRoot\”機器NO”」に入り、処理に伴い「RidocCab\DR\Spool\Compose」→「RidocCab\cabinet\WG_Root\”各フォルダ”」の順に移動して行くので、最初の2つのフォルダにはファイルは残らない(筈)。
#ここで言う”機器NO”とは、各IO機器が持っている固有のNoで、配信管理ツールでFAX配信ログやスキャナー配信ログの”配信元機器”に表示されるNOのこと。
なので、「RidocCab\FtpRoot\”機器NO”」及び「RidocCab\DR\Spool\Compose」内のファイルをフォルダごと消すことにした。
まず最初に作業中にIO機器からのデータを受信しないように、タスクマネージャを使ってDds.exeの動作を止めて配信サービスを終了させた(配信管理ツールからでは停止できなかったため)。
次に念のため「RidocCab\DR\Spool」以下のフォルダとファイルを全て他の場所にバックアップとしてコピーした(幸い「RidocCab\FtpRoot\”機器NO”」以下にはファイルは無かったので「RidocCab\DR\Spool」以下だけで済んだ)。
その後「RidocCab\DR\Spool」以下のフォルダ(「Compose」「Entries」「Error」「JobList」)内のファイルとフォルダを全て削除した。
削除が完了したところでサーバを再起動し、起動後にタスクマネージャで負荷を見たところ、それまでは100%だったのがDds.exeが動作している状態でも数%まで下がっていたので、試しにFAX機からデータを送ったところ無事に指定したフォルダにデータが格納された。
これでなんとかIO機器からのデータを正常に処理することが可能になったが、サーバ自体はHDDにエラーがあって動作が不安定のままなので、早急にHDDを交換して再構築しなくてはならない。
HDDを交換して「EASEUS Drive Copy」を使ってディスク全体をコピーするつもりだけど、エラーのあるHDDを正しくコピーすること出来るのかな?

←クリックしてくれると嬉しいです。

ATOM搭載の超小型ベアボーン

Intelの省電力CPUであるATOMを搭載し、昨年6月に発売になった超小型のベアボーンであるCompuLabの「fit-PC2」の改良版が発売になっているらしい。
製品名は「CompuLab fit-PC2i」で、改良されたのはLANインターフェイスが1000BASE-T×2系統となったことと、シリアルインターフェイスが搭載されたこと。
LANインターフェイスが増えた分背面のUSBポートの数が4→2へ減少しているのは少々残念なところ。
元々の製品が超小型でCPU(ATOM Z530)及びメモリ(DDR2-533 1G 増設不可)搭載済みで、2.5インチのHDDorSSDを搭載すればPCとして使用可能という製品だったが、今回LANが1系統追加されたことでルーターとしての利用も出来るようにもなったと思う。
単なるルーターなら出来合いの製品の方が安いし簡単だが、複雑なルーティングやパケットフィルタリングをさせようとすると、一般的に売られているルーターでは難しいので、この製品にLinuxをインストールしてルーターとしたほうが使いやすいかも。
#いや、CISCOやJuniperの製品も選択肢としてはあるだろうけど(汗)。
まぁ外部接続用のルーターとしなくても2つのネットワークに接続できるので、単にネットワークを2つに分けたい時に簡易的なルーターとして使うことも出来るし、両方のネットワークからアクセスできるファイルサーバを構築することも出来る。

この製品の最大の特徴は高負荷時でも僅か8Wという省電力性能で(実際にはストレージも電力を消費するのでもう少々多い)、この省電力製&低発熱性を活かしていろいろな使い道が考えられると思う。
なお、メーカーサイトの製品情報によればメモリは最大2Gまで搭載可能との事だが、今回販売されているのは1Gの仕様のものらしい。
正直メモリが1GではWindows7を動作させるには少々不足だと思うので、2G仕様の製品が販売されれば良いと思う。
ディスプレイ出力がDVIのみでアナログVGAが無く、注意が必要な点は「fit-PC2」と同じ。

←クリックしてくれると嬉しいです。

サーバーが止まる・・・・・・

先週の木曜日に一部のサーバが勝手に止まる現象が発生した。
Windowsサーバなのでシステムログを見てもらったが、特に異常は記録されていないので、Windowsで異常を検知する前に落ちてしまっているようだ。
その時は内部の清掃をしたところ落ちなくなったので、溜まった埃で冷却性能が落ちて熱でBIOSの自動停止機構が働いたのであろうということになったが、今日になって再発した。
前回は電源自体が切れていたので電源SWを押せば起動したが、今日は電源自体は切れていないにも関わらずディスプレイへの信号が行かなくなっており、なにが起きたのかが判らない。
一度電源を切ってから電源を入れなおしても数十分で再度落ちるので、熱以外の原因があるのかも知れない。
長いこと使っているサーバなので、各部品の劣化かもしれないが、前回の内部清掃時にチェックした時にはキャパシタ等には異常は見られなかったので、ちょっと思い当たることが無い。
どうやって対処しようかなぁ?

←クリックしてくれると嬉しいです。

サーバーの大特売

NTT-XストアでNECのサーバ「Express5800」シリーズのエントリーモデルをはじめとして、サーバーの大安売りが行われている。
一例として「Express5800/GT110a」が12,800円とか、「Express5800/GT110b」が16,800円とかがある。
他にもHPの「ML110 G5 Celeron440 2.0GHz 1GB」が13,480円。
スペック的には見るものは無いが、小規模ネットワークのファイル/プリンタサーバーとかに使うなら十分かと(ファイルサーバーにするにはHDDを増設したほうがいいかもしれないが)。
「Express5800/GT110b」なんかは2台買うと29,600円と纏め買いがお得となっていて、なんかサーバーの値段とは思えない(笑)。
上記の3種類はOSが付いていないが、HPの「ML115 G5 Athlon/1GB/160GB/ROM/Foundation」(39,800円、ただし在庫僅少)や「ML110 G5 Celeron440 2.0GHz 1GB 160GB(Foundationバンドル)」(44,800円)のようにWindows Server 2008 Foundationがバンドルされているのもあり、機能限定版とは言えWindows Server 2008が安価に手に入るのでお買い得かと。

←クリックしてくれると嬉しいです。

Ridoc Desk Navigatorで他のサブネットのサーバーを参照

RICOHのドキュメント管理システムである、Ridoc Document Routerを使っているが、ルーター越しで他のサブネットのサーバーの使用が出来た。
サーバーへの接続はWindowsネットワークを利用しているので、lmhostsファイルにサーバーの名前とIPアドレスを登録しておけば、ルーターを超えてサーバーにアクセスすることが出来る。
もちろんルーターでWindowsネットワークで使用するポートを空けておかなければならなかったり、ネットワーク間の経路情報を正しく設定しておくとかは必要。
経路設定については片方からpingを打ってリプライが帰ってくれば正しく設定されていることになる。
こんなに簡単に接続出来るならもっと前にやっておけばよかった・・・・・・・
でもなぁ、数十台のPCにlmhostsファイルを入れて回るのは面倒だな(爆)
WindowsXpの場合lmhostsがあるのはhostsと同じ
%System%\system32\drivers\etc\
(%System%はデフォルトではc:\windows)
となっている。書式もhostsファイルと同様で
192.168.1.1(IPアドレス) FAX-server(ホスト名)
のようになるので、記述は簡単(hostsファイルをコピーしても使える)。

←クリックしてくれると嬉しいです。

CUPSの設定が?

職場でプリンタサーバにしているサーバが挙動不審になってきた(Windows機からプリンタへ接続出来なくなってきた)ので、別のサーバにプリンタを追加してプリンタサーバとしても使うことにした。
プリンタを追加するにはCUPSの設定を変更して(というか全くの未設定状態なので)、まずは外部のPCからブラウザ経由で設定できるようにしなくてはならない。
デフォルトでは外部から設定画面へのアクセスを拒否するようになっているので、「サーバのIPアドレス:631/」でアクセスしても「403 Forbidden」となってしまうが、2009/10/31の記事「CUPSの設定」のように設定ファイルを修正すればアクセスが許可される。
実は最初
Order deny,allow
の行を反対の順番
Order allow,deny
と書いてしまっていて、いくら試しても拒否されてしまった。
あとはsambaの設定にプリンタの公開を追加したところ、なんとかWindowsのクライアント機からの印刷が可能になったが、少々エラーが出るので、さらに調査中。

←クリックしてくれると嬉しいです。

mountできないディスク

一度強制的にumountした後、再mountが出来なかったディスクだが、fsckでチェックしても新たなエラーは発見できないにも関わらず相変わらずmount出来ないままだった。
mountしようとすると、
「既にマウントされているか、使われています」
というようなメッセージが出てしまう。
クライアントがftpでのアップロード先として使用するディレクトリと、httpdのDocument Rootを含んでいるパーティションなので、そのどちらも稼動しないようにしていたが、意外なところにディレクトリを使用しているプロセスがいた。
なんとsmbdが問題のパーティション上のディレクトリをクライアントに対して公開していた。
それまでfsckでチェックしても最初以外エラーも出なかったので、意を決してディスクのセクターチェック(e2fsckを-cオプション付きで実行)まで実行してみたが、それでも特にエラーは出なかった。
もしかしてシステムのログになにか出てないかと思って/var/log/messagesを見たところ、sambaからのメッセージが出ていたのでそこで初めてsambaを使っていたことに気付いた。
すぐにsmbdを止めてmountを実行すると問題なくmount出来、中のファイルを見ることが出来るようになった。
普段はファイルサーバとしては使っていないサーバだったので、sambaのことをすっかり忘れていて思わぬ時間を取られてしまった。

←クリックしてくれると嬉しいです。