Enterprise Watch
バックナンバー

Windows Server 2008の注目機能「Server Core」を読み解く


 マイクロソフトの次期サーバーOS「Windows Server 2008」で新たに用意されたのが「Server Core」だ。Server Coreは、Windows Server 2008の中核機能のみで構成されるが、どんな機能が使えるのか、また利用する上での制限はなんなのか、気になるところであろう。今回、開発者向けに公開されているWindows Server 2008 June CTPを用いてServer Coreの機能等を検証した。


Windows Server 2008のインストールオプションのひとつがServer Core

Server Coreのアーキテクチャ(TechNetのWebcastより)

メモ帳を起動する場合は、コマンドプロンプトでnotepadと入力する必要がある
 Server Coreとは、どういうものだろうか? 荒っぽい言い方をすると、DNS、DHCP、Active Directoryなど特定のシステムアプリケーションだけを動かすためのWindows Server 2008のインストールオプションといえる。このため、Server Coreの画面には、Windowsであれば必ず見られるスタートボタンやタスクバー、デスクトップアイコンなどがまったく表示されない。Server Coreでは、各種操作はコマンドプロンプトを通して行うことになる。

 Windows Server 2008にあってServer Coreにないものの代表が、ファイルやドライブを操作するエクスプローラだ。また、HTMLエンジンもインストールされないため、WebブラウザのInternet Explorerもインストールされない。Server Coreは、アプリケーションを動かすプラットフォームではなく、純粋なサーバーOSといえるだろう。たとえば、ネットワークを経由して、アップデートファイルを送ってくるWindows Updateも、Windows VistaやWindows XPのようなGUIも用意されていない。このため、システム管理者がコマンドラインから、自動更新をオンにしたり、ダウンロードした更新ファイルを明示的にインストールしなければならない。

 またServer Coreでは、アプリケーションが必要とするモジュールなどが用意されていないために、Officeなどのアプリケーションをインストールしようとしても、インストールできない。これは、Server Coreが基本的にシステム管理者がアプリケーションを新たにインストールして利用することを考慮していないことを意味している。このことからも、Server Coreはサーバーのシステムアプリケーションを動かすプラットフォームといっていいだろう。


Server Coreのログオン後の画面。Windowsのデスクトップではなく、コマンドプロンプトが表示されている oclistと入力すると、現在インストールされているServer Coreのシステム(DNS、DHCP、Active Directoryなど)が表示される。ここでは、インストール直後のため、システムは何も設定されていない Server CoreにOffice 2007をインストールしようとしたが、エラーが表示されてインストールが途中で止まる

Server Coreで動作するシステムアプリケーション

Server Coreの役割と機能

Server Coreの制限(TechNetの資料より)
 ではServer Coreで動作するシステムアプリケーションはどのようなものになるのだろうか。右図をみていただければわかるように、DNSやDHCP、Active Directoryなど、Windowsネットワークを構築するのに必要なシステムが基本となっている。そのほか、フェイルオーバークラスタやネットワーク負荷分散、Windowsバックアップなどの機能もServer Core上で動かすことができる。

 右図からもわかるように、Server Coreで動作するシステムは非常に限定されている。このため、Server Core自体もこれらのシステムさえ動作すればいいように、通常のWindows Server 2008からさまざまなモジュールが省かれている。実際、.NET Frameworkはインストールされていないため、C#などのマネージコードのプログラムは動作しない(Server Core上で実行するコマンドは、ネイティブWin32コード)。また、PowerShellは、.NET Framework上に構築されているため、Server Coreでは使用できない。そのほか、Internet Explorerが利用できないため、HTMLヘルプが使用できないといった制限もある(将来的には、.NET FrameworkをServer Core上で動かせるようにする予定)。

 また、注意が必要なのは、Server CoreはWindows Server 2008のインストールオプションのひとつではあるが、完全インストールとServer Coreインストールを相互に行き来することはできない。つまり、Server Coreとしてインストールしたサーバーを完全インストールしたサーバーにするには、OSを再度インストールすることになる。このため、Server Coreとして構築した設定などは、インストールしなおした環境に引き継ぐことはできない。


Server Coreの使い方

