表1●Longhorn Serverに実装される予定の主な機能
表1●Longhorn Serverに実装される予定の主な機能
[画像のクリックで拡大表示]
図1●ダイナミック・ハードウエア・パーティショニングの検証に成功したNECの「NX7700i」
図1●ダイナミック・ハードウエア・パーティショニングの検証に成功したNECの「NX7700i」
[画像のクリックで拡大表示]
図2●ダイナミック・ハードウエア・パーティショニングの概念図<BR>ダイナミック・ハードウエア・パーティショニングを使うと,OSの稼働中でもパーティションに対してプロセッサやメモリーをセル(4個のプロセッサとメモリーが搭載されたボード)を追加できる。
図2●ダイナミック・ハードウエア・パーティショニングの概念図<BR>ダイナミック・ハードウエア・パーティショニングを使うと,OSの稼働中でもパーティションに対してプロセッサやメモリーをセル(4個のプロセッサとメモリーが搭載されたボード)を追加できる。
[画像のクリックで拡大表示]
図3●Longhorn Serverにおける仮想化アーキテクチャの違い&lt;BR&gt;Longhorn Serverの仮想化機能では,Virtual Server 2005における「ホストOS」と「ゲストOS」の関係が変化する。仮想マシンを管理する「親パーティション」もゲストOSに相当する「子パーティション」も,「hypervisor」という非常に小さなソフトウエアの上で動作する。hypervisorは「リング“-1”」という新しい特権モードで動いており,プロセッサの機能を使ってコンテキスト・スイッチを一手に引き受ける。
図3●Longhorn Serverにおける仮想化アーキテクチャの違い<BR>Longhorn Serverの仮想化機能では,Virtual Server 2005における「ホストOS」と「ゲストOS」の関係が変化する。仮想マシンを管理する「親パーティション」もゲストOSに相当する「子パーティション」も,「hypervisor」という非常に小さなソフトウエアの上で動作する。hypervisorは「リング“-1”」という新しい特権モードで動いており,プロセッサの機能を使ってコンテキスト・スイッチを一手に引き受ける。
[画像のクリックで拡大表示]

 マイクロソフトが開発中のサーバーOS「Longhorn Server」(開発コード名)は,Windows Server 2003 R2の次にリリースされ,メジャー・バージョンアップとなる。出荷は早くとも2007年の予定であり,まだ限定的な早期評価版があるぐらいで「ベータ1」の段階に達していない。それでも2005年9月に開催されたPDC* 2005や2005年4月の「WinHEC* 2005」で公開された資料を読み解くことで,主要な機能が明らかになってきた。またNECのように,新機能の実証試験を行うベンダーも現れている。

 表1[拡大表示]は,編集部がまとめたLonghorn Serverの主要な新機能である。同サーバーOSでは,(1)ハードウエア・リソースを効率的に利用する機能,(2)システムの信頼性や管理性を向上する機能,(3)セキュリティを強化する機能——が重点的に強化される。

 (1)のハードウエア・リソースを効率利用する手法には,大きく分けて2つある。1つは,プロセッサやメモリーなどのハードウエア・リソースを論理的に分割する「パーティショニング」で,もう1つは1台のハードウエア上で複数の仮想マシンを稼働させる「仮想化」である。Longhorn Serverでは,両方のアプローチにおいて,大幅な機能強化を行う。

OS稼働中にプロセッサを追加

 まず,パーティショニングについて見てみよう。これは,コンピュータ内部をいくつかの論理パーティション(区画)に分割する技術だ。各パーティションを1台のサーバーに見立てて,それぞれで別のOSを稼働させられる。現状では一部の大型PCサーバーが,独自技術でパーティショニングを実装している。

 パーティション構成は,ユーザーが自由に変更できる。例えば,負荷が小さくリソースに余裕があるパーティションから,負荷が急拡大しているところにリソースを移すことで,プロセッサやメモリーなどが常に有効利用できる。

 ただし,Windows Server 2003によるパーティショニングでは,各パーティションに割り当てるプロセッサ数などを変更するとき,一度システムをシャットダウンする必要がある。それがLonghorn Serverでは,OSの稼働中に構成変更が可能になる。これが「ダイナミック・ハードウエア・パーティショニング(DHP)」だ。

 NECは10月,Itanium 2搭載大型サーバー「NX7700i/3080H-32」(32プロセッサ構成)において,DHPの実証に成功したと発表した。NX7700iは,プロセッサ4個とメモリーから成る「セル・カード」を複数搭載して構成されている(図1[拡大表示])。このセル・カードを単位にパーティション構成を変更できる。同社の検証ではDHPを使うことで,1つのパーティションに対して,新しいセルをOS稼働中に追加できた。DHPはプロセッサやメモリーの動的削除にも対応する予定。NECは今後,動的削除の検証も進めるという。

 NX7700iは,セル・カード上のもののほかに,サービス・プロセッサと呼ばれる専用のプロセッサを搭載している。Longhorn Serverは,このサービス・プロセッサと連携することでDHPを実現する。同プロセッサはパーティションの管理や障害監視を担当する(図2[拡大表示])。

 DHPのようなパーティションの動的構成変更は,メインフレームでは当たり前である。同じNX7700iでも,NECのメインフレームOS「ACOS」を稼働させる場合は,パーティションの動的構成変更が既に可能になっている。NECは,メインフレームをWindowsサーバーで置き換える上でDHPが重要な機能になると考え,競合ベンダーに先駆けて実証試験に取り組んだという。

 WinHEC 2005の技術資料によれば,DHPはプロセッサがItaniumまたはx64(AMD64およびIntel EM64Tアーキテクチャ)であるとともに,Longhornに対応したサービス・プロセッサを搭載するサーバー・マシンで利用できる。

