データセンターの思ひで

今月、とうとうオンプレミス環境がその役割を終えたので、当たり障りのない範囲で思ひでを記録しておこうと思います。

だいたい 2002年 から運用が始まったので18年ほどの歴史でしたが、血と汗と…… 血と汗くらいですかね滲んでるのは。さぁ振り返りです。



大阪

私が参画した時にはインフラエンジニアというかサーバー担当者が既に1名おり、「サーバーやってみない?楽しいよ!」と言われて乾いた笑顔を返したのを覚えています。

当時は京都の極小ベンチャー企業で、なぜ最初が大阪のデータセンターだったのかは聞きませんでしたが、とある現地作業についていって、ハーフラック1台に1U2台が積載されていました。このへんは私自身かなりのペーペーだったので知識不足もあり記憶がかなり曖昧です。

平々凡々に運用していたある日、WEBサイトへのアクセスが途絶えました。
社長の「ねぇ、サイトに繋がらないんだけど」の一言が口火です。

原因は不明。

当然SSHも接続できず、
遠隔コンソールなど夢のような機能があるわけもなく、
エンジニアは最終奥義、現地確認を発動。

到着したエンジニアがみたものは・・・

「サーバーが 無い」

そう、ラック内からサーバーが消えていたのです。
この事態を受けてラックの管理会社に連絡した結果・・・

「倒産したので、機器を引き上げました」

いやいや、サーバーはウチの備品だし!
ということで奔走した結果、無事にサーバーが返ってくることに。

この間、サービスは完全停止し、
いったん稼働はさせたものの、
次のデータセンターを探すことになりました。

教訓『サーバーは ある日突然 いなくなる』


京都

無事、次のデータセンターが決まり、京都にある会社からそこそこ近く、かつかなり立派なところへ引っ越すことになりました。

現在の常識で考えれば、サービスの引っ越しといえば新サーバーを用意して、サービスをメンテインし、データを転送してDNSを切り替えて、という流れが当然ですが──

貧乏なので新サーバーを用意する余裕も時間もなく、最も素直な手段として大阪でサーバーを停止し、2人で1U2台を抱えて阪急電車に乗り、京都からはタクシーでデータセンターへ移動、入館してラッキングからサービスの復旧作業へと、IT石器時代を堪能するのでした。

ここではハーフラック1台から始まり、最終的には1.5ラックくらいの規模になったんだったかな?エンジニアといってもデータセンター屋じゃないのでラッキングもケーブリングも適当で、でもなんとかしてきた時代。

運用では、昼夜問わずリモートから対応できない障害が起きれば、入館申請をして再起動と現地作業を行い、iptables の設定を変更するぞ、するぞ、したぞ、ダメでしたー!の流れでSSH遮断からの入館など、ハードもソフトもエンジニアも全てが未熟な、しかし熱い時代でした。

ただ、一度だけ、深夜の障害対応で二人で入館し、長時間の対応となって交代で眠りながら作業したのは良い地獄でした。今思えば、なんで寒いラックルームの端っこで寝たんだろう。無事に復旧できたあとのデータセンターからの朝帰りは、ぶっちゃけ、最&高です。

教訓『SSH は万全に』


東京その1

会社が大きくなって、東京支社ができ、データセンターも東京に契約して一時期は並列して稼働していました。東京でもインフラエンジニアが入社し、なかなかの立地にハーフラック2台を契約して運用されていました。京都と別のサービスを運用していた状態です。

私が東京に引っ越した時点で、会社としてほぼ全体が東京へ移り、サービスも東京でまとめて運用しようと決まっていたので、2度だけ入館して構成を確認し、このへんから東京の担当者と2人でインフラエンジニアとしてやっていくようになりました。

教訓『ラックは不動産』


東京その2

データセンターの資料をあれやこれや眺めて、とある大きなセンターへの入居が決まりました。最近の一般的なエンジニアには無縁かもですが、様々なデータセンターの情報が載った資料や、各データセンターの詳細資料は、読んでいるとすごく面白いです。入館時の認証方法から始まって、回線やラック総数、電源容量などなど、つまるところ不動産業なので普段のエンジニアリングとまた違った体感ができます。

ここでの構成はだいぶキレていて、1Uハーフサーバー60台を1ラックに詰め込むという暴君。それを3ラックで180台、を2~3人で運用していました。

明らかに配線や熱の問題でオーバー積載気味でしたが、OSのインストールはラッキング完了と同時に自動的に行われ、OSやミドルウェアの設定も手動で実行するだけで流し込まれるようになっており、ハード面は力技感が強かったものの、ソフト面は当時にしてはかなりスタイリッシュな構成が組まれていました。

考案したのはほぼ相方だったのですが、良い面悪い面ひっくるめてもの凄く勉強になったので感謝しています。また、その後の暗黒期に退職されるにあたって、ほぼ全てを私一人で担当することになったことで、技術力が爆発的に伸びたことで、いなくなったことにすら感謝しています。


