November 09, 2008
モバ ツイッターや、このF's Garageが入ってるWebサーバのマシンをDell PowerEdge 430Cから、HPのML115G5に入れ替えました。
ML115は、前にモバツイのDBサーバーとして購入し、サーバーでありながらコンパクトな筐体で気に入ってたので、今回も兄弟のマシンを購入しました。
期間限定とやらで購入価格から3万円安くなり、とにかく安く買えるのが特徴のサーバです。
(現状の3万円値引きは11/26までらしい。でも、よくやってるから、また時期に応じて安くなるんじゃないかな。)
一番安いものは19,950円で買えるのですが、CPUを一つアップグレードして、デュアルコアのAthlon x2 (4450Bとか言う型番)にしました。送料込みで3万円でした。
それまでメインに使っていた、Dell PowerEdge 430Cは、ちょっと昔のサーバなので下記の問題がありました。
1.CPUがCeleron D 2.6GHzでモバツイのアクセス数には非力。CPUの使用率が90%を超えることもしばしば。
2.筐体都合でHDDが沢山積めないし、オンボードRAIDではないのでHDDが壊れた時の不安
3.電源スイッチがオルタネートスイッチではない(スイッチそのものが「電源Onの状態」を持つ奴、430Cはソフトスイッチなので1プッシュで元に戻る)ので、停電の時に家に誰もいないと停電から復帰してもサーバの電気が入らずにモバツイ死亡というリスクがあった。
あと、メモリやHDDが十分に搭載されてるLinuxサーバに余裕がないので、バックアップなど、いろいろ不便だったことも含めて、ずっと増設は考えていたんですよね。
今年は落雷の多かった年で、一回ぐらい停電がありましたが、たまたま家に奥さんがいたから停電復旧がすぐできたなんてこともありました。
完全なるバックアップ構成もないので、HDDが壊れた瞬間にモバツイやF's Garageが止まるのが嫌だなぁと思っていてAmazon EC2への移転も考えていたのですが、現状だとコストに対する持ち出し分が多くなってしまうので躊躇していたところ、MacBook / MacBook Proのリニューアルで、みんながほいほいマシンを買ってるのが羨ましいので、勢いでサーバを購入してしまいました。
これで、今までフロントで動いていたDellを後方支援に回すことで、モバツイッターも、フロントWebサーバ1台 + DBサーバ + コールドスタンバイおよびバックアップ という3台構成にすることができます。
ちなみにネットワークは、ただのBフレッツのマンションタイプです。interlinkから月2000円程度で固定IPをもらって、ムームードメインでドメインを取っています。
今回のML115G5は本体以外に購入したものとして、RAID用にDBで使ってるものと同じ型番の160GBのHDDを2台と、トランセンドの2GBメモリを楽天ポイントで購入したので、出費は最小限で済んでいます。
HDDはイマドキ1万円も出せば500GBとか1TBが狙えるのですが、あえてDBサーバと同じHDDドライブを搭載することで、在庫として買ってあるHDDドライブ一台がどっちにも流用できるので、精神的な安心感が向上します。
しかし、/varだけをソフトウエアRAIDにしてるので、本気で壊れると頼りはバックアップって感じですけどね。ソフトウエアRAIDって、/に設定できるんだっけ?いや、そうすれば良かったww
自分のためにメモしておくと、今回以降で実感したサーバが壊れたときの復旧に大事な情報は、
Webサーバ:
1.mail , DNS, iptables , ssh , apache , phpなどの設定情報(変更頻度低)
2.モバツイッター(ソースコード以外はファイルキャッシュしかないので変更頻度中低)
3.F's Garage (アップした写真ぐらいが重要情報、変更頻度中)
4.その他Staticにデータを保存するWebデータ(アクセス解析とか。まぁなくても困らなかったり、変更頻度が低かったり)
5.IMAPのメールデータ (変更頻度高)
DBサーバ:
1. MySQLのデータ(変更頻度高)
ということなので、復帰可能性としてはDBだけちゃんとレプリケーションしておけば、それ以外はデイリーバックアップもしておけば十分ですね。
メールの移行も同じサーバ構成で作れば、メールフォルダをtarで固めて持って行けばパーミッションも変わらずってところだったので、さくっと移動できました。
(rsyncでバックアップ取るようにしたらいいのかな。メールは重そうだなー)
この期にDNSもバージョンアップしたし、SpamAssassinも入れたし。
(でも、DNSのなんとかポート番号ランダム性検査でpoorが出るよ。何故?)
あと個人的な都合ではありますが、セキュリティアップデートをする可能性のあるアプリ、フロントに立って入れ替えがしにくいアプリは、ソースコードから入れるべしだと思いましたね。
DellはFedora5なんですが、BINDをrpmで入れてたら、Fedora5に対応するセキュリティアップグレードのパッケージがなくて、余計アップデートのコストと精神的障壁が上がってしまう感じ(要はめんどくせー)なので、ソースコードから入れた方が気楽です。
結局、その辺の構成をrpmなどのパッケージでブラックボックス化されると、いろいろ不便なのでApacheやPHPも、ソースコードから入れてます。(まぁ僕がそこを乗り越えるスキルも気力もないあたりが個人的な都合って奴ですが。)
ただ、手元にFedoraの構成があったので、設定ファイルとか起動スクリプトはコピペできたので、都合の良いところは、いろいろ楽できましたけどね。
今、いろんなTODOが並行して走っていて、仕事よりも家の方が忙しいという状態で、気持ち的にコンフリクトが起きているような状態だったのですが、一つ大きい問題が解決しました。これで次の作業に進めます。
今回サーバ台数も増えたので、例の本↓を読んで、サーバ管理をもっと強化したり、冗長化の実験などをしていきたいと思っています。
技術評論社
売り上げランキング: 1178
おもしろい!
是非読むべき
Webサイト運営に携わるエンジニア必読
p.s.しかしアレですね。もうモバツイ初めて1年半になりますが、自宅サーバ環境でも停電などのトラブルなんてほとんど起きないし、安定性上の問題なんて起きないもんですね。家ならビルの法廷点検で停電とかもないですし。
関連エントリー:
自宅のFedora Core5で作るF's Garage (がらくたラボ - Specialized F's Garage for Technologies -)