GW 中にやったこと

GW 中にやったことをちょっとまとめてみる…

続きを読む

広告

MovableType を FastCGI で動作させる

最近, スパムコメントやスパムトラックバックで, サーバーの負荷が酷な状態になっていたため, 負荷低減のために MovableType を FastCGI で動作するようにしてみました.

参考
http://wiki.movabletype.org/Hosting_MT_under_FastCGI_(Japanese)

  1. まず, 必要なライブラリをインストール. FreeBSD なので ports から…
    # portinstall www/p5-FastCGI
    # portinstall www/mod_fastcgi
    

    portupgrade を使わない場合は, /usr/ports/www/p5-FastCGI, /usr/ports/www/mod_fastcgi で make install で OK

  2. httpd.conf に以下を追加
    LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so
    <IfModule fastcgi_module>
    FastCgiIpcDir /var/tmp/fcgi_ipc/
    AddHandler fastcgi-script fcgi
    FastCGIConfig -autoUpdate -idle-timeout 120 -killInterval 3600 -maxClassProcesses 6 -maxProcesses 15
    </IfModule>
    
  3. mod_fastcgi を有効にするため, apache を再起動
    # apachectl restart
    
  4. MovableType の mt*.cgi を mt*.fcgi にリネーム. とりあえず mt*.cgi も動くようにコピーしました.
    $ cp mt.cgi mt.fcgi
    $ cp mt-tb.cgi mt-tb.cgi
    $ cp mt-comments.cgi mt-comments.fcgi
    $ cp mt-search.cgi mt-search.fcgi
    $ cp mt-view.cgi mt-view.fcgi
    
  5. mt-config.cgi の編集. とりあえず必要な箇所のみ *.fcgi にしました.
    AdminScript mt.fcgi
    CommentScript mt-comments.fcgi
    TrackbackScript mt-tb.fcgi
    SearchScript mt-search.fcgi
    # XMLRPCScript mt-xmlrpc.pl
    ViewScript mt-view.fcgi
    # AtomScript mt-atom.pl
    # UpgradeScript mt-upgrade.pl
    

あとは, mt.fcgi にアクセスして, FastCGI で動作することを確認し, サイトをすべて再構築してやれば OK です.

これで負荷が減ってくれれば良いのですが…

続きを読む

Gnome 2.22.0

FreeBSD Ports の x11/gnome2 が 2.22.0 になったので早速アップグレードしてみました.

参考 – FreeBSD Daily Topics 2008年3月25日

しかし, いくつか問題が…

gstreamer-plugins-good がアップグレードできない

/usr/ports/UPDATING に書かれているように, gstreamer-plugins-good を portupgrade(1) しようとしたら, 依存関係でコケました(汗)
この ports をアップグレードするには, multimedias/gstreamer と, multimedias/gstreamer-plugins を先にアップグレードする必要があるようです.
下記のようにすることで解消.

# portupgrade multimedias/gstreamer
# portupgrade multimedias/gstreamer-plugins
# portupgrade -f multimedias/gstreamer-plugins-good

textproc/rarian を再三要求される

Gnome 2.20.1 のアップグレードの際, portupgrade -o で textproc/rarian を textproc/scrollkeeper に置きかえたのに, 依存関係がおかしいのか, 再三 textproc/rarian を入れようとしてビルドに失敗する.
良くないと思いつつも, /usr/ports/textproc/rarian/Makefile を編集し, コンフリクトしないようにした…

--- Makefile.orig       Fri Mar 28 02:25:54 2008
+++ Makefile    Fri Mar 28 02:26:35 2008
@@ -26,7 +26,7 @@
DOCBOOK_VERSION=4.2
-CONFLICTS=     scrollkeeper-[0-9]*
+#CONFLICTS=    scrollkeeper-[0-9]*
USE_BZIP2=     yes
USE_GMAKE=     yes

これだけやったら, あとは /usr/ports/UPDATING の手順通りでアップグレードは無事完了.

