2008-12-07[n年前へ]
2009-04-07[n年前へ]
■可動部が少なくて、静かで、発熱量が少ないPCは?
趣味で動かしているようなサーバでも、24時間数年にわたり動かしていれば、各種ファンも調子が悪くなってくるし、たまに、熱で壊れる部品も出てくる。特に、趣味用サーバなどは、サーバ室にいるわけでなく、アパートの机の上にいる。すると、この季節には花粉や黄砂の嵐を浴びたりもするわけで、ファンや部品の調子が悪くなるのも当然といえば当然である。
となると、ファンがなくて、あまり発熱しないPCをサーバ用として欲しくなる。できれば、机の上に3個くらい置いても邪魔にならない程度の小さいものである(たとえば、このPC程度の )。そして、もちろん、「安い」ものだ。
というわけで、可動部が少なくて、静かで、発熱量が少なく、小さく、安い…そんなPCを探している。しかし、なかなか見つからない。
2009-04-27[n年前へ]
■素人がRails入門書を買ってWEBサーバを立ち上げた後の苦難の道 その1
これは、あくまで”素人”が、自分で作った「自分のWEB LOG(というより、やはりWEB日記)」を運用するまでの(これからもまだまだ続くだろう)苦難の道の記録です。
書店に並んでいるRailsプログラミング本を買い、小さなプログラムを書いて、自宅サーバを(手書きHTMLとハイパーニッキシステムから移行し)動かし始めて1年と少し経ちます。今は、趣味サーバとしては普通に動いているようですが、プログラミング素人が書店で入門書を買って、Railsサーバを立ち上げた後は結構大変でした。大変だったといっても、何しろいちばん最初は入門書のステップ1に書いてあるようにInstantRailsをインストールしただけで動かしてみたのです(逆にいえば、一番最初に買った入門書 がそれだけわかりやすく、本を読むだけで簡単にアプリケーションを作ってみることができた、ということでもあります)。当然、キャッシュも使わず、プロセスも1つだけで動かしたわけです。何しろ、知識は書店で買った入門書だけなので、そんな感じで動かしてみたのです。
すると、たいしたアクセスもないにも関わらず、数分も立たない内にWebrickは反応をしなくなり、サーバはすぐに黙ってウンともスンとも言わなくなってしまいました。今考えてみれば、それは当たり前の話で、画像もファイルも何から何まですべての配信・処理をひとつのプロセスが行おうとしていたのですから、ちょっと無理があり過ぎ、です。そんなわけで、素人が「Rails入門書」のステップ1を読んだだけでサーバを立ち上げた結果は、趣味・個人サーバですら、1時間も安定した稼働をさせることができない状態になりました。
そこで、次のステップとして、その次に買った本で運用の仕方を学びつつ 、1台のPCでmongrelサーバをクラスタリングさせることにしてみました。次のような感じの(こんな感じというだけで実際に使っているものとは違いますが)スクリプトを書き、10個くらいのmongrelサーバを起動させ、再起動をたまにさせることでメモリーリークや、いろんな問題に目をつぶって動かしてみることにしたのです。
# gem install win32-process # gem install windows-pr require 'win32/process' require 'windows/handle' include Windows::Process include Windows::Handle class ProcessController def initialize(command) @pi=nil start(command) end def start(command) @pi=Process.create( :app_name=>command[:cmd], :cwd=>command[:cwd]) end def stop Process.kill(9, @pi.process_id) CloseHandle(@pi.process_handle) end end @comands=[ {:path=>"Z:\\blog", :cmd=>'mongrel_rails start -p 8080 -e production'}, {:path=>"Z:\\blog", :cmd=>'mongrel_rails start -p 8081 -e production'}] while true @proccesses=[] @comands.each{|comand| @proccesses << ProcessController.new(comand) } sleep 60*60*24 @proccesses.each{|process| process.stop } end
しかし、素人がRails入門書を買ってWEBサーバを立ち上げた後の苦難の道は、まだまだその先も長かったのです。今もたくさん問題を抱えているのですが、とりあえず、二番目に生じた課題は、プログラミングに時間を使うのが嫌だったので、負荷分散をPCの数で解決しようとした時に起きた色んなトラブルでした。
2009-08-28[n年前へ]
■自宅サーバ部屋で自ビール作り
自宅でサーバを運用している人は今はどのくらいいるのだろう。数年前に比べて、増えたのだろうか、それとも減っているのだろうか?今では、自分でサーバを立てなくても、楽に使うことができる各種サービス会社がたくさんあるから、人数ベースではわからないが、少なくとも、比率ベースでは、減少しているに違いない。
自宅サーバを立てる醍醐味は、「自分の思うように動くものを作るためには、何をしなければならないかという知識を得ることができる」「思った通りに動かないため、動かす過程で色々な経験と苦労を味わえる」「最終的に、自分の思うように動くものを作ることができる」というあたりだろうか。
サーバを動かす部屋は、夏でも25℃くらいの温度には保ってある。そして、冬でもそこそこ暖かい温度になっている。この温度を何か有効活用できないだろうか、といつも思う。夏は冷却用エアコンの電気代がもったいないし、一年中通して発熱を続けるPCの電気代だって、やはりもったいない。
こんなことを考えた。サーバ部屋で、自ビールを作るのはどうだろうか?つまり、自宅サーバが置いてある部屋で、自宅ビールを作るのである。25℃くらいという「自宅サーバ室」の温度は、ビールを発酵させるのに ほど良い温度である ようだし、自分でビールを作るという作業自体も「自分の思うようなビールを作るためには、何をしなければならないかという知識を得ることができる」「思った通りのものができないため、試行錯誤する過程で多くの経験と苦労を味わえる」「最終的に、自分の思うような美味しいビールを作り・飲むことができる」という、まさに自宅サーバを動かす醍醐味と同じものがあるように思えるのである。
「自宅サーバ部屋」を「自ビール工場」にしてしまうというのも面白いのではないだろうか。これこそ、まさに「自宅ビール・サーバ」かもしれない。
2009-09-17[n年前へ]
■さよなら・レンタル・サーバ
9月末で、hirax.net用のレンタル・サーバを解約します。といっても、すでに先月半ばから自前サーバにDNSは移行させていましたので、実際にはすでにサーバ移行がされている状態です。
ある程度不安定でも構わない(時折落ちていても構わない)WEBサーバは自前サーバで運用し、安定でないと困るメールサーバはGoogle Appsを使い(MXレコードをGoogle Appsのものに変え)、hirax.netを動かしています。
昨日、『レンタルサーバを「捨てる技術」』という記事を読みました。
ここのところ、レンタルサーバや自宅サーバはつくづく「レガシー」だよなと思うようになりました。我々は普段、何の気なしにレンタルサーバや自宅サーバにデータをロックインしていますが、そのたびに次から次へと提供される新しいサービスを利用する機会を無意識に失っていっているのではないか、こうしたサーバに支払う対価以上に機会の喪失という対価を支払っているのではないか、そんな疑念が頭をもたげてきたのです。まだ、今の段階では、「レガシーな自宅サーバ」を捨てることはできそうにありません。けれど、とりあえず「レンタル・サーバ」は捨てました。・・・とはいえ、それが一歩前進なのか、実は後退だったりするのかはよくわかりません。
「サーバ買ったり借りたりしたら負けかなと思う」
さて、「ある程度不安定でも構わない(時折落ちていても構わない)」と思っていたWEBサーバですが、想像以上に不安定になりました。そこで、今日はhttpdの監視&再起動プログラムをRubyで書き、動かし始めました。明日からはもう少し安定してくれると良いなと思いつつ、これまで長年サーバとして動いてくれたレンタル・サーバ・マシンに感謝する今日この頃です。