ソフトバンクテレコムは2008年4月23日,東京と大阪にある2つのデータセンターの災害時バックアップを,数種類の仮想化技術を組み合わせることで自動化する実証実験を行ったと発表した。一方のデータセンターのサーバー環境が災害でダウンしたという想定で,自動的に別のデータセンターでアプリケーションの処理を継続できるようにする基盤技術を検証した。処理の切り替えに要する時間を2分程度に抑えられたという。

 今回,2拠点間のディザスタ・リカバリのために用いた仮想化技術は,大きく3つある。まず(1)米VMwareが開発したサーバー仮想化ソフト「VMware Infrastructure 3」(仮想化ソフトのESX Serverや統合管理ツールのVirtualCenterなどで構成)である。アプリケーションを実行するサーバーを仮想化し,仮想サーバー同士でハート・ビートによる稼働状況監視と自動リカバリを行った。

 次に(2)米DataCore Softwareが開発したストレージ仮想化ソフト「SANmelody」である。それぞれのデータセンターにあるストレージ(仮想サーバー・イメージなどを格納)を単一イメージのものとして仮想化し,相互に同期させた。もう1つは(3)米Xsigo Systemsが開発したI/O仮想化装置「Xsigo VP780」。サーバーからストレージ/ネットワークへのI/O処理を仮想化し,障害発生時のI/O経路を動的に変更できるようにした。Xsigo VP780には,今回の検証で使用したすべてのサーバー,ストレージ装置,ネットワークが接続されている。

 東京と大阪の2拠点間は,両拠点に設置したI/O仮想化装置のXsigo VP780同士を,10Gビット/秒の光ネットワークSONET(OC-192)でWAN接続した。Xsigo VP780同士はサーバー間インターコネクト向けネットワーク規格のInfiniBand経由で接続することで互いのI/Oをバックアップし合う2重化構成が可能だが,今回はInfiniBandを用いた2台のXsigo VP780の接続経路にSONETを挟み込んだ。InfiniBandプロトコルをSONETに流すメディア変換ブリッジとしては,米Bay Microsystemsの製品を採用した。

 そもそもXsigo VP780とは,サーバー機のI/O接続インタフェースを仮想化する専用装置である。10ギガビット・イーサネット・カードや,FC(FibreChannel)用HBA(ホスト・バス・アダプタ)などのような,通常であればPCI-ExpressなどのI/Oバス経由でサーバー機に直結しているネットワーク接続/ストレージ接続I/Oを,サーバー機から分離して仮想的に使えるようにする。サーバー機とXsigo VP780との接続にはInfiniBandを用いる。サーバー側には専用のデバイス・ドライバを導入することで,Xsigo VP780に接続したI/O機器を,あたかもサーバー機のI/Oであるかのように扱える。

 Xsigo VP780の機能のうち,今回の実験によって重要な役割を果たしたのは,2台のXsigo VP780同士が,仮想I/Oをバックアップし合えるという機能である。片方のXsigo VP780に直結したサーバー機は,通常時は自身が直結しているXsigo VP780配下のI/Oにアクセスしているが,このI/Oが故障した時などには,別のXsigo VP780配下のI/Oを,あたかも自身のI/Oであるかのようにアクセスできる,という機能だ。今回の実証実験のように,2台のXsigo VP780を遠隔拠点に分散すると,他エリアのI/O接続機器をローカル・マシンのI/O接続のように利用できるようになる。

 今回の実験環境では,Xsigo VP780に対して,仮想サーバーのプラットフォームとなるVMware ESX Serverを動作させる物理サーバー機と,ストレージ仮想化ソフトのSANmelodyを稼働させたサーバー機(仮想サーバー・イメージの読み出し元)を,ともにInfiniBandで接続した。さらに,Xsigo VP780を経由して使用可能なI/Oとして,10ギガビット・イーサネット・カードと,FCのインタフェース・カードを装着した。FCの先にはSANストレージを直結し,10ギガビット・イーサネットの先にはiSCSIのヘッドと,そのさらに配下に各種のストレージを接続した。

 実験のシナリオは,以下の3つである。いずれも片方のデータセンターにおいて,(1)VMware ESX Serverを動作させた物理サーバー機と,ストレージ環境の電源を断つ。(2)Xsigo VP780配下のI/Oを停止させる。(3)物理サーバー機,ストレージ,Xsigo VP780のすべてを停止させる。

 サーバーを停止させた(1)と(3)の場合,別のデータセンター側ではハート・ビートによって障害を検知し,自動的に仮想サーバー・イメージをストレージから読み込んで起動した。システムに障害を発生させてから仮想サーバーが起動するまでの時間は約2分だったという。一方,Xsigo VP780配下のI/Oを停止させた(2)の場合,10秒ほどで別のデータセンターのXsigo VP780配下のI/Oへの切り替えが完了したという。