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

ストレージの“落とし穴”


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

 最終回となる今回は、ストレージにまつわる落とし穴についてタカハシ氏に聞いてみた。仮想化に取り組むに当たって「ストレージだけはケチっちゃだめ」と語るタカハシ氏だが、その真意はどこにあるのだろうか。



ストレージは最初から「ケチっちゃだめ」

タカハシ氏

 ITシステムにとってストレージが重要なことくらいあらためて指摘されるまでもなく当然分かっている、という読者も少なくないだろうが、仮想化におけるストレージは何よりも重要なデバイスとなりうる。

 「仮想化の良いところは、従来の物理的なハードウェアとしてのサーバーが『データの塊』に変わるところ。つまり、OSのインストール・イメージとコンフィグレーション・データからなる『仮想サーバー・イメージ』に置き換えられるわけです。データの塊は物理ハードウェアよりも扱いやすいわけですが、ではそのデータの塊はどこにあるか、といえば、当然ながらストレージです」とタカハシ氏は指摘する。

 仮想サーバーの起動から終了まで、ストレージには常にアクセスが連続する。パフォーマンスの劣るストレージを使っていれば、仮想サーバー群すべてのパフォーマンスに影響を与えるし、万一ストレージがダウンしてしまうようなことがあれば、全仮想サーバーが同時に全滅してしまうことだってありうるわけだ。サーバーの仮想化、ということでサーバーの処理能力に目が向きがちではあるが、実のところシステム全体の性能を左右してしまう最重要コンポーネントだというわけだ。

 「仮想化に取り組むときには、サーバーの選定も大事ですが、最初に考えなくてはならないのはストレージ周りなんです。ストレージの玉(HDD)にどういう玉を使ってどう配置するのか、SANをどうやって設計するのか、MTBF(平均故障間隔)やSLA(サービス品質保証)をどうデザインするのか。これが仮想化データセンター全体の品質とパフォーマンスを決めてしまうんです。『ストレージは後で交換が利かない』とまでは言いませんが、エラく高く付くので、『最初からケチっちゃだめだ』と言っています。」とタカハシ氏は続ける。

 さらに同氏は、拡張時のことについても事前に十分検討しておくべきだという。現在、ある程度規模の大きなITシステムを運用しているユーザーは、1Uのサーバー増殖(スプロール)に悩まされる「1Uサーバー・スプロール・モデル」に陥りがち。これが、仮想化の導入によって「仮想サーバー・スプロール・モデル」に変わるのだという。当然ながら、追加の容易さとしては仮想サーバーの方が圧倒的に上で、結果としては従来の1Uサーバーとは比較にならないペースで仮想サーバーが増加してしまうことも珍しくないのだ。

 仮想サーバーの増加は結果としてストレージ使用量の増加につながり、「あっという間にストレージがパンクする」ことになる。これはある程度は避けられない展開なので、だからこそ最初の段階で将来の容量拡大について考慮しておく必要があるわけだ。しかも、単に容量が増やせればそれでいいという単純な話ではない。「ストレージを拡張する際にちゃんと無停止で可能なようにデザインされているのか? あるいはシステムをいったんすべて止めることが許されるのか? あるいは、拡張作業中にもSLAを維持できるのか? といった点まで考慮したデザインが必ず必要になってきます」とタカハシ氏はいう。


仮想化環境ならではの落とし穴

 ストレージ関連で意外なトラブルにつながった例としてタカハシ氏は、Linuxサーバーでの経験を語ってくれた。

 「仮想サーバー上で運用していたLinuxサーバーが落ちてしまいました。どうも、OSのブート・シーケンスの途中で障害が発生しているようなので、ログを見れば詳細な情報が得られそうだ、というところまでは分かりました。しかし、この仮想サーバーはVMwareのVMFS上に作られていたので、ログファイルは『MVFS上に格納されたEXT3ファイルシステムに書きこまれたファイル』ということになります。仮想サーバーを起動すればもちろんEXT3ファイルシステムにアクセスできますが、仮想サーバーを起動してしまうと、ブート・シーケンスの途中でログファイルが上書きされてしまい、情報が消されてしまいます」という状況に陥ったそうだ。

 物理サーバーの場合、HDD上のファイルを読み出すために、HDDを取り外して別のサーバーに接続することで強引に内容を読み出す手もあるが、仮想サーバーの場合はHDDもまた仮想化されているためにアクセス手段も制約されることになる。これは、ストレージの問題と言うよりは仮想化ソフトウェアの仕様の問題ではあるが、ストレージに関連する意外な落とし穴であることは間違いないだろう。

 また、バックアップ/リストアに関してもさまざまな落とし穴があるようだ。ハイパーバイザーのレベルからは、仮想サーバーが利用する仮想化されたディスク領域を1つのファイルとして扱うことができるため、バックアップは単純なファイルコピーとして実現できる、と言われることもあるが、常にそうとは限らない。

 「VMwareの場合、バックアップは内部的にはまずスナップショットを作成し、次いでそのスナップショットをコピーする、という形になっています。また、バックアップの場合には『ほかにスナップショットがないこと』という条件が付くので、世代管理でたくさんのスナップショットを作っていた場合には、まずスナップショットの全世代をマージするという作業が発生します。スナップショットのマージは、1世代なら速いんですが、世代数が増えると急激に時間が延びるんです」(タカハシ氏)

 こうした問題は、運用のスタイルによってはまったく遭遇しないユーザーもいるわけだが、いざ遭遇すると途方に暮れてしまうだろう。いつでも任意の時点のシステム状態を復旧できるようにこまめにスナップショットを保存しているユーザーの場合、バックアップのために1日分のスナップショットすべてをマージするために10数時間掛かる、という状況に陥ったこともあるそうだ。システム規模によっては、「1日分のバックアップを取るのに1日以上掛かる」ということになると、システムとしては完全に破たんしていると言わざるを得ないだろう。

 大容量のバックアップ・システムを適切に設計するのは、仮想化を使わない場合であっても難易度が高いとタカハシ氏は語る。

 「小規模環境での運用経験しかない人が後付けで『バックアップもしなきゃ』ということで取り組むと、容量が大きいことに起因する問題を見落としてしまい、後で苦労することが結構あります。さらに仮想環境となると、問題の複雑度が1.7倍くらいになります。仮想化をするかしないかにかかわらず、お勧めとしては『データ・バックアップはちゃんと設計しましょう』ということです」。


