More from: server

LANカードだったのかなぁ?

昨日のサーバ、メモリテストではエラーが出なかったので、LANカードを交換してみた。
まずは同じ型番のカードと交換したが改善せず。
ドライバファイルかカーネルの一部が破損したのを疑い、カーネルのリコンパイルとモジュールのリコンパイルをして入れ替えてみた。
それでも改善しないので他のチップを使ったカードと交換したところ、OSのブート時にドライバが読み込まれない。
insmodで手動で組み込むとまともに動作するが、起動時にドライバが読み込まれないと、起動の度に<コンソール>での操作が必要になり、遠隔地には置けない。
マザー自体を交換して(メモリも一緒に交換した)元のLANカードに戻したが最初と同じくパケットが飛ばない。
(ifconfigで見るとTXではエラーが無いが、RXでエラーが発生しているので、送信はしているが応答を受信できないみたい)
ということはハードウェアの問題では無いようだ。カーネルもドライバ(モジュール)もリコンパイルしているので、単なるファイルの破損でもなさそう。
ってことは何が悪いんだろうか?
このままでは埒が明かないので動作したLANカードを使うことにして、起動時にドライバを読み込ませる方法を探ったところ、/etc/conf.modulesでalias設定がされているのを発見。
元のカードのモジュール名が指定されているので、それを新しいカードのモジュール名に書き換えて再起動すると無事にドライバが読み込まれて動作するようになった。
なんとか復旧して使えるようになったが、元々の原因がはっきりしないのが気に食わない。一体何が起こっていたのか謎である。
ちなみにパケットが飛ばなくなったカードは3Comの3C905B、代わりに入れたのがRTL8139D搭載の安物カード。
ドライバは3c59x.oとrtl8139.o。

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

LANカードか?

職場では沢山のサーバを扱っているが、そのうちの1台経由での印刷が出来ないと連絡が入った。
離れた場所にあるのでリモートで入ると非常に反応が遅い。
pingを打ってもかなりのパケットをlostしてしまう。
これはLANカードの不良かと思い、サーバの設置場所まで行って同じ型番のカードと交換してみたが改善しない。
それどころかLANケーブルの抜き差しをしただけでカーネルがpanicを起こしたり、ハングしたりしてしまう。
考えられるのはメモリの不良、LANカードのドライバファイルの破損、交換したLANカードも不良だった、等々いろいろあるが、どれも現地ではどうしようもないのでサーバを引き取ってきて現在メモリのチェック中。
この後同じ型番のLANカードと再度交換し、駄目なら別のチップを使ったカードに交換して別のドライバを使ってみるつもり。

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

SPAM

SPAMと言えばポークランチョンミートの缶詰の商品名の一つ。
自分的にはTULIPのほうが好みだなぁ。

ってな話ではなく、日本語で言うところの「迷惑メール」の話。
職場で受信するSPAMが5000通/日にもなるというので、ブロックするためのアドレス収集を再開した。
2週間程ほぼ毎日受信メールから送信元アドレスを抜き出して/etc/mail/accessに追加する作業をした結果、5000通→1500通程に減少した。
これはsendmailの場合の対処法で、qmail等他のMTAでは別の方法となる。
実際のアドレス収集は自動で行い、その中から受信が必要なアドレスを例外アドレスとして別途収集し、残りを上記のファイルに追加している。
/bin/grep ^From: ”メールスプールファイル名” | /bin/grep @ | /bin/sed “s/^From:.*</From:/” | /bin/sed “s/>//” | /bin/sed “s/ //g” | /bin/sed “s/(.*)//” | /bin/sed “s/$/ DROP/” | /bin/sort | /usr/bin/uniq | /bin/grep -v -f ”例外アドレスを列記したファイルを指定”
上記のようなスクリプトを組んで自動収集をしている。泥臭いやり方だがこれでもアドレスの収集が出来ていて、実際に効果があがっている。
このスクリプトでやっているのは、
1.受信したメールが入っているスプールファイルから送信者のメールアドレス(From行)を切り出す。
2.余分な単語を削除(sedコマンドの繰り返し)した後に行末に”DROP”の文字列を追加。
3.アルファベット順への並び直し(sortコマンドの実行)。
4.同一のアドレスがある場合は一つのみ切り出す(uniqコマンドの実行)。
5.例外アドレスを列記したファイル中にあるアドレスを”grep -v -f”で除去。
これで得られた文字列(”From:hogehoge@geshogesho.com DROP”)をファイルに書き出し新たに例外に追加するアドレスが無いかをチェックした後に/etc/mail/accessファイルに追加してmakeを実行してaccess.dbに反映している。
行の最後を”REJECT”ではなく”DROP”にしているのは余計なトラフィックを発生させないため。
また、たとえREJECTでエラーメールを送り返そうとしても、返す先のアドレスが実在するかどうかが不明で、もしも実在しないアドレスだった場合(むしろそのほうが可能性が高い)にエラーメールが返って来るのを防ぐため。
それにしても相変わらず迷惑メールが多いなぁ。法律が制定されてから初めて適用されたのがつい最近っていうもどうかと思う。
受信者の同意無しに無差別に送るメールにはSubjectに「未承諾広告」と入れなくてはならない筈なのに、最近はそのようなメールを見かけない。
一見まともな内容に見えるメールでも、このような基本的なルールが守られていない。もっと取締りを強化して貰いたいものだ。

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

