先週の木曜日に一部のサーバが勝手に止まる現象が発生した。
Windowsサーバなのでシステムログを見てもらったが、特に異常は記録されていないので、Windowsで異常を検知する前に落ちてしまっているようだ。
その時は内部の清掃をしたところ落ちなくなったので、溜まった埃で冷却性能が落ちて熱でBIOSの自動停止機構が働いたのであろうということになったが、今日になって再発した。
前回は電源自体が切れていたので電源SWを押せば起動したが、今日は電源自体は切れていないにも関わらずディスプレイへの信号が行かなくなっており、なにが起きたのかが判らない。
一度電源を切ってから電源を入れなおしても数十分で再度落ちるので、熱以外の原因があるのかも知れない。
長いこと使っているサーバなので、各部品の劣化かもしれないが、前回の内部清掃時にチェックした時にはキャパシタ等には異常は見られなかったので、ちょっと思い当たることが無い。
どうやって対処しようかなぁ?
More from: server
サーバーの大特売
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が安価に手に入るのでお買い得かと。
Windows2000server上での経路設定
Windows2000server上で複数のネットワークに対する経路情報を設定しなくてはならなくなった。
デフォルトルートは変更しないのだが、別のサブネットからのアクセスを受け付けられるようにしなくてはならないので、そのサブネットへの経路設定が必要になった。
単純に経路情報を追加するだけならコマンドプロンプト上で
route add <目的アドレス(ネットワークorホスト)> サブネットマスク ゲイトウェイアドレス METRIC m IF n
と入力すれば良いが、これだけだと再起動したときに設定を忘れてしまいそうなので、GUIインターフェイスのプログラムで設定してみた。
「スタート」→「プログラム(P)」→「管理ツール」→「ルーティングとリモートアクセス」とクリックしてGUIの管理ツールを起動する。
管理ツールが起動したらその中の「静的ルート」を右クリックして「新しい静的ルート(S)」をクリックする。
そうすると静的ルートの設定画面(下のスクリーンショット)が表示されるので、目的アドレス、ネットマスク、ゲートウェイアドレスを入力してOKを押すと設定される。
これで無事に設定された。
この設定ツールを初めて起動するときはこのサーバーをどのような構成にするか聞かれるが、今回はルーターとして設定した(他にはリモートアクセスサーバーとかも選べる)。
「今時2000serverかよ?」とかいう突っ込みはナシで!
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ファイルをコピーしても使える)。
mountできないディスク
一度強制的にumountした後、再mountが出来なかったディスクだが、fsckでチェックしても新たなエラーは発見できないにも関わらず相変わらずmount出来ないままだった。
mountしようとすると、
「既にマウントされているか、使われています」
というようなメッセージが出てしまう。
クライアントがftpでのアップロード先として使用するディレクトリと、httpdのDocument Rootを含んでいるパーティションなので、そのどちらも稼動しないようにしていたが、意外なところにディレクトリを使用しているプロセスがいた。
なんとsmbdが問題のパーティション上のディレクトリをクライアントに対して公開していた。
それまでfsckでチェックしても最初以外エラーも出なかったので、意を決してディスクのセクターチェック(e2fsckを-cオプション付きで実行)まで実行してみたが、それでも特にエラーは出なかった。
もしかしてシステムのログになにか出てないかと思って/var/log/messagesを見たところ、sambaからのメッセージが出ていたのでそこで初めてsambaを使っていたことに気付いた。
すぐにsmbdを止めてmountを実行すると問題なくmount出来、中のファイルを見ることが出来るようになった。
普段はファイルサーバとしては使っていないサーバだったので、sambaのことをすっかり忘れていて思わぬ時間を取られてしまった。
強制的にumount
Linuxサーバーのファイルシステムがroになったので、rwにしようとしてumountコマンドでマウントを解除しようとしたが、busyになってしまってumountできないので、強制的にumountした。
やりかたをメモ
umount ‘マウントポイントorデバイスファイル名’ -l (LAZYオプション)
これで強制的にマウント解除できたが、再度マウントすると中身が何も見えない状況。
ファイルシステムにエラーがありそうなので、
fsck ‘デバイスファイル名’
でチェックすると
”contains a file system with errors, check forced.”
のメッセージが出たので、やはりエラーが有り一応修復されたらしい。
どうもディスクそのものにエラーがあるみたいだなぁ、、、、、、、
設定が終わった筈なのに・・・・・・・
一昨日設定をしたサーバーを現地に設置したら何故か必要なサービスが動作しない・・・・・・
設置に行った部下からの連絡では起動直後にはXが正常に起動しなかったらしい(Xか?それともGNOMEか?)。
sambaが機能しないのでログを見るとCUPSに接続しようとしてはじかれている(デフォルトの631番ポートに接続しようとして失敗している)。
CUPSのポートを変更していたのを元に戻しても状態は改善されないので、結局再度回収ということになってしまった。
変えたのはネットワークパラメータだけなので、そこらへんに原因があると思うのだが・・・・・・・・
サーバー設定完了
朝から取り掛かっていたサーバーの設定はとりあえず完了した。
提供するサービスは多くないが意外と手間取ってしまった。
CUPSの設定画面を他のPCから使えるようにしたり、ポート番号をデフォルト(631)以外にしたりするのに戸惑った。
こんな時はネットが便利だなー、ちょっと検索するだけで情報が集まるのだから。
後はFTPサーバーの設定でアクセスを拒否されるのを直した程度。
今回のサーバーはFTPサービスをxinetd経由で起動するので、「/etc/vsftpd/vsftpd.conf」ファイル中の「Listen=YES」を「Listen=NO」に書き換え、さらにtcp_wrappers経由でアクセス制限をするために「/etc/hosts.deny」「/etc/hosts.allow」の2つのファイルに修正を加えた。
そうそう、「/etc/xinetd.d」ディレクトリに「vsftpd」ファイルを他のサーバーからコピーしてきた。
これが無いとxinetdがvsftpdを起動してくれない。
これで必要なサービスを提供できそうなので、後は現地に設置してくるだけだな。
sambaで接続できないサーバー
部下にファイル&プリンタサーバとして使うLinuxサーバーを一台仕立てさせたが、クライアントPC(Windows Xp or 7)から接続できない。
他の案件がいろいろあって手をつけずにいたがようやく落ち着いてきたので、ちょっと設定を手伝うことにした。
#つーか自分で出来ないからやってくれと頼まれた(苦笑)。
まずサーバを起動してsmbが動作しているかを見てみるとプロセスがいない。
あれ?と思って「/sbin/chkconfig –list | grep smb」で起動設定を見るとランレベル2-5はonになっている。
sambaサービスは起動されているはずなのだが、動いていないのでX上のsmb設定ツールを起動して設定を確認してみると、多少設定に(システム上ではなく運用上の)問題があったので修正してサービスの再起動をしようとしたところ、SElinuxからの警告が出た。
なんてことはない、SElinuxが有効になっていたのでサービスの起動が出来ず、外からのアクセスも制限されていただけだった。
「/usr/sbin/getenforce」でSElinuxの状態を確認すると「Enforcing」と出たので、間違いなくSElinuxが有効になっていた。
とりあえず一時的にSElinuxを無効化するために、「/usr/sbin/setenforce 0」を実行してSElinuxの動作を止め(実際には「permissive(警告は出すがアクセス制限はしないモード)」になるだけで、完全には無効にはなっていない)、クライアントからの接続を試したところ無事に接続できた。
やはりSElinuxが動作していたのが原因だったようなので、動作させないように設定することにして、
「/etc/sysconfig/selinux(/etc/sysconfig/selinux/configへのシンボリックリンク)」という設定ファイルの中の
SELINUX=enforcing
となっている行を修正し、
SELINUX=disabled
に変更し、再起動するとSElinuxは無効化されていて、クライアントからの接続も問題無く可能になっていた。
TCPパケットを送出していないわけではなかった、、、、、、
先日ここに書いた特定のサーバーにTCPパケットを遅れないサーバーにhping2をインストールして調べたところ、TCPパケットの送出は出来ていた。
出来ていたというか、きちんと応答パケットが来ていた。
SYNフラグを立てて80番ポート宛になるようにオプションで指定しても、きちんとACKが返って来ている。
tcpdumpでパケットをキャプチャしてもackフラグが立ったパケットをキャプチャ出来るので、間違いなく相手先サーバーから返事が返って来ている。
とすれば、何故telnet等で80番ポートに接続できないのだろうか?謎は深まるばかりだ・・・・・・



