<<前編

選択2 VMwareESX Server

 VMware ESX Serverは主要なLinuxやWindowsが利用できることが特徴だ。東京電機大学は約60台のサーバー(Solaris)を7台(Linux)に統合。ファイザーは220台のサーバー(NT 4.0)を12台(同 2003)に統合した。

 山陽電気鉄道は2005年春,サーバー機の老朽化に伴い,NT 4.0の延命に迫られた。同社がVMwareを選択した経緯を見よう。

 NT 4.0上で動いていたのは,乗務員の勤怠管理,鉄道やバスの運賃管理など,西暦2000年問題を機に再構築したオープンシステム。NT 4.0上でOracle 7.3.4を稼働させていた。「稼働開始から5年あまりが経ち,サーバー機(NEC EXPRESS 5800/130RPRO)の故障が目立ってきた。保守部品の手当てが難しくなってきたので,リプレースを検討しはじめた」(プロジェクトを推進した,山電情報センター システム事業部 課長代理 大崎邦彦氏)。

 当初はサーバー機を単純にリプレースしようと考えた。しかし,2005年春の段階でNT 4.0が動くマシンは無かったという。次に考えたのは,NT 4.0をWindows Server 2003にバージョンアップすること。

 しかし,Windows Server 2003ではOracle 7.3.4の稼働が保証されていなかった。Oracleをバージョンアップすれば済むが,既存のアプリケーション(ストアド・プロシージャ)の稼働を検証するコストが無駄だと考えた。そこで,VMware ESX Serverを使いNT 4.0を延命することにした。基幹系で実績があったことが採用理由だ。もう一つ,「仮想サーバーへの移行支援ツール」が存在したことも,採用を後押しした。

移行ツール頼みでは苦労もある

 物理サーバーを仮想サーバーに移行するためには,仮想サーバー用のブートイメージを作成する。この作業を支援するのが移行支援ツールである。 VMwareは,「P2V Assistant」の後継製品「VMware Converter」を2007年に入って出荷した。Microsoftは,「Virtual Server移行ツールキット(VSMT)」を無償提供している。

 山陽電気鉄道は,米PlateSpinの「PowerConvert」を利用した(図1)。PowerConvertは,物理サーバーのバックアップ・データから,移行先の仮想サーバー用のブートイメージを作成する。同社は2005年12月から,PowerConvertによる移行を開始した。ところが,PowerConvertが作ったイメージで仮想サーバーが立ち上がらない現象が発生した。「物理サーバーのHAL(Hardware Abstraction Layer)がMultiProcessor仕様なのに実際のCPUが一つの場合に,仮想サーバー用のHALが正しく構成されなかったようだ」(システム事業部 主任 衣笠浩平氏)。この問題は,手作業でHALを調整して対処した。

図1●仮想サーバーへの移行支援ツール
図1●仮想サーバーへの移行支援ツール
サーバー統合などを行う場合,元のサーバーのイメージを吸い上げ,仮想サーバー用に設定変更する。移行支援ツールを使えば,こうした一連の作業が自動化できる。図は,米PlateSpinの「PowerConvert」の例

 先のアステラス製薬も移行ツールでつまずいた。「VSMT」を使ってVirtual Serverに移行する計画だったが,ツールがうまく動かなかった。そこで,仮想サーバー上にOSやパッケージ・ソフトを導入した後にデータをコピーするなど,手作業で移行した。

 こうした失敗は,作業時期が2005年などであり,まだ移行ツールが未熟だったと考えられる。ただし各社の経験から,移行ツールの過信は禁物,と言える。VMwareのインテグレーションで実績がある,ネットワールドの渋谷一郎氏(SI事業本部 ブラットフォームソリューショングループ次長)は,「特に,Windows NTに対して移行ツールを使うときは,移行元のサーバー機が古いので,デバイス・ドライバの問題でうまくいかないケースがある」と注意を促す。

サービス停止をVMotionで避ける

 VMwareは,稼働中にある仮想サーバーを別のサーバー機に移動する「VMotion」と呼ぶ機能を提供している(図2)。これを使っている多くのユーザーが「便利な機能」と口をそろえて評価する。

図2●仮想サーバーを別のサーバー機に移動する機能
図2●仮想サーバーを別のサーバー機に移動する機能
仮想サーバーを稼働させたままの状態で,別のサーバー機に移動できる。これにより,例えばパッチの適用でサーバー機をリブートする際,仮想サーバーを別サーバーに退避させることで,サービスの停止が防げる。図は,VMware ESX Serverが提供する「VMotion」の例
[画像のクリックで拡大表示]

 VMotionの使いどころは二つ考えられる。一つは,仮想サーバーを移動してサーバー機の負荷を調整するパフォーマンス・チューニング。東京電機大学は,約60台の物理サーバーを仮想サーバーに1対1で移行した上で,12台のサーバー機に集約した。その後,「サーバー機のキャパシティにまだ余裕があると分かったので,VMotionで仮想サーバーを移動して,サーバー機をさらに7台に絞った」(東京電機大学 総合メディアセンター 技師橋本明人氏)。

 もう一つの使いどころは,運用フェーズ。パッチ適用などでサーバーのリブートが必要なとき,そのサーバー上の仮想サーバーを他のサーバーに VMotionで移動させておく。これで,サービスを停止することなくメンテナンスできる。ファイザーは,12台のサーバー機にVMware ESX Serverを搭載して運用している。2007年3月,VMware ESX Serverを2.0から3.0へとバージョンアップした。その際,「“どうしても止めたくない”という部署の仮想サーバーは,VMotionを使って他のサーバー機に退避させた」(ファイザー CIT ソリューション&エンジニアリング部 部長 福崎巧氏)。