FC-SANが無難だが、ヘテロは避ける

 ストレージに関するタカハシ氏の推奨環境は? と聞いても、これは当然ながらユーザーごとに要件がマチマチなので、1つに絞れるわけではない。とはいえ、一般論としておおむね無難だろうという構成について半ば無理やり挙げてもらうと、多くのユーザーが選ぶ環境としてFC-SANが一般的だが、予備機としてまったく異なるストレージを混在させるなどのヘテロ環境はできれば避ける方が安全、という指針を与えてくれた。

 災害時の事業継続性などを考えて、予備サイトを用意するような場合、プライマリのストレージと同一のストレージを予備として確保するのは予算の面から避けたいという要望は珍しくはないだろう。むしろ、これまで利用してきた旧機種を予備に回し、プライマリ用に最新モデルを導入する、といったやり方が珍しくないと思われる。ただ、こうした構成は不可能というわけではないのだが、意外な落とし穴に落ちることもあるそうだ。

 「単純なファイルコピーで予備サイトとのデータ同期が実現できないか、という要望があったので試してみたところ、予備サイトでは仮想化ソフトウェアからストレージ上の仮想ディスクイメージがまったく認識されなくなったというトラブルが起こったことがあります」(タカハシ氏)。

 この例では、ディスクラベル(シグネチャ)の違いによって、仮想化ソフトウェアが同じデータだと認識できなかったのが原因だったそうだ。こうした問題は、仮想化ソフトウェアのバージョンアップによって解消される場合もあるが、逆にバージョンアップによって従来できていたことができなくなるような例もあるそうで、試してみるまで分からない部分がかなりあるという。

 「最近は仮想化ソフトウェアもかなり成熟してきており、たいていのケースでは事前の予測通りに動作します。が、事前の検証は絶対怠っちゃだめです」と、タカハシ氏は力説する。これこそが、仮想化における最重要アドバイスと言えるだろう。

 タカハシ氏は、現時点で主流のFC-SANも将来的には新しい技術に置き換えられていくと見ている。「FCでつなぐ以上、『サーバーからはSCSIデバイスに見える』という制約からはどうやっても逃れられない部分があり、動的に容量を拡張したときに、その動的な拡張部分にハイパーバイザやOS側が付いてこられないとかの問題ももあります」という。

 このため、シン・プロビジョニングを重視するユーザーは、ストレージにあえてNFSを選択することもあるという。また、iSCSIはFC-SANの廉価版といった位置付けで見られており、あまり積極的に選ぶユーザーはいないそうだが、ユニアデックスで検証した際には、「軽負荷環境ではびっくりするほど高速だった」という結果も出ているようだ。現在は、DRサイトなどの遠隔サイトへのデータコピーを必要とするユーザーが導入を検討することが大半だというが、「iSCSIはもっと使っても良いのかも、と思い始めています」とタカハシ氏はいう。

 ストレージに関しては、結局のところシステムの土台を支える部分であるだけに「冒険はしにくい」という事情があり、目の前のシステム構築に関しては枯れた無難な技術を選ぶ、という結果に落ち着くようだ。ただし、タカハシ氏やUNIADEXのエンジニアは先の技術動向も見越し、機会あるごとにさまざまな検証を行っているのも事実だ。

 仮想化エバンジェリストは、タカハシ氏自身の表現を借りれば「楽園に到達する前に通過しなくてはいけない危険なジャングルを安全に歩くためのガイド」だということになる。ただし、このガイドは単に今いる場所の周囲の落とし穴の場所を熟知しているだけにとどまらず、『そもそもどちらに向かって進むべきか』という大きな方向性についても正しく案内してくれると期待できる。仮想化環境への移行を実現するためにはそれなりの投資が必要となるが、最小限の投資で最大限の効果を得るためにも、有能なガイドに案内を頼んでみることを検討してみてはいかがだろうか。




(渡邉 利和)

2010/5/10/ 11:30