最終更新日: 2008年11月22日

有料サイトのサーバ移転が終わって

2005年05月12日 23:42

5/10 の夕方にやっと有料サイトのサーバ移転が終了しました。それまで、Pentium III 800MHz x2 のマシンと Celeron 2GHz のマシンで運営してきた有料サイト3つを、計 8 台のサーバにコンテンツを振り分けながら、負荷の分散なりシステム環境の統合なりといった課題を達成しつつ、会員管理システムの会社とサーバ管理会社を仲介して何とか完了です。今回は新しく、ログインしてアクセスする会員のエリアは FTP サーバを立てて、そこから計 5 台のクラスター構成になっているサーバへ約 15 分おきにコンテンツをコピーするというやり方になりました。そのため、コンテンツをアップロードしてもチェックするまでに 15 分待たねばならず、また何か失敗があっても修正までに 15 分待たねばならないので、ローカルでの作業にもっと神経を使うようになりました。でもまぁ、今日も新人君が間違って無修正の画像をアップロードしていたことが分かったり、なんやかんやとトラブルは続きます。

さて、しかし書店へ足を運ぶたびに、この「クラスター」について書かれた本を探してみるのですが、なかなかありません。一冊だけ、オライリーの『サーバ負荷分散技術』という本を見つけましたが、あまり多くの紙面は割かれていないため、買わずに済ませています。やはりここは Google 先生に聞いてみよう!

うちの環境は、FTP サーバと、恐らくはスウイッチング・ハブに連結した数台のサーバという構成で、OS は Redhat Enterprise です。すると、まず次のようなサイトがありました。

【連載 】Linuxクラスタリング

今回うちの会社で採用しているのは、「負荷分散クラスター」ですね。例えば、いちばん会員数の多い有料サイト一つの、有料コンテンツ(これまでのように動画を別サーバに置いたりせず、画像も動画も全てクラスター構成の中で一括して提供する)については、Celeron 2GHz の FTP サーバ 1 台と、ロードバランサに Pentium4 マシンのノード 3 台がぶら下がるという構成になっています。アクセスログを取得するとそれぞれのノードでばらばらに記録されるという話をサーバ管理会社から聞いているため、恐らく共有ディスクは使っていないでしょう。ともかく、この連載記事でおおよその概略はつかめましたが、外部との通信をしたりデータの書き込みをするなどの動作をしなければ PHP を使ってもよいとは思うのですが、それぞれのノードに SSH で入ってみると DSO の PHP モジュールは読み込んでいないようです。なんでも、クラスターの挙動に順応するように PHP のコードを書くのは大変なので、問い合わせフォームなどの簡単なものでも恐らくまともに動かないでしょうとのお返事でした。

しかし、現状ではこまったことが二つあります。一つは、お客さんからの問い合わせフォームをクラスター構成でない他のサーバに置いて、クラスター内のページからフォームのページにお客さんを誘導しているのですが、クラスター内で PHP が動かないため、環境変数からログインユーザー名を取得できないということ。そしてもう一つは、アクセスログをどうやって取得するのかということです。僕らがふだんファイルをアップロードしているのは FTP サーバであって、直にノードのマシンに入れているわけではないから、FTP サーバのログなんか見ても仕方がありません。本当はロードバランサがパケットを記録してくれていればそれを見たいのですが、コンシューマーレベルのお客にそんなレベルの扱い方など教えてくれるわけもなく、いまのところ Apache のログは root で FTP サーバにアクセスしてから ssh hostx でノードに入って、TeraTerm のログをテキストファイルで随時セーブしながら ログファイルを表示するという荒技くらいしか思いつきません。ノードから FTP サーバにアクセスログをコピーできるのかしら。それなら話は早くなりますが、手間がかかるのは事実です。

コメントの投稿はできません。

archive / 過去の記事

Buzztracker daily image
image produced by buzztracker.org.

Take a survey 2008!

Save the Net

Apture