本サイトでは、アフィリエイト広告およびGoogleアドセンスを利用しています。

Windows Server 2016 のUSBメモリからインストールとWindowsコンテナの実験

Windows Server 2016 には興味深い機能があったので検証してみたいところでした。
MSDN でも入手可能になったので早速インストールを試みたわけですが、そのときの記録です。
(早速といってますが、実は10月半ばには入手可能になっていた模様。 MSDNで見当たらなかったので落胆していましたが、確認したタイミングの問題でしょうか)

インストール用 USB メモリ

実験に使える機材が N3150 搭載の機械だったのと光学ドライブを搭載していない状態だったので、
USB メモリからインストールすることを試みてみました。

こちらにあるように 手動で USB メモリに diskpart でフォーマットやら設定をしていけば、
起動可能なインストール用 USB メモリを作成することができます。

しかしながら、 Windows Server 2016 のデータには 2GB オーバーのファイルがあるようで
FAT32 フォーマットの USB メモリにはコピーできませんでした。

今回は、 Rufus というソフトウェアを利用することにしました。
USB メモリと、 iso ファイルを用意して、このソフトで指定させると目的の起動可能なインストール用 USB メモリが作成できます。

ファイルのサイズの問題もあったので、ファイルシステムは NTFS で作成し、
MBR BIOS または UEFI コンピュータのためにパーティション構成、を選択しています。

※NTFS を認識できないシステムがあるようなので exFat のほうが無難かもです。

他の設定については以下のような感じにしています。

usb_install_disk-winserver2016

こうやって作成した USB メモリでインストールを行いました。
もちろんドライブの用意があるのなら、このような手順は不要だと思います。

確かめたいこと

今回 Windows Server 2016 で確かめたいことが以下の点です。

  • リモートデスクトップでも DirectX11, OpenGL 4.4 が使えるらしい
  • Docker や Windows コンテナ

従来でもリモートデスクトップでDirectXを使えましたがこれは DirectX9 止まりでした。
RemoteFX 仮想 GPU の機能強化が今回のポイントでこれにより DirectX11,OpenGL 4.4 となっています。

ただしインストール直後の状態ではどちらも即試すわけにはいかずの状態でした。
・ グラフィックスボード(Intel HD Graphics) を認識してくれない
・ Docker 関連では最近の KB3176936 が当たっている必要があるらしい

これらの点をまずクリアする必要がありました。
今回は、Windowsコンテナについて確認していきたいと思います。

Windows コンテナについて

Windows コンテナといってもどうやら種類があるようです。

  • Windows Server コンテナ
  • Hyper-V コンテナ

Docker のコンテナに近いのは Windows Server コンテナと呼ばれる方のようです。
Hyper-V コンテナは Hyper-V 仮想マシンの中で動くようなイメージです。
セキュリティ的に有利なのは Hyper-V コンテナ、軽量なのは Windows Server コンテナ、といったところのようです。

より詳しい説明はこちらのほうがうまくまとまっていると思います。

Docker機能のインストール

Windows Update で最新の状態にまで更新した後でインストールを行いました。
確認した範囲では KB3176936 というものが見えなかったですが、後続の何らかのパッチがあたっていればOKとなるようでした。

またサーバーマネージャで Hyper-V を有効にして準備を行っておきます。

管理者のコマンドプロンプトを開いて PowerShell より操作しました。

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider

install-windows-docker
うまくいったら再起動しておきます。
起動後にコマンドプロンプトで確認をしてみたところ以下のようになりました。

checkversion-windows-docker

Windowsコンテナイメージのインストール

Powershell で 以下のコマンドを実行して、 サンプルのイメージをインストールしてみました。

docker run microsoft/sample-dotnet

うまくいくと何か表示されてきます。

続いて コマンドプロンプトで 以下のコマンドを実行して、 Windows Server Core のイメージをインストールしてみました。

docker pull microsoft/windowsservercore

ちなみに WindowsServerCore は容量が大きかったせいか時間がかかりました。。。
windowsservercore を取得した際には一緒に nanoserver も取れてきたようでした。

確認のために以下のようにして実行してみました。

windowscontainer-1

上記の画像の中では、コンテナのベース OS バージョンの確認もしています。
docker inspect で確認していますが、この OS バージョンと システムの OS ビルドのメジャーバージョンは一致している必要があるようです。
今回はいいタイミングだったのか、どちらも 10.0.14393.447 となっていました。

DockerHub の microsoft 以下には他のサンプルもありそうだったので試して紹介してみようかと思ったのですが、
全てが WindowsContainer のものというわけでもないみたいなので、この点は諦めました。

各所では microsoft/iis が紹介されているようです。これについては以下のようにして試したところうまく動きました。
他にどのようなものが動くのかは謎のままです。

docker run -d -p 80:80 microsoft/iis

こうやって起動した iis に別の PC からアクセスしたところ画面が表示されました。
サーバー自身からは、アクセスできませんでした。

Hyper-V コンテナ

Windows Server コンテナについては先に試してみた通りなので、続いて Hyper-V コンテナを触ってみたいと思います。

以下のようにして実行させてみます。itオプションは、interactive, tty の意味です。

docker run --isolation hyperv -it microsoft/nanoserver cmd

Windows サーバーコンテナ では割とスムーズに起動できたのですが、こちらのほうは起動に時間がかかりました。
時間がかかったといっても2分かからないくらいだったとは思います。

hyperv-container

最後に

Celeron N3150 の環境ではメモリが多めに積んであっても通常の動作が遅いです。割とストレスフルでした。ちゃんとした非力ではない程度のプロセッサを積んだもので動かした方がよさそうですね。

Hyper-Vサーバー構築
すらりんをフォローする
すらりん日記
タイトルとURLをコピーしました