2012年12月7日金曜日

私が田胡研サーバを仮想化したわけ : 序

みんなー!! 文化してるぅー!? 田胡研の超時空シンデレラこと sakura だよ☆ミ

この時点で 「うわっ気持ち悪っ 近寄らんとこ・・・」 って思った人はブラウザ閉じて,ついでにPCも落として,二度とこのブログを見ない事をオススメします.

最近,町がクリスマスじみてきて非常に腹立たしいデスね! (凸守ちゃん可愛い)
私はクリスマスは嫌いですがクリスマスソングは好きなので,この季節になると自室で一人クリスマスソングを聞きながら自らを戒めています. なんなんでしょうね,人生って.


そんなどうでも良い事はさておき,田胡研アドベントカレンダーも 7回目 を迎えました.
本日は私 (sakura) が担当させて頂きます.

テーマは何にしよっかなーって迷ってたんですが 「サーバ仮想化」 について書きます.

みんなプログラミングや Tips のお話を書いているので,万人向けの知識ではないかもしれないけど私は違う路線で行くよ!

※ 予想外に長い記事になってしまったので,前編後編に分けました.


昔のお話


まず,私が田胡研サーバを担当する前は一部ノード (coreserver) を除き,全てのノードは物理ノードに直接 OS がインストールされ,運用されていました.

別にそれが悪いとかそんな事は全くありません

田胡研には何故か「これ普通にサービスの運用に使えるやろ」ってくらいしっかりしたサーバ筐体がいくつか存在します.
そのサーバ群に OS をインストールして使っていたんだから,いたって普通の構成です.

しかし,物理ノードが停止した場合はどうすればいいのでしょうか?
電源やメモリが壊れたなら交換すれば良い話です.
では,OS のインストールストレージ (HDD or SSD) が壊れたら・・・・?


田胡研サーバで運用されている研究室内サービスは,他の研究室に比べてかなり活用されているサービスと言えます.( 研究室内サービス ・ サーバを全て学生が運用しているってのも少ない方です )

これも色々とサービスを作ってくれる "キレイなお尻" でお馴染みの kawa○uray さんのおかげですね.

しかし,あくまで一つの研究室内のサービスを運用する為のサーバ群です.
そんなにハイスペック ・ ハイレスポンスな必要があるでしょうか?

私の考えは 「多少,レスポンスを犠牲にしても運用の手軽さを優先すべき」 という考えです.

「サービスが止まらない」 そんな事は当たり前だろと思うかもしれませんが,結構難しい事なんです.


では,高い可用性を実現する為にはどうすればよいでしょう.

その答えの一つが 「仮想化」 なのです.


仮想化って色々あるよね


そんなこんなでサーバ群を仮想化する事を決めた私.
仮想化と一口に言っても色々ありますよね.

皆さんがパッと思い付くのは次のようなものではないでしょうか.

VMware Player, VirtualBox, etc....

これらはホストOSを必要とする "ホストOS型仮想環境" と呼ばれています.


ホストOS型仮想環境はその名の通り,ホストOSを必要とする仮想環境の事です.
これも立派な仮想化の一つですが,ホストOS上にゲストOSを起動させる為,オーバーヘッドが大きく,ホストOSの分もリソースが必要となります.


そこで,田胡研サーバでは 「VMware ESXi」 (以下,ESXi) という仮想環境を使用しています.

この ESXi は "ハイパーバイザ型仮想環境" と呼ばれ,ハードウェア上で直接動作する仮想環境です.


ホストOSが必要ない為,実行効率が良く,多数の仮想マシンを動かせるという特徴があります.

要するに画像に示したように,すんごく小さなOSが入っていて,その上で仮想的なハードウェアが構築され,さらにその上でゲストOSを動かしてると思ってもらえば良いと思います.

ESXi の場合は本体は約30MB程しかなく,GUIのインタフェースはありません.
ほとんどの操作を "vSphere Client" というソフトウェアで制御します.

ソフトウェアのダウンロードとかは 公式サイト でね.


仮想化によって得たメリット


仮想化によって具体的にどんなメリットを得たのでしょうか.
メリットとしては,色々とありますが次のようなものがあります.

  • テスト環境提供の容易化.
  • 運用コストの削減.
  • 管理ノード ・ コンソールの集約化.
  • バックアップの簡略化.

では,これらについて一つずつ見ていきましょう.


テスト環境提供の容易化


まぁ,よくある 「VM ください」 ってやつです.
仮想化によって,IPアドレスの個数さえ足りてれば,気軽に VM を提供する事が可能になりました.
みんなも一つは持っているかな? 欲しかったら鯖管に一声かけてね.

これによって,開発環境や実験環境の提供が容易になりました.
いちいち "まだ使えるマシンをゴミ置き場から探す" 必要がなくなりました.

週に1度しか使わない実験環境に物理ノードなんて勿体ないでしょ?


運用コストの削減


これは上記の "テスト環境提供・・・" とも関係していますが,物理ノードの数を限定する事でお金の面でコストを削減する事が出来ました. (ぶっちゃけ俺の金じゃないからどうでもいいけど)

ところで,みなさんが保持している VM (開発・実験環境) の平均 CPU 使用率をご存知でしょうか?