しかし, また問題が…

  • インストールが終わって, X を立ち上げなおすと, 日本語入力ができなくなってしまった…
  • Gnome 関連の dot ファイルを削除して解決
  • 何故か Compiz Fusion が core 吐いてお亡くなりになる…
    • xorg-server も同時に更新されたので, そのせいかなと思いつつ, 調べる時間ない…(苦笑)
  • gnome-vfs で Windowsサーバーに繋げない…
    • nautilus で Ctrl + L で smb://IPアドレス/ディレクトリ と指定して
      あげたら, あっさり繋がった(汗)
    • gvfs 経由で Windows サーバーに接続するようになったためで, ~/.gvfs 以下にマウントされるので便利
  • /etc/rc.conf に gnome_enable=”YES” が必要になったらしい.
    • avahi や, dbus を動作させるため.
    • これやったら, GDM も有効になってしまった(苦笑)

    GDM は使わないポリシーなので, /etc/rc.conf に enable_gdm=”NO” としています.

    また, DRM を有効にすると, ドロップシャドウがつくので, ちょっとかっこいいです.

    あとは, compiz-fusion が動くように頑張らないと…

    続きを読む

    Samba の転送速度が遅い

    Samba を使って Windows とファイルを共有している時, 環境によっては転送が非常に遅くなることがあるようです.
    小さなサイズのファイルが大量にある場合は特に顕著のようで, 「仕事にならん!」と不満の声が聞こえてきたので, smb.conf (5) に以下の設定をしてみました.
    socket options = IPTOS_LOWDELAY TCP_NODELAY
    FreeBSD 6.3-RELEASE, Samba 3.0.28 の環境ですが, この設定で解消しました.
    see.
    http://www.samba.gr.jp/project/translation/2.2.5/manpages/smb.conf.5.html#SOCKETOPTIONS
    僕は, FreeBSD をクライアントにして開発しているので, あまり関係無いんですけどねw

    続きを読む

    サーバー復旧。。

    11/27のエントリーを書いた後、RAID1 のリビルドをしていたのだけど、不幸にも途中で停止(失笑)
    ディスクがかなりぼろぼろのようで、リビルド不可能らしい。
    仕方がないので、とりあえず ad2 のみで稼動させることに。
    /etc/fstab を書きかえねばならないのだけど、起動不能。
    11/27 の時みたいに、インストーラから起動して、Fixed mode で書きかえして、何とか起動。
    起動時に PIO4 に落ちるけど、仕方あるまい。。
    とりあえず動いてるからよしとしよう。
    こうなったら、ディスクを全交換するしかないので、250GB のやつを買ってきた。
    160GB → 250GB のアップグレード。
    このサーバーを構築したときなんて、20GB が主流で、こいつは 容量多くないとダメだから 60GB にして、大容量にホクホクしてたんだけどなあ。
    時代は進んだものです。。
    話を戻して、ディスクの交換方法を検討。
    現状では、 PIO4 で動作させているので、激遅いからバックアップに時間がかかりすぎる。
    あまり長時間止められないので、

    1. RAID1 で 250GB にミラーリングさせる。
    2. もう 1台に新規スライスを作成
    3. リストア

    という方法でいくことに。
    こうすれば、DMA の性能を活かしてリストアの時間を短縮できると思ったのですが。。。
    現実は厳しかった。
    元のディスクがかなり重症で、 hard error でまくり。リビルド不可能。。。
    仕方がないので、 /stand/sysinstall から 250GB に新規スライス作成。
    hard error でまくりながら、 dump to restore。
    やり方は下記参照
    http://www.jp.freebsd.org/QandA/HTML/1859.html
    何とかディスク交換は完了しました。
    しかし、まだ悪魔は待っていた。
    AM3:00、periodic daily が走り、DBの日度バックアップが走る。
    負荷が上昇してきたところで、動作中のプロセスがことごとく core を吐き、kernel panic を起こしてお亡くなりになった(失笑)
    再起動しても起動せず。ファンすら回らない。
    CPU か M/B が壊れたか。。
    夏場に、CPU ファンが故障して交換したことがあった。その時は、CPU はちゃんと動いていたので、大丈夫だろうと思っていたのだが、それが今になって死んだのか。。。
    だめもとで、CPU はそのまま。予備の M/B に交換(古いパーツのストック)したら、とりあえず動いた。
    M/B がぶっ壊れたか。。
    とりあえず動いたので、 CPU と M/B の交換計画を練ることに。。寝れん。
    ずらずら書いてますが、数日間にわたって格闘しておりました。
    具体的な日付を忘れたので、ずらずら書きます(失笑)

    CPU と M/B の交換計画

    • Athlon XP は入手不可のため、入手可能な CPU にする
    • 現在の DDR400 のメモリが使用可能な M/B
    • AGP の VRAM が使用可能な M/B

    Intel は CPU が高価なため、予算オーバー。DDR400 & AGP が使用可能な M/B は非常に限られ、その中から DFI LANPART nF3 Ultra-D に決定。
    CPU は、予算内で.できるだけ高性能なものを選択、 Athlon64 x2 4200+ に決定。
    しかし、問題がある。
    現在、 FreeBSD 4.11-RELEASE のため、nForce3 のチップセットでちゃんと動くか不明。
    どこかで動作しないような噂を聞いた気がするのだ。。
    そこで、次のような順で交換することにした。

    1. kernel を 4.11 → 5.5-RELEASE にアップグレード
    2. M/B と CPU を交換
    3. kernel を 6-STABLE にアップグレード(6.2 が未リリースのため)

    これで何とかうまくいった。 via FreeBSD4 から FreeBSD6 へのアップグレード
    動作は非常に良好。
    amd64 への移行は、クリーンインストールでないと、リスクがかなり高いため i386 でいくことに。
    それでも、dual core は超快適。ちゃんと SMP で動作してくれています。
    既存のメモリを使いまわした関係で Dual Channel ではないのだけど、今までに比べたら十分高速に動作してくれるし。
    ports の java/jdk14 の構築が 1時間ちょっとで終了した模様。celeron 700 とかだと半日以上かかっていたのに。。
    なんという速さ。。

    修羅場 – FreeBSDとRAID1とmountと

    悪いことというのは重なるもので。。
    ぎちぎちスケジュールの中、想定外に作業に手間どり。。
    「仕様と違う」
    「期待通りの動作をしない」
    よくあることだけど、他のメンバーに作業を振れない。
    仕様を説明して、修正ポイントを説明してってやってると、余計に手間どる。
    しゃあないから僕がやる。。。
    そんなこんなで、あちらこちらに、しわ寄せがいって、スケジュール狂いまくり。
    しかし、もう延ばせないし。。
    現実逃避に、 Emacs のアイコン作ってたら、サーバーのディスクがお亡くなりになられた(苦笑)

    続きを読む