HP Proliant ML115ベースの低価格新サーバが安定稼働し始めたので、これを機会に「株式会社ピーデーのサーバ小史・akane物語」と題して、akaneの歴史を書いてみようと思います。歴史の後に、教訓やポリシーなど、多少一般的な話も書きます。
ご注意 §
akaneは内部LAN上のサーバで、外部からアクセスできたことはなく、今後もアクセス可能になる予定はありません。また、akane以外のサーバには言及していません。外部からのアタックの参考になるような情報も意図的に取り除いてあります。
お断り §
ここで書かれた様々な情報は、お勧め、あるいは、このようにすべきという正しい情報の伝達を意図していません。単に、私はこうした、私はこう考えた、という話しを書いただけです。参考にする場合は自己責任でお願いします。
初代akane §
初代akaneは、いわゆるDOS/Vブームの初期にコムサテライト(だっと思う)で販売していたQualest 486/33です。ちなみに、QualestブランドのPCは、このあと若松に移ってQualestセンター若松の扱いになり、その後独立してQualestという会社で扱うようになっています。Qualestは、当時のDOS/Vの教祖西川さんを初め、多くのマニアが利用した伝説的なショップです。しかしまあ、この当時は486CPUの33MHzのマシンが50万円を切り驚愕の低価格という話で購入したに過ぎません。多くの著名人もそこで買っていたと知るのはかなり先の話です。
さて、初代akane購入時点では、日本においてLANはまだ一般化しておらず、イーサネットのカードを買うだけでも一苦労という状況でした。日本でNetwareがブームになり始めた頃で、この当時のWindows(というかDOS)にはLANに接続する機能は含まれていませんでした。従って、マシンに名前を付ける機能もなく、Qualest 486/33はまだakaneではなかったのです。
しかし、既にLANの味を知っていた私はLANが欲しかったのです。
最初に試したのは国産某社の簡易LANですが、AT互換機OKだったはずが、実はPC-9801シリーズのみの対応で当然Qualest 486/33には使用できず。
次は、Netware Liteという安価なピアツーピアの簡易LANを試しましたが、Windows対応が不十分という舐めた状態で出荷されていたので、これも蹴りました。しかし、Qualest 486/33にakaneという名前が付けられたのは、おそらくこの時だと思います。
この後、WindowsでLANを使うには、MSKK社員時代に実際に使っていて安心感の高いMS製品を選ぶしかない、と思い、マルチベンダー版LAN Manager 2.1を購入。このときは、ソフトバンクの雑誌で原稿を書いていたので、そこのコネを使ってソフトバンクで扱っていたLAN Managerのパッケージと、アンガマンバスのLANカードを買ったように記憶します。しかし、AT互換機のakaneには、3COMのEtherLink II/16を入れたような気がします。なぜ3COMなのかといえば、その頃、Windows NT 3.1のPDC版というものが出てきて、それを動かすためにakaneをパワーアップしていたからです。当時、MS社内で使っているという3COMブランドなら間違いはあるまい、という判断によります。
他に、Adaptec AHA-1542BとCD-ROMドライブも増設しています。これも、PDC版Windows NT 3.1に対応するためです。(AHA-1542Bは本当に良いカードだった)
さて、LAN Managerを導入した時点でドメインコントローラ(DC)ならびにメインのサーバとなったのは、実はakaneではなく、PC-9801RA21を用いて組み上げたukyoでした。理由は、機材や機能性などいろいろあります。しかし、akaneはDCではなかったのです。サーバですらありませんでした。
初代akaneサーバになる §
あるとき、Macintosh用に購入して少し使用した後で壊れて放置された100MBのSCSI HDDに気づきました。これをakaneのAdaptec AH-1452Bに接続してみると、なぜか問題なく稼働します。しかも、akane上のPDC版Windos 3.1 Workstationはファイル共有の機能を持っていました。ukyoのストレージが少し不足気味だったので、補助的にこのHDDを"new world"と呼んで使用を始めました。
これが初代akaneがサーバになった瞬間です。
その後、補助的な用途であったはずの"new world"は徐々に有効活用され初め、いつの間にか「主なファイルサーバ」へと変貌していきました。
初代akane DCになる §
ukyoは非力であったものの、PC-9801RA21は明らかに安定して使えるマシンであり、長期間DCであり続けました。
しかし、さすがにWindows NT時代に耐える性能ではないため、Windows NT Serverベースの新DCが必要とされました。
そこで、より新しく高速なマシンを押さえて既に古くなりつつあったakaneが選ばれた理由は以下の2点でした。
- 486/33マシンにしてはメモリアクセスが高速で負荷に耐える
- より新しいVL-Busベースの486/66~クラスのマシンより安定度が格段に高い
そのような理由で、akaneはWindows NT ServerベースのDCとなりました。
このとき、ドメインは完全に新規に作り直しているので、ukyo時代のPDTOKYOに対して、PDTOKYO2となりました。
2代目akane §
記憶がもはや明確ではありませんが、もはや486/33では努力しても無理……という時代になり、2代目akaneに交代を余儀なくされました。
2代目akaneは、巨大なサーバ用ケースと、AMIブランドのPentium Proデュアルプロセッサ・マザーを用いたマシンで、HDDは起動用ドライブ+SCSI接続2GB×4台で、ストレージ空間はソフトRAID5の6GBだったと記憶します。
このとき、BDCとしてインストールし、その後PDCに昇格させ、マシン名をakaneに変えることでakaneの名前と機能を襲名させたと記憶します。
しかし、この超ゴージャスマシンの寿命は長くありませんでした。ATXではなくATのケース、主流ではないPentium Proの採用、少しずつため込んだ2GBドライブ群等は、安価にサーバを用意するには良かったのですが、スペック的に長期間を耐え抜く力は無かったのです。
3代目akane (akane2) §
3代目akaneは、それまで自分のメインマシンとして使用してきたPentium !!!/450 dualのマシンです。それが、Pentium 4/1.5GHzのマシンを導入したのに伴って余剰となり、それをベースにサーバマシンを組み直したわけです。
このときは、Ultra ATAによる高速化とHDDの大容量化が爆発的に進んだ時期であり、起動ドライブ+UltraATA 75GBドライブ×3によるソフトRAID5 150GBという、当時としては破格の大容量を持つサーバとなりました。
経緯はあまりよく覚えていませんが、このときはActive Directory環境への移行も行ったような気がします。その際、akane2という名前でマシンを立ち上げて旧akaneの情報を引き継ぎつつDCにしたところ、DCはマシン名が変更できないという制約(正しい認識かは不明だが、当時は変更方法を見つけられなかった)によって、akane2という名前で定着。
ちなみに、HDDは悪名高いIBM DTLAであり、1本ずつ順次お亡くなりになりました。その都度、1本ずつ80GBのシーゲートのドライブに換装してリビルドして生き延びました。なので、実はボリュームのサイズは変わっておらず、容量の差分(75→80GB)は最後まで使用されないまま残りました。
4代目akane §
そして、2008年5月に4代目akaneが落成し稼働開始。
HP Proliant ML115をベースにして、CPUをAthron64 X2 5000+に換装、メモリはECC付きで2GB(これはもっと増やしたい)、HDDは1TB×2をオンボードRAIDコントローラでミラーリング使用。元から付いていた160GBのHDDは補助ストレージとしておまけ的に付加。OSは、いろいろ開発しているソフトのテスト等の意図も含め、Windows Server 2008 x64版を入れてみました。オンボードRAIDコントローラを含め、ほとんどのデバイスを自動認識してくれたので、いちいちドライバを捜す手間が無くて楽。
ただし、ビデオだけはドライバが無く、標準VGAドライバで動いています。なぜか、マウスカーソルを動かすとゴミが残る問題がありますが、管理はほとんどリモートデスクトップ経由なので致命的な問題ではありません。2008/11/02追記。HP ProLiant 100シリーズ サーバ用のMatroxビデオ ドライバのドライバ(VGA_Win2008_64_5.96.006.6.zip)で問題は解消しました。通りすがりさん、情報感謝。うちでも既にインストール済みでした。
サーバ構築ポリシー・部品は少ない方がいい? §
私が組んで使った最大級のモンスターはもちろん2代目akane。起動用ドライブを含め、HDD5台を搭載したマシンは、後にも先にもこれっきりでしょう。
しかし、このモンスターに満足したのか……というとノーです。
重くて大きく複雑なマシンは、メンテも面倒だし、ケーブルの取り回しも大変です。ケースが大きいと市販の普通のSCSIやIDEのケーブルでは届かないこともあります。
比較的小容量のドライブをできるだけ多数つないでRAID5を構築すると、容量のロスが少ない……ということから、4台のSCSI HDDでRAID5を組んでみましたがHDDばかり多いサーバもイマイチ納得が行きませんでした。何となく、手に余る感じがします。
そのようなことから、それ以降のサーバ(あるいは他のマシンも含め)は、パーツ減らしが1つのテーマになっていきます。特にHDDは、壊れたら怖いので冗長性を確保しつつ、できるだけ台数を減らすというポリシーで取り組んでいます。
その結果として、3代目akaneは起動ドライブ+3台のRAID5で計4台となり、1台減っています。3台でRAID5をやるのは一般的ではないと思いますが、台数を減らしつつ冗長性を確保するために、あえてこの構成を選択しています。
その後の研究の結果、究極的に最小となる構成は、以下の条件を満たす2台構成だと結論づけました。
- HDD2台でミラーリング構成とする
- オンボードRAIDコントローラでミラーリングを構成し起動ドライブを兼任させる
あえて「オンボード」のRAIDコントローラを使用するのは、拡張カードをスロットに入れたくないからです (全体としての部品数減らし。接点減らし)。
ちなみに、HP Proliant ML115を選んだ理由の中に、オンボードRAIDコントローラ搭載という条件があります。比較検討したDellの格安サーバはRAIDコントローラがオプションだったのです。
(注: 常識的には起動ドライブやスワップドライブは、データ用ドライブとは分けた方が良いとされている……と思います。HDD2台構成は、そういった良いやり方に逆行した構成であることは留意してください。この構成は、死んだら死んだでバックアップから復元すればいい……、という前提で、有事には丸ごと死んで一時サービスが止まっても良いという選択です)
拡張余地の問題 §
実は、各世代のakaneに共通して、めいっぱいマシンのポテンシャルを引き出した結果として拡張余地が乏しいことがあげられます。ちょっと容量が足りないからといってHDDを足すゆとりがないのです。メモリもおおむねフル実装していて、簡単には足せません。
その点で、今回の4代目akaneは拡張余地を意識した構成にしてあります。スペック上のメモリは2GB×4=最大8GBですが、2GBを1枚入れてあるのでこれを無駄にせず8GBまで行けます (相性問題がでなければ……ですが)
HDDも4台内蔵可能で3台分を使っていますが、標準で付いていた160GBはいつでも外せる体制で組んであります。これを外して残った2個のベイに大容量SATA2 HDDを入れれば、ミラーリングのドライブを増設できます。これは、計画段階で意図的に用意した拡張余地です。(Dellの格安サーバは2台しかHDDを内蔵できなかったので、その点でも候補から落ちた)
消費電力と発熱の問題 §
この仕事場は原則として扇風機オンリーでクーラーを使いません。(というか、部屋のサイズに合っていない非力なクーラーでは何ともならない)
そのため、夏場の猛暑はサーバにも負荷となります。
また、最近のPCは、消費電力も馬鹿にならないことが分かってきています。
そこで、4代目akaneでは初めて消費電力と「発熱」を意識しました。「放熱」は今までも意識していましたが、それでも性能重視の発熱の多い部品を多く使っていました。しかし、今回は性能を押さえて消費電力と「発熱」を意識しました。
CPUの性能がイマイチ低めとなっているのも、1TBのHDDが5400回転であるのも、そのあたりを理由とした意識的な選択です。
これが上手く行ったかどうかは、夏場を乗り切ってみなければ分かりません。
総論・できが良すぎるマシンは世代交代を遅らせる §
歴代akaneというのは、最も安定して最後に頼るマシンです。それゆえに、重要なポイントは手を抜かずにきちんと構築します。
その結果として、驚くほど古くなっても稼働し続けます。
しかし、それは良いことばかりではありません。
結局のところ、安易に置き換えられないために、世代交代が遅れがちになってしまうのです。こうして歴史を書いてみると、毎度毎度同じパターンかもしれないな……と思いました。
今回格安サーバのHP Proliant ML115をベースに組んだのは、しょせんサーバは消耗品で使いつぶしていくもの、という気持ちを込めた選択だった……のかもしれません。