特別企画

Windows Server 2016 Technical Preview 2をインストールしてみた

 先日公開されたWindows Server 2016 Technical Preview 2(以下、Technical Preview 2)をHyper-V Server 2012 R2の環境にインストールしてみた。

 実際にインストールしてみると、今までと大きく変わったWindows Server 2016の姿が見えてくる。

インストールオプションは2つだけ

 Technical Preview 2は、TechNet Evaluation CenterやMSDNで、ISOフォーマットのインストールディスクイメージやVHDイメージが提供されている(現状では英語版のみ)。また、Technical Preview 2からHyper-Vの部分だけを抜き出したHyper-V Server 2016 Technical Preview 2も提供されている。

 システム要件としては、プロセッサは1.4GHz以上で、64ビット環境のサポートが必須。メモリに関しては512MB以上、ディスク容量は32GB以上となっている。

 またプロセッサは、仮想化支援機能(Intel VT、AMD-V)とSLAT(Second Level Address Translation:Intel EPT、AMD RVI)、ハードウェア強制データ実行防止(Hardware enforced Data Execution Protection:Intel XDビット、AMD NXビット)が必要になる。これらの条件は、Windows Server 2012 R2の最低ハードウェア要件と同じだ。

 こうした機能は、Intel Celeron、Pentium、Atomプロセッサなどではサポートされていない場合もあるが、現在リリースされている多くのサーバー向けプロセッサではサポートしているため、あまり問題にはならないだろう(なお、マシンによっては、仮想化支援機能をBIOSでオフにしている場合もあるので、その点は注意が必要だ)。

 仮想マシンにインストールする場合は、1コア、800MB以上のメモリ、80GB以上のディスクが必要となる。

 なお、これらは最低限の要件(Server Coreでの動作)のため、、サーバーマネージャーやデスクトップGUIなど、いくつかのロールをインストールするなら、もう少し高いスペックが要求される。とはいえ、メモリは2GB、ディスクは100GBほどあれば、問題なく動作する。

 一方、VHDイメージの場合は、1コア、2GBメモリ、80GBディスクで動作する。

 Hyper-V Serverにインストールする時に注意が必要なのは、仮想マシンの世代を第一世代として設定する必要があることだ。第二世代にしてしまうと、インストールがうまくいかなかった。

 ISOイメージからインストールする場合は、インストールオプションとしては、「Windows Server Technical Preview 2」(=Server Core)と、「Windows Server Technical Preview 2(With Local Admin Tools)」(=Server Core+サーバーマネージャー)の2つしか用意されていない。

 Windows Server 2012 R2のように、デスクトップGUIを含めたインストールオプションが用意されるかは、今後のプレビューでわかるだろう。

 Microsoftとしては、セキュリティパッチを頻繁にインストールする必要があるフルオプション版よりも、セキュリティパッチが少ないServer CoreをWindows Serverの標準インストール形態にしたいのかもしれない。

 多数のサーバーを管理していくことを考えれば、GUIでそれぞれのサーバーを操作するよりも、PowerShellなどの強力なスクリプトシェルを使って、オートマチックに管理していきたいというIT管理者のニーズも満たせる。

ISOイメージからインストールすると、インストールオプションが2つあることがわかる。Server CoreとServer Core+サーバーマネージャーだ

 PowerShellは、Windows Server 2016ではバージョン5.0が搭載された。PowerShell 5.0では、強化されたDSC(Desired State Configuration)機能が用意されている。この機能を利用すると、サーバーがIT管理者が想定していない構成に変更された場合、自動的にIT管理者が設定した構成に戻すことができる。

 このほか、Windows Server 2016ではPowerShellでOSのほとんどの機能が管理・運用できるようになっているため、System Center 2016の各モジュールと連携して、クラウド自体のオーケストレーションをレベルアップすることができる。

 今回、ISOイメージからは「Windows Server Technical Preview 2」だけ(=Server Core)のインストールを行った。

 インストール後、Administratorのパスワードの変更が要求される。その後、Server Coreが起動すると、コマンドラインウィンドウとコマンドラインでSconfig(Server Coreのコマンドラインでのサーバーコンフィグレーションツール)が起動する。

Server Coreだけを選択した場合、起動すると、コマンドラインの管理ツールSconfigが起動している

 VHDイメージを使用するか、「Windows Server Technical Preview 2(With Local Admin Tools)」をインストールした場合、起動後にサーバーマネージャーが表示される。もしコマンドラインになれていないユーザーは、サーバーマネージャーを使う方が便利だろう。

