2008年2月アーカイブ

RAMdiskでホームページ公開

サーバーを構築し運営していると24時間365日回り続けているHDDのクラッシュが心配になります
もともとHDDの駆動音はあまり気になる程ではないのですが、サーバーのアクセスが増加してくるとHDDのアクセスランプが頻繁に点灯しているため耐久性に不安がでます
そこでHDDの負荷を軽減する為に、公開ディレクトリをRAMdiskに配置してみました
ディレクトリ内には「ブログサーバーMovableType」「アップロード掲示板」「ショッピングカート」「公開ホームページ」約34MBが存在します
RAMdiskのメリットは「早い」「無音」、デメリットは「電源が切れるとデータが消えてしまう」ことです
それらの特性を踏まえた上でUSBフラッシュメモリを利用して可能な限りHDDへのアクセスを減らします
USBフラッシュメモリにApacheアクセスログの保存先を変更し、RAMdisk内のデータもバックアップを自動保存し電源が切れても再起動後にデータが復元できるように設定します

設定方法

1・I-O DATA のメモリを買うと無料で利用できるRamディスク作製管理ソフト「RamPhantom 2 LE」をインストールします
Ramドライブ「D」を256MBで作製し、バックアップの方法に「Ramディスクの書き込みと同時に保存」を設定、保存先にUSBフラッシュメモリ「Z」を指定します(※ドライブのパスは固定にしておきます)
RAMdiskと同時にUSBフラッシュメモリへ書き込みを同時に行うので、書き込み速度は通常より遅くなりますが、読み込みは高速で行えます

2・ドキュメントルート(公開ディレクトリ)フォルダ「nori」を「C」→「D」に移動します

3・Apacheの「httpd.conf」ドキュメントルートを変更します
DocumentRoot "C:/nori"
  ↓
DocumentRoot "D:/nori"

4・MovableTypeブログの設定で、公開パス(サイトパス)を変更します
C:/nori/blog
  ↓
D:/nori/blog

5・Apacheアクセスログの保存先をUSBフラッシュメモリ「Z」ドライブに変更します
ErrorLog "| bin/rotatelogs.exe logs/%y%m%d_error.log 604800"
  ↓
ErrorLog "| bin/rotatelogs.exe Z:/logs/%y%m%d_error.log 604800"

CustomLog "| bin/rotatelogs.exe logs/%y%m%d_access.log 604800" cmbined env=! nolog
  ↓
CustomLog "| bin/rotatelogs.exe Z:/logs/%y%m%d_access.log 604800" cmbined env=! nolog

あとはApacheを再起動(Restart)すれば設定変更が反映されます・・・・が、このままではサーバーの電源が切断されても、サーバーは自動起動することができません
電源が供給されサーバーが起動しRamドライブが作製されると「Z」ドライブに保存されているバックアップがRamドライブ「D」に復元されますがタイムラグがあるのでApacheはエラーを起こしサーバーは起動しません
そのためRamドライブ内にデータが復元されてから、自動的にApacheのRestartをかける必要があります

スタートアップ起動時に起動順番の設定、遅延起動を管理できる「StartupEX」を使用します

1・StartupEXを起動、プログラム本体をWindowsスタートアップに登録

2・遅延押入を追加→Time:40 起動に失敗する場合は長めにとるようにしましょう

3・ファイル追加→C:\Documents and Settings\All Users\スタート メニュー\プログラム\Apache HTTP Server 2.0.59\Control Apache Server\Restart.lik
すべてのプログラム、Apacheスタートメニューにある「Restart」を選択します

ホームページをRAMディスクで公開した結果報告

接続回線がADSLの為、外部接続から体感できないと思いますが、内部ネットワークでの接続では、かなりの高速です
HDDのアクセスランプもホームページを開くだけならまったく点きません、しかしブログや掲示板などのCGIプログラムにアクセスがあると一瞬点灯しているようです、PHPやPerlもRamディスク上に配置すればよいのかもしれません(試していませんが)
あきらかにHDDの負荷が減ったのではないでしょうか?しかし、USBフラッシュメモリと同時にRamディスクの書き込みが行われている為に、ブログ(MovableType)の再構築に時間がかかるようになってしまいます

このアーカイブについて

このページには、2008年2月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年12月です。

次のアーカイブは2008年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。