選択3 Xen3.0

 住友電気工業は,オープンソースのXen 3.0を利用している。きっかけは,Red Hat 6.2が稼働するサーバー機の保守切れ対策。同社は1999年ごろにLinuxを採用,その後,約80のシステムを構築してきた。「購買ECシステム」など構築の初期に使ったのがRed Hat 6.2。そのサーバーの保守切れが迫った2005年夏,情報システム部の中村氏は仮想化を使いRed Hat 6.2を最新サーバーで動かす検討に入った。

 Xenを選んだのは,利用していた「SUSE Linux Enterprise Server(SLES)」のディストリビューションに含まれていたからだ。ただしXen は,2005年夏の時点では「準仮想化」しかサポートしていない。Xenによる仮想化には二つのモードがある。一つは,Xen 2.0/3.0で使える準仮想化。もう一つは,Intel VTやAMD-Vなど仮想OSのサポート技術を実装したCPU上でXen 3.0を動かした場合の「完全仮想化」だ。「準仮想化はカーネルの修正が必要になる。動いているものに手を加えたくなかったので,完全仮想化を待つことにした」(中村氏)。

 2006年6月にIntel VT対応のCPUが出荷され,中村氏はXen 3.0と組み合わせて完全仮想化を構成し,検証した。性能面では,既存のサーバーを仮想化した場合と,仮想化前を比較。CPUの性能やメモリー容量を同等にして比較したところ,仮想化しても性能には問題がないと判断した。

 良好な検証結果を受け,まず2006年8月にリリースした「ソフトウエア生産管理システム」をSLES 10/Xen 3.0上で稼働させた。仮想サーバーを運用する中で,制約も見えてきた。例えば,仮想サーバー上でRed Hat 6.2を使ったとき,パーティションを100Gバイト以上割り当てると,起動できなかった。「こうした問題は,SLES 10のSP1で解決されると考えている」(中村氏)。

選択4 Virtuozzo

 Virtuozzoは,ホスティング・サービスでの利用を意識して開発された製品である。先の3製品と異なり,OSのカーネルを仮想化する。仮想サーバー(Virtuozzoでは仮想環境と呼ぶ)は複数でも,実際に動いているカーネルは一つ。そこから,「処理が軽い」「仮想OSのファイル・サイズが小さい」といった特徴が出てくる。こうした特徴を評価して採用したのがライブドアだ。

 ライブドアは,サーバーのホスティング・サービス「@Server」を展開している。1台のサーバー機をApacheの「バーチャルホスト」機能で複数ドメインに分けている。ところが,あるドメインの負荷が高まると,それに耐え切れずサーバーがダウンする。こうした状況を見て,伊勢幸一氏(ライブドア執行役員 ネットワーク事業部技術担当)は「ドメインごとにリソースを管理した,@Serverの上位サービスを用意したい」と考えた。

 そこで目を付けたのが仮想サーバー・ソフトだ。XenとVirtuozzoを比較し,仮想サーバー上の“OSが小さい”Virtuozzoを選んだ。「ホスティングでは,1台のサーバーにどれだけ多くのユーザーを収容できるかが重要。OSが小さければ,それだけユーザーに割り当てるリソースが増やせる」(伊勢氏)。

 仮想サーバー上のOSライブラリの容量は,Xenの600Mバイト以上に対して,Virtuozzoは250Mバイト程度だったという。一つのOSを仮想化するVirtuozzoは,仮想サーバーごとにOSを導入する必要がない。Virtuozzoを使ったホスティング・サービス「livedoorレンタルサーバ」は,2006年11月に提供開始。サーバー機は40台,1台当たり15~30個の仮想サーバーを設けている。

 ホスティング・サービスを提供する場合,顧客の求めに応じて仮想サーバーを素早く作成する必要がある。Virtuozzoは,仮想サーバーの定義をテンプレートとして保持しており,これを使うことで,仮想サーバーを容易に追加できる。Xenをベースにした「Virtual Iron」も,そうしたGUI画面を用意している(図3右)。また,多くの仮想サーバーを運用する場合は,そのステータスを一元管理する仕組みも用意したい(図3左)。

図3●GUI運用管理ツール
図3●GUI運用管理ツール
特に,ホスティング・サービスのように多くの仮想サーバーを運用する環境では,「仮想サーバーを効率的に作成する」「仮想サーバーを一元的に管理する」ためのツールが必要になってくる