サーバーマネージャーがあれば、いろいろな操作がやりやすい
サーバーマネージャーが動作していても、Server Coreでは後ろでSconfigが動作する。ここでは、Windows Updateを起動

 Technical Preview 2では、インストール時のフルオプションは用意されていないが、サーバーマネージャーやコマンドラインから、GUIオプションなど、Windows Serverが持つロール(役割)をインストールすることができる。

 デスクトップGUIをインストールする場合は、サーバーマネージャーから「Add roles and features」を選択し、「User Interface and Infrastructure」から「Server Graphical Shell」をインストールすればいい。

 「Desktop Experience」をインストールすれば、Windows 10と同じGUIがインストールされる。

 なお、PowerShellからはInstall-WindowsFeature Server-Gui-Shellでインストール可能だ。

「Add roles and features」から、Server Graphical Shellを選択。Desktop Experienceを選択すれば、Windows 10と全く同じになる
Server Graphical Shellをインストール。これでも、Windows 10と同じGUIがサポートされている
仮想デスクトップもServer Graphical Shellがサポートされている
Windowsボタンをクリックすれば、アプリケーションリストが表示される

 Technical Preview 2をざっと見ていると、PowerShellに関する知識はあった方が、Windows Serverを便利に利用できるようになると感じた。

 1台だけのサーバーを運用・管理する時代から、オンプレミスにおいても、ハイパーバイザーを搭載した物理サーバー上に複数の仮想サーバーを運用する時代に変わってきている。大規模なプライベートクラウドの構築が増えていることや、パブリッククラウドとの連携などを考えれば、個々のサーバーをGUIで管理する時代ではないのだろう。

 こういった意味でも、IT管理者は、Windows Server 2016がリリースされる前までに、PowerShellを自在に活用できるようになっていた方がいいのかもしれない。

Technical Preview 2は、すでにいくつかバグが見つかっている。例えば、GUIのアンインストールに失敗するなどがあるため、リリースノートを事前に読んでおくべきだ

Nano Serverのインストールはやっかい

 Technical Preview 2の特徴とも言えるNano Serverは、Technical Preview 2のインストールオプションには入っていない。これは、Nano ServerがWIM(Windows Image)形式で配布されているためだ。

 Nano ServerではWindows Serverをリファクタリングして、最小限のコードで構成しているため、Server Coreよりも小さいサイズになる。

 ある意味、組み込み用のWindows OSを構成するのと似ている。必要な機能をWindows ServerカーネルのWIMに組み込み、ハードウェア環境(ドライバなど)、目的(役割、例えばHyper-Vなど)に合わせてカスタマイズしていく。

 現状では、Nano Serverを利用するには、DISM(展開イメージのサービスと管理)などの知識が必要になる。将来的には、Visual Studioと連携して、ユーザーが開発したアプリケーションとNano Serverを一緒に構成できるようになるだろう。Nano ServerをWindows 10上のGUIベースで構成できるツールなどがリリースされると、便利になると思う。

Nano Serverは、Server Coreよりもコンパクト

 今回は、仮想マシン上で、Nano Serverを動かす手順を紹介していく。詳しくは、TechNetのGetting Started With Nano Server(英語)のドキュメントに紹介されているので、そちらも参照されたい。

 まず、Nano ServerのイメージはTechnical Preview 2のISOイメージに入っている。Windows 8.1などにダウンロードした場合、ISOイメージをファイルエクスプローラーで開くことができるため、特別なツールを使用しなくてもNano Serverを取り出すことができる。

 ISOイメージのルートディレクトリにNano Serverというディレクトリが存在する。このディレクトリをそのまま、適当なWorkディレクトリにコピーする。

 次に、ISOイメージのルートディレクトリのSourcesディレクトリから

api*downlevel*.dll
*dism*
*provider*

をすべて、Workディレクトリにコピーする。

ISOファイルからNano Serverを作業ディレクトリにコピーしておく。ISOファイルは、ファイルエクスプローラーからマウントしてアクセスできる
sourcesディレクトリから必要なファイルを作業ディレクトリにコピーする

 もう一つ、Workディレクトリに作業用のmountdirディレクトリを作成しておく。

 次は、Script Center(Webサイト)にあるConvert-WindowsImage.ps1をダウンロードする。このスクリプトはPowershellで動作し、WIMイメージをVHDイメージに変換してくれる。