大体平均 1~5% くらいです. (一部基地外ノードを除く)

もし物理ノードだった場合,9割以上の時間は CPU を遊ばせているわけです.
だったら,それ相応のスペック (低いスペック) のノードでいいのに!とは思いませんか.

仮想化によって,これらのサーバを VM として一つの物理ノードにまとめる事で,無駄なリソースをなるべく活用出来るようにしました.


せっかく大金を払って買った CPU (ぱそこん) だもん.1命令でも多く仕事させなくちゃ.


管理ノード ・ コンソールの集約化


鯖管はほとんどのノードについて,どういう状態が把握しておかないとなりません.
少なくとも,把握できる手段を用意しておくべきと私はそう思ってます.

何か問題が起きた時に責められるのはどうせ鯖管なのです.


では,物理ノードが5台あった場合の運用を考えましょう.

大体の場合は KVMスイッチ (Keyboard, Video, Mouse Switch) なんかを繋いで一つの画面と入力装置で管理しますよね.

「SSH使えばいいじゃん!」 と誰もが思いますが,どうしても物理的なコンソールでログインする必要がある時があるんです.

例えば,インストール直後とか主にネットワークの設定を行なっている時ですね.
何らかの事故で SSH ログインが出来なくなってしまった時なんかも物理的なコンソールから入るしかないわけです.

ここでは,5台の場合なので KVM で事足ります.


しかし,田胡研サーバ群 (OSSも含む) では現在 約60台 のノードが稼働しています.

それだけのノードを一つの場所に集約して KVM で管理するなんて鳥肌が立つレベルで嫌です.
問題が起きた時だけ KVM ケーブルを繋げばケーブルの数は節約できますが,非常に面倒です.

色々と書きましたが 要するに管理するのが非常にめんどい わけです.

では,ESXi の場合はどうでしょうか.
ESXi では,"vSphere Client" によって次のようなインタフェースが提供されています.


なんという事でしょう.
各 VM の IPアドレス や使用状況が全て見れるではありませんか.

また,この管理画面から (仮想化された) 物理的なコンソールが開けるではありませんか.


こんな感じでみんなのVMの状態が把握できるわけです.

VM にログインする必要すらありません.
なので,root パスが変えられてようが,私のユーザが作成されてなかろうが,そんなの関係ねぇわけです.
( そもそもログインしたければ,レスキューで強制的にログインします )




とりあえず,序の終わりに


ここまで見てきて

「面倒くさがりでヘナチョコなお前が管理しやすいのは分かったけど,サーバの稼働率とかどこが増えてんだよ!逆に ESXi 動かしてる物理ノードが死んだら多くのサービスが死ぬだろうが!」

って思った方.

正解です.その通りです.


ここまでは,"いかに私が楽をするか" を中心に記述しました.
しかし,実際に仮想化によって田胡研サーバが救われた事例はよくあります.

それについては,次回 「私が田胡研サーバを仮想化したわけ : |┃」 でお話します.
( 破,Q は制作の都合上省きます )


最後に.
こんな活字だらけでわかりにくい文章を最後まで読んでくれてありがとう.

たぶん,全く興味ない人も多いだろうけど,次回はメリットとして挙げたけど説明していない 「バックアップの簡略化」 を中心に記述します.

興味ある人は,お楽しみに!
この次もサービス! サービスぅ!!


続きを書きました => 「私が田胡研サーバを仮想化したわけ: |┃

7 件のコメント:

  1. Congratulations. Good blog. Keep sharing. I love them Are you also searching for Coursework help? we are the best solution for you. We are best known for delivering coursework writing services to students without having to break the bank

    返信削除
  2. このコメントは投稿者によって削除されました。

    返信削除
  3. Here in this article, I am going to share with you the 2022 Honda CTX700N DCT ABS Motorcycle Complete guide. visit here : 2022 Honda CTX700N DCT ABS Motorcycle

    返信削除
  4. Nice post
    With its team of expert translators, Malaysiatranslators.com has established itself as a leading translation company in Malaysia. Its commitment to accuracy, cultural sensitivity, and timely delivery has made it the go-to choice for businesses seeking reliable and professional translation services.

    返信削除
  5. Thank you for sharing such wonderful content. Your blog has provided me with valuable information, and I am grateful for the time and effort you put into creating it. Please keep up the great work, as I am eager to read more from you in the future. Thanks again for sharing
    divorce lawyers in virginia

    返信削除
  6. Your blogs are really good and interesting. It is very great and informative. Thank you for reading all the way to the end of this hard-to-understand text. There are probably many people who are not interested at all, but next time I will focus on the "simplification of backup" that I mentioned as an advantage but did not explain divorce lawyers in northern virginia. I got a lots of useful information in your blog. Keeps sharing more useful blogs..

    返信削除
  7. "VM Server is an absolute game-changer! The robust features, seamless performance, and user-friendly interface make it a powerhouse for virtualization needs. Whether you're running a small business or managing an enterprise-level infrastructure, VM Server delivers unparalleled flexibility and efficiency.Morris County reckless driving lawyer
    The intuitive controls and top-notch support ensure a smooth experience, making it the go-to choice for anyone looking to optimize their virtualization environment. VM Server - where cutting-edge technology meets user satisfaction!"

    返信削除