Server Coreの管理。基本はコマンドラインだが、管理しやすいのはMMCだろう
 Server Coreの基本操作はコマンドラインインターフェイスになる。そのため、Server Coreを利用するシステム管理者は、コマンド類を覚えておく必要がある。CTPの時点では、Server Coreに関する詳細なコマンドリファレンスなどのドキュメントがないことから、コマンドラインは使いやすいインターフェイスとはいえないだろう。

 そこでおすすめなのが、リモートからMMCスナップインを利用して管理する方法。実際使ってみると、Active DirectoryやDNS、DHCPなどWindowsネットワークを維持するのに必要なサーバーソフト群を動かすには非常に便利だ。また、リモートターミナル機能をServer Coreにインストールして、リモートターミナルから操作するという方法もある。

 こうした使い方をしてみると、Windowsサーバーのアプリケーションは、実際に動作するエンジン部分と管理などを行うユーザーインターフェイス部分に分かれるようになるのかもしれない。パフォーマンスを要求するExchange Serverなどは、電子メールの配信などの中核機能はServer Coreで動作して、管理を行うUI部分はリモートコンピュータに構築されたWindows Presentation Foundation(WPF)のプログラムが担当する。このように、サーバーアプリケーション自体も中核機能とUIに分かれ、ネットワークを利用して動作するようになれば、運用時のサーバーの安定性なども確保できるのではないか。


Server Coreの初期設定(TechNetの資料より) Server Coreの構成 役割の追加(TechNetの資料より) Server Coreの管理コマンド(TechNetの資料より)

ハードウェアにやさしいServer Core

 Server Coreは、Windows Server 2008の最小セットでもあるので、動作させるために必要なハードウェアリソースは小さい。Windows Server 2008では、最新のサーバー用プロセッサを搭載したマシンの方が動作がきびきびしているが、Server Coreの場合、サーバーOS自体が単機能化しているため、一世代前のプロセッサでも、パフォーマンスは悪くならない。メモリも完全インストールの半分(推奨で1GB)、Server Coreが動作するのに必要なHDD容量も10GB(完全インストールは40GB)と非常にコンパクトだ。仮想化や64ビットのサーバーOSなどを動かさないのであれば、一世代前のPentium MやCore Duo(Centrinoブランド)などを使ったノートPCでもServer Coreは十分使い物になるだろう。

 この特長を活かすと、データベースサーバーやアプリケーションサーバーなどは最新ハードウェアのWindows Server 2008で運用し、Active DirectoryやDNS、DHCPなどは、ベーシックな構成のハードウェアのServer Core上で動作させるといった使い分けもいいだろう。


Server Coreはアプライアンスにはならない?

 Server Coreは、基本的にはマイクロソフトが用意した役割(Active DirectoryやDNSサーバーなど)だけを実行する環境だ。現状では、マイクロソフトが定義したサーバーの役割以外のアプリケーションがServer Core環境を利用できるかどうかは未定だ。ただ、現在提供されているWindows Server 2008のSDKには、Server CoreでサポートされているAPIがリスト化されており、Server Coreをサードパーティのアプリケーションベンダーに公開しようという考え方もあるようだ。しかし、無秩序にServer Core上にアプリケーションが増えていくと、Server Coreのメリットも失われてしまうかもしれない。とにかく、Windows Server 2008で初めてServer Coreという機能が追加されたので、徐々に機能を増やしていこうと考えているのではないか。

 Server Core上で動作させるメリットのあるアプリケーションは、それほど多くないかもしれない。たとえば、Windows OSを使用した企業全体のファイアウォールやウイルス侵入チェックなどのアプライアンス的なモノが考えられるが、これらのアプライアンスは、すでにLinux OSなどの上で実現しているモノが多い。このため、Windows Server 2008のライセンスを1つ必要とするServer Coreにおいては、こういったサーバーアプライアンスとしては、コスト面からも厳しいだろう。

 個人的には、Windows Server 2008のライセンスとServer Coreのライセンスがイコールというのではなく、Windows Server 2008のライセンスを持っていれば、Server Coreを使ったサーバーが何台か使えるといったようになれば、よりServer Coreに注目が集まるのではないか。できれば、SQL ServerなどのデータベースやExchange Serverなどのシステムが動作するようになれば面白いのだがどうだろうか。



URL
  マイクロソフト株式会社
  http://www.microsoft.com/japan/
  Windows Server 2008
  http://www.microsoft.com/japan/windowsserver2008/


( 山本 雅史 )
2007/09/14 00:00

Enterprise Watch ホームページ
Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.