ここでの後期には、要件に応じて1U、2Uを用意したり、暴君ハーフサーバーラックが6台にまで増えたりとしていましたが、悪い面を少しずつ改良していき、最後に作った新ハーフサーバーでの1ラックは、なかなかよい出来栄えといえるものになっていました。実験的ではあるものの、XENを使ったプライベートクラウドとして稼働するにまで至っていたのです。

まぁなんといっても、このデータセンター内のサーバーは全て、何かしらハードへの直接的な操作が可能だったことが大きすぎました。SSHだけだと、接続できなくなった場合は現地でコンソールまたは電源ボタンでしたが、IPMIを叩いて再起動したり、サーバーに搭載されたHTTP管理画面でリモートコンソール作業をできるようになったのです。

それらは特殊な機器や、OS用とは別途LANケーブルを必要としましたが、それだけでほぼリモートからなんとかできる、できない時はほぼ機器故障の類だという運用に持ち込めたのは、初期に比べると夢のような環境でした。

教訓『NO MORE 積載過剰』


東京ラスト

現行環境の老朽化と、費用削減などを理由に次なるデータセンターの話が浮上しました。いくつか候補はあったものの、基本的には経営判断により施設が選択されました。これが確か 2010年前後 のことなので、丸9年は運用し続けたことになるでしょうか。

かなり大きな構築と引越になる案件ですが、ある程度のお手伝いはしてもらったものの、基本的な設計・構築・調整・運用はゼロから私が担当しました。今にして思えば、なんであんなモノ作り上げられたんだろう、若さかな。

実験的に運用していたXENを元に考案したもので、USBメモリに親OSを入れ、サーバーに挿すだけでプライベートクラウドと化す代物でした。サーバーがラックマウントされたらリモート操作用のアドレスだけ設定し、あとは会社からホストOSのアドレスを設定するだけ。
ホスト・ゲストOSの管理は、PHPで作った管理画面『天地を喰らう龍(ドラゴン)』。1vCPU の単位は 1d(ドラゴン)でした。こーゆーノリで作ると、良いものが作れるんですよ。

これはこのデータセンターを閉じるまで利用され続けましたし、初期の頃はデータセンター業者の方に説明すると、一緒に何かクラウドの開発やりませんかって誘ってくれたくらい、良い出来栄えでした。

ただ、本当に全てをやりきるのは、それまでの経験から非効率なのはわかっていたので、回線・ネットワーク機器・サーバーまではリースとしてそこまでを責任分界点とし、一部空いているスペースは利用してよい、など柔軟に業者さんと調整していきました。

このとき、担当してくれた相手方のエンジニアさんがすごく優秀な方で、何を提案したり相談してもサクサク応えてくれたので、ある意味今までで一番感謝したエンジニアかもしれません。


出来上がったあとは、前のデータセンターからサービスを移し、全部なくなったら地獄。そう、300台以上のサーバーとラックを撤去して解約するという、恐ろしい作業が待っていたのです。全てをやりきってしまうということは、撤去と処分も含むわけで、これが本当に本当におツラいからこそ、新しい場所では大部分をリースにしたんですね。

その甲斐あって、先日あった最終撤去作業は、そこまで質量的にはなかったようです。中盤からはここの運用は他のエンジニアにお任せしていたので、最終日も特に行かなかったのですが、物理的負債を極度に負わせることはなかっただろう、と思いたい。

教訓『リース最強伝説』


そしてクラウドへ

自前XENを作ってる時は、仮想環境として捉えていて、プライベートクラウドという概念はなかったのですが…… 徐々にパブリッククラウドの利用を開始し、今では複数のクラウドを活用していますし、既に利用をやめたものもあります。

クラウドとオンプレミスの、メリット/デメリットはいくらでもありますが、その中で最も重要な要素はやはり「資産化」だと私は思っています。

機器を資産化するかどうかによって、故障と向き合ったり、古いハードを使い続けるか入れ替えが大変だったり、購入と構築と撤去が大変だったり、という問題がついて回ります。そういった部分を、オンプレと比べてクラウドへ多めの費用を払うことになっても、それらデメリットがなくなるというメリットの費用だとすると、補って余りある価値があります。

何年か前、趣味の自宅サーバーで自慢の Core2Duo ちゃんを、AWS の t2.micro に移行したとき、あまりに爆速になって震えました。CPUって2~3年経つと性能が2~3割増してたりするので、その時々の新しいハードを使えないことは損失という捉え方もできるんですよね。


今でもオンプレでやってる企業もありますし、私も良さと楽しさは知っているので否定するわけではないですが、よっぽどの超大企業でもない限りは、餅は餅屋、サーバーはサーバー屋、サービスはサービス屋が担当するのが、企業にとっても社員にとっても効率的で幸福な時間を過ごせるだろう、と思います。

私としても、素手で長時間ケーブルを触っていると、すぐブツブツが出て荒れるので、マスクみたいに軍手が売り切れるとお仕事にならなくなるので、クラウド様様でございます。


あぁでも、オンプレミス楽しかったな。

もうやりたくないけど:-)