More from: linux

ファイルが大きすぎたorz

Linuxサーバーで自動的に作成しているファイルが作られていないとの連絡が来た。
調べてみるとファイルの先頭と最後だけが作られている。
ヘッダとフッタは固定文字列を出力しているため、中身だけが全く無い状態。
試しに手動で同じスクリプトを動かしてみると、中で使っているsortコマンドが/tmp以下に作るファイルがスペースが無くて作れないというエラーを吐いて処理が落ちた。
確かに基にしたファイルはいつになく大きいのでsortするにもいつも以上にディスクを必要としているようだ。
かと言って/tmpを含むファイルシステムを拡張するわけにもいかないので、テンポラリファイルの作成先を変更することにした。
それには環境変数”TMPDIR”を設定するか、sortに”-T”オプションでテンポラリファイル作成用ディレクトリを指定するかのどちらかが必要。
今回は”-T”オプションで容量に余裕のあるファイルシステム上のディレクトリを指定するようにしたら問題無くファイルが作成された。
いや、まさかあんな大容量のファイルを相手にすることになるとは想定外だったなぁ(汗)。

人気ブログランキングへ←クリックしてくれると嬉しいです。

ケアレスミスorz

昨夕職場のサーバーのスクリプトを少し変更した。
たいした変更では無かったのでぶっつけ本番で動作させて、今日は結果を確認しに来た。
そうしたらなんと作られるべきファイルが作成されていないorz。
確認だけして問題無ければさっさと帰ろうと思っていたんだけど、これでは帰ることが出来ない(汗)。
まずは作られるべきファイルを作らなければならないので、元になったファイル等を確認すると問題無く存在したので、問題のスクリプトが行う処理を手動で行い、途中からは別スクリプトで作成させたところやはり作られない。
修正箇所を何度か見直したところ、ファイルパスのタイプミスが原因だったorz。
早速正しいパスに修正して動作させてみると無事にファイルは作られた。
いやぁ、少しの修正でもちゃんと検証しないと駄目だねぇ(汗)。
反省反省・・・

人気ブログランキングへ←クリックしてくれると嬉しいです。

telnetで接続できない?

職場のサーバーの設定を確認しようとして普段入り浸っている(笑)サーバーからtelnetで入ろうとした。
ところが何故かtelnetがはじかれてしまって入れない。
滅多にログインしない(=安定動作している)サーバーなので、入るのも年単位ぶりで細かい設定を忘れていたが、どうもtelnet接続を制限しているようだ。
そこでサーバーを経由しないでPCから直接接続を試みると無事に入れたのでtelnetの設定から見直すことにした。
このサーバーはxinetd経由で各サービスを動作させているので、/etc/xinetd.d以下のファイルで各サービスの設定を行っている。
その中のtelnetファイルを見ると、案の定”only_from”で接続を許可するホストを限定していた。
そこで最初に接続しようとして入れなかったサーバー等を追記してxinetdを再起動。
ついでに不便なので特定のネットワークを許可するために”192.168.xxx.0/24”も追加しておいた。
これで他のサーバーからも接続できるようになって使いやすくなった。

人気ブログランキングへ←クリックしてくれると嬉しいです。

squidが重かったのは解消した模様

職場のサーバーにsquidを導入してurlフィルタリングを始めたところ、何らかの理由でネットの速度が落ちてしまっていた。
そこで朝一の混雑時だけフィルタリングして、その後はsquidを通さないように運用していた。
その後調べたところ、cache.logにファイルディスクリプタ不足の警告が出ていたので、キャッシュ用ファイルの数をデフォルトの1024から増やしてsquidを再起動して運用してみた。
そうしたところ、朝一の混雑時でも警告が出なくなり、現場からもネットが遅いという報告が入って来なくなった。
どうやら原因はこのファイルディスクリプタ不足によるsquidの応答遅延だったようだな。
とにかくこれでしばらくは運用できそうだ。

人気ブログランキングへ←クリックしてくれると嬉しいです。

squidが重い原因

先日から導入したsquidが重いということで、運用でなんとかカバーしているが、重たい(と言われる)原因を探ってみた。
サーバーのCPU負荷やメモリ使用量を調べてみると、これが実に軽くてサーバーそのものの処理能力が不足しているわけでは無さそう。
となるとこの手のソフトウェアでよくある”同時接続数が足りない”のが原因では無いだろうか?
一体どれだけの同時接続数が許容されているのか?ということでググって見ると、デフォルトでは1024らしい。
その接続数は/etc/squid/squid.confで指定できるらしいことも判明。
ところが、その数値を増やすだけでなく、OSが同時にオープンできるファイル数(キャッシュ用)も増やさなくてはならないらしい。
とにかく、この対策をしてみて経過を見ることにしよう。