福岡

前々から気になっていた福岡への出張の日程が再来週に決まった。
発注していたサーバの納期が来週半ばだと思っていたら、今日になってチェックするとなんと今日になっていた。
納期がもう少しはっきりしてから上司への報告をして、そのうえで出張の日程を提案しようと思っていたが、いきなり納期が早まってしまい、慌てて報告と日程の提案をした。
来週前半にも行くことを提案したのだが、社内行事が週の真ん中に予定されているため、前半にも後半にも日程を入れられず、結局再来週になってしまった。
それにしてもいきなり6日も納期を早めないで欲しいなぁ。

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

経路情報

先日再起動時に一部の経路情報を忘れてしまったサーバ。
ここにも書いたように設定を修正したので、起動時に反映されるかをチェックしたら無事に反映されていた。
やはり最初の記述方法が誤っていたようだ。
また追加したSWAPファイルも/etc/fstabに記述を追加しておいたので、
ちゃんとSWAPファイルとして認識されて一安心。

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

VGAカード

職場のWindowsサーバからディスプレイへ画像信号が行かなくなり、デスクトップどころか何も表示されなくなって久しいので、今日(既に昨日か)サーバを止めてVGAカードを交換してみた。
交換そのものはすぐに終わったので電源を入れるとうんともすんとも言わない(汗)。
電源ユニットのリセットとかいろいろやっても電源が入らない。
電源ケーブルを接続して電源ユニットのSWを入れると、LANポートのLEDが点灯するので、通電はしているようだが、電源SWを押しても反応なし。
まぁここで考えられるのは交換したVGAカードが原因ということだ。
あまり長時間サーバを止めておく訳にもいかないので、元のVGAカードを刺すと電源が入るようになった。
無事に電源が入ったので一安心。さらに映らなかった画面にBIOSの設定画面が表示されているではないか!
これは電源の入れ直しで治ったか?と思ったが、Windowsの起動中は映っていたがVGAのドライバを読み込んだあたりで再度映らなくなってしまった。
映らない原因がハードウェアにあるのかソフトウェアにあるのかの切り分けが出来なくなってしまった。
またチャンスをみて試してみよう。

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

static-routes

先日職場のサーバを再起動したところ一部のPCからネットに接続できないとの連絡が来た。
別のサブネットに属するPCだったので、再起動したサーバのルーティング情報が消えたのが原因。
とりあえず
route add -net XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY
で経路情報を追加したが、以前起動時に自動で設定されるようにしていたはず。
そこで/etc/sysconfig/static-routesを見直すと記述内容に不足があって設定が反映されていなかった(爆)。
/etc/sysconfig/static-routesで経路を設定する時はホスト単位とネットワーク単位でパラメータが違うのに気がついていなかった。
ホスト単位の場合は
インターフェイス host ホスト名orIPアドレス gw ゲートウェイアドレス
ネットワーク単位の場合は
インターフェイス host ネットワークアドレス gw ゲートウェイアドレス netmask サブネットマスク
のようだ。
上記のように記述を修正したので次回の再起動時に反映されるかをチェックしよう。

つーか今晩サーバ停止する予定があるし(笑)。

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

SWAP

SWATじゃ無くてLinux(に限らずUNIX系OS全般)におけるSWAP(ファイルシステムorファイル)のこと。
職場のLinuxサーバがとにかく重いのでコンソールを見てみるとメモリ不足でプロセスが殺されている。
先週末までは特に問題なく動いていたが、なにかが変わったのか?
とにかくメモリが足りないのは確かなようなので、なにか対策が必要。
とは言ってもサーバを停止させられないので、SWAPエリアを拡張することにした。
HDDには余っているパーティションは無いので、SWAPパーティションを拡張することはできない。
そこでSWAPファイルを作成して追加することにした。
やりかたを忘れるといけないので、ここにメモとして残しておこう。

空きのあるパーティションに判りやすい名前で”0(ゼロ)”で埋めたファイルを”dd”コマンドで作成する。
#dd if=/dev/zero of=ファイル名 bs=1024 count=BLOCK数(BLOCKサイズを1024にし、ファイルサイズを1GiBにしたい場合は”1048576″(1024X1024)と指定する)
このファイルをSWAPファイルとして初期化する。
#mkswap “上で指定したファイル名”
ファイルをSWAP領域として有効にする。
#swapon “上で指定したファイル名”
その後/etc/fstabに追加したファイルの記述を追加する。

#上の手順はLinuxのそれだが、基本的な方法はSunOSでも同じだった記憶がある。

これでなんとかメモリ不足を回避できたが、なぜ不足(しかもかなりの規模で)するようになったかは不明。
どっちにしても実メモリも(今となっては)少ないので、機会を見て増設することにしよう。

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

インストーラー

今日Windows2003サーバにソフトを入れてもらったが、クライアントからの接続ができない。

いろいろやって結局OSから入れなおすことにしたが、今度はインストーラ(というかランチャー)がこける。

ソフトのメーカーに問い合わせて、個々のソフトを別々にインストールしてみたらうまくいった。

ランチャーの問題?でも以前自分でやった時は問題なかったけどなぁ?

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