ScriptCenterからConvert-WindowsImage.ps1をダウンロードしておく

 ちなみにWindows 8.1でPowerShellを動かすには、管理者権限でコマンドプロンプトを起動し、デフォルトディレクトリ(c:\Windows\system32)でpowershellと入力すれば起動する。

 Convert-WindowsImage.ps1を動かす前に、Powershellのセキュリティポリシーを変更しておく必要がある。PowerShellでは、署名されていないスクリプト(インターネットからダウンロードしたスクリプトなど)などは動作しないようになっている。

 そのため、PowerShellで

SetーExecutionPolicy Unrestricted

を実行する(現在の実行ポリシーを知るには、Get-ExecutionPolicy)。

 これで、インターネットからダウンロードしたスクリプトを実行確認付きで実行できるようになる。

.\Convert-WindowsImage.ps1 -Sourcepath .\nanoserver.wim -VHD .\nanoserver.vhd ーVHDformat VHD -Edition 1

PowerShellの実行ポリシーを変更して、ダウンロードしたスクリプトが動作するようにする

 Sourcespathでは、nanoserver.wimが存在するディレクトリを指定し、VHDでは、出力するVHDファイルのディレクトリとファイル名を指定している(今回はどちらも、カレントディレクトリにある)。

 次は、DISMを起動して、各種のパッケージを構成していく。

dism\dism /Mount-Image /ImageFile:.\NanoServer.vhd /Index:1 /MountDir:.\mountdir
dism\dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
dism\dism /Add-Package /PackagePath:.\packages\en-us\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
dism\dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:.\mountdir
dism\dism /Add-Package /PackagePath:.\packages\en-US\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:.\mountdir
dism\dism /Unmount-Image /MountDir:.\MountDir /Commit

 これで、仮想マシン上で動作するNanoServerができあがった。TechNetのドキュメントでは、インストール時の設定の自動応答ファイル(Unattend.xml)もVHDにインストールしているが、今回は取り立てて必要なかったので、インストールしていない。

 応答ファイルをインストールしなかった場合は、NanoServerのサーバー名は「minwinpc」、IPアドレスはDHCPからの自動に取得、Administratorのパスワードは“なし”で起動する。

 ちなみに、リモートPCからNanoServerにアクセスするために、IPアドレスをチェックしておく必要がある。今回は、DCHPサーバーのリース情報から確認した。もし、開発環境などでインストールする場合は、自動応答ファイルにIPアドレスなどを設定しておく方がいいだろう。

 作成したVHDファイルをHyper-V Server 2012 R2に転送して、仮想マシンを作成する。この場合、第一世代の仮想マシンを作成して、VHDファイルを読み込んで起動する。

Hyper-V Server 2012 R2上で、NanoServerを起動。Windows Server 2012 R2と同じような起動画面が表示されている。初回起動には、少し時間がかかる
初回起動が済むと、このような黒い画面になる。左上にカーソルが表示されていれば、正常に起動した証しだ

 初回起動時は、さまざまなセットアップが行われるためか、起動するまで少し時間がかかる。無事起動すれば、リモートPCから、PowerShellのリモートセッション、WinRSなどでIPアドレスを指定してアクセスする。

PowerShellのリモートセッションで、NanoServerのプロセスを表示。これだけ少ないプロセスでサーバーが動作しているとは信じられない。

 作成したNanoServerのVHDイメージは約600MB。Windows Serverが動作していると思えないほど、非常にコンパクトだ。

 現在、NanoServerに追加できるロールとしては、Hyper-Vロール(Microsft-NanoServer-Compute-Package.cab)、フェールオーバークラスター(Microsoft-NanoServer-FailoverCluster-Package.cab)、ファイルサーバーロールとストレージコンポーネント(Microsoft-NanoServer-Storage-Package.cab)などが用意されている。

 これ以外に、仮想マシン上でNanoServerを動かすために使用するドライバ類(Microsoft-NanoServer-Guest-Package.cab)、基本的なNICやストレージのドライバ類(Microsoft-NanoServer-OEM-Drivers-Package.cab)なども用意されている。

 今年の後半になれば、NanoServer関連のツールもリリースされ、NanoServerを利用する環境もそろってくるだろう。

 Technical Preview 2は、10月15日まで動作が有効になっている。Microsoftでは、夏ごろにWindows Server Containerの機能を入れた新しいTechnical Previewをリリースする予定にしている。さらに、Hyper-V Containerの機能は、年末までにリリースするTechnical Previewで搭載される予定だ。

 Windows Server 2016は、リリーススケジュールが後ろ倒しになったため、さまざまな新しい機能を、ユーザーはリリース前に試すことができる。この機会に、Windows Server 2016の新機能を十分に試しておき、2016年中ごろにリリースされるWindows Server 2016に備えたい。

山本 雅史