Windows Server 2016のNano Serverとは何か?Tech TIPS

Windows Server 2016には新しいインストールオプションとして「Nano Server」が用意されている。これは何か、Server Coreとは何が違うのか、について解説する。

» 2016年11月25日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows Server 2016 Nano Server


Nano Serverとは?

 「Nano Server」とは、従来のWindows OSを再構成(リファクタリング)して、インストールや実行に必要なディスクサイズやメモリ量などを大幅に削減した、新しいインストール形態のサーバOSである。IISやDNS、ファイルサーバ、データベース、Webサービス向けのアプリ、各種サーバサービスといった、主にクラウドやデータセンター、仮想環境、Windowsコンテナ環境でのプラットフォームとして利用することが想定されている(Windowsコンテナについては「『Windows Serverコンテナ』『Hyper-Vコンテナ』『Linuxコンテナ』『Docker』の違いとは?」参照)。Windows Server 2016から提供が開始された。

Nano Serverの起動直後の画面 Nano Serverの起動直後の画面
これはNano Serverの起動直後の画面。ここでユーザー名とパスワードを入力すると回復コンソール画面(後述)に入ることができるが、これは従来のWindows OSにあるログオン画面ではない。Nano Serverを管理するには、リモートからネットワーク経由で接続して操作すること。

 必要最小限の機能だけを残してそれ以外の機能を大幅に削除したことにより、次のようなメリットを持つ。

  • 必要なリソース(メモリやディスクのフットプリント、仮想マシンならVHDファイルのサイズ)を大幅に削減できる
  • 起動や終了、構成変更などに要する時間が大幅に短縮される
  • Windows Updateなどに要する時間が短縮される。またWindows Updateなどの対象となるシステムのコンポーネント数が非常に少ないため、システムの更新の回数が削減されるし、再起動などに伴うサービスのダウンタイムも削減できる
  • 構成要素が少ない分、セキュリティ的なリスクも少し低くなる

 インストール直後で何も機能を追加していない状態だと、Nano Serverの総ファイルサイズは1GB程度、使用中のメモリ量は300MB弱であった。

Nano Serverでできること/できないこと

 Nano Serverは、アプリケーションの実行用基盤に特化させたシステムである。アプリケーションの実行に必要な機能(APIなど。基本的にはWindows Serer 2016のAPIと同じ)は持っている一方で、そうでないもの(GUIの画面やそれを使うようなAPI、管理ツール、GUIの操作インターフェイス、操作用コンソールなど)は全て削除されている。また従来のWindows OSのように、システムへ対話的にログオン(サインイン)して使うということは想定されておらず、管理は全てリモートから行うことが前提である。

 Nano Serverでできることを次にまとめておく。

  • Windows Server 2016のAPIのサブセットがサポートされているので、Nano Server向けのプログラムはWindows Server 2016のServer CoreやGUI(デスクトップエクスペリエンス)付きのWindows Server 2016上でも実行可能
  • リモートからの管理機能は備えているので、Server CoreやGUIのWindows Server 2016と同様に、リモートから管理できる
  • リモートからVisual Studioで接続して、アプリケーションのリモートデバッグができる

 できないこととしては次のようなものがある(主なもののみ)。

  • GUIに関する機能やAPIはサポートされない
  • WOW64を使った32bitアプリケーションはサポートされない(64bitアプリケーションしか使えない)。WOW64については「Win32アプリケーションを実行するWOW64」参照
  • Server Coreにデフォルトでインストールされていた多くのコンポーネントは利用できない
  • フル版の.NET Frameworkはなく、.NET Coreしかサポートされていない
  • ログオン画面やローカルログオン機能、リモートデスクトップ機能はサポートされない(ヘッドレスサーバとしてのみ利用可能)
  • Active Directoryドメインコントローラーとしては利用できない
  • グループポリシーはサポートされない
  • System Center Configuration ManagerやSystem Center Data Protection Managerはサポートされない
  • コンポーネントやアプリケーションのインストール/削除などの機能やGUI操作画面はない
  • PowerShellはCore Editionのみをサポート(Server Core以上はPowerShell Desktop Editionに対応)
  • GUIのインストーラ(DVDイメージから起動してインストールする形態)は用意されていない
  • アップグレードインストールやマイグレーションはサポートされない。新版が出た場合は新規インストールし直す
  • 従来のWindows OSでアプリやドライバーのインストールによく使われていたMSI形式のインストーラは利用できない。「WSA(Windows Server App)」という、新しい形式のインストーラ(Windowsストアアプリのインストールを行うAPPX形式の改良版)を使う必要がある
  • Windows UpdateはPowerShellやWMIで同等の動作をするように記述する必要がある(「Updating Nano Server」参照)

