仮想化エバンジェリスト タカハシ氏が語る“仮想化の落とし穴”【第二回】

ネットワークの“落とし穴”


 前回で紹介した通り、ユニアデックスでは、「サーバーが仮想化の落とし穴」という点について、親しみやすい語り口のビデオで紹介するという、ユニークな活動を行っている。今回も、ビデオに出演している同社のバーチャリゼーションエバンジェリスト、高橋優亮氏(タカハシ氏)に、“仮想化の落とし穴”を聞いていく。

 サーバーの仮想化に関しては、まずCPUの処理能力に意識が向くことが多い。が、マルチコア化が進展し、事実上“余っている”演算能力に比べ、ネットワークにはそれほどの余裕がないため、「仮想化してサーバー統合」という話になると、問題が浮上してくることがある。今回は、ユニアデックスと、同社の仮想化エバンジェリストであるタカハシ氏がこれまでの豊富な仮想化システム実装経験から学んだ多数の落とし穴の中から、ネットワークに関するものをいくつか紹介していこう。



「不足する帯域」を解決するには?

タカハシ氏

 仮想化は、事実上「過剰」になってきたCPUの演算能力を効率よく使い切るためには、「1台の物理サーバー上で複数のサーバー・イメージを同時に稼働させるくらいしか使い道がない」、という発想によって普及してきた経緯がある。そのため、何台のサーバーを集約すればちょうど演算能力を使い切れるか、という点については、多くのユーザーが最初から意識する。しかし、仮想サーバーを集約すると、それだけネットワークの帯域幅も拡大する必要がある、という点については、意識から抜け落ちていることも少なくないようだ。

 「当社が手がけるネットワークは大規模な案件が多いので、ネットワーク・インテグレーションはあまりやらない、小規模なSIばかり手がけているような事業者では、気付かずに終わってしまう落とし穴にも、気付くことができている、という面は確かにあると思います」というタカハシ氏の言葉からも伺えるのだが、ネットワークのトラブルは、小規模な構成だとあまり表面化しないことも少なくないようだ。規模を大きくしていくと、どこかでしきい値を超えて大問題になる、というのが、ネットワークのトラブルの特徴だといえるだろう。

 規模が大きくなっても問題が起きないネットワークとは、要は帯域が十分に確保されている、「すごく速いネットワーク」だろう。速ければ問題は出ないというわけだが、現実はそう簡単ではない。

 「現時点ではまだ『1Gbpsで充分』と考えるユーザーさんは珍しくないですが、最初はともかく、将来の拡張時に10Gbpsに移行する可能性は考えておくべきでしょう。ブレードサーバーでは集約率が上がります。仮想化した場合、例えば『あるアプリケーションを実行している仮想サーバーには帯域が700Mbpsあれば充分』だったとしても、このサーバーを仮想化して4台分を1台の物理サーバーに統合すると、それだけでもう1Gbpsの帯域では不足してしまいます」(タカハシ氏)。

 ある意味単純な足し算なので、この状況は容易に想像できる。

 では、どうやって解決すればいいだろうか?

 「アクセスのピークを上手くズラす、という工夫をすればギリギリ運用できるかもしれないですが、その場合は逆に、運用にノウハウが必要になってしまいます。15時くらいにピークがくるアプリケーションがあって、こっちには朝9時にピークがくる認証アプリケーションがあって、という状況なら、同じ物理サーバーに集約しても大丈夫でしょう。しかし、日常運用に加えて、『ハードウェアの保守のために一度止めます』という計画停止も企業ではよくあります。この際は、ライブマイグレーションで別の物理サーバーに移動すればいいのですが、『この物理サーバーに移動してはいけないんだった。ピークが当たってダメだった』ということにならないように、よく考えて移動しないといけないわけです」

 仮想化は、サーバーの利用効率を向上させ、ハードウェア・コストを軽減できる技術だが、仮想化することによって運用管理の負担が重くなるようだと、コスト削減効果も怪しくなってしまうわけだ。技術力の高い運用管理担当者を雇用するのは、ハードウェアを購入するより高くつくことになるため、これでは本末転倒だろう。

 「ネットワークを10Gbps化し、さらに複数回線を束ねて数十Gbpsの帯域幅を確保しておけば、何も考えなくてもとりあえず問題にはなりませんから、高速なネットワークを導入することで運用負荷を下げられます」(タカハシ氏)というわけで、楽をするためには“ネットワークは高速な規格を選んでおく”ことが1つのポイントになるわけだ


互換性の問題が足を引っ張ることも

 しかし、それだけでは別の問題に繋がる可能性もあるという。ネットワークの帯域を拡大するには、ネットワークポートを増設することになるが、ここではハードウェアの互換性問題に当たることもあるそうだ。

 「事前の検討でサーバー本体に標準装備の4ポートでは全然足りない。8ポート必要だろうということで、2ポートのNICを2枚増設することにしたんですが、なぜか6ポートしか使えませんでした。当然、事前にHCL(ハードウェア互換リスト)は確認し、サポートされているNICを追加したんですが。ハイパーバイザーのメーカーに問い合わせてみると、サポートしていないという。実は、サーバー自体は対応していても、ネットワークポートは対応していなかったんです」。

 「本体に標準搭載されている4ポートのうち、2ポートはマザーボード標準、2ポートは追加で載ったコントローラチップに接続されているんですが、マザーボード標準のコントローラがハイパーバイザーから認識できないらしくて。結局、さらに2ポートのNICを1枚追加して回避しましたが、サーバーの拡張スロットがNICだらけになってしまいました」(タカハシ氏)ということもあったそうだ。

 HCLに記載されているデバイスであっても、あらゆる構成で必ず動作するとは限らないわけだ。こんなところにも、落とし穴が潜んでいるのである。