人気ブログランキングへ←クリックしてくれると嬉しいです。

squidが重い・・・

先だってクライアントから外部への接続を制限するためにsquidを導入した。
ところが、その後各所から「ネットが遅い」という連絡があって聞いてみるとsquidを設定したプロキシを通すと遅いという。
urlフィルタリングは有効なんだけど、外部への接続数が多いためにsquid自体がボトルネックになっている模様(汗)。
使用するキャッシュ容量やメモリ容量を多めに割り当ててみてどうなるかだなぁ?

人気ブログランキングへ←クリックしてくれると嬉しいです。

squidを導入してみた

職場の回線から外部へのアクセスが異常に多いので、ゲートウェイサーバーでフィルタリングをしてみることにした。
簡単にするためにLinux標準でインストールされているsquidを使うことにして、アクセス数が多く転送データ量も多いサーバーを含む複数のドメインに対する接続を禁止した。
動作させて数時間経ってからログを見ると、転送量がかなり減っているのが判ったが、曜日によっても異なるので、あと何日かは監視が必要だなぁ。

人気ブログランキングへ←クリックしてくれると嬉しいです。

ディスクフル・・・

現場のFAXで受信したFAXが紙で出てくるとの連絡があった。
調べてみると受信データを保存しているファイルサーバーのディスクが一杯になっている(汗)。
先日チェック際は余裕があったのだけど、このパーティションにはsambaの.recycleディレクトリも置いてあって、その中に大量の削除済みデータが残っていた。
以前にこのディレクトリの中身が増えた際に削除後一定期間が経過したファイルを消すスクリプトを作ってcronで動作するようにしていたが、想定以上のファイルが削除されていたらしい。
中にはオフィスソフト(WORDやExcel)で作られたテンポラリーファイルも大量に残っている。
なので、取り敢えず毎日動作させているスクリプトを修正して削除済みファイルの保存期間を半分(2年->1年)にして動作させると、大量のファイルが削除されている。
さらにテンポラリーファイルに関しては保存期間を1-2日程度にするようにスクリプトを変更する予定。
で、気になるのはそのテンポラリーファイルのファイル名で、~$で始まるファイルが他にもなければ大丈夫なんだけど(汗)。

人気ブログランキングへ←クリックしてくれると嬉しいです。

一応対策は講じてみた

先日のdovecotの自殺騒動。
毎週日曜の早朝にntpdが時刻を調整するとdovecotが自殺してしまうので、dovecotの生存確認をして、もし落ちていたら起動するスクリプトを書いた。
後はlogを見て落ちる時刻を調べ、その数分後にスクリプトを動かすようにcrontabを設定。
念のため時間を空けて2回スクリプトを動作させるようにしたので、これで大丈夫だとは思うんだけどなぁ。
スクリプトの動作自体は確認したけど、動作させるタイミングが問題だな(汗)。

人気ブログランキングへ←クリックしてくれると嬉しいです。

dovecotの自殺・・・

先週に引き続き昨日もpop3デーモン(dovecot)が死んでいた。
maillogには
”Time just moved backwards by xx seconds. This might cause a lot of problems, so I’ll just kill myself now.”
というのが残っていて、時刻が巻き戻ったために自殺したとのこと。
たしかにntpdで時刻合わせをやっているけど、こんなことで一々死なれていては実運用上困ってしまう。
時刻が巻き戻るとトラブルの元になるのは解からないでも無いけどさぁ・・・
解決策としてはntpdで時刻を一気に合わせるのではなく、徐々に合わせるようにするか、時刻が巻き戻った後で生死を確認してdovecotを再起動するスクリプトを組むかのどちらか。
時刻が巻き戻るのは今のところ日曜日の早朝で、アクセスしてくる人が殆どいない時間帯だから、この時間帯に再起動のスクリプトを動かせば良さそうだな。

それにしても昨年までは時刻が大きく(20-30秒も)巻き戻ることは無かったんだけど、年明けから急に巻き戻るようになったのは何故だろう???

人気ブログランキングへ←クリックしてくれると嬉しいです。