特別企画
Windows 10を最大限に生かすWindows Server 2016
(2015/11/25 06:00)
現在、Technical Previewが行われているWindows Server 2016は、コンパクトなNano Serverやコンテナのサポートなどに注目が集まるが、Windows Serverとしてのベース機能も強化が図られている。
特に、先行してリリースされているクライアント OSのWindows 10を最も生かすようにできている。
今回は、Windows 10と組み合わせて実現される機能を紹介しつつ、これまでの仮想化道場などの記事で説明できていなかった、そのほかのWindows Server 2016の特徴も紹介する。
ハイブリッドなAD環境を実現するWindows Server 2016
Windows 10 Enterpriseは、クラウドのMicrosoft Azure上に用意されたID認証システムのAzure Active Directory(以下、Azure AD)を標準で利用することができる。
Azure ADを利用することで、Salesforce、Office 365などのクラウド上のサービス(SaaS)にシングルサインオン(SSO)を行うことができる。つまり、Windows 10 EnterpriseからAzure ADに一度ログインすれば、ほかのSaaSにいちいち異なるIDやパスワードでログインしなくても、Windowsのログインだけで終えることができる。ユーザーは、Windows 10 Enterpriseにログインすれば、他のサービスをシームレスに利用することができるので、利便性が向上するわけだ。
Azure ADにはWindows Server 2008/R2、2012/R2用にAzure AD Connectorというソフトウェアが用意されており、オンプレミスのActive Directory(AD)サーバーにこれをインストールすれば、クラウド上のAzure ADとの連携を自動的に行ってくれる(Azure ADの詳細は以前の記事を参照)。
ただ、現行のWindows ServerとAzure AD Connectorの組み合わせでは、Windows 10の機能を最大限生かすことができない。
例えばWindows 10は、FIDO 2.0に対応した認証プロセスをサポートしており、パスワードの代わりにPINを使用したサインインや、顔認証や指紋認証などの生体認証システムに対応している。
しかし現状のAzure ADで、Windows 10のPINや生体認証システムを利用してSSOを利用するためには、いくつか制限があるのだが、Windows Server 2016のADは、Azure ADを前提としたハイブリッドAD環境を本格的にサポートすることで、クラウドとオンプレミスADを完全に融合したモノになっている。
例えば、Azure ADとAzure AD Connectorの組み合わせでは、オンプレミスのADの情報をAzure ADに反映するだけの一方通行だったが、Windows Server 2016とAzure ADの組み合わせでは、これが双方向になる。
つまり、Azure AD側の情報をオンプレミスのADに反映できるので、Azure ADでユーザーがパスワードを変更しても、オンプレミス側に自動的に反映されるようになる。クラウドのAzure ADとオンプレミスのADが融合して、クラウドとオンプレミスの垣根を越えたID認証システムとして運用することができる。
ファイル共有プロトコルの機能強化
Windowsのファイル共有プロトコルとして有名なSMBも、Windows 10とWindows Server 2016の組み合わせで利用すると、さらなるメリットを得られる。
SMBは、Windows Server 2012(Windows 8カーネルベース)で3.0にメジャーバージョンアップされた。SMB 3.0の最大の特徴としては、SMBマルチチャンネルによる高速通信、RDMAを使ったSMBダイレクト機能のサポートによる通信の高速化、サーバーの負荷を軽くするオフロードデータ通信(ODX)のサポートなどがあり、SMB 2.1(Windows 7でサポート)に比べると大幅に機能アップされている。
さらにWindows Server 2012 R2(Windows 8.1カーネルベース)では、SMB 3.02にアップグレードされている。SMB 3.02には、SMB 3.0の機能をベースとして改良が加えられているが、新しい機能を追加したというよりも、SMB 3.0で足らなかった機能や問題になった部分を改良した、というイメージが強い。例えば、SMB上でのHyper-Vライブマイグレーションのサポートなどが挙げられるだろう。
そして、Windows 10で採用されたSMB 3.11では、SMB 3.02をさらに機能強化している。例えば、暗号化のAES-128 CCM/GCMをサポートしているし、暗号化のネゴシエーションのプロセスを改良してパフォーマンスをアップしている。また、ネゴシエーション自体もセキュアにできるように改良されたほか、Scale-Out File ServerをCluster Rolling Upgradeできるようにした。
しかしSMB 3.11を利用するするためには、Windows Server 2016とWindows 10という組み合わせが必要になる。クライアントが、Windows 8.1やWindows 8、Windows 7の場合は、各クライアントが持つSMBのバージョンで動作することになるからだ。
企業にとっては、一挙にWindows Server 2016とWindows 10という環境にアップデートするのは難しいだろう。ただ、SMB 2.xとSMB 3.xではパフォーマンスが大きく異なる。SMBの観点から見れば、サーバーはWindows Server 2012以上、クライアントはWindows 8以上で運用して、徐々にWindows Server 2016とWindows 10という環境に変更していく方針を採るべきだろう。
Windows 7を中途半端にWindows 8/8.1にアップグレードするのではなく、今後10年を考えて、Windows 10へのアップグレードを前倒しすべきではないか。
可用性と耐障害性の向上
さて、ここからは、Windows Server 2016単独での機能強化を紹介していく。
Windows Server 2016には、可用性を高めるために新しいディザスタリカバリのStorage Replicaが用意された。サーバー間でストレージをレプリケーションするだけでなく、クラスターを構成したサイト間でストレージをレプリケーションすることが可能になった。
Windows Server 2016だけでストレージの複製ができるようになったことで、サードパーティのソフトウェアを購入しなくても、ストレージの災害対策を行えるようになった。なおStorage Replicaは、SR Over SMB3を利用しているため、Windows Server 2016同士でのレプリケーションになる。
またWindows Server 2016では、複数のサーバー上のストレージを束ねて仮想的なストレージプールとして構成することができる(Storage Spaces Direct)。この機能は、最近注目を集めている分散ストレージやSoftware Defined Storage(SDS)として使うことが可能だ。
Storage Spaces Directでは、4台以上のサーバーを組み合わせて、1つの仮想ストレージプールを構成する。ローカルストレージとしては、SAS、SATA、NVMeなどのストレージが使えるので、低価格なSATAやNVMeのような高速なフラッシュストレージを利用して、コストメリットのあるストレージプール、高い性能を持つストレージプールなどを自由に構成できる。Windows Server 2016 Technical Previewでは、Hyper-Vのストレージとして想定されているようだ。
Windows Server 2016では、可用性を高める機能として、仮想マシンを使用していく上での耐障害性向上、回復機能を提供する、VM Resiliency機能が追加されている。
具体的には、一時的なサーバーやネットワークなどのノード障害に対しては、VM Compute Resiliency、一時的なストレージ障害に対してはVM Storage Resiliencyが用意されている。
VM Compute Resiliencyは、一時的なネットワークやノード障害時にも仮想マシンの稼働を継続できるようにする機能。障害のレベルにより、ノードを切り離すIsolateを実行するかどうかを管理者が設定できるようにしており、システム全体でどのように障害に対応するかを管理者が決めることが可能だ。
一方のVM Storage Resiliencyでは、ストレージの障害を検知しても、すぐにエラーにするのではなく、ある時間の間にストレージが回復すれば、トラブルのログを書き出して、VMの動作を回復する。もし障害が一定時間で回復しなければ、仮想マシンを停止する。何かトラブルがあっても、一定時間で復帰すれば、動作を継続し続けることができるわけだ。
例えば、ストレージのトラブルが日中に起こっても、VM Storage Resiliencyで回復すれば、日中はそのまま動かしておき、業務終了後にシステムのメンテナンスを行う、といったことができる。
サーバーOSのアップグレードを順次に行うローリングアップデート
Windows Server 2016では、Cluster OS Rolling Upgradeがサポートされた。この機能を使えば、クラスタを構成しているサーバーを全面的に停止せず、サーバーごとにOSのアップグレードを行うことができる。
具体的には、新しいWindows Server 2016サーバーを用意し、アップグレードするサーバーの仮想マシンをライブマイグレーションで移行。この作業をすべてのサーバーで行う(玉突きのように、順番にWindows Server 2016に変えていく)。このときは、クラスタレベルはWindows Server 2012 R2のままだ。すべてのサーバーがWindows Server 2016にアップグレードされた段階で、クラスタレベルをWindows Server 2016にアップグレードする。
この機能で注意が必要なのは、Windows Server 2012 R2からWindows Server 2016へのローリングアップグレードしかサポートされていない点だ。このため、Windows Server 2012やWindows Server 2008からWindows Server 2016へのアップグレードは、Cluster OS Rolling Upgradeを用いて一気に行うことはできない。
仮想環境の機能強化
Windows Server 2016のHyper-Vは、Host Fuardian ServiceとShielded VMという、信頼された環境でのみ仮想マシンを動かすことができる機能が追加された。Host Fuardian ServiceとShielded VMは、サーバーのハードウェアとしてTPMをサポートしていることが前提になる。サーバーのTPMをハイパーバイザーのHyper-V上で仮想TPM(vTPM)として利用し、各VMに提供する。各VMは、Bitlockerベースで高いセキュリティを持って動作することになる。
Windows Server 2016のHyper-Vには、このほか、静的メモリの変更機能、仮想NICの追加/削除などの機能が追加されている。
*******
一般的に、Windows Server 2016はNanoServerやコンテナなどが目立つが、サーバーの機能としても着実に機能強化されている。今回紹介した機能以外にも、DNSやDHCPなどにも新しい機能が追加されているのだ。
先日、Windows Server 2016 Technical Preview 4が公開されたが、新しいHyper-Vコンテナを搭載するなど、リリースに向けて順調に開発が進んでいるようだ(Windows Server 2016 Technical Preview 4のレビューに関しては、近々中に行う予定にしている)。
なおWindows Server 2016を見ていると、多くの機能がSystem Centerで管理することが前提になっているようだ。確かに、サーバーOS単体でもある程度の管理は行えるが、より高度な管理や、多数のクラスタ、サーバー群を管理することを考えると、System Centerが必須になってくる。
今後は、サーバーOSだけでなく、System Centerを利用することも考えていく必要があるだろう。