仮想マシン機能をOSに内蔵か?

 続いて仮想化のアプローチに対する新機能を見てみよう。Longhorn Serverでは,米Intelの「Virtualization Technology(VT)」や,米Advanced Micro Devices(AMD)の「Pacifica」(開発コード名)といった,プロセッサ内蔵の仮想化技術に対応する。また「Virtual Server」や「VMware」に相当する仮想マシン・ソフトが,OS本体に内蔵される可能性が高まってきた。

 以下は,AMDの発表資料に基づき説明する。

 そもそもPacificaは,仮想マシン管理に関する処理を,ハードウエアによって支援する機能である。例えば,「ゲストOSのメモリー空間のアドレスを,ホストOSの物理メモリーのアドレスに変換する」といった作業を実行する。現在は仮想マシン・ソフトが処理しているが,Pacificaを採用したプロセッサでは,ハードウエアが実行してくれる。

 アドレス変換をはじめとするゲストOSとホストOSの切り替えは,非常に負荷がかかる処理であり,仮想マシンをソフトウエアで実現する際の性能劣化の原因になっている。Pacifica対応のプロセッサを使うことで,仮想マシンのパフォーマンスが向上する。

 Pacificaに対応することで,仮想マシン・ソフトのアーキテクチャも大きく変化する(図3[拡大表示])。

 例えば,現行のVirtual Server 2005はホストOSの上で動き,さらにVirtual Server 2005の上でゲストOSを動作させるという構成である。

 それに対して,Longhorn Serverの仮想マシン環境では,ホストOSに相当する「親パーティション」(仮想マシンの管理コンソールやデバイス・ドライバが動作する)と,ゲストOSに相当する「子パーティション」は並列的な存在になる。親子いずれも「hypervisor」と呼ばれるソフトウエアの上で動作する。

 hypervisorは,Pacifica対応プロセッサが備える「リング*“−1”(スーパー・リング)」という新しいプロセッサの特権モードで動作する。現在のVirtual Server 2005では,ゲストOSをコントロールするために,ゲストOSの特権命令を本来のリング0ではなくリング1で動かしている。Windowsはリング3とリング0しか使っていないので問題ないが,この方式ではリング1を使うOSはVirtual Server上で動かせない。リング“−1”で動作するhypervisorなら解決する。

 またVirtual Server 2005では,ゲストOSから認識できるハードウエアは,仮想マシン・ソフトが実現している仮想的なデバイスだけだ。それに対して,Longhorn Serverの仮想化機能では,子パーティション上のOSは,実際のハードウエアを直接利用できる。これもhypervisorならではの機能だという。

 Longhorn Serverでは,ライセンス的にも仮想マシンがより使いやすくなる。現在Microsoftは,仮想マシンに関するライセンスを改訂中である。Windows Server 2003 R2からは,1個のホストOSのライセンスしかなくても,「Enterprise Edition」なら最大4個までゲストOSとなるWindowsをインストールして利用できる。これがLonghorn Server Datacenter Editionでは,個数無制限で利用可能になる。

イベント・ログがXMLベースに

 Longhorn Serverでは,管理性も大きく向上する。

 イベント・ログは,現在のマイクロソフト独自のフォーマットから,XML(拡張マークアップ言語)形式に全面的に変更される。サード・パーティ製アプリケーションによるイベントの記録もより容易になる。

 NTFSファイル・システムとレジストリ・データベースは,トランザクション*に本格対応し,ファイル操作をロールバックしたり,エラー状態から復帰させたりすることが容易になる。

 ターミナル・サービスも強化されるポイントだ。ファイアウオールの外からでもターミナル・サービスを利用できるようになり,遠隔拠点のユーザーがターミナル・サービスを使いやすくなる。

 また,クライアント・マシンに接続したUSBデバイスをターミナル・サービスから利用する「USBデバイス・リダイレクション」も搭載される。現在のターミナル・サービスで使えるクライアント・ハードウエアは,フロッピやディスクなどレガシーなものだけだ。エンドユーザーの手元にあるUSBデバイスが利用可能になるので,利便性が向上する。