Information
日記
G-ZONEのメインコンテンツとは関係のない日々を綴ったX-Virusの日記です。メインコンテンツが更新されていない時、X-Virus が何をしているか、ここを読んでもらえれば分かるように・・・というより、自分が何をしようと目論んでいるかといった備忘録として使う予定です。
-- 2006-03-31
新しいプログラムを試した所、またシステムを止めてしまう結果になった。しかし今回は、前回のテストと違って非常に有意義なデータを得られた。早速改良して動かした所、問題が無くなった。明日の早朝に動作するようにセットしたので、明日の朝が楽しみだ。
ところで、それとは別の問題が再浮上。システム再起動後に時々不安定になる問題だ。やはり電源の問題だろうか。以前、引っ越し直後に不安定になった時にPCの電源を交換しているので、PCの電源ユニットではなさそうだ。そうなると、家の電源に問題があるのか。電源電圧を安定させるための予算は捻出できないので、しばらく原因を探りながら様子を見る事にするしかなさそうだ。
-- 2006-03-29
新しいRAIDディスクを追加して組み込んだ。
その際の手際が良くなかったために、一昨日は一日サービスできなくなってしまった。準備を怠った訳ではないが、再起動時にこれまで使っていたシステムの入ったRAIDディスクが不安定になったからだ。原因が分からずにいたが、何度か再起動を繰り返すうちに、ファン停止の警報が出てようやく原因がはっきりした。
とりあえず、死んでしまったファンを外して運用することにして、一件落着。いずれファンの組み込みを行う必要があるが、今のところこのまま運用。
-- 2006-03-23
G-ZONEではないが、リレー小説のシステムがダメージを受けた際に、思い切ってデータベースを単なるテキストから PostgreSQL に変更した。PostgreSQL にプログラムを対応させるのに踏み切らせたのは、DBIモジュールを使ってみたくなったからという理由もある。DBIモジュールを利用しての PostgreSQL 8 との組み合わせをテストしたとき、パフォーマンス的に良い印象があったのと、DBIモジュールによるプログラムの容易さに後押しされ、プログラムを作成した。
そのテストにおいて Can't load module DBI, dynamic loading not available in this perl. というようなエラーに悩まされた。実はこれ、Perl 5.8.0 のバグのようだ。違うかもしれないが、Perl 5.8.6 のバグフィクスリストに似たような現象を直した報告がある。最新版 Perl をインストールして再度テストすると、何の問題もなくなった。OS を初期インストールしたままで、ずっと使うのは無理があった。サービスのほとんどはすでにアップデートしたのに、Perl を入れ替えていなかった自分を悔やんだ。
PostgreSQL と DBI の組み合わせの容易さに気を良くして、fun's-link の更新チェック用ロボットを自作してみた。これまで amiwatari を利用させていただいていたが、Yahoo Group へのログインができなかったため、こうしたグループの更新情報を適切に表示できていなかった。自作するついでなので、こうしたメンバーサイトやクッキーを多用するサイトやリダイレクトを利用するサイトにも対応してみた。まだ一部、うまくログインできないtころもあるが、まあ大体満足いく状態じゃないかと思う。
-- 2006-03-22
昨日、G-ZONE にアクセスできなかった方もいたに違いない。その方には申し訳ないことをした。昨日は一日中、新しいプログラムのテストをしていた。そのプログラムが、意外なほど曲者だった。
お気楽にPerlを使って作成しプログラムが、CPUを占有してしまうとは予想しなかった。Perlプログラムは、起動時にコンパイルされ最適化される。この最適化が仇となって、CPUパワーとメモリリソースを食いつぶして、他のサービスが動作しなくなった。不思議なことにこのプログラムの優先度を下げると、サービスが動作できなくなるほどリソースを消費する。最悪なのは、システム停止状態に追い込まれることが分かった。かなり危険なプログラムだ。
Perlのプログラムはデチューンできるのだろうか。ネット上のTipでは、皆、スピードを追求したチューニングテクニックしか無い。Perlのリファレンスを開いても見つけられなかった。ディスクアクセスでリソースを食いつぶすようなので、ここをDBMを使うようにしてみた。結果は、かなり良くなった。速度もそんなに違わない上、リソースの消費は抑えられている。しかしプログラムの優先度を下げると、サービスが動作できなくなるほどリソースを消費する点はあまり変わらない。優先度が標準値なら、CPUパワーを使うがリソースの消費が抑えられサービスの動作も遅くなるもののできるようなので、このプログラムで運用することにした。
-- 2006-03-20
ハードディスクの消費が大きくなってきた。WEBサイトだけの利用では、そんなに量を必要としないが、資料やら何やらをサーバのディスクに保管するようになってから、消費が大きくなっている。昨年の12月に一部のデータを失ったのは、ハードディスクの容量が不足したからだ。
その後不要なデータを削除したり、自動で圧縮してバックアップする仕組みを作成して今に至っているが、根本的な解決ではない。ディスクの容量を増やすのが最良の解決方法だ。ということで、昨日、ディスクを2つ買ってきた。2つ必要なのは、RAIDを組むため。
一昨年、バックアップ中にハードディスクが壊れる事件があった。復旧はかなりの時間を要した。壊れたディスクは、OSがインストールされたディスクで、同じ環境にするのに時間が掛かったし、全く同じにはならなかった。原因は、ディスクの老朽化とコピー時のディスク温度上昇によるものが重なったからだ。バックアップするためにコピーコマンドを使ったため、最大速度でコピーが行われ、これが温度上昇につながり、結果として老朽化したディスクが焼け死んだのだ。
痛い思いをした結果、現在のディスクはハードウェアRAIDディスクだ。高い買い物だったが、あの嫌な思いをするよりは遥かにましだ。ハードウェアRAIDだと、運転中のディスク交換も可能だ。実際の運用を行う前にテストしたが、交換後の新しいディスクにコピーする時も最大速度で行わず、温度上昇しないように時間をかけて行われるようだ。コピーしている間もシステムの動作に支障がないことも確認してある。
そんな訳でサーバはRAIDと決めてあるが、今回購入したディスクはバックアップ専用で、常にアクセスされる訳ではないので、OSのRAID機能を使って構築する予定。という訳で、近々、サーバメンテナンスのためにサービスを止めることになりそうだ。
-- 2006-03-19
結婚してから、なかなか更新するための時間が取れない。このサイトの事は妻にはカミングアウトしているし、ネタ探しにも協力的だ。しかしコンピュータの前に座る時間を作るのが難しい。
G-ZONEのシステムは、クライアント側で資料をまとめて、編集済みのデータをサーバに送りつける仕組み。サーバが自由にならなかったレンタル時代には、とても有効な仕組みだった。しかし生活のパターンが変わった今、その仕組みがG-ZONEの更新を阻んでいる。
とはいえ一般的にホームページの更新は、自分のマシンで編集してからサーバに送るのが普通。そのような方法だと、ページのデータや編集ソフトがインストールされたマシンからでしか更新ができないため、ちょっとした時間に適当なマシン、例えばノートブックマシンで外出先の時間の合間に更新などという手軽さは無い。
生活のパターンも変わり、ブロードバンドや無線ネットワークが充実してきた東京にいて、特定の場所でしか更新できない仕組みは時代遅れなのかもしれない。今、G-ZONEの編集機能をサーバで動作させようと移植作業を進めている。しかし移植作業は、自分のメインコンピュータにしているマシンからでしか行えないため、なかなか進まない。
-- 2006-03-18
最近、海外の広告が大量に書き込まれているBBSを目にすることがある。そうしたBBSは荒廃しているというより、全く機能を失ってしまった状態に追い込まれている。
嬉しくない事に、G-ZONEのBBSもスパム広告のターゲットにされている。およそ2時間に1回の割合で、スパム広告の書き込みが行われようとしているが、嬉しい事にこうした悪巧みは今のところ失敗に終わっている。なぜなら、そうした悪質な書き込みを許さないように、G-ZONEのBBSには防御するプログラムを組み込まれているからだ。
このプログラムは日々進化してきた。詳細は書けないが、敵の攻撃パターンを検知して書き込みを拒絶するようになっている。その攻撃パターンが少しづつ変化しているから、防御側も変化に対応する必要がって進化してきた。
そのプログラムがようやく完成の域に達したようで、ここ数日のスパム攻撃は完全にシャットアウトしている。プログラムは、日々の攻撃をどのパターンで拒絶したか記録しているが、敵は懲りもせず2〜3時間おきに書き込みを行おうとしているようだ。しかし、防御は今のところ有効に機能しているので、以前の平和な日々を取り戻すことができている。今のところは・・・
-- 2006-03-18
普段見えないところで X-Virus が、G-Zoneに対して何をしているのかを知ってもらうため・・・というより、自分自身の忘備録的に書くために、このコーナを作ってみました。