640個の論理CPUと4TBメモリをサポートした“Windows Server 8”
先月、マイクロソフトのBUILDカンファレンスを受けて、Windows Server 8(開発コード名)のハイパーバイザー「Hyper-V 3.0」にテーマを絞って解説した。今回は、そこで触れたハイパーバイザー以外の部分を解説していこう。
とはいっても、Windows Server 8に関しては、詳細がすべて明らかにされているというわけではなさそうだ。このため、BUILDカンファレンスなどの情報をもとに、現状で分かる範囲での解説になる。来年早々には、Windows Server 8のβ版もリリースされる。このときに、詳細にわたるレビューなどを行っていきたいと考えている。
■大量のCPU数とメモリ容量をサポートしたWindows Server 8
前回のHyper-V 3.0の記事で、Windows Server 8では最大160個の論理CPUと最大2TBのメモリをサポートしていると紹介した。その後、いくつかの資料を調べると、Windows Server 8自体は、最大640個の論理CPUと最大4TBのメモリをサポートしていることがわかった。
以前の記事で書いた160個の論理CPUと最大2TBのメモリは、Hyper-V 3.0での制限のようだ。ただし、Windows Server 2008 R2でも、リリース後にサポートされるCPU数、メモリ数がアップしていったことを考えれば、これらの数字が、リリース時にはもう少し上がっている可能性もある。また、Windows Server 8リリース後に、サービスパックなどで最大CPU数や最大メモリ容量が上がっていく可能性も高い。こういった数字は、判明次第レポートしていくことにする。
なおWindows Serverでは、64個の論理CPUを1グループとして扱っている。Windows Server 8では、10グループまで扱えるようになっているため、最大640論理CPUまでサポートされることになった。
とにかく、Windows Server 8は、今までのWindows Server OSから比べると、信じられないくらいのCPUとメモリをサポートするOSといえる。
Windows Server 8では、640論理プロセッサ、4TBメモリをサポートしている。リリース時にはもう少し機能が拡張されている可能性もある | Windows Serverでは、グループという単位で論理CPUを管理している |
ただし理論値でいうと、HPCや金融向けのシステムとして利用されているRed Hat Enterprise Linux 6.0は、最大CPU数として4096個、最大メモリとしては64TBをサポートしている。もしかすると、Windows Server 8も理論値では、これくらいの性能を有しているかもしれない。現実的に検証するハードウェアも存在していないため、現実的な数字に押さえている可能性が高いと、筆者は考えている。
■Windows Server 8もMetroスタイルをサポート
Windows 8のアーキテクチャ図。DirectXをベースとして、Windows Runtime API上にMetroスタイルが構築されている。Metroスタイルのプログラミング言語としては、HTML5/JavaScript、XAMLベースのC#・VB、C/C++などが利用可能 |
デスクトップのWindows 8(開発コード名)と同じコードベースとなっているWindows Server 8では、Metroスタイルをサポートしている。もちろん、Windows Runtime(WinRT)などの実行環境もサポートされている。
Windows Server 8には、Metroスタイル以外に、既存のWindowsデスクトップも用意されている。実際、サーバーOSを操作する上で、Metroスタイルは使いにくいと思う。多くのデータを監視したり、操作したりする環境において、Metroスタイルは不向きではないかと感じているので、ほとんどの操作はWindowsデスクトップ上で行うことになるだろう(すでに、Windows Server 8のDeveloper Previewを、既存のWindowsデスクトップで利用するために変更するレジストリ情報も報告されている)。一部、OSの操作(スタートボタンの機能)などは、Metroスタイルで行うことになるかもしれないが。
現在提供されているWindows Server 8 Developer Previewは、Metroスタイル上でタイルが表示されているサーバー向けアプリケーションは、タイルをクリックすると、Windowsデスクトップ上で動作するようになっている。このため、Metroスタイルのメリットは、現状ではあまり考えられない。
ただ、WinRTは、今後Windows Server 8での管理・操作を大きく変えていく可能性がある。WinRTは、HTML5/JavaScript、C#/VB.NET(.NET Framework)、C++などの言語でプログラミングが可能になっている。
System Centerなどのシステム管理用のアプリケーションは、さまざまなAPIを公開している。他社のアプリケーションでも、外部と連携するためにAPIを公開している。こういったAPIを使って、複数の管理用アプリケーションをWinRT上で一括して表示・管理することが可能になるかもしれない。特に、HTML5/JavaScriptを利用すれば、今までのプログラミングとは段違いに、簡単にオリジナルツールを開発することが可能になる。
多くのシステム管理者は、Windows上では、PowerShellを使うなどして、テキストウインドウで作業をしていた。しかし、WinRTを使えば、PowerShellと同じように多くの管理ツールを操作しながら、MetroスタイルのグラフィックUIが利用できる。これなら、ツールを作った人だけではなく、多くの同僚も、標準の管理ツールとして利用できるようになるかもしれない。
サーバーOSにおけるMetroスタイルは、単なるUIとして考えるのではなく、ベースのWinRTを含めたプログラミング環境として考えていくべきだろう。
■Windows Server 8のインストール・オプション
Windows Server 8には、新しいインストール・オプションが用意されている。
従来のWindows Serverのフルインストールでは、必要に応じて、サーバーマネージャーで役割を追加し、機能を拡張していくことができた。また、Server CoreというGUIシェルのない、コンパクトなインストール・オプションも用意されていた。Server Coreは、サーバーOSを動かす最低限の環境しかないため、Hyper-Vなどを動かす環境として使われている。
Windows Server 8では、新たなインストール・オプション「Features On Demand」が提供される |
Windows Server 8からは、フルインストールとServer Coreのちょうど中間の「Features On Demand」というオプションが設けられた。
Features On Demandは、GUIもあるため、見た目はほとんどフルインストールと変わらない。異なるのは、いくつかの機能をインストールするために、リモートからのインストールが必要になる点だ。
Windows Serverのフルインストールでは、基本的にすべての役割が入ったパッケージを、ディスクにインストールしている。このため、役割の追加時に、インストールメディアなどは必要ない。しかし、必要ない役割もディスクにインストールされ、無駄に容量を消費していることになる。これを改善するためのインストール・オプションと思えばいいだろう。
もう1つ、Windows Server 8での大きな変更としては、フルインストールやFeatures On Demandにおいて、GUI環境を削除できるというものだ。多くの機能をリモートからコントロールできるようになれば、コンソールでGUIを動かしておく必要は無い。GUIシェルレスにすることで、消費するCPUパワーやメモリが少なくなり、より仮想化などに割り当てることが可能になる。
Windows Server 8は、完全なヘッドレス(コンソールディスプレイなしモード)での運用が可能になっている。この機能に関しては、新しいディスプレイドライバが必要になるため、現在のDeveloper Previewでインプリメントされているかどうかは不明だ。
しかし、サーバー自体が完全にヘッドレスで運用できるようになれば、別の建物にあるデータセンター内のサーバーをリモートで操作・運用することができるようになるだろう。
新しいグラフィックドライバーのWDDM 1.2では、レンダリングオンリー、ディスプレイオンリーというドライバーをサポートしている。レンダリングオンリーをサーバーで動作させ、リモートPCでディスプレイオンリーを動かせば、高度なKVM環境が実現する |
プライベートクラウドを考えれば、Windows Server 8が動作する環境をデータセンター内部のサーバーにインストールしておき、操作や管理などはすべてリモートで行うことが可能になる。そのとき、今までのようにリモートデスクトップで接続するのではなく、サーバーのコンソール部分を切り離して、リモートPC側で表示するようになれば、Windows Server 8自体がKVM機能を持つため、別途KVMは必要なくなるかもしれない。
ネットワークブートの機能も用意されているため、プライベートクラウドにサーバーを設置する場合も、サーバー本体をネットワークに接続すれば、自動的にWindows Server 8が導入される。
後は、初期設定として必要な設定、操作などは、リモートから行えばOK。このようになれば、データセンターに人員を多く配置するのではなく、最低限のハードウェアを管理する人員を置けばいい。多くの人員は、役割としてIT管理だけ行うのではなく、社内のシステム開発を兼任できるようになる。このようにすることで、効率的なプライベートクラウドの運用が可能になるだろう。
また、プライベートクラウド自体も、ネットワークで接続されていれば、都市部に設置しておく必要もない。冷却にかかる電気コストや設置場所の土地代などを考えれば、北海道などの地方に設置しておく方が、コストメリットがあるのではないか。
クラウドOSを目指した機能強化が行われている | クラウドでの運用にマッチするようにWindows Server 8は大幅に改良されている |
仮想化機能を利用して、マルチテナントのクラウドシステムの運用ができるようになっている | マルチテナント環境で高い信頼性を実現するために、それぞれの仮想環境の分離、ネットワーク機能の強化がされている |
Windows Server 8は、ここでは紹介しきれないぐらいの新しい機能が追加されている。こういった機能の多くは、Windows ServerをクラウドOSにするための機能と考えるといいだろう。クラウドでの運用を考えれば、ネットワーク周りの機能強化など、さまざまな機能がUNIXメインフレームクラスに機能アップしている。
BUILDカンファレンスでは、あまり解説がなかったが、高い信頼性や高可用性を実現するためには、CPUやメモリ、HDD、ネットワークなど、サーバーのすべてのレイヤにおいて冗長化やノンストップ機能などが必要になってくる。特に、トラブルがあった部分だけを切り離し、縮退してもサーバーの動作は止めないというノンストップ機能は、クラウドOSとしては非常に重要な機能になっていくだろう。
Windows Server 8では、ネットワークストレージもTCP/IPのスタックを省く、HBA方式を採用した方が高いパフォーマンスが出る | Windows Server 8では、File Serverという役割でHBAベースのストレージをサポートし、仮想ディスクのストレージとして利用する |
Windows Server 8のすべての機能が搭載されたβ版がリリースされたら、詳細なレビュー特集を行っていきたいと考えている。Windows Server 8のβ版は、2月ごろにはリリースされることになるだろう。