Forkwell Press

SHARE

まつもとりーのインフラ入門
Event report

#01 インフラとの出会い・興味を持つに至った理由

さくらインターネット研究所の上級研究員、京都大学博士(情報学)、複数社の技術顧問。インターネット技術に関するミドルウェアからOS辺りの研究開発やエンジニアリング、組織整備や組織文化醸成、EM、PdMも専門。2018年 Forkwell技術顧問就任。

本連載では、主にインターネット基盤技術、または、インターネットのインフラ技術と呼ばれる領域に関して執筆していきます。対象とするインフラ技術の領域は、Linuxを前提に、セキュリティ、性能、リソース管理、マルチテナンシー、運用技術といった話題について触れる予定です。特に連載後半では、最近話題になってきているコンテナ技術やデータセンターとOSの未来についても言及していきます。

今回は連載の最初ということで、まず執筆者自身の自己紹介と共に、インターネット基盤技術のようなインフラ技術に取り組むようになったきっかけを紹介したいと思います。

連載一覧:まつもとりーのインフラ入門

第01回 インフラとの出会い・興味を持つに至った理由
第02回 WebサーバとWebホスティングシステム 01
第03回 WebサーバとWebホスティングシステム 02
第04回 高集積マルチテナントアーキテクチャのリソース分離 01
第05回 高集積マルチテナントアーキテクチャのリソース分離 02
第06回 高集積マルチテナントアーキテクチャのセキュリティ 01
第07回 高集積マルチテナントアーキテクチャのセキュリティ 02
第08回 高集積マルチテナントアーキテクチャのセキュリティ 03
第09回 高集積マルチテナントアーキテクチャの運用技術 01
第10回 高集積マルチテナントアーキテクチャの運用技術 02

パソコンとの出会い

2003年に大学入学後、それまでほとんど触ったことがなかったパソコンを親に買ってもらいました。当時、わたしが情報工学科に入学したこともあり、一人暮らしをしていたのですが、パソコンぐらいは家にないとダメだろうということで買ってもらったことを覚えています。

逆に言うとそれぐらいパソコンやインターネットにはそれまでは興味がなくて、高校時代には実家にあったPCで侍魂を読んで大笑いするぐらいの使い方しかしていませんでした。

2003年頃は、ちょうど自作パソコンが流行りだした時期でもありました。自作パソコンといってもわたしの場合、当時は性能を追求するというよりも、普通に買うと20万のパソコンが3万円で作れる!みたいな本がたくさんあり、得じゃん、と思ってやってみようと思ったのがきっかけでした。

当時のわたしが取り組んでいた自作パソコンは、CPUやマザーボード、メモリ、HDD、電源、ケース等を自分で選択して購入し、それらを家でプラモデルのように組み立てるといった程度のものでした。そうやって自作パソコンを一つ作ると、当然ながら既にあるパソコンが余ってきます。

そもそも、高いパソコンが安く使えるという動機で自作パソコンを作ってみたこともあって、そうやって余ったパソコンをどう活用するかということに頭をひねるのも、当時あまりお金のなかった自分にとっては自然な流れだったように思います。

家にある複数のパソコンを捨てることなく何かに活用しよう、と考えて調べていくと、何やらまた自宅サーバと呼ばれる遊び方があることに気づきました。

自宅サーバを作れば、なんと無料でメールが自分で送受信できたり、自分のウェブサイトを持てたり、カッコいいドメインを持てたり、サーバ内をブラウザから検索するようなことができたりする、みたいな情報を得て、早速ウェブサイトの内容を参考にしながらサーバ構築をおこないました。

そうするうちに、パソコンが足りなくなってあれよこれよとソフマップに行って中古のパソコンや玄箱を買っているうちに、気がつけば10台近くのパソコンが常時自分の部屋で動き続けるようになりました。小さなデータセンターですね。当時はVine Linuxの4.0だったり、Fedora Core 3、FreeBSD、Windows Serverなどを動かしていました。

常にパソコンが動いているので部屋の温度は常に高く暑いので、朝から晩までエアコンを回して、気がつくと夏だけでなく秋も冬もずっとエアコンをつけっぱなしにしていました。さらに、エアコンでも夏にはなかなか温度を下げられなかったので、PCケースを外して裸のままにしたり、色々な工夫をしていきました。

当時の写真が以下のように残っていました。


全てがむき出しですね。一応これでも拡張性を良くするために配置していたのでした。これでよく火事にならなかったなと今見るとヒヤヒヤしますね。

インフラ技術との出会い

このようにたくさんパソコンやHDDを常時動かしていると、定期的に異常が発生して壊れたりします。こういう故障をどうやって検知すれば良いか、と考えていたときにサーバの監視や運用技術について知ることになっていきます。

そこで、インターネットを調べるがままに、各サーバにMRTGやNagiosをいれて監視したり、何か異常があったらメールで自分の携帯電話に通知するようにしたり、さらにはトラフィックも監視して、ポートスキャンのようなProveや、DoS攻撃等があったらログから異常を検知して通知したりしました。

