特別企画
Windows Server 2016 Technical Preview 2をインストールしてみた
(2015/5/18 06:00)
先日公開された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管理者のニーズも満たせる。
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のコマンドラインでのサーバーコンフィグレーションツール)が起動する。
VHDイメージを使用するか、「Windows Server Technical Preview 2(With Local Admin Tools)」をインストールした場合、起動後にサーバーマネージャーが表示される。もしコマンドラインになれていないユーザーは、サーバーマネージャーを使う方が便利だろう。
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でインストール可能だ。
Technical Preview 2をざっと見ていると、PowerShellに関する知識はあった方が、Windows Serverを便利に利用できるようになると感じた。
1台だけのサーバーを運用・管理する時代から、オンプレミスにおいても、ハイパーバイザーを搭載した物理サーバー上に複数の仮想サーバーを運用する時代に変わってきている。大規模なプライベートクラウドの構築が増えていることや、パブリッククラウドとの連携などを考えれば、個々のサーバーをGUIで管理する時代ではないのだろう。
こういった意味でも、IT管理者は、Windows Server 2016がリリースされる前までに、PowerShellを自在に活用できるようになっていた方がいいのかもしれない。
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を動かす手順を紹介していく。詳しくは、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ディレクトリにコピーする。
もう一つ、Workディレクトリに作業用のmountdirディレクトリを作成しておく。
次は、Script Center(Webサイト)にあるConvert-WindowsImage.ps1をダウンロードする。このスクリプトはPowershellで動作し、WIMイメージをVHDイメージに変換してくれる。
ちなみに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
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ファイルを読み込んで起動する。
初回起動時は、さまざまなセットアップが行われるためか、起動するまで少し時間がかかる。無事起動すれば、リモートPCから、PowerShellのリモートセッション、WinRSなどでIPアドレスを指定してアクセスする。
作成した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に備えたい。