Windows Server2019の新機能

もう2019年も終わりますが、Windows Server 2019の新機能をざっとまとめてみました。
全部説明していると多すぎるので、抜粋しました。全量はこちらを見てください。
[Compare features in Windows Server versions - Microsoft](https://www.microsoft.com/en-us/cloud-platform/windows-server-comparison)

#2019での新機能


##ハードウェア・ストレージ関連

###Nested Mirror Accelerated parity

新しく追加されたストレージのクラスタ機能です。
RAID5をベースにして可用性を高めた機能だと思っておけばいいでしょう。
Windows2019を2台でクラスタリングした時に、以下の場合でもデータを保持することができます。

- 2つのHDDやSSDが同時に壊れた場合
- 1台のサーバーがダウンした状態でもう1台のサーバーのストレージが壊れた場合

###USBメモリをFSW(File Share Witness)として使用する

クラスタのクォーラムとしてルーターなどに接続されたUSBメモリを使用することができるようになりました。
クォーラムというのは、クラスタを動作させるのに必要な情報を置いておく共有ストレージです。
クラスタ内のサーバーがダウンした時に次にどのサーバーがアクティブになるか判断するために使われたりします。

MicrosoftのサイトではUSBメモリと説明されていましたが、要は任意の共有ディレクトリをクォーラムに設定できるようになったということです。
Windows 2016までは、共有ディレクトリをクォーラムに使用することはできたものの、クラスターのコンピューターアカウントがアクセス権を保有しているiSCSIなどの共有ディレクトリに限定されていました。
今回、この制限が緩和されて、任意の資格情報を使用できるようになりました。

>![large.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215103/3746c011-6eae-bffb-9697-59f990de6c95.png)
>[New File Share Witness Feature in Windows Server 2019 - Microsoft Tech Community](https://techcommunity.microsoft.com/t5/Failover-Clustering/New-File-Share-Witness-Feature-in-Windows-Server-2019/ba-p/372149)

###ReFSでのデータ重複排除

ReFS(Resilient File System)というのは2012から導入されたファイルシステムです。
重複排除というのはストレージ上で重複したデータを排除することで容量を節約することです。
Windows 2019からはReFS上での重複排除に対応しました。

重複排除は、主に以下の場合に効果を発揮します。

- 似たようなファイルが大量にある場合
- 同じようなVMゲストが複数走っている場合
- 日次のバックアップが溜め込まれている場合

###クラスターセット

クラスターセットというのは、複数のクラスタをまとめ上げてより可用性の高いクラスタを構成できるようにする機能です。
下の図で言うと、黒い枠の"Cluster 1", "Cluster 2"というのが個別のクラスターでそれをオレンジ色のクラスターセットでまとめています。

>![cluster-sets-solution-view.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215103/91741ce2-d809-d019-5b1c-744768b34d34.png)
>[Cluster sets - Microsoft Docs](https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/cluster-sets)

クラスターセットを使うとうれしいことは

 - 複数の異なるハードウェアを混在させることができる
 - スケールアウト、スケールダウンが容易
 - 可用性の向上

という特徴です。
可用性の向上とはどういうことかというと、例えば8ノードでHCIクラスタを構成している場合は3ノードがダウンすると全体が停止してしまいますが、これを4x2のクラスターセットにした場合、それぞれのクラスターで2ノード、1ノードがダウンした場合でも動作を継続することができます。（リソースに余裕がある場合）

###ストレージクラスメモリの対応

ストレージクラスメモリというのは、「不揮発性のDRAM」です。
メモリに近い速さで読み書きが可能ですが電源を切っても内容を保持できるものです。
製品名で言うとIntel OPTAINEが有名です。モードを分けることができて、通常のRAMとしても使えますし、高速のストレージとしても使うことができます。
実際には通常のDRAMより少し低速にはなりますが、SSDやMVNeと比べたら圧倒的に早いようです。

![text891.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215103/f76423fe-42da-9168-20fa-ff330936e01f.png)
適当な絵ですみません、こんなイメージです。


通常のストレージやDRAMとは少し違うので、OSレベルで対応していないと読み書きができません。
（ストレージとして使う場合はアプリケーション側の修正も必要です）

##クラウド関連

###Storage Migration Service(SMS)

>![storage-migration-service-diagram.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215103/9a993b20-bdbf-348f-63af-13597d281074.png)
>[Storage Migration Service overview - Microsoft Docs](https://docs.microsoft.com/ja-jp/windows-server/storage/storage-migration-service/overview)

Storage Migration Serviceは、Windows Server 2003～2019で稼働しているシステムをWindows Server 2012R2, 2016, 2019またはAzureにマイグレーションすることができる機能です。
この機能を利用するには少なくとも1台のWindows Server 2019をオーケストレーションサーバーとして用意する必要があります。

###Azure Network Adapter

これはオンプレのWindows ServerとAzureを簡単VPN接続できる機能です。
セットアップするとAzureと繋がる仮想ネットワークアダプタが追加されます。

[Top 10 Networking Features in Windows Server 2019: #3 Azure Network Adapter](https://techcommunity.microsoft.com/t5/Networking-Blog/Top-10-Networking-Features-in-Windows-Server-2019-3-Azure/ba-p/339780)

##コンテナ、仮想化関連

最近はWSLなどLinuxとの親和性が高まりつつあります。

###WSLの導入

以前からコンシューマ向けのWindows10には搭載されている機能でしたが、Windows Server ビルド1709 から正式に導入されました。
WSLを使うと、Windows Server内でLinuxベースのアプリケーションを動作させることができます。
1.0時代はエミュレートのような感じでしたが、2.0からはLinuxカーネルが搭載されています。

###Linuxコンテナへの対応

これもWSLに関連するところですが、Linuxコンテナの動作に対応するようになりました。
Windowsコンテナという機能は2016から追加されています。

###Kubernetesのサポート

OSの中にKubernetesのノード機能が追加されており、Linuxのノードと組み合わせてクラスターを形成することができます。
ただし、WindowsコンテナはWindowsノード上、LinuxコンテナはLinuxノード上でしか動けません。
WSLも入ったので、将来的にはWindows上にLinuxコンテナをスケジューリングすることもできるようになるかもしれません。


##その他

###Windows Admin Center

ブラウザベースの新たなWindows Server管理ツールです。
管理対象はリモートのWindows Server, クラスター, HCI, Windows 10の端末などが管理できます。
リモートにサーバーをRDPやコンソール接続せずに操作できたり、クラウド上のサーバーも管理することができます。

###Advanced Threat Protection (ATP)

Windows 10の過去のアップデートですでに提供されてきたWindows DefenderのアップデートがWindows Serverにも搭載されました。
最近よく言われるゼロデイ攻撃や、AIによる自動対処なんかに対応しているようです。

###Powershell

Windows Server 2016からPowerShell5.1に対応しました。
以前のバージョンでも別途インストールすれば対応可能です。