More from: linux

HDD破損?

職場でファイルサーバにしているLinuxPC内のデータにアクセスできないとの連絡があったので、管理している担当者に連絡しておいた。
勤務後に買い物にいくつもりだったので、そろそろ帰ろうかとしていたタイミングでその担当者から連絡が来た。
聞いてみるとユーザーデータを入れてあるパーティションがmount出来ないとのこと。
fsckをかけてもエラーになり、ディスクのチェックが出来ないと言う。
試しにe2fsckをかけてみると、super blockが読み込めないので替わりのsuper blockを指定しろとのこと。
代替super blockの位置が判らないので、「mke2fs -n」で表示させてみると1ブロックサイズが4Kだったので32768にあることが判明。
そこで「e2fsck -b 32768 /dev/*****」で再度ディスクのチェックを実行すると、複数のエラーが存在したが、それらを修復したところ、無事にmountが出来た。
あとは担当者にデータのバックアップと移動をしてそちらをユーザーに公開するように指示して自分の作業は終了。
でも予定していた買い物には行けなかった(涙)。

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

経路情報

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

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

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でも同じだった記憶がある。

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

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

sendmail

久しぶりにメールサーバの設定の見直しをした。というのも詳細は書けないが、元々ローカルのみで配送していたサーバを外部と接続したせいで、見直しが必要となったからだ。
配送自体はローカルネットワークのみで行いたいので、外部への転送は必要無い(というか配送されると困る)。
最初は送信先のホストを限定しようとしたが、上手い方法が見つからない。
sendmail.cfの記述で可能だとは思うが、どのサイトを見ても直接sendmail.cfを編集するのではなく、CFもしくはm4を使っている。
私も最初だけはm4を使った覚えがあるが、その後は直接sendmail.cfを編集している。おかげでCFやm4の設定ファイルの書き方を忘れてしまった。
さらに直接編集しているので元となった設定ファイルは古すぎて今となっては使えない。
まぁいろいろ調べているうちにsendmailにDNSを使わせない手段を発見した。これを最初から知っていれば苦労してネームサーバなんぞを立てる必要無かったのに。
他のサーバからの名前解決要求が来るのでnamed自体を止めることは出来ないが、sendmailがDNSを使わなくなれば、配送先のMXレコードを引くことも出来なくなって、結果的に外部への配送が失敗することになりそうだ。
実際に/etc/service.switchを作成して試してみると、ローカルの配送は今までどおりに行き、外部への配送は失敗した。
これでこのサーバを使っての外部へのメール送信は出来なくなった。今日はこれに半日かけてしまった、、、、

BGM:最強○×計画、切情!佰火繚乱、妄想ブレイク    って、いったい・・・・・・

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

重い・・・・・・・・

重いと言っても体重の話ではなく、プロキシサーバの動作のこと。
今週に入り一昨日と今日の2回に渡って非常にプロキシ動作が重くなる現象がおきている。
同じプロキシソフトを入れてあるもう一台のサーバでは発生していない。まぁ、OSのバージョンも違うし、ネットワーク環境も違うので、比較にはならないと思う(ハードウェアのスペックもかなり違うし)。
一昨日発生したときはネームサーバへのアクセスがなんらかの原因で遅くなったせいかとも思ったが、今日発生したときに試したところ全く問題なく名前解決ができる。
にもかかわらずhttpプロキシの動作が重い。いろいろ調べている間にサーバそのものの動作も重くなってしまい、キー入力のエコーバックでさえ返ってこなくなってしまった。
時間が経てば回復するのだが、数時間に渡って重いので業務に支障が出ている。
気になるのは、特定のプロセスがout of memoryを起こしてkillされていることだ。それにメモリもスワップエリアもほぼ使い切られているので、この辺になにか鍵が潜んでいるような気がする。
明日もいろいろ調べてみよう。

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

プリンタ

昨日は東京で設置してきたプリンタのうち1台が印刷できないと連絡があって、結局出勤してしまった。
同時に設置した他の2台には同じ設定で問題なくデータを送ることができるので、設定の問題とは思い難い。
それでもいろいろ調べてCUPSの設定をいろいろ変更してみるが一向にプリンタにデータが送られない。
RAW,HTTP.IPPの3つのプロトコルで試すが、解決できない。
リモートでプリンタの設定画面で見てみても他の2台との設定の違いはIPアドレス以外見当たらない。
いろいろやっているうちにtelnetでも9100番ポートに接続できないことを発見。nmapで見ると開いているのだが、接続に行くとrejectされてしまう。他のプリンタにはtelnetでも接続できるので、これが原因か?
ネットで検索しても同様な症状の話が見つからない。
そこで駄目元でプリンタメーカーのサポートに電話してみると、なかなか話が通じない。それでもなんとかこちらのやりたいことを伝えて返事を待つことしばし。
ようやく返事が来たが、プリンタ側の設定に問題は無いとのこと。そこで一度プリンタのネットワーク設定を全て初期化して、再度設定し直して見てほしいとのこと。
設定し直しをするにはプリンタ本体の操作が必要なのだが、プリンタ本体は1000Kmの彼方にある。
結局現地にいるスタッフに最小限のネットワークの設定(IPアドレス、ネットマスク、ゲートウェイアドレス)をやってもらい、telnetで接続を試すとつながるようになった。
クライアントPCからの印刷を試してもらうと無事に印刷できた。そこでシステムからの印刷もチェックするためにサーバ側のCUPSの設定を変更すると、溜まっていたジョブが送られて印刷された。
初期化の前も後も他のプリンタとの設定の違いはIPアドレスだけなのだが何故解決したのかが不明ですっきりしない。

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

インターフェース

よそのSNSに日記を投稿していてふと思い出したが、昔はシリアルやパラレルを使っていたなぁ。
シリアルはモデム、パラレルはプリンタを主につないでいたっけ。
LANとブロードバンドの普及でモデムがほぼ不要となり、USBの台頭でプリンタもUSBを使うようになった。
結果シリアルもパラレルも最近のPCには見られなくなってきた。そもそもIntelがレガシーデバイスを排除しようとしてるしなぁ。
PS/2すら付いてないPCも多いしなぁ。
でも未だにシリアルインタフェースを必要とする外部機器もあるから、そういうものを使う時はPCを選ばなくてはならない。
先日も大型ディスプレイ用のタッチパネルを探していて、提案されたのがシリアル接続のもの。液晶で有名な某メーカーの製品だったが、耳を疑ってしまった。他メーカにはUSB接続のものもあるのにねぇ(笑)。

昔GPSユニットをつないだときもシリアルだったなぁ。通信速度が4800bpsと決められていたが、シリアルポートのドライバが9600以上にしか対応してない(というか9600以上にしか設定できない)ので、直接16550のレジスタをいじって4800以下に設定できるようにするサブルーチン書いたなぁ。
パラレルも外部端子を接続して使うのに、レジスタ読み込み用のドライバ書いたなぁ、、、

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