特別企画
コンテナ技術やNano Serverが実装されるWindows Server 2016
(2015/5/19 06:00)
5月の頭にダウンロードが可能になったWindows Server 2016 Technical Preview 2(以下、Technical Preview 2)は、Windows Server 2016のすべての機能が実装されたわけではないが、ある程度の概要を知ることができる。
そこで今回は、Technical Preview 2の機能を、5月に米国シカゴで開催されたイベントの資料と、実際にインストールしたTechnical Preview 2から解説していく。
Windows Server 2016のコンテナ技術
さまざまな機能強化が行われているWindows Server 2016だが、最も注目されているのが、Dockerなどで話題のコンテナ技術に対応したことだろう。
コンテナ技術は、OSとアプリケーションを分離(コンテナ化)して動かす仮想技術の一種だ。
仮想化といえばハイパーバイザーを用いる手法を思い浮かべる人が多いだろう。こちらの手法では、仮想マシンそれぞれの中にOSを用意してアプリケーションを動かしている。つまり、それぞれの仮想マシンには必ずOSが必要となる。
それに対してコンテナ化では、OSはサーバーにインストールされているものが利用され、アプリケーションやミドルウェアなどが、1つのパッケージとしてコンテナ化される。例えば、複数のミドルウェアやアプリケーションが環境変数などを書き換えてしまう場合、相互に影響を受けてあるミドルウェアやアプリケーションは動作しなくなるだろう。しかしコンテナ技術では、ベースとなるOS部分は共通のものを利用しつつ、書き換えが起こる環境変数部分などについては、コンテナ内部に仮想化したものを用意する。これにより、1つのOS上で、異なる環境変数の値を参照するミドルウェアやアプリケーションを動かすことができるわけだ。
従ってコンテナ技術を使えば、仮想マシンごとにOSをインストールする必要がないため、システムの負荷も小さくなる。開発に関しても、環境が異なる開発機でシステムを開発しても、コンテナ化して運用機に持っていくだけで、きちんと動作する。Linuxなどでは、コンテナ化したパッケージをコピーするだけで、インストールが終了してしまうほど、デプロイメントが簡単になる。
しかしコンテナ化は、OSの内部を深く知っていないと実現できない。このため、オープンソースのLinux OSでコンテナ技術の採用が先行していたが、Microsoftでも、Windows OSをコンテナ技術に対応させるという表明を2014年秋に行い、今回のBuild 2015やIgniteである程度の情報を公開した。
Windows Server 2016では、2つのコンテナ技術が用意された。Windows Server Container(以下、WSコンテナ)とHyper-V Container(以下、Hyper-Vコンテナ)だ。
WSコンテナは、ハイパーバイザー技術は用いずに、Windows Server上で動作するコンテナだ。一方のHyper-Vコンテナは、コンテナの下に新たにコンテナ技術に対応したHyper-V(ハイパーバイザー)を用意することで、コンテナ自体を、完全にプロセスが分離した仮想環境で動作できるようになる。
Microsoftが2つの方式を採用するのには、もちろん理由がある。コンテナ技術の問題点として、各コンテナが使用するハードウェアリソースをうまく管理できないということがあった。例えば、あるコンテナが異常にハードウェアリソースを消費すると、ほかのコンテナの動作にもしわ寄せが来てしまっていた。
これを解決するため、Linuxなどでは、いくつかの管理ツールがオープンオープンソースで開発されているし、コンテナ技術の代表といえるDockerでも、コンテナな使用しているリソースをチェックできるようになってきている。
これに対してHyper-Vコンテナでは、軽量のハイパーバイザーを使うことで、コンテナが使用するリソースを管理し、ほかのコンテナに悪影響ができないようにしようとしている。ただ、Hyper-V上にOSをインストールしてコンテナ化するのでは、ハイパーバイザーによる仮想化と変わらない。今回、詳細までは明らかにされていないが、新しいHyper-Vにコンテナ化に対応した機能が用意され、現在のHyper-Vよりも軽いハイパーバイザーが提供されるのかもしれない(この場合、OS部分がどうなるかなどはまだわからない)。
またHyper-Vコンテナは、仮想環境においてネスティングされる。つまり、仮想マシンの上にHyper-Vのハイパーバイザーを動作させ、その上でHyper-Vコンテナを動かすことができる。このため、ハイパーバイザーが2段重ねて動くことになる(下図参照)。
この場合、別の仮想マシンでは、LinuxなどのほかのOSが動作したり、WSコンテナが動作している仮想マシンがあったりする。自由度が高くなるので、パブリッククラウドなどや大規模なプライベートクラウドでは、大きなメリットになるだろう。
ただし、ハイパーバイザーが2段重ねになるため、パフォーマンスの問題や下層のハイパーバイザーがハイパーバイザーのネスティングをサポートしているかなどが問題になる。このため、Hyper-V環境でしかサポートされないだろう。また、パフォーマンスを向上させるために、サーバープロセッサが持つ最新の仮想化支援機能が必要になると予測している。
WSコンテナに関しては、今年の夏ごろにプレビュー版が用意される。Hyper-Vコンテナに関しては、現在のプランでは年内ぎりぎりにはプレビュー版が登場するだろう。実際にプレビュー版がリリースされることには、内部の詳細もわかってくると思われる。
Windows SeverをコンパクトにするNano Server
Windows Server 2016では、Windows Serverを根本的に作り直したNano Serverが用意されている。
これまでのWindows Serverでも、OSのフットプリントをコンパクト化するため、Server Coreなどが用意されてきた。デスクトップUIを削除し、GUIベースのサーバーマネジャーさえ使用しないServer Coreは、Windows Updateなどで必要とするパッチの数も、フルWindows Serverの1/2以下になるなど、コンパクトなServer OSになっていた。
しかし、クラウド時代を考えるとServer Coreよりももっとコンパクトで軽いサーバーOSが必要とされてきている。最近では、Docker Engineに特化したCoreOS、Xen Projectで開発されているMirage OS、OSvなど、いくつかのOSがリリースされている。そうしたものに対抗するためにMicrosoftが用意したものが、Nano Serverだ。
Nano Serverは、ディスクのフットプリントが0.4GB(Server Coreは約5GB)、カーネルが使用するメモリは61MB(Server Coreは139MB)と、Server Coreに比べるとかなり小さなOSになっている。
もっとも、Windows Serverを徹底的にリファクタリングして、コンパクト化を図っているため、Server Coreなどと比べると機能が大きく削減されている。
例えば、Nano Serverでは、Win32APIのサブセットがサポートされている。さらに、動作アプリケーションの基本としては、CoreCLR、ASP.NET5が前提となる。つまり、Nano Serverは、Windows Serverといっても.NETベースのアプリケーションの動作が中心となる。
また、Hyper-Vなどのハイパーバイザーの機能、サーバーのロール、各機能などは用意されていない(インボックスドライバもない)。このため、Hyper-Vの仮想マシン上で動作するOS、WSコンテナ、Hyper-VコンテナのOSとして利用される。
面白いのは、Nano Serverにはコンソールさえも搭載されていないことだ。このため、サーバーにインストールしても、Nano Serverは画面に表示もでないし、キーボード入力も受け付けない。
現状では、Nano Serverを管理するためには、WinRS(Windowsリモートシェル)/WinRM(Windowsリモート管理)、WMIによるリモート管理、Power Shellのリモート版など使用することになる。
Windows Server 2016のリリース時には、新しいHyper-VマネージャでNano Server用の管理ツールが用意される。また、Visual Studioからの操作できるようになる(Nano Server向けのソフトを開発し、Nano Server自体をパッケージ化するため)。
現在、Technical Preview 2にもNano Serverは用意されている。しかし、インストールオプションではインストールできない。ユーザー自身の手でISOファイルの中に入っているNano Server(Windows Imaging形式)を、DISM(Deployment Imaging Servicing and Management Tool)でインストール可能な形に構成する必要がある。例えば、ドライバなどもユーザーが明示的にセットアップする必要がある。
結構DISMで構成するには面倒なステップを踏む必要がある。できれば、簡単に構成できるようになるツールなどがあると便利だ。Visual Studioでサポートされるのも、このあたりが理由かもしれない。
なお、インストールに関する詳細は前回の記事で説明しているので参考にされたい。
その他の機能強化
なお、Windows Server 2016は、コンテナ技術やNano Server以外に、以下の機能が搭載されている。
・Active Directory(AD)にクラウドAD(Azure AD)に対応した機能の追加
・ハイパーバイザーのHyper-Vの機能強化
・サーバー向けに作られるAnti Malwareの追加
・リモートデスクトップサービスの機能強化(Open GL、Open CLのサポート)
・ストレージのQoSをサポートするFile and Storageサービスの追加
・ローリングアップデートに対応したフェールオーバークラスターのサポート
・新しいWebアプリケーションプロキシ
・Windows Server 2016のほとんどの機能をコントロールできるPowerShell 5.0(PowerShell Desired State Configuration=DSCのサポート)
・DNSやDHCPの機能強化
・ネットワークの仮想化を行うGeneric Routing Encapsulation(GRE)のトンネリングをサポート
*****
Windows Server 2016を見ていると、今までのサーバーOSとは異なり、オンプレミスよりもクラウドなどでの動作にチューニングしたサーバーOSという印象を受けた。
特に、コンテナ化やNano Serverは、現在クラウドで注目されているMicroservicesを実現するためのプラットフォームになるだろう。Microservicesは、SOAやWebサービスといった概念と同じようなもので、コンパクトな単機能のシステム(OSも含む)を多数組み合わせて、大きなシステムを作り上げようというモノだ。
Microservices化することで、モノリシックなシステムよりも、機能の追加を行いやすくなるし、システムのデバッグもモジュール単位になるため、やりやすくなる。今後、クラウドが主流になるにつれ、モジュールをMicroservices化することで、スケールアップ/ダウンすることも容易に行えるようになる。
また、新しいPowerShell 5.0の機能を見ていると、Windows Server自体をSystem Centerのオートメーション化機能に取り込もうとしているようだ。できるだけ、PowerShellベースのコマンドラインでの動作を可能にすることで、サーバーやクラウドをSystem Centerで管理しようとしているのだろう。こういったことも、Microsoftのクラウドファーストというコンセプトに従ったものだといえる。
Windows Server 2016のリリース自体は、2016年になった。Windows 10は今年の夏にはリリースされるが、2016年の春もしくは夏ごろには、大規模なアップデートが計画されている。たぶんWindows Server 2016は、Windows 10の大規模アップデートを反映した形でリリースされるため、2016年の秋もしくは冬ごろのリリースになるだろう。
クライアントOSのWindows 10に関しては、Igniteのセッションで最後のメジャーアップグレードになると明言している。今後は、Windows 10を数カ月ごとの小さなアップデート、半年、1年ごとに大規模アップデートを繰り返すことになる。
Windows Serverに関しては、どうなるか明言はされていない。現場では年号がついたブランド名になっているため、将来的にメジャーアップデートが存在するのだろう。ただ企業においては、2〜3年でのアップデートは負担が大きい。今後は、IT管理者が必要とする新機能をベースとなるWindows Serverに取り込むことで、新しいWindows Serverがリリースされるようになるのかもしれない。
もしかすると、そのときにはブランド名として、Windows Serverと言われ、2019年版とか、2020年春版とか言われるようになるのかもしれない。
URL
- TechNet Evaluation Center
- https://technet.microsoft.com/ja-jp/evalcenter/bb291020.aspx
- TechNet Technical Preview 2 リリースノート(英語)
- https://technet.microsoft.com/library/dn765470.aspx
- Getting Started With Nano Serverドキュメント(英語)
- https://technet.microsoft.com/en-us/library/mt126167.aspx
- Script Center(Convert-WindowsImage.ps1)
- https://gallery.technet.microsoft.com/scriptcenter/Convert-WindowsImageps1-0fe23a8f
2016年1月26日
- SBT、Azure上でファイルサーバー機能を提供する「FileServer on Cloud」[2016/01/26]
- ニフティクラウドベースの中国国内向けクラウド「鴻図雲」、中国語のコントロールパネルを提供[2016/01/26]
- NTTデータGSLと日本マイクロソフト、SAP ERPのAzure移行ソリューションを提供[2016/01/26]
- IIJ、法人向けにSIMロックフリー端末を販売する「IIJモバイルサプライサービス」[2016/01/26]
2016年1月25日
- 連載Infostand海外ITトピックスOSアップデートの新段階? Microsoftのサポートポリシー変更[2016/01/25]
- MetaMoJi、「mazec for Business」Windows版をアップデート〜初心者モード、数字キーを追加[2016/01/25]
- コクヨとサイボウズ、デジタルノートとkintoneの連携ソリューションを展開[2016/01/25]
- インフォサイエンス、ログ分析サーバーの並列処理に対応した「Logstorage Ver.5」[2016/01/25]
- 三菱電機ビジネスシステム、関数型暗号を利用した機密情報ファイル交換サービス[2016/01/25]
- 楽天銀行、オンラインバンキングの不正送金対策に「RSA Web Threat Detection」を導入[2016/01/25]
- TIS、産業機械の稼働データを分析するIoTソリューション「メンテりてぃくす」[2016/01/25]
- NTT東日本、SMBや個人事業主のマイナンバー対応を支援するキャンペーン[2016/01/25]
- 先週のニュースアクセスランキング[2016/01/25]
2016年1月22日
- デル、直販主軸から脱却する歴史的転換図る[2016/01/22]
- NTTPC、1アカウントで3種類のウェブサーバーを同時に使える「WebARENA サイトアドバンス」[2016/01/22]
- 異なる会計ソフト間でマイナンバーを安全に連携、NTTデータがメーカー各社に技術提供[2016/01/22]
- リコー、免税販売の手続きを効率化するアプリ発売[2016/01/22]
- NECの電子カルテ「MegaOakSR」が広島のがん治療センターで採用[2016/01/22]
- 無料OSSの開発者を表彰する「オープンソース・コンテスト2016」が開催[2016/01/22]
- ハンモック、ファイルの自動暗号化機能を強化した「AssetView」新バージョン[2016/01/22]
- スミテム、負荷テスト効率化ツールの導入を支援する「LoadRunner導入スタートパック」[2016/01/22]
- 資生堂がビッグデータ解析基盤を刷新、IBM製オールフラッシュ・ストレージを採用[2016/01/22]
- 国内ストレージソフトウェア市場、2019年には1000億円規模に〜IDC Japan調査[2016/01/22]
2016年1月21日
- IDCフロンティア、パートナーと顧客を有機的につなぐ「エコアライアンス」を開始[2016/01/21]
- 東芝情報システム、重要・機密情報ファイルを自動で見つけ出して暗号化するソリューション[2016/01/21]
- NEC、薄型軽量ノートPC「VersaPro UltraLite」など、ビジネス向けPC新製品[2016/01/21]
- ナック、ネットアップ製品でプライベートクラウド向けストレージ基盤を刷新[2016/01/21]
- 国内セキュリティ製品市場、2016年以降は法規制により需要が拡大〜IDC Japan調査[2016/01/21]
- キヤノンITS、保存データの暗号化を利用者に意識させずに実現するエンタープライズ向けソリューション[2016/01/21]
- マクニカネットワークス、米SBOXの「Splunk」専用アプライアンスを国内販売[2016/01/21]
- 富士通と富士通研究所、「やり取り型」の標的型メール攻撃をリアルタイムに検知する技術を開発[2016/01/21]
- NTTデータ先端技術、「マルウェア検知・解析サービス powered by Lastline」を提供開始[2016/01/21]
- ウォッチガードとアクロニス、中堅・中小企業向けにランサムウェア対策を共同で呼び掛け[2016/01/21]
2016年1月20日
- 日本マイクロソフトと札幌市、YRP UNLと共同で訪日外国人向けオープンデータの実証実験を実施[2016/01/20]
- NEC、「Express5800」シリーズにXeon E3搭載の1ソケットサーバー新製品3機種[2016/01/20]
- 「BIND 9」に脆弱性、9.3.0以降の全バージョンに影響[2016/01/20]
- Oracleが定例パッチ公開、計248件の脆弱性を修正、Java SEやデータベース製品など[2016/01/20]
- 富士通、IoTパッケージ「ユビキタスウェア」検証パックなど新製品10種類を発表[2016/01/20]
- テックウインド、タブレット/ノートPCを効率よく充電できるエルゴトロン製「YES充電カート」[2016/01/20]
- ファーストサーバ、CDNサービスで月額5000円からの低価格プランを提供[2016/01/20]
- BIGLOBE、DDoS攻撃対策をクラウド型で提供する「Flow分析プラットフォームサービス」[2016/01/20]
- パナソニックNETSの「MajorFlowクラウド」、外貨精算に対応した海外出張精算をサポート[2016/01/20]
- サイバーソリューションズ、クラウド型メールサービスでDR機能を標準提供[2016/01/20]
- MetaMoJiがIMSS、電子カルテと医療版mazecを共同で提供[2016/01/20]
- 日本ブレケケ、2つのCRMを同時に使用できる「ブレケケ・コンタクトセンター・スイート」新バージョン[2016/01/20]
- ユニアデックス、長野中央病院の仮想化基盤を「Cisco UCS」を用いて構築[2016/01/20]