住友電気工業は,オープンソースの仮想サーバー・ソフト「Xen」を使い,サーバーの仮想化を実現している。その狙いは,構築したシステムを10年経ってもそのまま利用し続けることにある。
きっかけはRed Hat 6.2の延命
同社が仮想サーバー・ソフトを導入したきっかけは,Red Hat 6.2が稼働しているサーバー機の保守切れだった。同社では従来より,サーバー・プラットフォームや開発言語といった開発環境のオープン化を進めてきた。1999年ころの開発環境は,プラットフォームにLinux,開発言語にJavaを採用。それ以来,約80のシステムをこの組み合わせで構築してきた。
Red Hat 6.2は,「購買ECシステム」などLinuxを採用した初期のディストリビューションである(図1)。Red Hat 6.2を搭載したサーバー機の保守切れが迫ってきた2005年夏,情報システム部 システム技術グループ グループ長の中村伸裕氏は,サーバー仮想化によるRed Hat 6.2の延命を検討し始めた。最新サーバー上に仮想化レイヤーを設けて,そこでRed Hat 6.2を稼働させようと考えたのだ。
![]() |
図1●住友電気工業のLinux利用状況 |
短期的な目標はRed Hat 6.2の延命だが,その先には,ハードウエアと論理サーバーを分離して運用したいという思いがあった。「サーバー機は保守切れにより5年ぐらいでリプレースするが,その上のOSやアプリケーションは10年後もそのまま使いたい」(中村氏)。将来,第二,第三のRed Hat 6.2問題が出てくることは明らか。仮想化レイヤーを設けることで,ハードウエアと論理サーバーの分離を図った。
仮想サーバー・ソフトにXenを選んだ理由は,利用中の「SUSE Linux Enterprise Server(SLES)」のディストリビューションに含まれていたことが大きい。Xenによる仮想化には2つのモードがある。1つは,Xen 2.0/3.0で使える「準仮想化」。もう1つは,Xen 3.0をIntel VTやAMD-Vなど仮想OSのサポート技術を実装したCPU上で動かした場合の「完全仮想化」である。2005年夏の時点では,Xenは準仮想化しかサポートしていない。「準仮想化はカーネルを修正する必要がある。動いているものに手を加えたくなかったので,それが可能な完全仮想化が実現されるのを待つことにした」(中村氏)。
仮想サーバーならではの制約があった
2006年6月にIntel VT対応のCPUが出荷された。中村氏はXen 3.0と組み合わせて完全仮想化の環境を作り,2週間程度のテストを実施した。まず,Xenが提供する仮想サーバー上でRed Hat 6.2が稼働することを確認した。性能面は,既存のサーバーを仮想化した場合と,仮想化前を比較。CPUの性能やメモリー容量を同等にして比べたところ,仮想化しても問題がないと判断した。
こうしたテスト結果を受け,まず2006年8月にリリースした「ソフトウエア生産管理システム」をSLES 10/Xen 3.0上で稼働させた(図2)。その後,仮想サーバーは12台にまで増えていった。運用する中で,制約も見えてきた。例えば,仮想サーバー上でRed Hat 6.2を使ったとき,パーティションを100Gバイト以上割り当てると,起動できなかった。テスト環境では20Gバイトしか割り当てていなかったので,問題は発生しなかった。「こうした問題は,SLES 10のSP1で解決されると考えている」(中村氏)。
![]() |
図2●Xen 3.0を適用した「ソフトウエア生産管理システム」 [画像のクリックで拡大表示] |
同社では,仮想化技術をサーバー統合にも適用する計画である。同社のセンターは関西と関東の2拠点がある。関西センターで稼働中の本番サーバーを,関東センターに設置したサーバーでも稼働できるようにする。関東センターでは,1台のサーバー上に複数の仮想サーバーを用意し,数台の本番サーバーをそこに統合した形態を取る予定だ。