Server Coreとの違い

 Nano Serverは、Server Coreよりもさらに機能を限定しすることで、リソース消費量を抑えたOSである。CUIやGUIの操作画面どころか、ログオン画面すらない。対話的にログオンして使うことは想定されておらず、全てリモートからWMIやPowerShell Remoting、サーバマネージャ、Hyper-V管理ツールなどで接続して使うことを前提としている。リモートデスクトップやTelnetによる(コマンドプロンプト画面への)接続もできない。

 手元で試したところ、インストール直後の状態は次のようになっていた。Nano Serverの方が起動が速いし、必要なディスクサイズやメモリサイズが大幅に少なくなっている。

項目 Nano Server Server Core
起動時間(VM起動から入力待ちまでの時間) 17秒 28秒
C:の総ファイル数 6,239ファイル 44,897ファイル
C:の使用済みディスクサイズ 1.0GB 7.6GB
仮想マシンの仮想ディスク(VHD/VHDX)のサイズ 540MB 6.5GB
使用中メモリサイズ(Hyper-Vマネージャ画面より) 281MB 416MB
Nano ServerとServer Coreの起動時間とリソースの比較
Hyper-V上にインストールしたNano ServerとServer Coreの比較。いずれもほぼインストールした直後の状態。Nano Serverの方が起動が速いし、必要なディスクサイズやメモリサイズが大幅に少なくなっている。

Nano Serverに必要なライセンスとサポートポリシー

 Nano ServerはWindows Server 2016のStandard EditionもしくはDatacenter Editionに対する展開オプションの1つとして提供される(Server Coreなどと同じ)。またNano Serverは年に2〜3回程度、定期的に機能が更新される「CBB(Current Branch for Business)リリース」として提供されるので、ソフトウェアアシュアランス契約が必要となっている。同じ機能を数年間使い続けられる「LTSB(Long Term Servicing Branch)」としては提供されない。

Nano Serverのインストール/構成変更

 Nano ServerにはGUIのインストーラは用意されておらず、ベースとなるイメージ(Windows Server 2016のインストール用DVD中に含まれている)から手動でインストールする必要がある。

 具体的な方法は今後別TIPSで解説するが、簡単に述べておくと、PowerShellのスクリプトなどを使って、ベースイメージからカスタマイズしたVHD/VHDXファイルを作成する。起動したいアプリケーションなどがあるなら、この仮想ファイル中にあらかじめ組み込んでおく。そして、完成した仮想ファイルを使ってシステム(もしくは仮想マシン)を起動するようにセットアップする。

Nano Serverの管理

 Nano Serverの管理は、基本的には全てリモートから行うことになっている。ログオン画面はないので、コンソールからログオンして管理するといったことはできない。

 リモートからPowerShellを使って管理する以外にも、サーバマネージャや(Hyper-V機能をインストールしている場合は)Hyper-V管理ツールなどで接続して操作することもできる。

Nano Serverの管理の例 Nano Serverの管理の例
これは、リモートからPowerShellで接続して管理・操作しているところ。Nano Serverに直接ログオンして操作することはできない。
  (1)リモート接続して管理する。
  (2)Nano ServerのC:のルートフォルダ。Server Coreと変わらないが、フォルダーの中のファイル数はかなり少なくなっている。
  (3)実行中のプロセスの一覧。Server Coreなどと比較すると、wininitを始め、いくつか少なくなっている。

 Nano Serverをインストールすると、次のような回復コンソールが利用できる。ただし、これはネットワークやファイアウォールの設定などを行うための、最低限のメンテナンス用の画面である。ここにログオンして作業することはできない。

Nano Serverの回復コンソール画面 Nano Serverの回復コンソール画面
ログオン画面ではないが、Nano Serverを実行中のシステムにはこのような回復コンソール画面(Recover Console画面)が利用できる。システムの再起動やネットワークの設定(静的IPアドレスを割り当てるか、DHCPを使うように設定できる)とリセット、ファイアウォールの設定が行える。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。