Successfully reported this slideshow.
Your SlideShare is downloading. ×

Interact2016:Introduction of Hyper-V Network Virtualization ver.2

Ad

Interact × Cloud Samurai Roadshow
2016/06/25
System Center User Group Japan
後藤 諭史(Satoshi GOTO)

Ad

 後藤 諭史( Satoshi GOTO )
 某 ISP 所属。
 仮想化製品が主な専門分野です。
 Microsoft MVP - Cloud and Datacenter Management
(Jul.2012 - Jun.20...

Ad

 セッションの目的
◦ Windows Server 2016 で Software Defined Network を実現するネットワー
ク仮想化技術『 Hyper-V Network Virtualization ver.2 』と、必須コ...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
20160625 cloud samuai_final
20160625 cloud samuai_final
Loading in …3
×

Check these out next

1 of 40 Ad
1 of 40 Ad

More Related Content

Similar to Interact2016:Introduction of Hyper-V Network Virtualization ver.2 (20)

More from wind06106 (15)

Interact2016:Introduction of Hyper-V Network Virtualization ver.2

  1. 1. Interact × Cloud Samurai Roadshow 2016/06/25 System Center User Group Japan 後藤 諭史(Satoshi GOTO)
  2. 2.  後藤 諭史( Satoshi GOTO )  某 ISP 所属。  仮想化製品が主な専門分野です。  Microsoft MVP - Cloud and Datacenter Management (Jul.2012 - Jun.2016)  TwitterとBlogはこちら ◦ Twitter:@wind06106/Blog:Tech Notes(http://www.dob1.info :更新止まってます) 2
  3. 3.  セッションの目的 ◦ Windows Server 2016 で Software Defined Network を実現するネットワー ク仮想化技術『 Hyper-V Network Virtualization ver.2 』と、必須コンポー ネントである『 Network Controller 』の機能をご理解いただく。 ◦ 『 Hyper-V Network Virtualization ver.2 』を実装するための必須コンポー ネントとその機能をご理解いただく。  セッションのゴール ◦ Windows Server 2016 で実現される Software Defined Network がどのよう な機能を提供するかを説明できる。 3
  4. 4.  Hyper-V Network Virtualization Ver.2 ってなに?  HNV v2 のコンポーネントと実装  HNV v2 with SCVMM  まとめ 4
  5. 5. 本セッション資料ですが、個人で準備した環境において、個人的に実施した検証/結果を基に記載しています。 あくまで個人の意見/見解であり、所属する会社/組織及びマイクロソフト社とは『まったく/なにも/全 然』関係がございません。 所属する会社/組織/マイクロソフト社の正式な回答/見解ではない事に留意してください。 また、本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切の不 利益について、発表者は一切の責任を負う事はできませんのでご了承ください。 5
  6. 6. 本セッションは Windows Server 2016 Technical Preview 5 (#14300) および System Center 2016 Technical Preview 5 Virtual Machine Manager (#4.0.1381.0) での検証結果を基に記載しています。 今後、仕様および機能は変更される可能性があります。 6
  7. 7. 7
  8. 8. 8  略して『 HNV v1 』  Windows Server 2012 で導入されたネットワーク仮想化技術  コア技術は Network Virtualization using Generic Routing Encapsulation (NVGRE) 詳細はこちら
  9. 9. 9  ネットワーク仮想化を行う上で重要な『 コントロールプレーン 』の存在が不明瞭 ◦ PowerShell による運用の場合は、コントロールプレーン不在のため、全てが手動管理 ◦ System Center 2012 R2 Virtual Machine Manager (SCVMM) を利用した場合には、 コントロールプレーンを運用管理ツールである SCVMM が担うことになり、ある意味 SPoF となってしまった → SCVMM の冗長化が非常に重要なキーワード  Windows Server Gateway(WSG) がパフォーマンス上ボトルネックに ◦ Overlay Network(Tenant Network) と 外部 Network との唯一の接続点が WSG ◦ 外部 Network との通信のすべてが WSG を通過するため、ボトルネックになることが 容易に想像 → データプレーン上 SPoF になりうる可能性 → これもまた冗長化が非常に重要なキーワード ◦ 3rd Party 製の Gateway も登場したけれど…… → 日本国内では 1 機種 (F5 BIG-IP) ?
  10. 10. 10 NVGRE (プロトコル) が どうこうとか、 そういう話じゃないの?
  11. 11. 11  略して『 HNV v2 』  Windows Server 2016 で導入される Cloud-inspired されたネットワーク仮想化技術 → 但し、Windows Server 2016 においても HNV v1 は使用可能  Network Controller をはじめ、分散処理を前提としたコアコンポーネント → コアコンポーネントは冗長構成を前提  データプレーンは HNV v1 から引き続き、Edge Overlay Network Architecture を採用  Overlay Network Protocol として、NVGRE と VXLAN のどちらかを選択可能 → デフォルトは VXLAN  コンピュートノード側の処理は、すべて 仮想スイッチに実装された機能拡張(エクステ ンション)で実施
  12. 12. 12
  13. 13. 13
  14. 14. 14  Network Controller ◦ HNV v2 におけるコントロールプレーン ◦ サービスファブリックライクなクラスター構成  Software Load Balancer MUltipleXer (SLBMUX) ◦ Tenant VM に対する Source NAT 、 LB機能を提供 ◦ Windows Server のサービスとして実装  Gateway ◦ Tenant Network と 外部 Network の接続を提供 ◦ 提供される接続方式は IPSec / GRE Tunnel / L3 Routing  Hyper-V Host コンポーネント ◦ Windows Azure VFP Switch Extension ◦ NC Host Agent ( Windows サービス) ◦ SLB Host Agent ( Windows サービス)
  15. 15. 15  Forwarding Extension として実装  Virtual Filtering Platform は HNV v2 のコンピュートノード側の処理の一切を実施する重要 なコンポーネント HNV v2で実装されている 各種機能の処理を担当 ※ Switch Extension の詳細に関しては、以下の資料を参照のこと Hyper-V 仮想スイッチの Tips と To Be (仮) http://www.slideshare.net/wind06106/mvpcomcamp2015
  16. 16. 16 Management Plane • Network Controller • 仮想ネットワーク機能拡張 (例 VXLAN 対応や QoS など) • Network Functions Virtualization (分散ファイアウォール, ロードバランサー、ゲートウェイ) • スクリプト & PowerShell • REST API 呼び出しを行えるツール (例 Azure Stack) • System Center Virtual Machine Manager (SCVMM) 今回のデモ環境
  17. 17. 17 イベントログ
  18. 18. 18 Hyper-V Host: 10.4.1.5 パケットの取り扱いルールを ポリシーとして配布  カプセル化  ロードバランス  NAT  ACLVNet Routing Policy ACLs NAT Endpoints VFP VM1 10.1.1.2NIC Flow Action TO: 10.2/16 Encap to GW TO: 10.1.1.5 Encap to 10.5.1.7 TO: !10/8 NAT out of VNET Flow Action TO: 79.3.1.2 DNAT to 10.1.1.2 TO: !10/8 SNAT to 79.3.1.2 Flow Action TO: 10.1.1/24 Allow 10.4/16 Block TO: !10/8 Allow VNET LB NAT ACLs Network Controller
  19. 19. 19
  20. 20. 20  LB VIP 、 Source NAT Address 、 IPSec Gateway の 接続先 Address 等々、 Tenant VM が外部 Network と接続するために使用される Address (Public IP) は、 全て Routing Protocol である BGP (Border Gateway Protocol) で配信  経路配信は SLBMUX / Gateway が実施 → コアコンポーネントは冗長構成を前提  Public IP Address は経路情報として配信され、実体 (MAC Address) を持たない Address(Virtual IP (VIP)) としてとして扱われる
  21. 21. 21 SLBMUX VXLAN NAT Address(Public IP) を /32 にてBGP 広報 Public IP 宛のPacket を NAT設定されている VM に VXLAN にてForwarding
  22. 22. 22
  23. 23. 23  ダイレクトサーバーリターン ◦ SLBMUX から Routing / VXLAN にて カプセル化して送信されてきた接続要求に対し、 VM(Hyper-V) が SLBMUX を経由せずに直接返答する ◦ NAT 処理は、 SLBMUX と連携して VFP Switch Extension が実施 ◦ Edge Routerから見ると、非対称通信が行われているようにみえる  BGP による VIP 配信  分散冗長構成 ◦ フェイルオーバークラスターに拠らない冗長化 ◦ 経路制御は BGP で実施
  24. 24. 24 SLBMUX Hyper-V Switch(VFP Switch Extension) BGP 広報
  25. 25. 25  接続形態は以下の 3 つ ◦ IPSec 接続 ◦ GRE Tunnel 接続 ◦ Layer 3 接続  IPSec 接続は SLBMUX と協同動作 ◦ IPSec Gateway Address は VIP として SLBMUX にて BGP 経路広報実施 ◦ SLBMUX と Gateway 間は VXLAN による Overlay 通信 ◦ Gateway からはダイレクトサーバーリターン  GRE Tunnel は Gateway のみで完結 ◦ NVGRE ではなく、純粋な GRE Tunnel ◦ GRE Tunnel なので、経路上の暗号化は行われない
  26. 26. 26 SLBMUX Hyper-V Switch(VFP Switch Extension) BGP 広報 GW
  27. 27. 27
  28. 28. 28 Hyper-V Switch(VFP Switch Extension) BGP 広報 GW
  29. 29. 29参考: NVGRE
  30. 30. 30
  31. 31. 31
  32. 32. 32  主要コンポーネントは、全て Service Template にて展開 ◦ Service Template を使用しない展開はサポートされない  Service Template は github からダウンロード ◦ https://github.com/Microsoft/SDN  Windows Server 2016 TP5 には、必ず最新の Windows Update を適用すること  SCVMM 2016 TP5 には、必ず CU2 を適用する ◦ https://support.microsoft.com/en-us/kb/3160164  Step-by-Step Guide のとおりに展開しても、うまく展開できないときがある あきらめたら、そこで試合 s(ry ◦ https://blogs.technet.microsoft.com/larryexchange/2016/05/30/step-be-step-for-deploying-a-sdnv2-using-vmm-tp5-part-1/
  33. 33. 33
  34. 34.  Network Controller を Service Template で展開する際、 Network Controller で管理されな い論理スイッチ作成する必要がある(のちに Network Controller 管理に変換)。 その際、 Extension 構成時に必ず『 Microsoft Windows Filtering Platform』のチェック ボックスをオフにして作成すること! → 手順を怠ると、 NC を VMM に登録する際に、必ずエラーになります 34
  35. 35.  全電源断の状態から起動する際、 Network Controller を起動が完全に完了してから、各コ ンポーネントを起動すること ◦ 手順を怠ると、 動作が不安定になったり…… ◦ Network Controller の完全起動(プロセスが落ち着くまで)は、手元の検証環境だと、 約 7 分かかっています → NC VM スペック: vCPU 4core(X3430)/4GB MEM/SSD) ◦ もしかすると、完全起動後に Network Controller に接続している Hyper-V ホストが起 動していた場合には、 NCHostAgent を再起動したほうがいいかも ◦ 各コンポーネントを起動していき、逐次ログを確認する → NC にて 『 netstat 』コマンドを実行し、 通信状況を確認するのも有効 ◦ Network Controller 以外を色々再起動しているうちに動き始めるので、怪しい動きをし ていたら、 NC VM 以外を再起動してみるのも手 ◦ Windows Update がかかったら、 全電源断状態から起動しましょう…… ◦ どうやっても動かない時は、その部分だけ作り直す勇気も必要 35
  36. 36. 36  SLBMUX の BGP 経路広報は、MGMT VLAN 接続 NIC から実施される → したがって、Edge Router は MGMT VLAN に設置する必要あり → 以後は、 Transit VLAN から経路広報するよう変更される  BGP を有効化した L3 接続は未サポート → BGP を有効化しない場合でも、GUI での設定は不可(要 PowerShell )
  37. 37. 37
  38. 38. 38  Network Controller は Microsoft Azure Stack のコアコンポーネントにも使われている コアテクノロジーの一つです  ネットワーク仮想化にとどまらず、ネットワークをソフトウェアでコントロールし、 『サービス』としてネットワークを提供する、プライベートクラウドをより便利に活用す ることを可能にするテクノロジーといえます  Microsoft Azure に Inspired された HNV v2 を理解することにより、Microsoft Azure の ネットワークがなんとなく見えてくるかもしれません  とりあえず、検証を始めてみることをお勧めします
  39. 39. 39  Zero to SDN in under five minutes https://blogs.technet.microsoft.com/windowsserver/2016/02/04/zero-to-sdn-in-under-five-minutes/  Software Defined Networking (SDN) https://technet.microsoft.com/en-us/library/mt403307.aspx  Deploy a Software Defined Network Infrastructure https://technet.microsoft.com/en-us/library/mt590901.aspx  Step-be-step for deploying a SDNv2 using VMM TP5 https://blogs.technet.microsoft.com/larryexchange/2016/05/30/step-be-step-for-deploying-a-sdnv2-using-vmm-tp5-part-1/ https://blogs.technet.microsoft.com/larryexchange/2016/05/30/step-be-step-for-deploying-a-sdnv2-using-vmm-tp5-part-2/ https://blogs.technet.microsoft.com/larryexchange/2016/05/31/step-be-step-for-deploying-a-sdnv2-using-vmm-tp5-part-3/ https://blogs.technet.microsoft.com/larryexchange/2016/06/01/step-be-step-for-deploying-a-sdnv2-using-vmm-tp5-part-4/  github https://github.com/Microsoft/SDN
  40. 40. 40

×