さらにその活動はエスカレートしていき、アプリケーションのログに残らないようなトラフィックもあるのか、よーし、とか思って、当時大学から借りたSummitという異様に大きい紫色のスイッチにミラーポートを設定してtcpdumpでトラフィックを回収し、回収したトラフィックを時系列データにしたり、次元を圧縮して可視化、異常を検知するようにしました。それがそのまま、学部時代の研究にもつながっていきます。

当時の自宅の監視環境の写真も出てきたので紹介します。


画面にはNagiosの監視画面だったり、MRTGによるトラフィックグラフ、各サーバにsshでログインした後のtopコマンド実行画面だったり、WindowsサーバのCPUの情報等が表示されています。
これらは完全に趣味としてやっていました

また、当時のアラートメールに対する対応メモも以下のように出てきました。内容はともあれ、なんかそれらしいことをしている様子が伺えますね。

2007-04-02 (月) 2:02

外で用事があって夜帰ってきてメールチェックしようとしたらIMAPでエラー。

エラーのためにWEBメールを見ることができない。

どうも、maillogをみてるとimapにログインすることができてない様子。

ってことは、squirrelの方に問題があると思うが特に問題見あたらず。

maillogでさらに違う発見。

サーバのエラーを受信するアカウントに200以上ものメールがrootから届いている。

というわけで、作業開始。

見るとcronで5分起きに動かしているMRTGでエラーがでてる。

しかも、出てる内容はlm_sensorで取得している値以外のものと判明。

そういや、昨日hostsファイルを適当に弄っていたことを思い出す。

調べてみると、どうもlocalhostを127.0.0.1に解決することができてないみたい。

とりあえず、その解決を直してみたが、即座に反映されなかった(なぜだろう、要追跡)ので、MRTGのcfgファイルのlocalhostの部分を全て127.0.0.1に直し、snmpd.confも127.0.0.1に変更。

そしてWEBメールのログインエラーもそこが問題だとわかり、squirrelのサーバー設定でサーバーをlocalhostから127.0.0.1に変更。 snmpdを再起動して、手動でMRTGのグラフ作成コマンドを打ったところエラー出ず、OK。

ローカル内からブラウザでWEBメールにログイン、成功、OK。 とりあえず、大量のエラーメールを削除して、一応サーバーを再起動してみてもう一度チェック、OK。

重要なメールが来た りする時期なのでちょっとあせったが、サーバー事態は問題なく、むしろそのデータを取り出すところで問題が起きてたために、データ等は問題ないようだ。

hostsファイルを適当に弄るのはやめましょうってことですね。

趣味でやっているにしては随分会社での運用業務のようなことをやっているようでした

他にも、自分が読みたい掲示板に自動的にアクセスして掲示板の情報を収集して、それが大量になってきたのでNamazuでindexをつけて検索できるようにしたり、ファイルやデータをスクリプトで解析してデータベースに自動でrestoreしていき、それをブラウザから当時はAjaxと良く言われた時期でもあったので、ブラウザ遷移なく検索を表示できるようにしたりしていました。

もちろんこのあたりは外に公開するわけでもなく、自分の家のローカル環境で、できたできたとニヤニヤしながら、実際の掲示板を読むことなく、システムの挙動自体が嬉しくて眺めていたことを覚えています。そういえば、よくバーボンハウスへようこそと言われていた記憶もあります。

このように、全くパソコンやインターネットに興味のなかった若者が、当時普通のパソコンを買うにはお金が無いという理由で、パソコンを色々工夫して遊ぶようになり、少しずつやりたいことが増え高度になっていくに従って、気がつけばこの領域で15年たった今でも研究開発をしたり、自分のこの技術力でお金を稼いだり、論文を書いて国際会議で発表するようになっていました。

10年以上前のこの当時を振り返って思うことは、学生でありながらも何かをテーマにして、人にやらされることなく楽しみながら、問題があったらそれを後回しせずになんとか解決してみようと取り組んでいった結果、もっとおもしろいことを知るということに繋がっていき、それが新たな楽しみへと出会うきっかけになっていったのではないかと思います。

ということで、わたしがインフラ技術に興味を持ち、のめり込んでいった話を紹介しました。次回以降は、もう少し技術的な内容に踏み込んで、まつもとりーのインフラ入門としてインフラ技術について紹介していきます。

リファレンス

本連載は下記の私が執筆した論文を参考に、新しい読者へ広めるために平易な形へと再編集しています。

・ 松本 亮介, 栗林 健太郎, 岡部 寿男, Webサーバの高集積マルチテナントアーキテクチャと運用技術, 電子情報通信学会論文誌B, Vol.J101-B, No.1, pp.16-30, Jan 2018.

・ copyright©2018 IEICE

(記事:松本 亮介)

まつもとりーさん画像

まつもとりー

Follow

さくらインターネット研究所の上級研究員、京都大学博士(情報学)、複数社の技術顧問。インターネット技術に関するミドルウェアからOS辺りの研究開発やエンジニアリング、組織整備や組織文化醸成、EM、PdMも専門。2018年 Forkwell技術顧問就任。

さくらインターネット研究所の上級研究員、京都大学博士(情報学)、複数社の技術顧問。インターネット技術に関するミドルウェアからOS辺りの研究開発やエンジニアリング、組織整備や組織文化醸成、EM、PdMも専門。2018年 Forkwell技術顧問就任。

SHARE

目次

目次