「過剰なケーブル」をなくすために

 ネットワークの帯域を確保していく際には、別の問題も発生してくる。それは、仮想化を使っていなかった時とは比較にならないほど、大量のケーブルが1台の物理サーバーに集中するようになるという問題だ。タカハシ氏は、この問題をわかりやすくビデオで取り上げている。

 ビデオで紹介された例では、5通りの用途に対し、それぞれ二重化を行って計10本のケーブルが物理サーバーに接続されていた。しかし、前述のようにアプリケーションにアクセアスするための帯域が不足するとなると、ここにさらにケーブルを追加して帯域を拡大しなくてはならないことになる。大量のケーブルは運用管理作業の障害にもなる上、エアフローを妨げてしまうことで熱問題を引き起こす可能性もある。この問題に対する解決策としてタカハシ氏が注目しているのが、FCoE(Fibre Channel on Ethernet)などの、ケーブルを統合してしまう技術。それを採用している代表的な例としては、CISCOが投入したUCS(Unified Computing System)がある。

 「UCSでいちばんいいと思っているところは、デザイン・ストラテジーです。そのデザインは、ネットワークにフォーカスしています。ただ、そこでネットワークといっているのは従来のEthernetではなく、I/Oという観点でとらえ直されています。つまり、『サーバーのI/Oはすべてネットワークだよね』ということで、SANだろうとEthernetだろうと、このネットワークをどうしたら仮想化の環境で最適化できるか、という点に主眼を置いてデザインされています」(タカハシ氏)。

 仮想化環境によって新たに引き起こされる問題を突き詰めて考えていくと、最終的にはサーバーのアーキテクチャそのものにも変更を加える必要があるということになるだろう。現在は、FCoEとして、ストレージのためのFC-SANも10Gbps Ethernetを拡張したものの上に統合しようという動きが始まっている。タカハシ氏は現時点でFC-SANをFCoEに置き換えるのは時期尚早と見ている(詳しくは次回に紹介する予定)が、10Gbps Ethernetの採用には前向きだ。

 「UCSでは、Ethernetに対して“Data Center Bridging”というテクノロジーを提案し、“ロスレス”というサービスクラスを出しました。要は、『フレームが落ちない』『順番が変わらない』ということ。FCのロードマップも8Gbps、16Gbps、32Gbpsとプランはされているけど、本当に出てくるのかは疑問もありますし、Ethernetのイノベーションに負けちゃうんじゃないのかなとも思います。そうすると、統合か集約か、という方向は今から見据えておいた方が良いのかなと」(タカハシ氏)。

 現時点でFC-SANをFCoEに統合するのはリスクが高いが、将来はそうなる可能性を念頭に置いて準備した方がよいということだ。

 タカハシ氏は、この問題について、「10Gbps Ethernetのバックボーンを準備しておき、いつでもSANをそこにぶら下げられるようにしておく。とりあえず、10Gbpsのネットワークを引いておけば、ストレージはNFSやiSCSIを使っても相当なパフォーマンスが出ます。『“10GbpsのバックボーンにData Center Bridging”というのは問題ないので、まずここまでは引いておこうよ』というのが今日現在の提案ですね」と話す。

 また、『4Gbpsを超えるWebサービス構築術』という本が出版されていることを踏まえて、「現在は、サーバーが4Gbpsというスループットを出さなくてはいけない時代になった」という。さらに続けて、「われわれの実感としても、DBサーバーやちょっと大きな企業の認証サーバー、シンクライアント/デスクトップのVDIサーバー、あるいはファイルサーバーなどでも、1Gbpsなんて簡単に飽和しちゃうんですね、今は。1Uサーバーでも1Gbpsが飽和してしまうような状況でサーバー統合を実行すると、かなり気をつけて運用しないといけないデリケートなサーバーになってしまう」と、ネットワーク帯域の重要性を強調していた。。

 仮想化を検討する場合には、現在の物理ハードウェアのリソースのうち、仮想化して共用しても問題ないだけの余裕のあるリソースは実はプロセッサの処理能力だけで、そのほかのメモリやネットワーク帯域は、統合する仮想サーバーの数に応じて増強する必要があるかもしれない、という点は意識しておくべきだろう。

 なお、ユニアデックスが公開しているビデオ、仮想化の落とし穴と脱出法 -the Movie-では、このほかにも仮想化で増えるケーブルの問題、vSwitchの問題などをビデオで分かりやすく解決している。“ネットワークの落とし穴”に興味があれば、そちらをご覧いただくのもいいだろう。

 次回は、タカハシ氏が特に重視する「ストレージ」周りの落とし穴を紹介する予定だ。



(渡邉 利和)

2010/4/26/ 11:30